diff --git a/src/spatialjoin/Sweeper.cpp b/src/spatialjoin/Sweeper.cpp index f8e43a3..3c436cd 100644 --- a/src/spatialjoin/Sweeper.cpp +++ b/src/spatialjoin/Sweeper.cpp @@ -993,9 +993,10 @@ void Sweeper::multiOut(size_t tOut, const std::string& gidA) { // write covers for (auto i : subCovered) { if (i.second == _subSizes[gidA]) { + // CAREFUL: sub IDs are only flags here!! writeNotOverlaps(tOut, i.first, _subSizes.find(i.first) != _subSizes.end() ? 1 : 0, gidA, - 1); + 1, false, false); writeRel(tOut, i.first, gidA, _cfg.sepCovers); _relStats[tOut].covers++; } @@ -1003,31 +1004,32 @@ void Sweeper::multiOut(size_t tOut, const std::string& gidA) { // write touches, aggregate first to avoid locking during I/O std::vector> touchesTmp; + std::set touchesPartners; for (size_t t = 0; t < _cfg.numThreads + 1; t++) { - { - std::unique_lock lock(_mutsTouches[t]); - auto i = _subTouches[t].find(gidA); - if (i != _subTouches[t].end()) { - for (const auto& b : i->second) { - auto gidB = b; - if (!notTouches(gidA, gidB)) touchesTmp.push_back({gidA, gidB}); - - { - std::unique_lock lock2(_mutsNotTouches[t]); - auto j = _subNotTouches[t].find(gidB); - if (j != _subNotTouches[t].end()) j->second.erase(gidA); - } - - auto k = _subTouches[t].find(gidB); - if (k != _subTouches[t].end()) k->second.erase(gidA); - } - - _subTouches[t].erase(i); - } + std::unique_lock lock(_mutsTouches[t]); + auto i = _subTouches[t].find(gidA); + if (i != _subTouches[t].end()) { + touchesPartners.insert(i->second.begin(), i->second.end()); + _subTouches[t].erase(i); } + } + + for (const auto& gidB : touchesPartners) { + if (!notTouches(gidA, gidB)) touchesTmp.push_back({gidA, gidB}); + } + // the pairs are decided now, make sure the partners do not write them again + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { + std::unique_lock lock(_mutsTouches[t]); std::unique_lock lock2(_mutsNotTouches[t]); + for (const auto& gidB : touchesPartners) { + auto j = _subNotTouches[t].find(gidB); + if (j != _subNotTouches[t].end()) j->second.erase(gidA); + + auto k = _subTouches[t].find(gidB); + if (k != _subTouches[t].end()) k->second.erase(gidA); + } _subNotTouches[t].erase(gidA); } @@ -1040,30 +1042,32 @@ void Sweeper::multiOut(size_t tOut, const std::string& gidA) { // write crosses, aggregate first to avoid locking during I/O std::vector> crossesTmp; - for (size_t t = 0; t < _cfg.numThreads + 1; t++) { - { - std::unique_lock lock(_mutsCrosses[t]); - auto i = _subCrosses[t].find(gidA); - if (i != _subCrosses[t].end()) { - for (const auto& b : i->second) { - auto gidB = b; - if (!notCrosses(gidA, gidB)) crossesTmp.push_back({gidA, gidB}); - - { - std::unique_lock lock2(_mutsNotCrosses[t]); - auto j = _subNotCrosses[t].find(gidB); - if (j != _subNotCrosses[t].end()) j->second.erase(gidA); - } - - auto k = _subCrosses[t].find(gidB); - if (k != _subCrosses[t].end()) k->second.erase(gidA); - } + std::set crossesPartners; - _subCrosses[t].erase(i); - } + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { + std::unique_lock lock(_mutsCrosses[t]); + auto i = _subCrosses[t].find(gidA); + if (i != _subCrosses[t].end()) { + crossesPartners.insert(i->second.begin(), i->second.end()); + _subCrosses[t].erase(i); } + } + + for (const auto& gidB : crossesPartners) { + if (!notCrosses(gidA, gidB)) crossesTmp.push_back({gidA, gidB}); + } + // the pairs are decided now, make sure the partners do not write them again + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { + std::unique_lock lock(_mutsCrosses[t]); std::unique_lock lock2(_mutsNotCrosses[t]); + for (const auto& gidB : crossesPartners) { + auto j = _subNotCrosses[t].find(gidB); + if (j != _subNotCrosses[t].end()) j->second.erase(gidA); + + auto k = _subCrosses[t].find(gidB); + if (k != _subCrosses[t].end()) k->second.erase(gidA); + } _subNotCrosses[t].erase(gidA); } @@ -1080,6 +1084,8 @@ void Sweeper::multiOut(size_t tOut, const std::string& gidA) { auto gidB = b.first; if (b.second == _subSizes[gidA]) continue; + if (coversAll(gidA, gidB)) continue; + if (!notOverlaps(gidA, gidB)) { _relStats[tOut].overlaps++; writeRel(tOut, gidA, gidB, _cfg.sepOverlaps); @@ -1091,29 +1097,36 @@ void Sweeper::multiOut(size_t tOut, const std::string& gidA) { // write overlaps, aggregate first to avoid locking during I/O std::vector> overlapsTmp; + std::set overlapsPartners; + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { - { - std::unique_lock lock(_mutsOverlaps[t]); - auto i = _subOverlaps[t].find(gidA); - if (i != _subOverlaps[t].end()) { - for (const auto& b : i->second) { - auto gidB = b; - if (!notOverlaps(gidA, gidB)) overlapsTmp.push_back({gidA, gidB}); - - { - std::unique_lock lock2(_mutsNotOverlaps[t]); - auto j = _subNotOverlaps[t].find(gidB); - if (j != _subNotOverlaps[t].end()) j->second.erase(gidA); - } + std::unique_lock lock(_mutsOverlaps[t]); + auto i = _subOverlaps[t].find(gidA); + if (i != _subOverlaps[t].end()) { + overlapsPartners.insert(i->second.begin(), i->second.end()); + _subOverlaps[t].erase(i); + } + } - auto k = _subOverlaps[t].find(gidB); - if (k != _subOverlaps[t].end()) k->second.erase(gidA); - } + for (const auto& gidB : overlapsPartners) { + // if one of the two geometries covers the other completely, they do not + // overlap. notOverlaps may not capture this if gidB was flushed before + if (!notOverlaps(gidA, gidB) && !coversAll(gidA, gidB) && + !coversAll(gidB, gidA)) + overlapsTmp.push_back({gidA, gidB}); + } - _subOverlaps[t].erase(i); - } - } + // the pairs are decided now, make sure the partners do not write them again + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { + std::unique_lock lock(_mutsOverlaps[t]); std::unique_lock lock2(_mutsNotOverlaps[t]); + for (const auto& gidB : overlapsPartners) { + auto j = _subNotOverlaps[t].find(gidB); + if (j != _subNotOverlaps[t].end()) j->second.erase(gidA); + + auto k = _subOverlaps[t].find(gidB); + if (k != _subOverlaps[t].end()) k->second.erase(gidA); + } _subNotOverlaps[t].erase(gidA); } @@ -2695,8 +2708,7 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { // crosses if (res.crosses1vs2()) { - _relStats[t].crosses++; - writeRel(t, a->id, b->id, _cfg.sepCrosses); + writeCrossesOneWay(t, a->id, a->subId, b->id, b->subId); } } else if (isSimpleLine(cur.type) && isArea(sv.type)) { std::shared_ptr b = getArea(sv, sv.large ? -1 : t); @@ -2731,7 +2743,7 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { // covers if (res.coveredBy()) { - writeCovers(t, b->id, 0, a->id, 0); + writeCovers(t, b->id, b->subId, a->id, 0); } // touches @@ -2745,8 +2757,7 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { // crosses if (res.crosses1vs2()) { - _relStats[t].crosses++; - writeRel(t, a->id, b->id, _cfg.sepCrosses); + writeCrossesOneWay(t, a->id, 0, b->id, b->subId); } } else if (isArea(cur.type) && sv.type == LINE) { std::shared_ptr a = getArea(cur, cur.large ? -1 : t); @@ -2797,8 +2808,7 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { // crosses if (res.crosses1vs2()) { - _relStats[t].crosses++; - writeRel(t, b->id, a->id, _cfg.sepCrosses); + writeCrossesOneWay(t, b->id, b->subId, a->id, a->subId); } } else if (isArea(cur.type) && isSimpleLine(sv.type)) { std::shared_ptr a = getArea(cur, cur.large ? -1 : t); @@ -2845,8 +2855,7 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { // crosses if (res.crosses1vs2()) { - _relStats[t].crosses++; - writeRel(t, b->id, a->id, _cfg.sepCrosses); + writeCrossesOneWay(t, b->id, 0, a->id, a->subId); } } else if (cur.type == LINE && sv.type == LINE) { auto ts = TIME(); @@ -2882,6 +2891,9 @@ void Sweeper::doCheck(const JobVal cur, const JobVal sv, size_t t) { writeEquals(t, a->id, a->subId, b->id, b->subId); writeCovers(t, a->id, a->subId, b->id, b->subId); + + writeContains(t, a->id, a->subId, b->id, b->subId); + writeContains(t, b->id, b->subId, a->id, a->subId); } } @@ -3276,8 +3288,8 @@ void Sweeper::writeOverlaps(size_t t, const std::string& a, size_t aSub, // _____________________________________________________________________________ void Sweeper::writeNotOverlaps(size_t t, const std::string& a, size_t aSub, - const std::string& b, size_t bSub, - bool expandB) { + const std::string& b, size_t bSub, bool expandB, + bool expandRefs) { if (a != b && (aSub != 0 || bSub != 0)) { std::unique_lock lock(_mutsNotOverlaps[t]); @@ -3285,7 +3297,7 @@ void Sweeper::writeNotOverlaps(size_t t, const std::string& a, size_t aSub, if (aSub != 0) _subNotOverlaps[t][a].insert(b); } - if (_refs.size() == 0) return; + if (!expandRefs || _refs.size() == 0) return; // handle references @@ -3402,6 +3414,43 @@ void Sweeper::writeNotCrosses(size_t t, const std::string& a, size_t aSub, } } +// _____________________________________________________________________________ +void Sweeper::writeCrossesOneWay(size_t t, const std::string& a, size_t aSub, + const std::string& b, size_t bSub, + bool expandB) { + if (a != b) { + _relStats[t].crosses++; + writeRel(t, a, b, _cfg.sepCrosses); + } + + if (_refs.size() == 0) return; + + // handle references + + auto referersA = _refs.find(a); + auto referersB = _refs.find(b); + + if (expandB && referersB != _refs.end()) { + const auto& subs = referersB->second.find(bSub); + if (subs != referersB->second.end()) { + for (const auto& idB : subs->second) { + writeCrossesOneWay(t, a, aSub, idB.first, idB.second, true); + } + } + } + + // only expand the referers of a after b has been expanded completely, + // otherwise pairs would be reached twice + if (referersA != _refs.end()) { + const auto& subs = referersA->second.find(aSub); + if (subs != referersA->second.end()) { + for (const auto& idA : subs->second) { + writeCrossesOneWay(t, idA.first, idA.second, b, bSub, false); + } + } + } +} + // _____________________________________________________________________________ void Sweeper::writeTouches(size_t t, const std::string& a, size_t aSub, const std::string& b, size_t bSub, bool expandB) { @@ -3644,6 +3693,27 @@ bool Sweeper::notTouches(const std::string& a, const std::string& b) { return false; } +// _____________________________________________________________________________ +bool Sweeper::coversAll(const std::string& a, const std::string& b) { + // does a cover *every* sub geometry of the multi geometry b? Note that this + // can already be answered while b is still being swept, as long as a is + // complete: no check between a and b can happen after a was flushed + const auto& size = _subSizes.find(b); + if (size == _subSizes.end()) return false; + + size_t covered = 0; + + for (size_t t = 0; t < _cfg.numThreads + 1; t++) { + std::unique_lock lock(_mutsCovers[t]); + auto i = _subCovered[t].find(b); + if (i == _subCovered[t].end()) continue; + auto j = i->second.find(a); + if (j != i->second.end()) covered += j->second.size(); + } + + return covered == size->second; +} + // _____________________________________________________________________________ bool Sweeper::notOverlaps(const std::string& a, const std::string& b) { for (size_t t = 0; t < _cfg.numThreads + 1; t++) { diff --git a/src/spatialjoin/Sweeper.h b/src/spatialjoin/Sweeper.h index c8ee5f1..5135bc7 100644 --- a/src/spatialjoin/Sweeper.h +++ b/src/spatialjoin/Sweeper.h @@ -513,14 +513,17 @@ class Sweeper { void writeOverlaps(size_t t, const std::string& a, size_t aSub, const std::string& b, size_t bSub, bool expandB = true); void writeNotOverlaps(size_t t, const std::string& a, size_t aSub, - const std::string& b, size_t bSub, - bool expandB = true); + const std::string& b, size_t bSub, bool expandB = true, + bool expandRefs = true); void writeCrosses(size_t t, const std::string& a, size_t aSub, const std::string& b, size_t bSub, bool expandB = true); void writeNotCrosses(size_t t, const std::string& a, size_t aSub, const std::string& b, size_t bSub, bool expandB = true); + void writeCrossesOneWay(size_t t, const std::string& a, size_t aSub, + const std::string& b, size_t bSub, + bool expandB = true); void doCheck(JobVal cur, JobVal sv, size_t t); void doDistCheck(JobVal cur, JobVal sv, size_t t); @@ -529,6 +532,7 @@ class Sweeper { void processQueue(size_t t); bool notOverlaps(const std::string& a, const std::string& b); + bool coversAll(const std::string& a, const std::string& b); bool notTouches(const std::string& a, const std::string& b); bool notCrosses(const std::string& a, const std::string& b); @@ -632,6 +636,12 @@ class Sweeper { boxa->areaOrLen > boxb->areaOrLen) return 1; + // make ordernig of equal geoms deterministic + if (boxa->type != boxb->type) return boxa->type < boxb->type ? -1 : 1; + if (boxa->side != boxb->side) return boxa->side ? 1 : -1; + if (boxa->large != boxb->large) return boxa->large ? 1 : -1; + if (boxa->id != boxb->id) return boxa->id < boxb->id ? -1 : 1; + return 0; } diff --git a/src/spatialjoin/tests/TestMain.cpp b/src/spatialjoin/tests/TestMain.cpp index 21e991a..0dff5b5 100644 --- a/src/spatialjoin/tests/TestMain.cpp +++ b/src/spatialjoin/tests/TestMain.cpp @@ -1,9 +1,13 @@ // Copyright 2024 // Author: Patrick Brosi +#include #include +#include #include +#include #include +#include #include "spatialjoin/BoxIds.h" #include "spatialjoin/OutputWriter.h" @@ -24,16 +28,16 @@ struct RunStats { // _____________________________________________________________________________ std::string fullRun(const std::string& file, sj::SweeperCfg cfg, - RunStats* stats) { + RunStats* stats, double dupRemovalMinSize = 0) { { - sj::OutputWriter outWriter(NUM_THREADS, "$", "$\n", ".resTmp", "."); + sj::OutputWriter outWriter(cfg.numThreads, "$", "$\n", ".resTmp", "."); cfg.writeRelCb = [&outWriter](size_t t, const char* a, size_t an, const char* b, size_t bn, const char* pred, size_t predn) { outWriter.writeRelCb(t, a, an, b, bn, pred, predn); }; Sweeper sweeper(cfg, "."); - sweeper.DUPLICATE_REMOVAL_MIN_SIZE = 0; + sweeper.DUPLICATE_REMOVAL_MIN_SIZE = dupRemovalMinSize; // very small buffer size 1 here for test purposes to force buffer overflows // during parsing @@ -75,221 +79,95 @@ std::string fullRun(const std::string& file, sj::SweeperCfg cfg, return ss.str(); } +// _____________________________________________________________________________ +std::vector sortedRels(const std::string& res) { + auto rels = util::split(res, '\n'); + std::sort(rels.begin(), rels.end()); + + return rels; +} + +// _____________________________________________________________________________ +void testNoContradictions(const std::string& res) { + std::set> coveringContains, overlapping; + + for (auto r : sortedRels(res)) { + r = util::trim(r, "$"); + auto parts = util::split(r, ' '); + + TEST(parts.size(), ==, 3); + + if (parts[1] == "covers") coveringContains.insert({parts[0], parts[2]}); + if (parts[1] == "contains") coveringContains.insert({parts[0], parts[2]}); + if (parts[1] == "overlaps") overlapping.insert({parts[0], parts[2]}); + } + + for (const auto& o : overlapping) { + TEST(!(coveringContains.count(o) || + coveringContains.count({o.second, o.first}))); + } +} + // _____________________________________________________________________________ int main(int, char**) { sj::SweeperCfg baseline{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - false, - false, - false, - false, - false, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", false, false, false, false, + false, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg all{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - true, - true, - true, - true, - true, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", true, true, true, true, + true, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg noSurfaceArea{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - true, - false, - true, - true, - true, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", true, false, true, true, + true, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg noBoxIds{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - false, - true, - true, - true, - true, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", false, true, true, true, + true, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg noObb{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - true, - true, - false, - true, - true, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", true, true, false, true, + true, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg noDiagBox{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - true, - true, - true, - false, - true, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", true, true, true, false, + true, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; sj::SweeperCfg noFastSweep{ - NUM_THREADS, - NUM_THREADS, - 1000, - 1000, - " intersects ", - " contains ", - " covers ", - " touches ", - " equals ", - " overlaps ", - " crosses ", - true, - true, - true, - true, - false, - false, - -1, - false, - false, - false, - {}, - false, - {}, - {}, - {}, - {}, - {}}; - - std::vector cfgs{baseline, all, noSurfaceArea, - noBoxIds, noObb, noDiagBox, - noFastSweep}; + NUM_THREADS, NUM_THREADS, 1000, 1000, " intersects ", + " contains ", " covers ", " touches ", " equals ", " overlaps ", + " crosses ", true, true, true, true, + false, false, -1, false, false, + false, {}, false, {}, {}, + {}, {}, {}}; + + std::vector cfgs{baseline, all, noSurfaceArea, noBoxIds, + noObb, noDiagBox, noFastSweep}; for (auto cfg : cfgs) { { @@ -365,10 +243,10 @@ int main(int, char**) { TEST(res.find("$freiburg1 covers Umkirch$") == std::string::npos); - TEST(res.find("$freiburg1 covers Sankt Georgen$") != std::string::npos); - TEST(res.find("$freiburg1 intersects Sankt Georgen$") != + TEST(res.find("$freiburg1 covers Sankt-Georgen$") != std::string::npos); + TEST(res.find("$freiburg1 intersects Sankt-Georgen$") != std::string::npos); - TEST(res.find("$freiburg1 contains Sankt Georgen$") != std::string::npos); + TEST(res.find("$freiburg1 contains Sankt-Georgen$") != std::string::npos); TEST(res.find("$freiburg1 covers Haslach$") != std::string::npos); @@ -417,17 +295,17 @@ int main(int, char**) { TEST(res.find("$freiburg1 covers Zähringen$") != std::string::npos); TEST(res.find("$freiburg1 covers Ebnet$") != std::string::npos); TEST(res.find("$freiburg1 covers Oberau$") != std::string::npos); - TEST(res.find("$freiburg1 covers Sankt Georgen Süd$") != + TEST(res.find("$freiburg1 covers Sankt-Georgen-Süd$") != std::string::npos); - TEST(res.find("$freiburg1 covers Sankt Georgen Nord$") != + TEST(res.find("$freiburg1 covers Sankt-Georgen-Nord$") != std::string::npos); - TEST(res.find("$Sankt Georgen covers Sankt Georgen Süd$") != + TEST(res.find("$Sankt-Georgen covers Sankt-Georgen-Süd$") != std::string::npos); - TEST(res.find("$Sankt Georgen covers Sankt Georgen Nord$") != + TEST(res.find("$Sankt-Georgen covers Sankt-Georgen-Nord$") != std::string::npos); - TEST(res.find("$Sankt Georgen Süd touches Sankt Georgen Nord$") != + TEST(res.find("$Sankt-Georgen-Süd touches Sankt-Georgen-Nord$") != std::string::npos); - TEST(res.find("$Sankt Georgen Nord touches Sankt Georgen Süd$") != + TEST(res.find("$Sankt-Georgen-Nord touches Sankt-Georgen-Süd$") != std::string::npos); TEST(res.find("$freiburg1 covers Haslach-Haid$") != std::string::npos); TEST(res.find("$freiburg1 covers Haslach-Gartenstadt$") != @@ -864,12 +742,32 @@ int main(int, char**) { size_t a = res.find("$lsa equals lsb$"); TEST(a != std::string::npos); // no second time! - TEST(res.find("$lsa\tequals\tlsb$", a+1) == std::string::npos); + TEST(res.find("$lsa\tequals\tlsb$", a + 1) == std::string::npos); size_t aa = res.find("$lsb equals lsc$"); TEST(aa != std::string::npos); // no second time! - TEST(res.find("$lsb equals lsc$", aa+1) == std::string::npos); + TEST(res.find("$lsb equals lsc$", aa + 1) == std::string::npos); + } + + for (std::string dataset : + {"duplicate-references", "multitests", "collectiontests", "freiburg", + "references", "issue-23"}) { + RunStats withDups, withoutDups; + + const auto& withDupRemoval = + fullRun(TEST_DATASET_DIR "/" + dataset, cfg, &withDups); + const auto& withoutDupRemoval = + fullRun(TEST_DATASET_DIR "/" + dataset, cfg, &withoutDups, + std::numeric_limits::max()); + + TEST(withDups.numReferences > withoutDups.numReferences); + TEST(sortedRels(withDupRemoval) == sortedRels(withoutDupRemoval)); + + // this tests for contradicting relations (two geometries contain AND + // overlap each other) + testNoContradictions(withDupRemoval); + testNoContradictions(withoutDupRemoval); } { @@ -1051,6 +949,24 @@ int main(int, char**) { } } + { + auto cfg = all; + + RunStats singleStats; + const auto& single = + fullRun(TEST_DATASET_DIR "/multi-threaded", cfg, &singleStats); + + cfg.numThreads = 4; + cfg.numCacheThreads = 4; + + for (size_t i = 0; i < 3; i++) { + RunStats multiStats; + TEST(sortedRels(single) == + sortedRels( + fullRun(TEST_DATASET_DIR "/multi-threaded", cfg, &multiStats))); + } + } + // DE9IM for (auto cfg : cfgs) { cfg.computeDE9IM = true; @@ -1077,32 +993,32 @@ int main(int, char**) { size_t a = res.find("$lsa\t1FFF0FFF2\tlsb$"); TEST(a != std::string::npos); // no second time! - TEST(res.find("$lsa\t1FFF0FFF2\tlsb$", a+1) == std::string::npos); + TEST(res.find("$lsa\t1FFF0FFF2\tlsb$", a + 1) == std::string::npos); size_t aa = res.find("$lsb\t1FFF0FFF2\tlsc$"); TEST(aa != std::string::npos); // no second time! - TEST(res.find("$lsb\t1FFF0FFF2\tlsc$", aa+1) == std::string::npos); + TEST(res.find("$lsb\t1FFF0FFF2\tlsc$", aa + 1) == std::string::npos); size_t b = res.find("$lsb\t1FFF0FFF2\tlsa$"); TEST(b != std::string::npos); // no second time! - TEST(res.find("$lsb\t1FFF0FFF2\tlsa$", b+1) == std::string::npos); + TEST(res.find("$lsb\t1FFF0FFF2\tlsa$", b + 1) == std::string::npos); size_t c = res.find("$polya\t2FFF1FFF2\tpolyb$"); TEST(c != std::string::npos); // no second time! - TEST(res.find("$polya\t2FFF1FFF2\tpolyb$", c+1) == std::string::npos); + TEST(res.find("$polya\t2FFF1FFF2\tpolyb$", c + 1) == std::string::npos); size_t d = res.find("$polyb\t2FFF1FFF2\tpolya$"); TEST(d != std::string::npos); // no second time! - TEST(res.find("$polyb\t2FFF1FFF2\tpolya$", d+1) == std::string::npos); + TEST(res.find("$polyb\t2FFF1FFF2\tpolya$", d + 1) == std::string::npos); size_t e = res.find("$polyc\t2FFF1FFF2\tpolyb$"); TEST(d != std::string::npos); // no second time! - TEST(res.find("$polyc\t2FFF1FFF2\tpolyb$", e+1) == std::string::npos); + TEST(res.find("$polyc\t2FFF1FFF2\tpolyb$", e + 1) == std::string::npos); } { RunStats stats; @@ -1173,7 +1089,8 @@ int main(int, char**) { cfg.withinDist = 100; { RunStats stats; - auto res = fullRun(TEST_DATASET_DIR "/brokenlinepointdistance", cfg, &stats); + auto res = + fullRun(TEST_DATASET_DIR "/brokenlinepointdistance", cfg, &stats); std::regex pattern1("\\$point2\\t9.4\\d*\\\tway\\$"); TEST(std::regex_search(res, pattern1)); diff --git a/src/spatialjoin/tests/datasets/duplicate-references b/src/spatialjoin/tests/datasets/duplicate-references new file mode 100644 index 0000000..076690f --- /dev/null +++ b/src/spatialjoin/tests/datasets/duplicate-references @@ -0,0 +1,10 @@ +mpoly MULTIPOLYGON(((0 0,0 0.001,0.0002 0.001,0.0002 0.0006,0.0004 0.0006,0.0004 0.001,0.0006 0.001,0.0006 0.0006,0.0008 0.0006,0.0008 0.001,0.001 0.001,0.001 0,0 0)),((0.002 0,0.002 0.001,0.003 0.001,0.003 0,0.002 0))) +mpoly2 MULTIPOLYGON(((0 0,0 0.001,0.0002 0.001,0.0002 0.0006,0.0004 0.0006,0.0004 0.001,0.0006 0.001,0.0006 0.0006,0.0008 0.0006,0.0008 0.001,0.001 0.001,0.001 0,0 0)),((-0.002 0,-0.002 0.001,-0.001 0.001,-0.001 0,-0.002 0))) +mpoly4 MULTIPOLYGON(((0 0,0 0.001,0.0002 0.001,0.0002 0.0006,0.0004 0.0006,0.0004 0.001,0.0006 0.001,0.0006 0.0006,0.0008 0.0006,0.0008 0.001,0.001 0.001,0.001 0,0 0))) +poly POLYGON((0 0,0 0.001,0.0002 0.001,0.0002 0.0006,0.0004 0.0006,0.0004 0.001,0.0006 0.001,0.0006 0.0006,0.0008 0.0006,0.0008 0.001,0.001 0.001,0.001 0,0 0)) +line LINESTRING(0.0002 0.0002,0.0008 0.0004) +xline LINESTRING(-0.0005 0.0003,0.0015 0.0003) +mpoly3 MULTIPOLYGON(((0.0001 0.0001,0.0001 0.0003,0.0003 0.0003,0.0003 0.0001,0.0001 0.0001)),((0.0021 0.0002,0.0021 0.0004,0.0023 0.0004,0.0023 0.0002,0.0021 0.0002))) +tpoly POLYGON((0 -0.001,0 0,0.001 0,0.001 -0.001,0 -0.001)) +bigA MULTIPOLYGON(((0.01 0,0.01 0.001,0.011 0.001,0.011 0,0.01 0)),((0.012 0,0.012 0.001,0.013 0.001,0.013 0,0.012 0))) +smallB MULTIPOLYGON(((0.01 0,0.01 0.001,0.011 0.001,0.011 0,0.01 0)),((0.0122 0.0002,0.0122 0.0008,0.013 0.0008,0.013 0.0002,0.0122 0.0002))) diff --git a/src/spatialjoin/tests/datasets/freiburg b/src/spatialjoin/tests/datasets/freiburg index a597c6e..552d0b3 100644 --- a/src/spatialjoin/tests/datasets/freiburg +++ b/src/spatialjoin/tests/datasets/freiburg @@ -8,7 +8,7 @@ c LINESTRING(7.8845745 48.0225505,7.8846139 48.0226988, 7.8846520 48.0228419, d LINESTRING(7.8636327 48.0345675,7.8636700 48.0346325,7.8637415 48.0347774, 7.8638784 48.0350678,7.8638825 48.0350757) grenzpunkt POINT ( 7.8373045 47.9713280 ) grenzpunkt2 POINT(7.8299752 47.9727856) -Sankt Georgen MULTIPOLYGON(((7.7551190 47.9788009,7.7567772 47.9805245,7.7568928 47.9806556,7.7572963 47.9813335,7.7581116 47.9827985,7.7585084 47.9843152,7.7620449 47.9847235,7.7633432 47.9850523,7.7635981 47.9865557,7.7638673 47.9875903,7.7637042 47.9878028,7.7629011 47.9889661,7.7627515 47.9893826,7.7629409 47.9897316,7.7631821 47.9901646,7.7637814 47.9911633,7.7632235 47.9914735,7.7627429 47.9917607,7.7623223 47.9919617,7.7621421 47.9921800,7.7616499 47.9926860,7.7626465 47.9930340,7.7625686 47.9943143,7.7622682 47.9951586,7.7620757 47.9954260,7.7616541 47.9958901,7.7612256 47.9962143,7.7610580 47.9966979,7.7609985 47.9969530,7.7607218 47.9977874,7.7603990 47.9985202,7.7606271 47.9993851,7.7607426 47.9995000,7.7608667 47.9995223,7.7626468 47.9994825,7.7638116 47.9992987,7.7640176 47.9992413,7.7641721 47.9991838,7.7643352 47.9991034,7.7644600 47.9990204,7.7657943 47.9981328,7.7659579 47.9980278,7.7664381 47.9977193,7.7666210 47.9976290,7.7669015 47.9975355,7.7672620 47.9974091,7.7677341 47.9972828,7.7686096 47.9970760,7.7688599 47.9970275,7.7704987 47.9963227,7.7712973 47.9960089,7.7724209 47.9955850,7.7736650 47.9951232,7.7744822 47.9949548,7.7750383 47.9948532,7.7753644 47.9948245,7.7759223 47.9948589,7.7779823 47.9951117,7.7789263 47.9951619,7.7790332 47.9951706,7.7814819 47.9949967,7.7876431 47.9950424,7.7883417 47.9950534,7.7884957 47.9950612,7.7885597 47.9952148,7.7887788 47.9952936,7.7890702 47.9952174,7.7891510 47.9951075,7.7938579 47.9951377,7.7976965 47.9951822,7.7978298 47.9952243,7.7986492 47.9952733,7.7989039 47.9953978,7.7990603 47.9953642,7.7992337 47.9953328,7.7993575 47.9953208,7.8002106 47.9952133,7.8002753 47.9951925,7.8003268 47.9951623,7.8003726 47.9951422,7.8004761 47.9951147,7.8002643 47.9948134,7.8001747 47.9947108,7.8000531 47.9945511,7.7992199 47.9934909,7.7985828 47.9926424,7.7981041 47.9923132,7.7977241 47.9913312,7.7969689 47.9889703,7.7967206 47.9880286,7.7961372 47.9856943,7.7997282 47.9855461,7.8004040 47.9854939,7.8013395 47.9853848,7.8030304 47.9851320,7.8034856 47.9850479,7.8036948 47.9850048,7.8043769 47.9848624,7.8078420 47.9840496,7.8083019 47.9839422,7.8092526 47.9837559,7.8101120 47.9836059,7.8110157 47.9835128,7.8118455 47.9834511,7.8128478 47.9834914,7.8138325 47.9835278,7.8159338 47.9837783,7.8187149 47.9841598,7.8193523 47.9842472,7.8195290 47.9839123,7.8196484 47.9836289,7.8197524 47.9832640,7.8198081 47.9829587,7.8199375 47.9822733,7.8202485 47.9813794,7.8207001 47.9806742,7.8216185 47.9797143,7.8227171 47.9788414,7.8236506 47.9783205,7.8232282 47.9781804,7.8222874 47.9779510,7.8218164 47.9778508,7.8215326 47.9778054,7.8203575 47.9776000,7.8188708 47.9774137,7.8184260 47.9773586,7.8164091 47.9771168,7.8162398 47.9763992,7.8163872 47.9763599,7.8167310 47.9762228,7.8174084 47.9759909,7.8177380 47.9758758,7.8180716 47.9757415,7.8182293 47.9756539,7.8183478 47.9755279,7.8184460 47.9753832,7.8186425 47.9751924,7.8186818 47.9751332,7.8189569 47.9749951,7.8192222 47.9748833,7.8194384 47.9747649,7.8196349 47.9746596,7.8197331 47.9745807,7.8199448 47.9744699,7.8201648 47.9743592,7.8202504 47.9743382,7.8206099 47.9743112,7.8208755 47.9742592,7.8212528 47.9741200,7.8216753 47.9740213,7.8220192 47.9739293,7.8223827 47.9737714,7.8227659 47.9736661,7.8230999 47.9736004,7.8234438 47.9735214,7.8237091 47.9734688,7.8240726 47.9733767,7.8243281 47.9732846,7.8246720 47.9731070,7.8247968 47.9730695,7.8253557 47.9727983,7.8254674 47.9727822,7.8253195 47.9722158,7.8250411 47.9723001,7.8249579 47.9723422,7.8249175 47.9724145,7.8248028 47.9724611,7.8243419 47.9725123,7.8236072 47.9727220,7.8233026 47.9727033,7.8231273 47.9727468,7.8224918 47.9723653,7.8225528 47.9722439,7.8225020 47.9722237,7.8223418 47.9721599,7.8218779 47.9718791,7.8212869 47.9715103,7.8210185 47.9712934,7.8205125 47.9708464,7.8202125 47.9705953,7.8200736 47.9704840,7.8186950 47.9701837,7.8179364 47.9686022,7.8165842 47.9676604,7.8133954 47.9677254,7.8130712 47.9677293,7.8120513 47.9671344,7.8115034 47.9669054,7.8105972 47.9664905,7.8092057 47.9659785,7.8090438 47.9659107,7.8076340 47.9657005,7.8073831 47.9655631,7.8070286 47.9654027,7.8067577 47.9652797,7.8065905 47.9650953,7.8062526 47.9647654,7.8061335 47.9646253,7.8052680 47.9644568,7.8044804 47.9643607,7.8021357 47.9640765,7.8011659 47.9643497,7.8004371 47.9645513,7.7992973 47.9652724,7.7975770 47.9656425,7.7956299 47.9662675,7.7921661 47.9683632,7.7906040 47.9688368,7.7887501 47.9688177,7.7880604 47.9690069,7.7877411 47.9690862,7.7874126 47.9691066,7.7872847 47.9691639,7.7870520 47.9692643,7.7869726 47.9692707,7.7868028 47.9692817,7.7867658 47.9692657,7.7866847 47.9692391,7.7865040 47.9691762,7.7864630 47.9691634,7.7859688 47.9695141,7.7856967 47.9693130,7.7856583 47.9693374,7.7851711 47.9696456,7.7849833 47.9694416,7.7849270 47.9694784,7.7844377 47.9698095,7.7844403 47.9698580,7.7844077 47.9698912,7.7842856 47.9699493,7.7839198 47.9697414,7.7835857 47.9699300,7.7834811 47.9698583,7.7834206 47.9698885,7.7829049 47.9701416,7.7827848 47.9700540,7.7821013 47.9704311,7.7820000 47.9704227,7.7819833 47.9704219,7.7816451 47.9703939,7.7813068 47.9703688,7.7812617 47.9703667,7.7811814 47.9703559,7.7811336 47.9703508,7.7806256 47.9705629,7.7806106 47.9705726,7.7803875 47.9706633,7.7803276 47.9706855,7.7802949 47.9707120,7.7802604 47.9707280,7.7799635 47.9709360,7.7800547 47.9709855,7.7783070 47.9720288,7.7782493 47.9721202,7.7782786 47.9722306,7.7783068 47.9723369,7.7769135 47.9727199,7.7764101 47.9728453,7.7760990 47.9729228,7.7759130 47.9729828,7.7758840 47.9729880,7.7759793 47.9732369,7.7761470 47.9736937,7.7760786 47.9737168,7.7750532 47.9740641,7.7743057 47.9743172,7.7722987 47.9749969,7.7726552 47.9754488,7.7725879 47.9754685,7.7725058 47.9754868,7.7723968 47.9755147,7.7723714 47.9755251,7.7722926 47.9755485,7.7722620 47.9755620,7.7722478 47.9755683,7.7721618 47.9756064,7.7720782 47.9756607,7.7718351 47.9758365,7.7710539 47.9765796,7.7709999 47.9766301,7.7699126 47.9776210,7.7680771 47.9784134,7.7680036 47.9784432,7.7679460 47.9784665,7.7679391 47.9784619,7.7673258 47.9780763,7.7657209 47.9770208,7.7633721 47.9768122,7.7624212 47.9770412,7.7600885 47.9776511,7.7576469 47.9783760,7.7563940 47.9787160,7.7559641 47.9788150,7.7551190 47.9788009))) +Sankt-Georgen MULTIPOLYGON(((7.7551190 47.9788009,7.7567772 47.9805245,7.7568928 47.9806556,7.7572963 47.9813335,7.7581116 47.9827985,7.7585084 47.9843152,7.7620449 47.9847235,7.7633432 47.9850523,7.7635981 47.9865557,7.7638673 47.9875903,7.7637042 47.9878028,7.7629011 47.9889661,7.7627515 47.9893826,7.7629409 47.9897316,7.7631821 47.9901646,7.7637814 47.9911633,7.7632235 47.9914735,7.7627429 47.9917607,7.7623223 47.9919617,7.7621421 47.9921800,7.7616499 47.9926860,7.7626465 47.9930340,7.7625686 47.9943143,7.7622682 47.9951586,7.7620757 47.9954260,7.7616541 47.9958901,7.7612256 47.9962143,7.7610580 47.9966979,7.7609985 47.9969530,7.7607218 47.9977874,7.7603990 47.9985202,7.7606271 47.9993851,7.7607426 47.9995000,7.7608667 47.9995223,7.7626468 47.9994825,7.7638116 47.9992987,7.7640176 47.9992413,7.7641721 47.9991838,7.7643352 47.9991034,7.7644600 47.9990204,7.7657943 47.9981328,7.7659579 47.9980278,7.7664381 47.9977193,7.7666210 47.9976290,7.7669015 47.9975355,7.7672620 47.9974091,7.7677341 47.9972828,7.7686096 47.9970760,7.7688599 47.9970275,7.7704987 47.9963227,7.7712973 47.9960089,7.7724209 47.9955850,7.7736650 47.9951232,7.7744822 47.9949548,7.7750383 47.9948532,7.7753644 47.9948245,7.7759223 47.9948589,7.7779823 47.9951117,7.7789263 47.9951619,7.7790332 47.9951706,7.7814819 47.9949967,7.7876431 47.9950424,7.7883417 47.9950534,7.7884957 47.9950612,7.7885597 47.9952148,7.7887788 47.9952936,7.7890702 47.9952174,7.7891510 47.9951075,7.7938579 47.9951377,7.7976965 47.9951822,7.7978298 47.9952243,7.7986492 47.9952733,7.7989039 47.9953978,7.7990603 47.9953642,7.7992337 47.9953328,7.7993575 47.9953208,7.8002106 47.9952133,7.8002753 47.9951925,7.8003268 47.9951623,7.8003726 47.9951422,7.8004761 47.9951147,7.8002643 47.9948134,7.8001747 47.9947108,7.8000531 47.9945511,7.7992199 47.9934909,7.7985828 47.9926424,7.7981041 47.9923132,7.7977241 47.9913312,7.7969689 47.9889703,7.7967206 47.9880286,7.7961372 47.9856943,7.7997282 47.9855461,7.8004040 47.9854939,7.8013395 47.9853848,7.8030304 47.9851320,7.8034856 47.9850479,7.8036948 47.9850048,7.8043769 47.9848624,7.8078420 47.9840496,7.8083019 47.9839422,7.8092526 47.9837559,7.8101120 47.9836059,7.8110157 47.9835128,7.8118455 47.9834511,7.8128478 47.9834914,7.8138325 47.9835278,7.8159338 47.9837783,7.8187149 47.9841598,7.8193523 47.9842472,7.8195290 47.9839123,7.8196484 47.9836289,7.8197524 47.9832640,7.8198081 47.9829587,7.8199375 47.9822733,7.8202485 47.9813794,7.8207001 47.9806742,7.8216185 47.9797143,7.8227171 47.9788414,7.8236506 47.9783205,7.8232282 47.9781804,7.8222874 47.9779510,7.8218164 47.9778508,7.8215326 47.9778054,7.8203575 47.9776000,7.8188708 47.9774137,7.8184260 47.9773586,7.8164091 47.9771168,7.8162398 47.9763992,7.8163872 47.9763599,7.8167310 47.9762228,7.8174084 47.9759909,7.8177380 47.9758758,7.8180716 47.9757415,7.8182293 47.9756539,7.8183478 47.9755279,7.8184460 47.9753832,7.8186425 47.9751924,7.8186818 47.9751332,7.8189569 47.9749951,7.8192222 47.9748833,7.8194384 47.9747649,7.8196349 47.9746596,7.8197331 47.9745807,7.8199448 47.9744699,7.8201648 47.9743592,7.8202504 47.9743382,7.8206099 47.9743112,7.8208755 47.9742592,7.8212528 47.9741200,7.8216753 47.9740213,7.8220192 47.9739293,7.8223827 47.9737714,7.8227659 47.9736661,7.8230999 47.9736004,7.8234438 47.9735214,7.8237091 47.9734688,7.8240726 47.9733767,7.8243281 47.9732846,7.8246720 47.9731070,7.8247968 47.9730695,7.8253557 47.9727983,7.8254674 47.9727822,7.8253195 47.9722158,7.8250411 47.9723001,7.8249579 47.9723422,7.8249175 47.9724145,7.8248028 47.9724611,7.8243419 47.9725123,7.8236072 47.9727220,7.8233026 47.9727033,7.8231273 47.9727468,7.8224918 47.9723653,7.8225528 47.9722439,7.8225020 47.9722237,7.8223418 47.9721599,7.8218779 47.9718791,7.8212869 47.9715103,7.8210185 47.9712934,7.8205125 47.9708464,7.8202125 47.9705953,7.8200736 47.9704840,7.8186950 47.9701837,7.8179364 47.9686022,7.8165842 47.9676604,7.8133954 47.9677254,7.8130712 47.9677293,7.8120513 47.9671344,7.8115034 47.9669054,7.8105972 47.9664905,7.8092057 47.9659785,7.8090438 47.9659107,7.8076340 47.9657005,7.8073831 47.9655631,7.8070286 47.9654027,7.8067577 47.9652797,7.8065905 47.9650953,7.8062526 47.9647654,7.8061335 47.9646253,7.8052680 47.9644568,7.8044804 47.9643607,7.8021357 47.9640765,7.8011659 47.9643497,7.8004371 47.9645513,7.7992973 47.9652724,7.7975770 47.9656425,7.7956299 47.9662675,7.7921661 47.9683632,7.7906040 47.9688368,7.7887501 47.9688177,7.7880604 47.9690069,7.7877411 47.9690862,7.7874126 47.9691066,7.7872847 47.9691639,7.7870520 47.9692643,7.7869726 47.9692707,7.7868028 47.9692817,7.7867658 47.9692657,7.7866847 47.9692391,7.7865040 47.9691762,7.7864630 47.9691634,7.7859688 47.9695141,7.7856967 47.9693130,7.7856583 47.9693374,7.7851711 47.9696456,7.7849833 47.9694416,7.7849270 47.9694784,7.7844377 47.9698095,7.7844403 47.9698580,7.7844077 47.9698912,7.7842856 47.9699493,7.7839198 47.9697414,7.7835857 47.9699300,7.7834811 47.9698583,7.7834206 47.9698885,7.7829049 47.9701416,7.7827848 47.9700540,7.7821013 47.9704311,7.7820000 47.9704227,7.7819833 47.9704219,7.7816451 47.9703939,7.7813068 47.9703688,7.7812617 47.9703667,7.7811814 47.9703559,7.7811336 47.9703508,7.7806256 47.9705629,7.7806106 47.9705726,7.7803875 47.9706633,7.7803276 47.9706855,7.7802949 47.9707120,7.7802604 47.9707280,7.7799635 47.9709360,7.7800547 47.9709855,7.7783070 47.9720288,7.7782493 47.9721202,7.7782786 47.9722306,7.7783068 47.9723369,7.7769135 47.9727199,7.7764101 47.9728453,7.7760990 47.9729228,7.7759130 47.9729828,7.7758840 47.9729880,7.7759793 47.9732369,7.7761470 47.9736937,7.7760786 47.9737168,7.7750532 47.9740641,7.7743057 47.9743172,7.7722987 47.9749969,7.7726552 47.9754488,7.7725879 47.9754685,7.7725058 47.9754868,7.7723968 47.9755147,7.7723714 47.9755251,7.7722926 47.9755485,7.7722620 47.9755620,7.7722478 47.9755683,7.7721618 47.9756064,7.7720782 47.9756607,7.7718351 47.9758365,7.7710539 47.9765796,7.7709999 47.9766301,7.7699126 47.9776210,7.7680771 47.9784134,7.7680036 47.9784432,7.7679460 47.9784665,7.7679391 47.9784619,7.7673258 47.9780763,7.7657209 47.9770208,7.7633721 47.9768122,7.7624212 47.9770412,7.7600885 47.9776511,7.7576469 47.9783760,7.7563940 47.9787160,7.7559641 47.9788150,7.7551190 47.9788009))) Haslach MULTIPOLYGON(((7.7961372 47.9856943,7.7967206 47.9880286,7.7969689 47.9889703,7.7977241 47.9913312,7.7981041 47.9923132,7.7985828 47.9926424,7.7992199 47.9934909,7.8000531 47.9945511,7.8001747 47.9947108,7.8002643 47.9948134,7.8004761 47.9951147,7.8007549 47.9950553,7.8010670 47.9949935,7.8015216 47.9949034,7.8022487 47.9947301,7.8034589 47.9944475,7.8034674 47.9944637,7.8037547 47.9943875,7.8038360 47.9943603,7.8040138 47.9943046,7.8042631 47.9942215,7.8043873 47.9941812,7.8045345 47.9941278,7.8050724 47.9939226,7.8052913 47.9938598,7.8057734 47.9937249,7.8062903 47.9935939,7.8067416 47.9934908,7.8072294 47.9933909,7.8076470 47.9933189,7.8086357 47.9931774,7.8090056 47.9930970,7.8094104 47.9930150,7.8094949 47.9929991,7.8101974 47.9928545,7.8103594 47.9928443,7.8105158 47.9928194,7.8109358 47.9927284,7.8113990 47.9925945,7.8123141 47.9923322,7.8128344 47.9921833,7.8129415 47.9921524,7.8132138 47.9920730,7.8133082 47.9920421,7.8133890 47.9920798,7.8163498 47.9942960,7.8167456 47.9945998,7.8195355 47.9966641,7.8214382 47.9980470,7.8291946 47.9950698,7.8327562 47.9936879,7.8349160 47.9928611,7.8354481 47.9926722,7.8364201 47.9923624,7.8353540 47.9911162,7.8348640 47.9907321,7.8335187 47.9896777,7.8329306 47.9891168,7.8322977 47.9883256,7.8309680 47.9866339,7.8304729 47.9859288,7.8302443 47.9854947,7.8299853 47.9846922,7.8299406 47.9841370,7.8299683 47.9833919,7.8301012 47.9828692,7.8301455 47.9827728,7.8296301 47.9820600,7.8293303 47.9817098,7.8289858 47.9813512,7.8288068 47.9812059,7.8279095 47.9804476,7.8267876 47.9797263,7.8257532 47.9791697,7.8256634 47.9791265,7.8249036 47.9787968,7.8242672 47.9785533,7.8238782 47.9783889,7.8236506 47.9783205,7.8227171 47.9788414,7.8216185 47.9797143,7.8207001 47.9806742,7.8202485 47.9813794,7.8199375 47.9822733,7.8198081 47.9829587,7.8197524 47.9832640,7.8196484 47.9836289,7.8195290 47.9839123,7.8193523 47.9842472,7.8187149 47.9841598,7.8159338 47.9837783,7.8138325 47.9835278,7.8128478 47.9834914,7.8118455 47.9834511,7.8110157 47.9835128,7.8101120 47.9836059,7.8092526 47.9837559,7.8083019 47.9839422,7.8078420 47.9840496,7.8043769 47.9848624,7.8036948 47.9850048,7.8034856 47.9850479,7.8030304 47.9851320,7.8013395 47.9853848,7.8004040 47.9854939,7.7997282 47.9855461,7.7961372 47.9856943))) Günterstal MULTIPOLYGON(((7.8346282 47.9666029,7.8356643 47.9681244,7.8366566 47.9694196,7.8374267 47.9711616,7.8378632 47.9711055,7.8384795 47.9714469,7.8385785 47.9715143,7.8383727 47.9716617,7.8386103 47.9717840,7.8393239 47.9722151,7.8397188 47.9724277,7.8400878 47.9725599,7.8406886 47.9727323,7.8413238 47.9728530,7.8427391 47.9729714,7.8428135 47.9728911,7.8433834 47.9726317,7.8437565 47.9728330,7.8441713 47.9735845,7.8439839 47.9742960,7.8451064 47.9749523,7.8452401 47.9750150,7.8453519 47.9750301,7.8454295 47.9750362,7.8455628 47.9750164,7.8471909 47.9747881,7.8476034 47.9747302,7.8478288 47.9747035,7.8499414 47.9746092,7.8523038 47.9752849,7.8536298 47.9755078,7.8550061 47.9757391,7.8597252 47.9743246,7.8617314 47.9744569,7.8638449 47.9742755,7.8663055 47.9735353,7.8695177 47.9721055,7.8734965 47.9723694,7.8764110 47.9707566,7.8800284 47.9691506,7.8817831 47.9685156,7.8824497 47.9671056,7.8843246 47.9655499,7.8849811 47.9651215,7.8853580 47.9648756,7.8874145 47.9635338,7.8861524 47.9629343,7.8853961 47.9622974,7.8850753 47.9603104,7.8849235 47.9593699,7.8860001 47.9560076,7.8834217 47.9544986,7.8804409 47.9530306,7.8807252 47.9522689,7.8813440 47.9515104,7.8813257 47.9507359,7.8815356 47.9499232,7.8818387 47.9487496,7.8822398 47.9479550,7.8846551 47.9469558,7.8852142 47.9458595,7.8860016 47.9450352,7.8863914 47.9447653,7.8871226 47.9442591,7.8912281 47.9431970,7.8911145 47.9422516,7.8914028 47.9412875,7.8914278 47.9401186,7.8907380 47.9379534,7.8906855 47.9372784,7.8908233 47.9355259,7.8899800 47.9342811,7.8905677 47.9318359,7.8916996 47.9289688,7.8918516 47.9281159,7.8898481 47.9248138,7.8904092 47.9236050,7.8903817 47.9229800,7.8903440 47.9221229,7.8903192 47.9215580,7.8910251 47.9198335,7.8918464 47.9189646,7.8935482 47.9175869,7.8951845 47.9161412,7.8962914 47.9144205,7.8984616 47.9119437,7.8982200 47.9116269,7.8979939 47.9113389,7.8969333 47.9107769,7.8963818 47.9106576,7.8948086 47.9103248,7.8936337 47.9101734,7.8928046 47.9099329,7.8924961 47.9082794,7.8924038 47.9077995,7.8921347 47.9073682,7.8915956 47.9068373,7.8908057 47.9062599,7.8899433 47.9058614,7.8891982 47.9055808,7.8890178 47.9054813,7.8887435 47.9053743,7.8883297 47.9051954,7.8881145 47.9051167,7.8874882 47.9048686,7.8869577 47.9046922,7.8860965 47.9044744,7.8848724 47.9040957,7.8844610 47.9039563,7.8839838 47.9040855,7.8832336 47.9042174,7.8826877 47.9042739,7.8824324 47.9042805,7.8821640 47.9042851,7.8812903 47.9041983,7.8803837 47.9040941,7.8797802 47.9040185,7.8792478 47.9039852,7.8785688 47.9039762,7.8776385 47.9038594,7.8773139 47.9038073,7.8750256 47.9036068,7.8749760 47.9035777,7.8733161 47.9039476,7.8715013 47.9045125,7.8706523 47.9057086,7.8704685 47.9059393,7.8697356 47.9075942,7.8695616 47.9078231,7.8692476 47.9080941,7.8683543 47.9087863,7.8679629 47.9092743,7.8679228 47.9094291,7.8678043 47.9097706,7.8676295 47.9100340,7.8675029 47.9102612,7.8674150 47.9104226,7.8673009 47.9105266,7.8671828 47.9106650,7.8670333 47.9108198,7.8670106 47.9109475,7.8669364 47.9110998,7.8668651 47.9112841,7.8668045 47.9114366,7.8664664 47.9115424,7.8663327 47.9115834,7.8662792 47.9117176,7.8661260 47.9119369,7.8659690 47.9121547,7.8657139 47.9123512,7.8650822 47.9126860,7.8645236 47.9129347,7.8642964 47.9130880,7.8640681 47.9131204,7.8636489 47.9131784,7.8630391 47.9132532,7.8629567 47.9134808,7.8628895 47.9138067,7.8628788 47.9140189,7.8628375 47.9142264,7.8627297 47.9143601,7.8625702 47.9145301,7.8624963 47.9146618,7.8624741 47.9149471,7.8624505 47.9152961,7.8623626 47.9156470,7.8630142 47.9158831,7.8636182 47.9161234,7.8642149 47.9163956,7.8648183 47.9166655,7.8644643 47.9168794,7.8640715 47.9171592,7.8636300 47.9175071,7.8634134 47.9178226,7.8633757 47.9180255,7.8634300 47.9182109,7.8634551 47.9185056,7.8634891 47.9186908,7.8634620 47.9188664,7.8633700 47.9190665,7.8632908 47.9192965,7.8631438 47.9195304,7.8628883 47.9197474,7.8627216 47.9199354,7.8626706 47.9201177,7.8627011 47.9203029,7.8626776 47.9204716,7.8625758 47.9206442,7.8624812 47.9208010,7.8625126 47.9209337,7.8625879 47.9210873,7.8626457 47.9212727,7.8626927 47.9214900,7.8627309 47.9218169,7.8628403 47.9221488,7.8629870 47.9224902,7.8629800 47.9226819,7.8628822 47.9228204,7.8627467 47.9229836,7.8625872 47.9231489,7.8625329 47.9233288,7.8625194 47.9235068,7.8624641 47.9237323,7.8624962 47.9238377,7.8625973 47.9238910,7.8627635 47.9239062,7.8629877 47.9239172,7.8632230 47.9238827,7.8633936 47.9238476,7.8636121 47.9237969,7.8638575 47.9237693,7.8641338 47.9237123,7.8644185 47.9237649,7.8645829 47.9238827,7.8647015 47.9240892,7.8647190 47.9243973,7.8647313 47.9245598,7.8647705 47.9245417,7.8654129 47.9242984,7.8655886 47.9241834,7.8658811 47.9241722,7.8665284 47.9239287,7.8668149 47.9237026,7.8673236 47.9235881,7.8675194 47.9234869,7.8677717 47.9234479,7.8680764 47.9238816,7.8679452 47.9243129,7.8672537 47.9249079,7.8663037 47.9255167,7.8660580 47.9260858,7.8662392 47.9269005,7.8657744 47.9277305,7.8657804 47.9282925,7.8658889 47.9284784,7.8660624 47.9286444,7.8664777 47.9287963,7.8674282 47.9285142,7.8677117 47.9293230,7.8684606 47.9296217,7.8681692 47.9302681,7.8687050 47.9308642,7.8679125 47.9310540,7.8676980 47.9314200,7.8677205 47.9321878,7.8679709 47.9329483,7.8686218 47.9337396,7.8688843 47.9338858,7.8701526 47.9335263,7.8699878 47.9330931,7.8699891 47.9330689,7.8702035 47.9328926,7.8704615 47.9327396,7.8708196 47.9325119,7.8711946 47.9322914,7.8714862 47.9321638,7.8717634 47.9320680,7.8719677 47.9320583,7.8721300 47.9321054,7.8723220 47.9321985,7.8725100 47.9322851,7.8738036 47.9311769,7.8748619 47.9312429,7.8748843 47.9312893,7.8749684 47.9313806,7.8750040 47.9314164,7.8750428 47.9314591,7.8755632 47.9320125,7.8757287 47.9326498,7.8757499 47.9327175,7.8757688 47.9327918,7.8759487 47.9334817,7.8761124 47.9337209,7.8763341 47.9340842,7.8765512 47.9343583,7.8766906 47.9346225,7.8768945 47.9348850,7.8771044 47.9351796,7.8771931 47.9352971,7.8773704 47.9359097,7.8774012 47.9360356,7.8774325 47.9361410,7.8774595 47.9362805,7.8774701 47.9364447,7.8774693 47.9364885,7.8774656 47.9365406,7.8775069 47.9368152,7.8775205 47.9369455,7.8775672 47.9371173,7.8775866 47.9372841,7.8775648 47.9374711,7.8775393 47.9376671,7.8775097 47.9377604,7.8774490 47.9378761,7.8774167 47.9379396,7.8772240 47.9382222,7.8772087 47.9382697,7.8772231 47.9383147,7.8772749 47.9384435,7.8772983 47.9384918,7.8773249 47.9385390,7.8774010 47.9386881,7.8775836 47.9392555,7.8779804 47.9400586,7.8769569 47.9400675,7.8763978 47.9402111,7.8764804 47.9402835,7.8764813 47.9403395,7.8765864 47.9404823,7.8767342 47.9406826,7.8768825 47.9408646,7.8770011 47.9410120,7.8771564 47.9412844,7.8772099 47.9414490,7.8772366 47.9416022,7.8772995 47.9417970,7.8773957 47.9420172,7.8775036 47.9421851,7.8776360 47.9423190,7.8778247 47.9425152,7.8779543 47.9426286,7.8781151 47.9427195,7.8782971 47.9427855,7.8784982 47.9428928,7.8786911 47.9430593,7.8788366 47.9432163,7.8789206 47.9433792,7.8788876 47.9435311,7.8787887 47.9436806,7.8787242 47.9438077,7.8786625 47.9439554,7.8786249 47.9440987,7.8786006 47.9442491,7.8785931 47.9444111,7.8785487 47.9445498,7.8784810 47.9447616,7.8784534 47.9448069,7.8784248 47.9448537,7.8783361 47.9450177,7.8782844 47.9451746,7.8782380 47.9453932,7.8781840 47.9456437,7.8783755 47.9458505,7.8784864 47.9459835,7.8786306 47.9461668,7.8787786 47.9463320,7.8788518 47.9464739,7.8789415 47.9466866,7.8790346 47.9468880,7.8791945 47.9472062,7.8792842 47.9474053,7.8793414 47.9475983,7.8792226 47.9477613,7.8791122 47.9479229,7.8789727 47.9482489,7.8788515 47.9484607,7.8787792 47.9485495,7.8786256 47.9486082,7.8781989 47.9487501,7.8777690 47.9489012,7.8775713 47.9489505,7.8773569 47.9489655,7.8768364 47.9489837,7.8761390 47.9490034,7.8758295 47.9490248,7.8756044 47.9490741,7.8754197 47.9491828,7.8750809 47.9493777,7.8746776 47.9495791,7.8743492 47.9497649,7.8740882 47.9499042,7.8734267 47.9502539,7.8729883 47.9504703,7.8711603 47.9512900,7.8686582 47.9510248,7.8687284 47.9508745,7.8688739 47.9506972,7.8691420 47.9505117,7.8694719 47.9502762,7.8693530 47.9498186,7.8667081 47.9497899,7.8665355 47.9501885,7.8661893 47.9501520,7.8657622 47.9501546,7.8656586 47.9501518,7.8656079 47.9501527,7.8655826 47.9501517,7.8654398 47.9501459,7.8646733 47.9501147,7.8640612 47.9501198,7.8635140 47.9500270,7.8634023 47.9500767,7.8630020 47.9500078,7.8624462 47.9498922,7.8620024 47.9497820,7.8613962 47.9496250,7.8609220 47.9495008,7.8603843 47.9493077,7.8599810 47.9492296,7.8596988 47.9492209,7.8593970 47.9491664,7.8587676 47.9489750,7.8583195 47.9489240,7.8580021 47.9489995,7.8575029 47.9491881,7.8567494 47.9495441,7.8562631 47.9497784,7.8559195 47.9500091,7.8556810 47.9500933,7.8556776 47.9502565,7.8555596 47.9504202,7.8554163 47.9506705,7.8552589 47.9509596,7.8550953 47.9512074,7.8548979 47.9514414,7.8545361 47.9519006,7.8543187 47.9521632,7.8539934 47.9525479,7.8539845 47.9526825,7.8539950 47.9528882,7.8540542 47.9532380,7.8540259 47.9535280,7.8539479 47.9539614,7.8539651 47.9541717,7.8541546 47.9546778,7.8541361 47.9547713,7.8540536 47.9548347,7.8539059 47.9549228,7.8536655 47.9550834,7.8533397 47.9552617,7.8529564 47.9554236,7.8521316 47.9557631,7.8509979 47.9562923,7.8506073 47.9564793,7.8504128 47.9565259,7.8501328 47.9565995,7.8494948 47.9567322,7.8492961 47.9568268,7.8492296 47.9569452,7.8490900 47.9571818,7.8488190 47.9577762,7.8486427 47.9581771,7.8485396 47.9584687,7.8485987 47.9588346,7.8487368 47.9595711,7.8489411 47.9604358,7.8488979 47.9608125,7.8487446 47.9612773,7.8486063 47.9616373,7.8485308 47.9616848,7.8484281 47.9617230,7.8482464 47.9618131,7.8477122 47.9620585,7.8473458 47.9622137,7.8471231 47.9623172,7.8469480 47.9624257,7.8440738 47.9637483,7.8433652 47.9639242,7.8429697 47.9641021,7.8412396 47.9640638,7.8394037 47.9638697,7.8374339 47.9656699,7.8358706 47.9662518,7.8346282 47.9666029))) Kappel MULTIPOLYGON(((7.8804409 47.9530306,7.8834217 47.9544986,7.8860001 47.9560076,7.8849235 47.9593699,7.8850753 47.9603104,7.8853961 47.9622974,7.8861524 47.9629343,7.8874145 47.9635338,7.8884052 47.9640354,7.8898825 47.9653988,7.8977801 47.9683915,7.8980694 47.9690817,7.8984860 47.9693665,7.8995511 47.9697027,7.9005192 47.9699140,7.9015120 47.9702503,7.9018667 47.9705334,7.9020701 47.9717008,7.9023384 47.9720337,7.9030787 47.9723958,7.9042993 47.9727904,7.9053022 47.9730516,7.9064738 47.9734199,7.9075951 47.9738789,7.9076143 47.9739949,7.9080249 47.9743491,7.9095269 47.9751416,7.9102808 47.9754353,7.9113835 47.9756778,7.9118995 47.9759775,7.9123468 47.9761774,7.9124848 47.9762965,7.9126460 47.9762027,7.9137021 47.9764584,7.9150305 47.9759922,7.9156370 47.9756892,7.9161316 47.9755010,7.9167414 47.9752897,7.9168834 47.9752185,7.9170167 47.9751181,7.9174684 47.9746810,7.9178295 47.9745008,7.9183252 47.9744411,7.9193710 47.9741026,7.9202440 47.9739344,7.9213322 47.9735535,7.9214323 47.9736655,7.9215947 47.9735430,7.9216748 47.9734823,7.9216477 47.9734402,7.9212308 47.9727922,7.9212014 47.9727449,7.9211323 47.9725905,7.9210974 47.9725651,7.9215891 47.9723622,7.9226848 47.9719235,7.9233228 47.9716323,7.9239281 47.9712566,7.9245159 47.9707574,7.9243968 47.9706077,7.9243809 47.9705894,7.9239173 47.9701193,7.9239003 47.9701073,7.9236947 47.9698436,7.9225770 47.9696673,7.9219781 47.9683095,7.9217911 47.9674356,7.9196994 47.9673366,7.9179776 47.9676225,7.9178336 47.9672566,7.9169868 47.9665846,7.9165099 47.9662638,7.9163822 47.9661780,7.9159209 47.9658677,7.9154910 47.9654678,7.9152370 47.9650208,7.9151957 47.9644441,7.9151220 47.9634150,7.9147311 47.9629421,7.9153360 47.9623201,7.9156820 47.9616942,7.9158939 47.9606953,7.9160779 47.9602264,7.9168008 47.9593985,7.9171448 47.9591385,7.9172228 47.9589865,7.9170128 47.9585895,7.9171588 47.9580516,7.9190962 47.9572751,7.9187416 47.9567048,7.9189485 47.9559958,7.9189375 47.9557249,7.9193461 47.9549629,7.9198004 47.9542140,7.9207343 47.9534431,7.9213012 47.9530542,7.9220201 47.9526882,7.9226090 47.9522073,7.9233080 47.9518183,7.9237309 47.9513644,7.9247428 47.9510404,7.9242948 47.9505135,7.9241378 47.9501855,7.9243628 47.9501135,7.9241758 47.9495256,7.9241658 47.9492396,7.9243538 47.9485757,7.9243528 47.9479727,7.9242498 47.9476948,7.9242638 47.9472328,7.9245838 47.9464659,7.9247548 47.9458180,7.9249168 47.9450241,7.9249198 47.9447537,7.9249218 47.9445741,7.9246508 47.9437922,7.9241849 47.9414765,7.9241979 47.9412445,7.9243439 47.9408395,7.9248698 47.9400916,7.9241689 47.9393097,7.9238361 47.9387906,7.9232305 47.9381958,7.9225744 47.9374236,7.9224871 47.9373271,7.9224213 47.9372447,7.9221218 47.9369554,7.9219941 47.9368352,7.9200155 47.9356741,7.9197145 47.9355871,7.9188106 47.9355221,7.9186177 47.9354301,7.9185127 47.9352852,7.9181897 47.9351822,7.9172649 47.9350792,7.9169239 47.9347862,7.9157981 47.9335493,7.9149402 47.9316695,7.9146442 47.9312766,7.9141103 47.9308376,7.9125955 47.9297618,7.9117996 47.9296438,7.9111567 47.9293498,7.9088571 47.9290488,7.9082221 47.9282209,7.9079873 47.9276439,7.9068764 47.9249133,7.9067394 47.9245543,7.9067004 47.9242534,7.9077792 47.9223806,7.9087521 47.9203628,7.9100939 47.9182760,7.9099790 47.9171202,7.9097630 47.9171462,7.9095044 47.9154484,7.9084115 47.9143185,7.9048773 47.9134895,7.9046091 47.9130757,7.9035342 47.9126238,7.9028028 47.9123252,7.9017541 47.9121457,7.9007443 47.9120117,7.9000910 47.9119195,7.8984616 47.9119437,7.8962914 47.9144205,7.8951845 47.9161412,7.8935482 47.9175869,7.8918464 47.9189646,7.8910251 47.9198335,7.8903192 47.9215580,7.8903440 47.9221229,7.8903817 47.9229800,7.8904092 47.9236050,7.8898481 47.9248138,7.8918516 47.9281159,7.8916996 47.9289688,7.8905677 47.9318359,7.8899800 47.9342811,7.8908233 47.9355259,7.8906855 47.9372784,7.8907380 47.9379534,7.8914278 47.9401186,7.8914028 47.9412875,7.8911145 47.9422516,7.8912281 47.9431970,7.8871226 47.9442591,7.8863914 47.9447653,7.8860016 47.9450352,7.8852142 47.9458595,7.8846551 47.9469558,7.8822398 47.9479550,7.8818387 47.9487496,7.8815356 47.9499232,7.8813257 47.9507359,7.8813440 47.9515104,7.8807252 47.9522689,7.8804409 47.9530306))) @@ -37,8 +37,8 @@ Herdern MULTIPOLYGON(((7.8481961 48.0054432,7.8484049 48.0056950,7.8505071 48.00 Zähringen MULTIPOLYGON(((7.8525637 48.0210291,7.8545434 48.0225065,7.8564503 48.0238959,7.8565660 48.0248821,7.8567301 48.0254477,7.8569568 48.0259464,7.8571591 48.0263390,7.8574069 48.0267434,7.8584589 48.0283286,7.8598092 48.0304384,7.8600303 48.0308120,7.8601864 48.0310766,7.8605384 48.0317543,7.8607151 48.0321708,7.8608532 48.0326153,7.8609989 48.0331279,7.8610910 48.0336570,7.8611412 48.0343918,7.8610932 48.0350771,7.8611490 48.0350899,7.8612990 48.0351243,7.8616627 48.0352117,7.8624568 48.0352211,7.8633473 48.0351396,7.8635089 48.0351258,7.8636464 48.0351095,7.8637746 48.0350886,7.8638784 48.0350678,7.8639021 48.0350664,7.8639722 48.0350510,7.8643686 48.0349611,7.8647131 48.0348773,7.8651536 48.0347362,7.8656567 48.0345486,7.8662248 48.0343754,7.8663782 48.0343237,7.8666812 48.0341983,7.8668931 48.0341091,7.8669865 48.0340708,7.8672132 48.0339173,7.8673625 48.0337213,7.8675052 48.0336134,7.8676982 48.0334572,7.8679367 48.0332640,7.8680783 48.0332006,7.8681658 48.0331614,7.8684240 48.0330476,7.8690277 48.0327823,7.8694227 48.0326088,7.8697138 48.0324786,7.8700846 48.0322653,7.8703041 48.0321310,7.8705670 48.0317831,7.8708688 48.0311803,7.8708982 48.0311216,7.8707125 48.0310967,7.8706252 48.0310636,7.8708083 48.0308062,7.8709212 48.0306358,7.8710327 48.0298805,7.8718007 48.0297255,7.8720823 48.0297443,7.8722435 48.0298096,7.8725696 48.0298141,7.8728829 48.0296136,7.8730607 48.0295859,7.8732828 48.0300315,7.8734419 48.0301957,7.8737845 48.0304303,7.8740199 48.0305923,7.8747307 48.0309932,7.8754690 48.0313410,7.8757590 48.0311802,7.8761341 48.0306100,7.8767043 48.0297776,7.8777879 48.0284447,7.8780699 48.0279597,7.8784449 48.0270028,7.8785209 48.0268648,7.8796037 48.0260449,7.8801916 48.0254800,7.8807446 48.0249500,7.8811765 48.0240152,7.8812568 48.0239113,7.8813255 48.0237412,7.8814051 48.0236203,7.8815334 48.0234542,7.8816248 48.0233550,7.8816847 48.0232408,7.8818131 48.0230554,7.8820604 48.0227417,7.8822507 48.0225003,7.8823550 48.0224685,7.8828751 48.0224245,7.8831279 48.0224192,7.8836678 48.0221917,7.8839095 48.0222447,7.8842893 48.0223948,7.8844839 48.0226220,7.8846139 48.0226988,7.8848134 48.0228166,7.8849856 48.0229183,7.8859902 48.0226601,7.8863575 48.0221936,7.8866605 48.0216511,7.8867752 48.0215598,7.8874631 48.0210951,7.8880158 48.0208098,7.8887906 48.0203146,7.8896365 48.0201286,7.8902507 48.0197499,7.8909172 48.0192850,7.8923590 48.0192847,7.8930262 48.0192980,7.8934076 48.0192790,7.8939376 48.0190653,7.8942547 48.0188571,7.8949466 48.0184918,7.8955572 48.0181448,7.8963597 48.0175458,7.8970521 48.0168950,7.8971693 48.0167100,7.8978254 48.0157464,7.8979965 48.0155423,7.8978323 48.0154771,7.8975741 48.0153737,7.8970579 48.0154430,7.8964478 48.0154904,7.8957055 48.0157981,7.8950516 48.0162710,7.8946787 48.0164470,7.8941197 48.0165840,7.8930419 48.0166570,7.8921110 48.0168820,7.8895464 48.0165270,7.8894026 48.0164963,7.8890244 48.0165736,7.8885059 48.0168507,7.8884610 48.0172257,7.8882603 48.0173431,7.8877746 48.0176339,7.8872687 48.0180338,7.8865608 48.0184188,7.8863828 48.0185678,7.8862048 48.0188767,7.8863508 48.0193077,7.8863218 48.0195937,7.8859478 48.0200176,7.8852299 48.0205825,7.8848380 48.0207695,7.8844748 48.0212708,7.8843701 48.0213905,7.8830902 48.0207305,7.8813265 48.0199946,7.8804916 48.0195447,7.8798738 48.0189385,7.8791538 48.0193427,7.8790608 48.0195297,7.8786129 48.0197656,7.8784629 48.0199756,7.8782219 48.0200136,7.8780349 48.0201126,7.8777930 48.0201626,7.8778110 48.0202996,7.8774010 48.0205745,7.8770461 48.0206085,7.8767111 48.0208075,7.8760592 48.0210555,7.8756503 48.0210935,7.8744196 48.0203838,7.8738216 48.0203007,7.8731184 48.0198714,7.8728516 48.0196162,7.8725312 48.0190924,7.8723612 48.0175079,7.8723570 48.0171823,7.8724520 48.0166434,7.8681674 48.0165662,7.8659494 48.0168533,7.8658834 48.0167956,7.8657272 48.0168336,7.8656203 48.0168628,7.8652614 48.0169646,7.8652236 48.0169085,7.8651202 48.0166414,7.8649806 48.0161827,7.8645577 48.0162295,7.8640174 48.0163011,7.8636411 48.0163152,7.8634100 48.0163239,7.8632410 48.0163638,7.8630434 48.0164849,7.8627634 48.0163838,7.8626483 48.0163573,7.8624397 48.0163603,7.8618774 48.0164253,7.8616845 48.0164476,7.8615413 48.0164642,7.8602863 48.0165964,7.8600738 48.0166149,7.8599434 48.0166322,7.8593579 48.0166698,7.8592454 48.0166380,7.8591311 48.0166802,7.8589597 48.0167414,7.8580194 48.0157580,7.8577265 48.0154441,7.8575094 48.0155274,7.8574787 48.0155444,7.8573541 48.0156627,7.8563930 48.0159737,7.8557447 48.0161835,7.8559801 48.0167353,7.8562971 48.0175788,7.8564235 48.0178620,7.8569560 48.0190388,7.8569964 48.0191456,7.8551464 48.0195176,7.8529178 48.0208343,7.8527133 48.0209480,7.8525637 48.0210291))) Ebnet MULTIPOLYGON(((7.8932853 47.9897267,7.8943097 47.9900041,7.8946295 47.9902312,7.8971076 47.9903704,7.8991322 47.9909581,7.9019724 47.9909583,7.9039164 47.9919833,7.9061404 47.9935470,7.9078765 47.9951084,7.9085278 47.9963516,7.9056108 47.9977895,7.9054369 47.9990384,7.9053973 47.9999327,7.9062737 48.0015187,7.9048000 48.0038941,7.9047097 48.0046331,7.9038139 48.0049063,7.9031585 48.0055414,7.9021042 48.0069210,7.9018505 48.0070022,7.9010452 48.0083658,7.9012199 48.0088824,7.9012724 48.0092247,7.9016968 48.0100052,7.9021029 48.0104517,7.9031557 48.0111856,7.9035071 48.0115301,7.9036310 48.0119181,7.9040195 48.0123736,7.9049506 48.0128079,7.9058128 48.0128301,7.9062381 48.0129269,7.9065139 48.0129593,7.9072153 48.0132462,7.9077651 48.0131860,7.9082110 48.0131405,7.9094675 48.0128951,7.9102049 48.0129012,7.9103812 48.0129671,7.9107275 48.0130194,7.9114833 48.0127315,7.9118687 48.0125034,7.9123689 48.0122419,7.9129417 48.0118684,7.9141979 48.0121314,7.9142559 48.0120716,7.9146795 48.0123959,7.9149648 48.0126984,7.9156298 48.0129605,7.9165997 48.0136884,7.9166953 48.0137294,7.9177289 48.0140487,7.9191179 48.0145534,7.9200029 48.0149592,7.9218818 48.0156302,7.9224028 48.0152983,7.9229804 48.0150843,7.9234433 48.0147568,7.9238793 48.0143433,7.9245452 48.0140620,7.9254626 48.0138989,7.9262681 48.0138124,7.9266402 48.0131285,7.9269862 48.0128385,7.9273341 48.0124225,7.9277892 48.0111624,7.9282009 48.0108503,7.9283880 48.0088179,7.9286270 48.0085470,7.9286290 48.0082340,7.9278471 48.0059753,7.9280271 48.0048504,7.9281511 48.0026036,7.9277671 48.0019967,7.9272102 48.0013448,7.9271692 48.0011008,7.9272802 48.0006659,7.9275212 48.0001929,7.9279131 47.9997160,7.9280231 47.9994140,7.9279981 47.9986481,7.9293269 47.9975412,7.9291169 47.9971902,7.9290590 47.9967133,7.9296679 47.9962254,7.9301968 47.9953895,7.9302008 47.9950695,7.9299498 47.9944476,7.9299608 47.9936356,7.9305943 47.9924659,7.9306688 47.9922658,7.9305216 47.9918892,7.9305468 47.9916859,7.9308444 47.9911327,7.9308031 47.9909891,7.9303904 47.9905671,7.9303046 47.9901009,7.9301891 47.9898486,7.9292846 47.9886151,7.9276558 47.9892333,7.9275290 47.9886749,7.9271566 47.9881842,7.9268695 47.9877378,7.9268514 47.9876895,7.9268748 47.9876669,7.9268856 47.9876094,7.9268188 47.9875079,7.9266880 47.9873363,7.9266852 47.9872641,7.9266788 47.9872474,7.9268284 47.9870992,7.9274964 47.9866525,7.9278276 47.9863837,7.9280604 47.9861354,7.9283062 47.9858339,7.9277143 47.9857000,7.9276399 47.9857340,7.9251883 47.9855278,7.9252308 47.9852655,7.9252361 47.9851543,7.9253174 47.9830222,7.9252640 47.9825114,7.9252121 47.9819305,7.9252174 47.9816550,7.9250688 47.9811734,7.9248921 47.9808717,7.9244099 47.9808371,7.9159867 47.9795350,7.9149476 47.9794137,7.9139845 47.9794096,7.9137352 47.9796045,7.9126261 47.9798325,7.9113835 47.9801812,7.9058093 47.9821518,7.8987467 47.9864471,7.8983959 47.9866725,7.8982915 47.9867375,7.8978673 47.9869325,7.8977784 47.9869892,7.8977142 47.9870465,7.8976770 47.9870877,7.8976303 47.9871292,7.8975746 47.9871866,7.8974619 47.9871708,7.8973907 47.9872866,7.8964997 47.9878691,7.8932853 47.9897267))) Oberau MULTIPOLYGON(((7.8534164 47.9918072,7.8534422 47.9918963,7.8535167 47.9920447,7.8538476 47.9924057,7.8539046 47.9924410,7.8540129 47.9925080,7.8542647 47.9924285,7.8542906 47.9924200,7.8543592 47.9923924,7.8546602 47.9922712,7.8547784 47.9923319,7.8551839 47.9925401,7.8552623 47.9924933,7.8557987 47.9926357,7.8570363 47.9931742,7.8580169 47.9932316,7.8585605 47.9933238,7.8587049 47.9935998,7.8586024 47.9938147,7.8590221 47.9941557,7.8591817 47.9942059,7.8597251 47.9941191,7.8599515 47.9941772,7.8602460 47.9943214,7.8602671 47.9945066,7.8603974 47.9945431,7.8606950 47.9945234,7.8612673 47.9947727,7.8625554 47.9951881,7.8655214 47.9956033,7.8664613 47.9962181,7.8667164 47.9968052,7.8675069 47.9974201,7.8692170 47.9973470,7.8711393 47.9967589,7.8723184 47.9964557,7.8741644 47.9962939,7.8749322 47.9964138,7.8753515 47.9965262,7.8756806 47.9967108,7.8757984 47.9967852,7.8771748 47.9972474,7.8773788 47.9972673,7.8779413 47.9945244,7.8776579 47.9936897,7.8777356 47.9931958,7.8783551 47.9928425,7.8786365 47.9926455,7.8789581 47.9925973,7.8797380 47.9918936,7.8798155 47.9917921,7.8794742 47.9917544,7.8779977 47.9911622,7.8778812 47.9909999,7.8772046 47.9908441,7.8766110 47.9908060,7.8752326 47.9908008,7.8745511 47.9908046,7.8747565 47.9898894,7.8746391 47.9895590,7.8740528 47.9880460,7.8740314 47.9878932,7.8739392 47.9879011,7.8736711 47.9879240,7.8729672 47.9880101,7.8728009 47.9880297,7.8726672 47.9880554,7.8724520 47.9880968,7.8722026 47.9881381,7.8717444 47.9882078,7.8716155 47.9882393,7.8700566 47.9884519,7.8687444 47.9885835,7.8684792 47.9886059,7.8681539 47.9886112,7.8676496 47.9885993,7.8668203 47.9885568,7.8655297 47.9884891,7.8653166 47.9884668,7.8651079 47.9884350,7.8644587 47.9883431,7.8642468 47.9883145,7.8640645 47.9883071,7.8638898 47.9883017,7.8636719 47.9883129,7.8634894 47.9883388,7.8632757 47.9883899,7.8629082 47.9884862,7.8626411 47.9885306,7.8618529 47.9886714,7.8614073 47.9887470,7.8606878 47.9888364,7.8603727 47.9888824,7.8599485 47.9889707,7.8596626 47.9890333,7.8591845 47.9891482,7.8579986 47.9894717,7.8576935 47.9895807,7.8574112 47.9897353,7.8570760 47.9899360,7.8568190 47.9900616,7.8566000 47.9901376,7.8560828 47.9902679,7.8551601 47.9904967,7.8548080 47.9905733,7.8547029 47.9906036,7.8543889 47.9906611,7.8540603 47.9908971,7.8540125 47.9909496,7.8540111 47.9909511,7.8538650 47.9911094,7.8534912 47.9915564,7.8534364 47.9916464,7.8534201 47.9917325,7.8534164 47.9918072))) -Sankt Georgen Süd MULTIPOLYGON(((7.7816451 47.9703939,7.7819826 47.9706695,7.7821231 47.9707843,7.7831953 47.9715657,7.7839752 47.9720322,7.7845332 47.9723209,7.7855548 47.9727539,7.7865062 47.9730933,7.7874378 47.9733676,7.7886643 47.9736571,7.7902250 47.9739345,7.7922077 47.9742103,7.7935715 47.9743693,7.7973833 47.9748136,7.8019581 47.9753653,7.8028421 47.9755205,7.8043699 47.9756985,7.8131762 47.9767041,7.8164091 47.9771168,7.8162398 47.9763992,7.8163872 47.9763599,7.8167310 47.9762228,7.8174084 47.9759909,7.8177380 47.9758758,7.8180716 47.9757415,7.8182293 47.9756539,7.8183478 47.9755279,7.8184460 47.9753832,7.8186425 47.9751924,7.8186818 47.9751332,7.8189569 47.9749951,7.8192222 47.9748833,7.8194384 47.9747649,7.8196349 47.9746596,7.8197331 47.9745807,7.8199448 47.9744699,7.8201648 47.9743592,7.8202504 47.9743382,7.8206099 47.9743112,7.8208755 47.9742592,7.8212528 47.9741200,7.8216753 47.9740213,7.8220192 47.9739293,7.8223827 47.9737714,7.8227659 47.9736661,7.8230999 47.9736004,7.8234438 47.9735214,7.8237091 47.9734688,7.8240726 47.9733767,7.8243281 47.9732846,7.8246720 47.9731070,7.8247968 47.9730695,7.8253557 47.9727983,7.8254674 47.9727822,7.8253195 47.9722158,7.8250411 47.9723001,7.8249579 47.9723422,7.8249175 47.9724145,7.8248028 47.9724611,7.8243419 47.9725123,7.8236072 47.9727220,7.8233026 47.9727033,7.8231273 47.9727468,7.8224918 47.9723653,7.8225528 47.9722439,7.8225020 47.9722237,7.8223418 47.9721599,7.8218779 47.9718791,7.8212869 47.9715103,7.8210185 47.9712934,7.8205125 47.9708464,7.8202125 47.9705953,7.8200736 47.9704840,7.8186950 47.9701837,7.8179364 47.9686022,7.8165842 47.9676604,7.8133954 47.9677254,7.8130712 47.9677293,7.8120513 47.9671344,7.8115034 47.9669054,7.8105972 47.9664905,7.8092057 47.9659785,7.8090438 47.9659107,7.8076340 47.9657005,7.8073831 47.9655631,7.8070286 47.9654027,7.8067577 47.9652797,7.8065905 47.9650953,7.8062526 47.9647654,7.8061335 47.9646253,7.8052680 47.9644568,7.8044804 47.9643607,7.8021357 47.9640765,7.8011659 47.9643497,7.8004371 47.9645513,7.7992973 47.9652724,7.7975770 47.9656425,7.7956299 47.9662675,7.7921661 47.9683632,7.7906040 47.9688368,7.7887501 47.9688177,7.7880604 47.9690069,7.7877411 47.9690862,7.7874126 47.9691066,7.7872847 47.9691639,7.7870520 47.9692643,7.7869726 47.9692707,7.7868028 47.9692817,7.7867658 47.9692657,7.7866847 47.9692391,7.7865040 47.9691762,7.7864630 47.9691634,7.7859688 47.9695141,7.7856967 47.9693130,7.7856583 47.9693374,7.7851711 47.9696456,7.7849833 47.9694416,7.7849270 47.9694784,7.7844377 47.9698095,7.7844403 47.9698580,7.7844077 47.9698912,7.7842856 47.9699493,7.7839198 47.9697414,7.7835857 47.9699300,7.7834811 47.9698583,7.7834206 47.9698885,7.7829049 47.9701416,7.7827848 47.9700540,7.7821013 47.9704311,7.7820000 47.9704227,7.7819833 47.9704219,7.7816451 47.9703939))) -Sankt Georgen Nord MULTIPOLYGON(((7.7551190 47.9788009,7.7567772 47.9805245,7.7568928 47.9806556,7.7572963 47.9813335,7.7581116 47.9827985,7.7585084 47.9843152,7.7620449 47.9847235,7.7633432 47.9850523,7.7635981 47.9865557,7.7638673 47.9875903,7.7637042 47.9878028,7.7629011 47.9889661,7.7627515 47.9893826,7.7629409 47.9897316,7.7631821 47.9901646,7.7637814 47.9911633,7.7632235 47.9914735,7.7627429 47.9917607,7.7623223 47.9919617,7.7621421 47.9921800,7.7616499 47.9926860,7.7626465 47.9930340,7.7625686 47.9943143,7.7622682 47.9951586,7.7620757 47.9954260,7.7616541 47.9958901,7.7612256 47.9962143,7.7610580 47.9966979,7.7609985 47.9969530,7.7607218 47.9977874,7.7603990 47.9985202,7.7606271 47.9993851,7.7607426 47.9995000,7.7608667 47.9995223,7.7626468 47.9994825,7.7638116 47.9992987,7.7640176 47.9992413,7.7641721 47.9991838,7.7643352 47.9991034,7.7644600 47.9990204,7.7657943 47.9981328,7.7659579 47.9980278,7.7664381 47.9977193,7.7666210 47.9976290,7.7669015 47.9975355,7.7672620 47.9974091,7.7677341 47.9972828,7.7686096 47.9970760,7.7688599 47.9970275,7.7704987 47.9963227,7.7712973 47.9960089,7.7724209 47.9955850,7.7736650 47.9951232,7.7744822 47.9949548,7.7750383 47.9948532,7.7753644 47.9948245,7.7759223 47.9948589,7.7779823 47.9951117,7.7789263 47.9951619,7.7790332 47.9951706,7.7814819 47.9949967,7.7876431 47.9950424,7.7883417 47.9950534,7.7884957 47.9950612,7.7885597 47.9952148,7.7887788 47.9952936,7.7890702 47.9952174,7.7891510 47.9951075,7.7938579 47.9951377,7.7976965 47.9951822,7.7978298 47.9952243,7.7986492 47.9952733,7.7989039 47.9953978,7.7990603 47.9953642,7.7992337 47.9953328,7.7993575 47.9953208,7.8002106 47.9952133,7.8002753 47.9951925,7.8003268 47.9951623,7.8003726 47.9951422,7.8004761 47.9951147,7.8002643 47.9948134,7.8001747 47.9947108,7.8000531 47.9945511,7.7992199 47.9934909,7.7985828 47.9926424,7.7981041 47.9923132,7.7977241 47.9913312,7.7969689 47.9889703,7.7967206 47.9880286,7.7961372 47.9856943,7.7997282 47.9855461,7.8004040 47.9854939,7.8013395 47.9853848,7.8030304 47.9851320,7.8034856 47.9850479,7.8036948 47.9850048,7.8043769 47.9848624,7.8078420 47.9840496,7.8083019 47.9839422,7.8092526 47.9837559,7.8101120 47.9836059,7.8110157 47.9835128,7.8118455 47.9834511,7.8128478 47.9834914,7.8138325 47.9835278,7.8159338 47.9837783,7.8187149 47.9841598,7.8193523 47.9842472,7.8195290 47.9839123,7.8196484 47.9836289,7.8197524 47.9832640,7.8198081 47.9829587,7.8199375 47.9822733,7.8202485 47.9813794,7.8207001 47.9806742,7.8216185 47.9797143,7.8227171 47.9788414,7.8236506 47.9783205,7.8232282 47.9781804,7.8222874 47.9779510,7.8218164 47.9778508,7.8215326 47.9778054,7.8203575 47.9776000,7.8188708 47.9774137,7.8184260 47.9773586,7.8164091 47.9771168,7.8131762 47.9767041,7.8043699 47.9756985,7.8028421 47.9755205,7.8019581 47.9753653,7.7973833 47.9748136,7.7935715 47.9743693,7.7922077 47.9742103,7.7902250 47.9739345,7.7886643 47.9736571,7.7874378 47.9733676,7.7865062 47.9730933,7.7855548 47.9727539,7.7845332 47.9723209,7.7839752 47.9720322,7.7831953 47.9715657,7.7821231 47.9707843,7.7819826 47.9706695,7.7816451 47.9703939,7.7813068 47.9703688,7.7812617 47.9703667,7.7811814 47.9703559,7.7811336 47.9703508,7.7806256 47.9705629,7.7806106 47.9705726,7.7803875 47.9706633,7.7803276 47.9706855,7.7802949 47.9707120,7.7802604 47.9707280,7.7799635 47.9709360,7.7800547 47.9709855,7.7783070 47.9720288,7.7782493 47.9721202,7.7782786 47.9722306,7.7783068 47.9723369,7.7769135 47.9727199,7.7764101 47.9728453,7.7760990 47.9729228,7.7759130 47.9729828,7.7758840 47.9729880,7.7759793 47.9732369,7.7761470 47.9736937,7.7760786 47.9737168,7.7750532 47.9740641,7.7743057 47.9743172,7.7722987 47.9749969,7.7726552 47.9754488,7.7725879 47.9754685,7.7725058 47.9754868,7.7723968 47.9755147,7.7723714 47.9755251,7.7722926 47.9755485,7.7722620 47.9755620,7.7722478 47.9755683,7.7721618 47.9756064,7.7720782 47.9756607,7.7718351 47.9758365,7.7710539 47.9765796,7.7709999 47.9766301,7.7699126 47.9776210,7.7680771 47.9784134,7.7680036 47.9784432,7.7679460 47.9784665,7.7679391 47.9784619,7.7673258 47.9780763,7.7657209 47.9770208,7.7633721 47.9768122,7.7624212 47.9770412,7.7600885 47.9776511,7.7576469 47.9783760,7.7563940 47.9787160,7.7559641 47.9788150,7.7551190 47.9788009))) +Sankt-Georgen-Süd MULTIPOLYGON(((7.7816451 47.9703939,7.7819826 47.9706695,7.7821231 47.9707843,7.7831953 47.9715657,7.7839752 47.9720322,7.7845332 47.9723209,7.7855548 47.9727539,7.7865062 47.9730933,7.7874378 47.9733676,7.7886643 47.9736571,7.7902250 47.9739345,7.7922077 47.9742103,7.7935715 47.9743693,7.7973833 47.9748136,7.8019581 47.9753653,7.8028421 47.9755205,7.8043699 47.9756985,7.8131762 47.9767041,7.8164091 47.9771168,7.8162398 47.9763992,7.8163872 47.9763599,7.8167310 47.9762228,7.8174084 47.9759909,7.8177380 47.9758758,7.8180716 47.9757415,7.8182293 47.9756539,7.8183478 47.9755279,7.8184460 47.9753832,7.8186425 47.9751924,7.8186818 47.9751332,7.8189569 47.9749951,7.8192222 47.9748833,7.8194384 47.9747649,7.8196349 47.9746596,7.8197331 47.9745807,7.8199448 47.9744699,7.8201648 47.9743592,7.8202504 47.9743382,7.8206099 47.9743112,7.8208755 47.9742592,7.8212528 47.9741200,7.8216753 47.9740213,7.8220192 47.9739293,7.8223827 47.9737714,7.8227659 47.9736661,7.8230999 47.9736004,7.8234438 47.9735214,7.8237091 47.9734688,7.8240726 47.9733767,7.8243281 47.9732846,7.8246720 47.9731070,7.8247968 47.9730695,7.8253557 47.9727983,7.8254674 47.9727822,7.8253195 47.9722158,7.8250411 47.9723001,7.8249579 47.9723422,7.8249175 47.9724145,7.8248028 47.9724611,7.8243419 47.9725123,7.8236072 47.9727220,7.8233026 47.9727033,7.8231273 47.9727468,7.8224918 47.9723653,7.8225528 47.9722439,7.8225020 47.9722237,7.8223418 47.9721599,7.8218779 47.9718791,7.8212869 47.9715103,7.8210185 47.9712934,7.8205125 47.9708464,7.8202125 47.9705953,7.8200736 47.9704840,7.8186950 47.9701837,7.8179364 47.9686022,7.8165842 47.9676604,7.8133954 47.9677254,7.8130712 47.9677293,7.8120513 47.9671344,7.8115034 47.9669054,7.8105972 47.9664905,7.8092057 47.9659785,7.8090438 47.9659107,7.8076340 47.9657005,7.8073831 47.9655631,7.8070286 47.9654027,7.8067577 47.9652797,7.8065905 47.9650953,7.8062526 47.9647654,7.8061335 47.9646253,7.8052680 47.9644568,7.8044804 47.9643607,7.8021357 47.9640765,7.8011659 47.9643497,7.8004371 47.9645513,7.7992973 47.9652724,7.7975770 47.9656425,7.7956299 47.9662675,7.7921661 47.9683632,7.7906040 47.9688368,7.7887501 47.9688177,7.7880604 47.9690069,7.7877411 47.9690862,7.7874126 47.9691066,7.7872847 47.9691639,7.7870520 47.9692643,7.7869726 47.9692707,7.7868028 47.9692817,7.7867658 47.9692657,7.7866847 47.9692391,7.7865040 47.9691762,7.7864630 47.9691634,7.7859688 47.9695141,7.7856967 47.9693130,7.7856583 47.9693374,7.7851711 47.9696456,7.7849833 47.9694416,7.7849270 47.9694784,7.7844377 47.9698095,7.7844403 47.9698580,7.7844077 47.9698912,7.7842856 47.9699493,7.7839198 47.9697414,7.7835857 47.9699300,7.7834811 47.9698583,7.7834206 47.9698885,7.7829049 47.9701416,7.7827848 47.9700540,7.7821013 47.9704311,7.7820000 47.9704227,7.7819833 47.9704219,7.7816451 47.9703939))) +Sankt-Georgen-Nord MULTIPOLYGON(((7.7551190 47.9788009,7.7567772 47.9805245,7.7568928 47.9806556,7.7572963 47.9813335,7.7581116 47.9827985,7.7585084 47.9843152,7.7620449 47.9847235,7.7633432 47.9850523,7.7635981 47.9865557,7.7638673 47.9875903,7.7637042 47.9878028,7.7629011 47.9889661,7.7627515 47.9893826,7.7629409 47.9897316,7.7631821 47.9901646,7.7637814 47.9911633,7.7632235 47.9914735,7.7627429 47.9917607,7.7623223 47.9919617,7.7621421 47.9921800,7.7616499 47.9926860,7.7626465 47.9930340,7.7625686 47.9943143,7.7622682 47.9951586,7.7620757 47.9954260,7.7616541 47.9958901,7.7612256 47.9962143,7.7610580 47.9966979,7.7609985 47.9969530,7.7607218 47.9977874,7.7603990 47.9985202,7.7606271 47.9993851,7.7607426 47.9995000,7.7608667 47.9995223,7.7626468 47.9994825,7.7638116 47.9992987,7.7640176 47.9992413,7.7641721 47.9991838,7.7643352 47.9991034,7.7644600 47.9990204,7.7657943 47.9981328,7.7659579 47.9980278,7.7664381 47.9977193,7.7666210 47.9976290,7.7669015 47.9975355,7.7672620 47.9974091,7.7677341 47.9972828,7.7686096 47.9970760,7.7688599 47.9970275,7.7704987 47.9963227,7.7712973 47.9960089,7.7724209 47.9955850,7.7736650 47.9951232,7.7744822 47.9949548,7.7750383 47.9948532,7.7753644 47.9948245,7.7759223 47.9948589,7.7779823 47.9951117,7.7789263 47.9951619,7.7790332 47.9951706,7.7814819 47.9949967,7.7876431 47.9950424,7.7883417 47.9950534,7.7884957 47.9950612,7.7885597 47.9952148,7.7887788 47.9952936,7.7890702 47.9952174,7.7891510 47.9951075,7.7938579 47.9951377,7.7976965 47.9951822,7.7978298 47.9952243,7.7986492 47.9952733,7.7989039 47.9953978,7.7990603 47.9953642,7.7992337 47.9953328,7.7993575 47.9953208,7.8002106 47.9952133,7.8002753 47.9951925,7.8003268 47.9951623,7.8003726 47.9951422,7.8004761 47.9951147,7.8002643 47.9948134,7.8001747 47.9947108,7.8000531 47.9945511,7.7992199 47.9934909,7.7985828 47.9926424,7.7981041 47.9923132,7.7977241 47.9913312,7.7969689 47.9889703,7.7967206 47.9880286,7.7961372 47.9856943,7.7997282 47.9855461,7.8004040 47.9854939,7.8013395 47.9853848,7.8030304 47.9851320,7.8034856 47.9850479,7.8036948 47.9850048,7.8043769 47.9848624,7.8078420 47.9840496,7.8083019 47.9839422,7.8092526 47.9837559,7.8101120 47.9836059,7.8110157 47.9835128,7.8118455 47.9834511,7.8128478 47.9834914,7.8138325 47.9835278,7.8159338 47.9837783,7.8187149 47.9841598,7.8193523 47.9842472,7.8195290 47.9839123,7.8196484 47.9836289,7.8197524 47.9832640,7.8198081 47.9829587,7.8199375 47.9822733,7.8202485 47.9813794,7.8207001 47.9806742,7.8216185 47.9797143,7.8227171 47.9788414,7.8236506 47.9783205,7.8232282 47.9781804,7.8222874 47.9779510,7.8218164 47.9778508,7.8215326 47.9778054,7.8203575 47.9776000,7.8188708 47.9774137,7.8184260 47.9773586,7.8164091 47.9771168,7.8131762 47.9767041,7.8043699 47.9756985,7.8028421 47.9755205,7.8019581 47.9753653,7.7973833 47.9748136,7.7935715 47.9743693,7.7922077 47.9742103,7.7902250 47.9739345,7.7886643 47.9736571,7.7874378 47.9733676,7.7865062 47.9730933,7.7855548 47.9727539,7.7845332 47.9723209,7.7839752 47.9720322,7.7831953 47.9715657,7.7821231 47.9707843,7.7819826 47.9706695,7.7816451 47.9703939,7.7813068 47.9703688,7.7812617 47.9703667,7.7811814 47.9703559,7.7811336 47.9703508,7.7806256 47.9705629,7.7806106 47.9705726,7.7803875 47.9706633,7.7803276 47.9706855,7.7802949 47.9707120,7.7802604 47.9707280,7.7799635 47.9709360,7.7800547 47.9709855,7.7783070 47.9720288,7.7782493 47.9721202,7.7782786 47.9722306,7.7783068 47.9723369,7.7769135 47.9727199,7.7764101 47.9728453,7.7760990 47.9729228,7.7759130 47.9729828,7.7758840 47.9729880,7.7759793 47.9732369,7.7761470 47.9736937,7.7760786 47.9737168,7.7750532 47.9740641,7.7743057 47.9743172,7.7722987 47.9749969,7.7726552 47.9754488,7.7725879 47.9754685,7.7725058 47.9754868,7.7723968 47.9755147,7.7723714 47.9755251,7.7722926 47.9755485,7.7722620 47.9755620,7.7722478 47.9755683,7.7721618 47.9756064,7.7720782 47.9756607,7.7718351 47.9758365,7.7710539 47.9765796,7.7709999 47.9766301,7.7699126 47.9776210,7.7680771 47.9784134,7.7680036 47.9784432,7.7679460 47.9784665,7.7679391 47.9784619,7.7673258 47.9780763,7.7657209 47.9770208,7.7633721 47.9768122,7.7624212 47.9770412,7.7600885 47.9776511,7.7576469 47.9783760,7.7563940 47.9787160,7.7559641 47.9788150,7.7551190 47.9788009))) Haslach-Haid MULTIPOLYGON(((7.7961372 47.9856943,7.7967206 47.9880286,7.7969689 47.9889703,7.7977241 47.9913312,7.7981041 47.9923132,7.7985828 47.9926424,7.7992199 47.9934909,7.8000531 47.9945511,7.8001747 47.9947108,7.8002643 47.9948134,7.8004761 47.9951147,7.8007549 47.9950553,7.8010670 47.9949935,7.8015216 47.9949034,7.8022487 47.9947301,7.8034589 47.9944475,7.8034674 47.9944637,7.8037547 47.9943875,7.8038360 47.9943603,7.8040138 47.9943046,7.8042631 47.9942215,7.8043873 47.9941812,7.8045345 47.9941278,7.8050724 47.9939226,7.8052913 47.9938598,7.8057734 47.9937249,7.8062903 47.9935939,7.8067416 47.9934908,7.8072294 47.9933909,7.8076470 47.9933189,7.8086357 47.9931774,7.8090056 47.9930970,7.8094104 47.9930150,7.8094949 47.9929991,7.8101974 47.9928545,7.8103594 47.9928443,7.8105158 47.9928194,7.8109358 47.9927284,7.8113990 47.9925945,7.8123141 47.9923322,7.8128344 47.9921833,7.8129415 47.9921524,7.8132138 47.9920730,7.8133082 47.9920421,7.8074106 47.9876686,7.8036948 47.9850048,7.8034856 47.9850479,7.8030304 47.9851320,7.8013395 47.9853848,7.8004040 47.9854939,7.7997282 47.9855461,7.7961372 47.9856943))) Haslach-Gartenstadt MULTIPOLYGON(((7.8036948 47.9850048,7.8074106 47.9876686,7.8133082 47.9920421,7.8134042 47.9920121,7.8145979 47.9916763,7.8150730 47.9915549,7.8153306 47.9915017,7.8154995 47.9914563,7.8155379 47.9914790,7.8158442 47.9913078,7.8160362 47.9912277,7.8165829 47.9910922,7.8180508 47.9908052,7.8191769 47.9906045,7.8200458 47.9904512,7.8203546 47.9904112,7.8206596 47.9903574,7.8207207 47.9903467,7.8215147 47.9901221,7.8226746 47.9897771,7.8230887 47.9896213,7.8237598 47.9893725,7.8247374 47.9890017,7.8256958 47.9886244,7.8269604 47.9881450,7.8277116 47.9878488,7.8280226 47.9877265,7.8282259 47.9875937,7.8284299 47.9874366,7.8286460 47.9872348,7.8287974 47.9871174,7.8291258 47.9866683,7.8294411 47.9862155,7.8294708 47.9861595,7.8297076 47.9857507,7.8298960 47.9855261,7.8296379 47.9855273,7.8283177 47.9854930,7.8280385 47.9854890,7.8272149 47.9854836,7.8248500 47.9852588,7.8223781 47.9849542,7.8214642 47.9847540,7.8199107 47.9843231,7.8196589 47.9842856,7.8193523 47.9842472,7.8187149 47.9841598,7.8159338 47.9837783,7.8138325 47.9835278,7.8128478 47.9834914,7.8118455 47.9834511,7.8110157 47.9835128,7.8101120 47.9836059,7.8092526 47.9837559,7.8083019 47.9839422,7.8078420 47.9840496,7.8043769 47.9848624,7.8036948 47.9850048))) Haslach-Schildacker MULTIPOLYGON(((7.8193523 47.9842472,7.8196589 47.9842856,7.8199107 47.9843231,7.8214642 47.9847540,7.8223781 47.9849542,7.8248500 47.9852588,7.8272149 47.9854836,7.8280385 47.9854890,7.8283177 47.9854930,7.8296379 47.9855273,7.8298960 47.9855261,7.8302443 47.9854947,7.8299853 47.9846922,7.8299406 47.9841370,7.8299683 47.9833919,7.8301012 47.9828692,7.8301455 47.9827728,7.8296301 47.9820600,7.8293303 47.9817098,7.8289858 47.9813512,7.8288068 47.9812059,7.8279095 47.9804476,7.8267876 47.9797263,7.8257532 47.9791697,7.8256634 47.9791265,7.8249036 47.9787968,7.8242672 47.9785533,7.8238782 47.9783889,7.8236506 47.9783205,7.8227171 47.9788414,7.8216185 47.9797143,7.8207001 47.9806742,7.8202485 47.9813794,7.8199375 47.9822733,7.8198081 47.9829587,7.8197524 47.9832640,7.8196484 47.9836289,7.8195290 47.9839123,7.8193523 47.9842472))) diff --git a/src/spatialjoin/tests/datasets/multi-threaded b/src/spatialjoin/tests/datasets/multi-threaded new file mode 100644 index 0000000..7f976fd --- /dev/null +++ b/src/spatialjoin/tests/datasets/multi-threaded @@ -0,0 +1,41 @@ +a0 MULTIPOLYGON(((-0.01 0,-0.01 0.00003,-0.00997 0.00003,-0.00997 0,-0.01 0)),((0.01 0,0.01 0.00003,0.01003 0.00003,0.01003 0,0.01 0))) +b0 MULTIPOLYGON(((-0.009985 0,-0.009985 0.00003,-0.009955 0.00003,-0.009955 0,-0.009985 0)),((0.01003 0,0.01003 0.00003,0.01006 0.00003,0.01006 0,0.01003 0))) +a1 MULTIPOLYGON(((-0.00995 0.00005,-0.00995 0.00008,-0.00992 0.00008,-0.00992 0.00005,-0.00995 0.00005)),((0.01005 0.00005,0.01005 0.00008,0.01008 0.00008,0.01008 0.00005,0.01005 0.00005))) +b1 MULTIPOLYGON(((-0.009935 0.00005,-0.009935 0.00008,-0.009905 0.00008,-0.009905 0.00005,-0.009935 0.00005)),((0.01008 0.00005,0.01008 0.00008,0.01011 0.00008,0.01011 0.00005,0.01008 0.00005))) +a2 MULTIPOLYGON(((-0.0099 0.0001,-0.0099 0.00013,-0.00987 0.00013,-0.00987 0.0001,-0.0099 0.0001)),((0.0101 0.0001,0.0101 0.00013,0.01013 0.00013,0.01013 0.0001,0.0101 0.0001))) +b2 MULTIPOLYGON(((-0.009885 0.0001,-0.009885 0.00013,-0.009855 0.00013,-0.009855 0.0001,-0.009885 0.0001)),((0.01013 0.0001,0.01013 0.00013,0.01016 0.00013,0.01016 0.0001,0.01013 0.0001))) +a3 MULTIPOLYGON(((-0.00985 0.00015,-0.00985 0.00018,-0.00982 0.00018,-0.00982 0.00015,-0.00985 0.00015)),((0.01015 0.00015,0.01015 0.00018,0.01018 0.00018,0.01018 0.00015,0.01015 0.00015))) +b3 MULTIPOLYGON(((-0.009835 0.00015,-0.009835 0.00018,-0.009805 0.00018,-0.009805 0.00015,-0.009835 0.00015)),((0.01018 0.00015,0.01018 0.00018,0.01021 0.00018,0.01021 0.00015,0.01018 0.00015))) +a4 MULTIPOLYGON(((-0.0098 0.0002,-0.0098 0.00023,-0.00977 0.00023,-0.00977 0.0002,-0.0098 0.0002)),((0.0102 0.0002,0.0102 0.00023,0.01023 0.00023,0.01023 0.0002,0.0102 0.0002))) +b4 MULTIPOLYGON(((-0.009785 0.0002,-0.009785 0.00023,-0.009755 0.00023,-0.009755 0.0002,-0.009785 0.0002)),((0.01023 0.0002,0.01023 0.00023,0.01026 0.00023,0.01026 0.0002,0.01023 0.0002))) +a5 MULTIPOLYGON(((-0.00975 0.00025,-0.00975 0.00028,-0.00972 0.00028,-0.00972 0.00025,-0.00975 0.00025)),((0.01025 0.00025,0.01025 0.00028,0.01028 0.00028,0.01028 0.00025,0.01025 0.00025))) +b5 MULTIPOLYGON(((-0.009735 0.00025,-0.009735 0.00028,-0.009705 0.00028,-0.009705 0.00025,-0.009735 0.00025)),((0.01028 0.00025,0.01028 0.00028,0.01031 0.00028,0.01031 0.00025,0.01028 0.00025))) +a6 MULTIPOLYGON(((-0.0097 0.0003,-0.0097 0.00033,-0.00967 0.00033,-0.00967 0.0003,-0.0097 0.0003)),((0.0103 0.0003,0.0103 0.00033,0.01033 0.00033,0.01033 0.0003,0.0103 0.0003))) +b6 MULTIPOLYGON(((-0.009685 0.0003,-0.009685 0.00033,-0.009655 0.00033,-0.009655 0.0003,-0.009685 0.0003)),((0.01033 0.0003,0.01033 0.00033,0.01036 0.00033,0.01036 0.0003,0.01033 0.0003))) +a7 MULTIPOLYGON(((-0.00965 0.00035,-0.00965 0.00038,-0.00962 0.00038,-0.00962 0.00035,-0.00965 0.00035)),((0.01035 0.00035,0.01035 0.00038,0.01038 0.00038,0.01038 0.00035,0.01035 0.00035))) +b7 MULTIPOLYGON(((-0.009635 0.00035,-0.009635 0.00038,-0.009605 0.00038,-0.009605 0.00035,-0.009635 0.00035)),((0.01038 0.00035,0.01038 0.00038,0.01041 0.00038,0.01041 0.00035,0.01038 0.00035))) +a8 MULTIPOLYGON(((-0.0096 0.0004,-0.0096 0.00043,-0.00957 0.00043,-0.00957 0.0004,-0.0096 0.0004)),((0.0104 0.0004,0.0104 0.00043,0.01043 0.00043,0.01043 0.0004,0.0104 0.0004))) +b8 MULTIPOLYGON(((-0.009585 0.0004,-0.009585 0.00043,-0.009555 0.00043,-0.009555 0.0004,-0.009585 0.0004)),((0.01043 0.0004,0.01043 0.00043,0.01046 0.00043,0.01046 0.0004,0.01043 0.0004))) +a9 MULTIPOLYGON(((-0.00955 0.00045,-0.00955 0.00048,-0.00952 0.00048,-0.00952 0.00045,-0.00955 0.00045)),((0.01045 0.00045,0.01045 0.00048,0.01048 0.00048,0.01048 0.00045,0.01045 0.00045))) +b9 MULTIPOLYGON(((-0.009535 0.00045,-0.009535 0.00048,-0.009505 0.00048,-0.009505 0.00045,-0.009535 0.00045)),((0.01048 0.00045,0.01048 0.00048,0.01051 0.00048,0.01051 0.00045,0.01048 0.00045))) +a10 MULTIPOLYGON(((-0.0095 0.0005,-0.0095 0.00053,-0.00947 0.00053,-0.00947 0.0005,-0.0095 0.0005)),((0.0105 0.0005,0.0105 0.00053,0.01053 0.00053,0.01053 0.0005,0.0105 0.0005))) +b10 MULTIPOLYGON(((-0.009485 0.0005,-0.009485 0.00053,-0.009455 0.00053,-0.009455 0.0005,-0.009485 0.0005)),((0.01053 0.0005,0.01053 0.00053,0.01056 0.00053,0.01056 0.0005,0.01053 0.0005))) +a11 MULTIPOLYGON(((-0.00945 0.00055,-0.00945 0.00058,-0.00942 0.00058,-0.00942 0.00055,-0.00945 0.00055)),((0.01055 0.00055,0.01055 0.00058,0.01058 0.00058,0.01058 0.00055,0.01055 0.00055))) +b11 MULTIPOLYGON(((-0.009435 0.00055,-0.009435 0.00058,-0.009405 0.00058,-0.009405 0.00055,-0.009435 0.00055)),((0.01058 0.00055,0.01058 0.00058,0.01061 0.00058,0.01061 0.00055,0.01058 0.00055))) +a12 MULTIPOLYGON(((-0.0094 0.0006,-0.0094 0.00063,-0.00937 0.00063,-0.00937 0.0006,-0.0094 0.0006)),((0.0106 0.0006,0.0106 0.00063,0.01063 0.00063,0.01063 0.0006,0.0106 0.0006))) +b12 MULTIPOLYGON(((-0.009385 0.0006,-0.009385 0.00063,-0.009355 0.00063,-0.009355 0.0006,-0.009385 0.0006)),((0.01063 0.0006,0.01063 0.00063,0.01066 0.00063,0.01066 0.0006,0.01063 0.0006))) +a13 MULTIPOLYGON(((-0.00935 0.00065,-0.00935 0.00068,-0.00932 0.00068,-0.00932 0.00065,-0.00935 0.00065)),((0.01065 0.00065,0.01065 0.00068,0.01068 0.00068,0.01068 0.00065,0.01065 0.00065))) +b13 MULTIPOLYGON(((-0.009335 0.00065,-0.009335 0.00068,-0.009305 0.00068,-0.009305 0.00065,-0.009335 0.00065)),((0.01068 0.00065,0.01068 0.00068,0.01071 0.00068,0.01071 0.00065,0.01068 0.00065))) +a14 MULTIPOLYGON(((-0.0093 0.0007,-0.0093 0.00073,-0.00927 0.00073,-0.00927 0.0007,-0.0093 0.0007)),((0.0107 0.0007,0.0107 0.00073,0.01073 0.00073,0.01073 0.0007,0.0107 0.0007))) +b14 MULTIPOLYGON(((-0.009285 0.0007,-0.009285 0.00073,-0.009255 0.00073,-0.009255 0.0007,-0.009285 0.0007)),((0.01073 0.0007,0.01073 0.00073,0.01076 0.00073,0.01076 0.0007,0.01073 0.0007))) +a15 MULTIPOLYGON(((-0.00925 0.00075,-0.00925 0.00078,-0.00922 0.00078,-0.00922 0.00075,-0.00925 0.00075)),((0.01075 0.00075,0.01075 0.00078,0.01078 0.00078,0.01078 0.00075,0.01075 0.00075))) +b15 MULTIPOLYGON(((-0.009235 0.00075,-0.009235 0.00078,-0.009205 0.00078,-0.009205 0.00075,-0.009235 0.00075)),((0.01078 0.00075,0.01078 0.00078,0.01081 0.00078,0.01081 0.00075,0.01078 0.00075))) +a16 MULTIPOLYGON(((-0.0092 0.0008,-0.0092 0.00083,-0.00917 0.00083,-0.00917 0.0008,-0.0092 0.0008)),((0.0108 0.0008,0.0108 0.00083,0.01083 0.00083,0.01083 0.0008,0.0108 0.0008))) +b16 MULTIPOLYGON(((-0.009185 0.0008,-0.009185 0.00083,-0.009155 0.00083,-0.009155 0.0008,-0.009185 0.0008)),((0.01083 0.0008,0.01083 0.00083,0.01086 0.00083,0.01086 0.0008,0.01083 0.0008))) +a17 MULTIPOLYGON(((-0.00915 0.00085,-0.00915 0.00088,-0.00912 0.00088,-0.00912 0.00085,-0.00915 0.00085)),((0.01085 0.00085,0.01085 0.00088,0.01088 0.00088,0.01088 0.00085,0.01085 0.00085))) +b17 MULTIPOLYGON(((-0.009135 0.00085,-0.009135 0.00088,-0.009105 0.00088,-0.009105 0.00085,-0.009135 0.00085)),((0.01088 0.00085,0.01088 0.00088,0.01091 0.00088,0.01091 0.00085,0.01088 0.00085))) +a18 MULTIPOLYGON(((-0.0091 0.0009,-0.0091 0.00093,-0.00907 0.00093,-0.00907 0.0009,-0.0091 0.0009)),((0.0109 0.0009,0.0109 0.00093,0.01093 0.00093,0.01093 0.0009,0.0109 0.0009))) +b18 MULTIPOLYGON(((-0.009085 0.0009,-0.009085 0.00093,-0.009055 0.00093,-0.009055 0.0009,-0.009085 0.0009)),((0.01093 0.0009,0.01093 0.00093,0.01096 0.00093,0.01096 0.0009,0.01093 0.0009))) +a19 MULTIPOLYGON(((-0.00905 0.00095,-0.00905 0.00098,-0.00902 0.00098,-0.00902 0.00095,-0.00905 0.00095)),((0.01095 0.00095,0.01095 0.00098,0.01098 0.00098,0.01098 0.00095,0.01095 0.00095))) +b19 MULTIPOLYGON(((-0.009035 0.00095,-0.009035 0.00098,-0.009005 0.00098,-0.009005 0.00095,-0.009035 0.00095)),((0.01098 0.00095,0.01098 0.00098,0.01101 0.00098,0.01101 0.00095,0.01098 0.00095))) +filler MULTIPOLYGON(((-0.001 -0.001,-0.001 0.001,0.001 0.001,0.001 -0.001,-0.001 -0.001)),((-0.001001 -0.001001,-0.001001 0.001001,0.001001 0.001001,0.001001 -0.001001,-0.001001 -0.001001)),((-0.001002 -0.001002,-0.001002 0.001002,0.001002 0.001002,0.001002 -0.001002,-0.001002 -0.001002)),((-0.001003 -0.001003,-0.001003 0.001003,0.001003 0.001003,0.001003 -0.001003,-0.001003 -0.001003)),((-0.001004 -0.001004,-0.001004 0.001004,0.001004 0.001004,0.001004 -0.001004,-0.001004 -0.001004)),((-0.001005 -0.001005,-0.001005 0.001005,0.001005 0.001005,0.001005 -0.001005,-0.001005 -0.001005)),((-0.001006 -0.001006,-0.001006 0.001006,0.001006 0.001006,0.001006 -0.001006,-0.001006 -0.001006)),((-0.001007 -0.001007,-0.001007 0.001007,0.001007 0.001007,0.001007 -0.001007,-0.001007 -0.001007)),((-0.001008 -0.001008,-0.001008 0.001008,0.001008 0.001008,0.001008 -0.001008,-0.001008 -0.001008)),((-0.001009 -0.001009,-0.001009 0.001009,0.001009 0.001009,0.001009 -0.001009,-0.001009 -0.001009)),((-0.00101 -0.00101,-0.00101 0.00101,0.00101 0.00101,0.00101 -0.00101,-0.00101 -0.00101)),((-0.001011 -0.001011,-0.001011 0.001011,0.001011 0.001011,0.001011 -0.001011,-0.001011 -0.001011)),((-0.001012 -0.001012,-0.001012 0.001012,0.001012 0.001012,0.001012 -0.001012,-0.001012 -0.001012)),((-0.001013 -0.001013,-0.001013 0.001013,0.001013 0.001013,0.001013 -0.001013,-0.001013 -0.001013)),((-0.001014 -0.001014,-0.001014 0.001014,0.001014 0.001014,0.001014 -0.001014,-0.001014 -0.001014)),((-0.001015 -0.001015,-0.001015 0.001015,0.001015 0.001015,0.001015 -0.001015,-0.001015 -0.001015)),((-0.001016 -0.001016,-0.001016 0.001016,0.001016 0.001016,0.001016 -0.001016,-0.001016 -0.001016)),((-0.001017 -0.001017,-0.001017 0.001017,0.001017 0.001017,0.001017 -0.001017,-0.001017 -0.001017)),((-0.001018 -0.001018,-0.001018 0.001018,0.001018 0.001018,0.001018 -0.001018,-0.001018 -0.001018)),((-0.001019 -0.001019,-0.001019 0.001019,0.001019 0.001019,0.001019 -0.001019,-0.001019 -0.001019)),((-0.00102 -0.00102,-0.00102 0.00102,0.00102 0.00102,0.00102 -0.00102,-0.00102 -0.00102)),((-0.001021 -0.001021,-0.001021 0.001021,0.001021 0.001021,0.001021 -0.001021,-0.001021 -0.001021)),((-0.001022 -0.001022,-0.001022 0.001022,0.001022 0.001022,0.001022 -0.001022,-0.001022 -0.001022)),((-0.001023 -0.001023,-0.001023 0.001023,0.001023 0.001023,0.001023 -0.001023,-0.001023 -0.001023)),((-0.001024 -0.001024,-0.001024 0.001024,0.001024 0.001024,0.001024 -0.001024,-0.001024 -0.001024)),((-0.001025 -0.001025,-0.001025 0.001025,0.001025 0.001025,0.001025 -0.001025,-0.001025 -0.001025)),((-0.001026 -0.001026,-0.001026 0.001026,0.001026 0.001026,0.001026 -0.001026,-0.001026 -0.001026)),((-0.001027 -0.001027,-0.001027 0.001027,0.001027 0.001027,0.001027 -0.001027,-0.001027 -0.001027)),((-0.001028 -0.001028,-0.001028 0.001028,0.001028 0.001028,0.001028 -0.001028,-0.001028 -0.001028)),((-0.001029 -0.001029,-0.001029 0.001029,0.001029 0.001029,0.001029 -0.001029,-0.001029 -0.001029)),((-0.00103 -0.00103,-0.00103 0.00103,0.00103 0.00103,0.00103 -0.00103,-0.00103 -0.00103)),((-0.001031 -0.001031,-0.001031 0.001031,0.001031 0.001031,0.001031 -0.001031,-0.001031 -0.001031)),((-0.001032 -0.001032,-0.001032 0.001032,0.001032 0.001032,0.001032 -0.001032,-0.001032 -0.001032)),((-0.001033 -0.001033,-0.001033 0.001033,0.001033 0.001033,0.001033 -0.001033,-0.001033 -0.001033)),((-0.001034 -0.001034,-0.001034 0.001034,0.001034 0.001034,0.001034 -0.001034,-0.001034 -0.001034)),((-0.001035 -0.001035,-0.001035 0.001035,0.001035 0.001035,0.001035 -0.001035,-0.001035 -0.001035)),((-0.001036 -0.001036,-0.001036 0.001036,0.001036 0.001036,0.001036 -0.001036,-0.001036 -0.001036)),((-0.001037 -0.001037,-0.001037 0.001037,0.001037 0.001037,0.001037 -0.001037,-0.001037 -0.001037)),((-0.001038 -0.001038,-0.001038 0.001038,0.001038 0.001038,0.001038 -0.001038,-0.001038 -0.001038)),((-0.001039 -0.001039,-0.001039 0.001039,0.001039 0.001039,0.001039 -0.001039,-0.001039 -0.001039)),((-0.00104 -0.00104,-0.00104 0.00104,0.00104 0.00104,0.00104 -0.00104,-0.00104 -0.00104)),((-0.001041 -0.001041,-0.001041 0.001041,0.001041 0.001041,0.001041 -0.001041,-0.001041 -0.001041)),((-0.001042 -0.001042,-0.001042 0.001042,0.001042 0.001042,0.001042 -0.001042,-0.001042 -0.001042)),((-0.001043 -0.001043,-0.001043 0.001043,0.001043 0.001043,0.001043 -0.001043,-0.001043 -0.001043)),((-0.001044 -0.001044,-0.001044 0.001044,0.001044 0.001044,0.001044 -0.001044,-0.001044 -0.001044)),((-0.001045 -0.001045,-0.001045 0.001045,0.001045 0.001045,0.001045 -0.001045,-0.001045 -0.001045)),((-0.001046 -0.001046,-0.001046 0.001046,0.001046 0.001046,0.001046 -0.001046,-0.001046 -0.001046)),((-0.001047 -0.001047,-0.001047 0.001047,0.001047 0.001047,0.001047 -0.001047,-0.001047 -0.001047)),((-0.001048 -0.001048,-0.001048 0.001048,0.001048 0.001048,0.001048 -0.001048,-0.001048 -0.001048)),((-0.001049 -0.001049,-0.001049 0.001049,0.001049 0.001049,0.001049 -0.001049,-0.001049 -0.001049)),((-0.00105 -0.00105,-0.00105 0.00105,0.00105 0.00105,0.00105 -0.00105,-0.00105 -0.00105)),((-0.001051 -0.001051,-0.001051 0.001051,0.001051 0.001051,0.001051 -0.001051,-0.001051 -0.001051)),((-0.001052 -0.001052,-0.001052 0.001052,0.001052 0.001052,0.001052 -0.001052,-0.001052 -0.001052)),((-0.001053 -0.001053,-0.001053 0.001053,0.001053 0.001053,0.001053 -0.001053,-0.001053 -0.001053)),((-0.001054 -0.001054,-0.001054 0.001054,0.001054 0.001054,0.001054 -0.001054,-0.001054 -0.001054)),((-0.001055 -0.001055,-0.001055 0.001055,0.001055 0.001055,0.001055 -0.001055,-0.001055 -0.001055)),((-0.001056 -0.001056,-0.001056 0.001056,0.001056 0.001056,0.001056 -0.001056,-0.001056 -0.001056)),((-0.001057 -0.001057,-0.001057 0.001057,0.001057 0.001057,0.001057 -0.001057,-0.001057 -0.001057)),((-0.001058 -0.001058,-0.001058 0.001058,0.001058 0.001058,0.001058 -0.001058,-0.001058 -0.001058)),((-0.001059 -0.001059,-0.001059 0.001059,0.001059 0.001059,0.001059 -0.001059,-0.001059 -0.001059)),((-0.00106 -0.00106,-0.00106 0.00106,0.00106 0.00106,0.00106 -0.00106,-0.00106 -0.00106)),((-0.001061 -0.001061,-0.001061 0.001061,0.001061 0.001061,0.001061 -0.001061,-0.001061 -0.001061)),((-0.001062 -0.001062,-0.001062 0.001062,0.001062 0.001062,0.001062 -0.001062,-0.001062 -0.001062)),((-0.001063 -0.001063,-0.001063 0.001063,0.001063 0.001063,0.001063 -0.001063,-0.001063 -0.001063)),((-0.001064 -0.001064,-0.001064 0.001064,0.001064 0.001064,0.001064 -0.001064,-0.001064 -0.001064)),((-0.001065 -0.001065,-0.001065 0.001065,0.001065 0.001065,0.001065 -0.001065,-0.001065 -0.001065)),((-0.001066 -0.001066,-0.001066 0.001066,0.001066 0.001066,0.001066 -0.001066,-0.001066 -0.001066)),((-0.001067 -0.001067,-0.001067 0.001067,0.001067 0.001067,0.001067 -0.001067,-0.001067 -0.001067)),((-0.001068 -0.001068,-0.001068 0.001068,0.001068 0.001068,0.001068 -0.001068,-0.001068 -0.001068)),((-0.001069 -0.001069,-0.001069 0.001069,0.001069 0.001069,0.001069 -0.001069,-0.001069 -0.001069)),((-0.00107 -0.00107,-0.00107 0.00107,0.00107 0.00107,0.00107 -0.00107,-0.00107 -0.00107)),((-0.001071 -0.001071,-0.001071 0.001071,0.001071 0.001071,0.001071 -0.001071,-0.001071 -0.001071)),((-0.001072 -0.001072,-0.001072 0.001072,0.001072 0.001072,0.001072 -0.001072,-0.001072 -0.001072)),((-0.001073 -0.001073,-0.001073 0.001073,0.001073 0.001073,0.001073 -0.001073,-0.001073 -0.001073)),((-0.001074 -0.001074,-0.001074 0.001074,0.001074 0.001074,0.001074 -0.001074,-0.001074 -0.001074)),((-0.001075 -0.001075,-0.001075 0.001075,0.001075 0.001075,0.001075 -0.001075,-0.001075 -0.001075)),((-0.001076 -0.001076,-0.001076 0.001076,0.001076 0.001076,0.001076 -0.001076,-0.001076 -0.001076)),((-0.001077 -0.001077,-0.001077 0.001077,0.001077 0.001077,0.001077 -0.001077,-0.001077 -0.001077)),((-0.001078 -0.001078,-0.001078 0.001078,0.001078 0.001078,0.001078 -0.001078,-0.001078 -0.001078)),((-0.001079 -0.001079,-0.001079 0.001079,0.001079 0.001079,0.001079 -0.001079,-0.001079 -0.001079)),((-0.00108 -0.00108,-0.00108 0.00108,0.00108 0.00108,0.00108 -0.00108,-0.00108 -0.00108)),((-0.001081 -0.001081,-0.001081 0.001081,0.001081 0.001081,0.001081 -0.001081,-0.001081 -0.001081)),((-0.001082 -0.001082,-0.001082 0.001082,0.001082 0.001082,0.001082 -0.001082,-0.001082 -0.001082)),((-0.001083 -0.001083,-0.001083 0.001083,0.001083 0.001083,0.001083 -0.001083,-0.001083 -0.001083)),((-0.001084 -0.001084,-0.001084 0.001084,0.001084 0.001084,0.001084 -0.001084,-0.001084 -0.001084)),((-0.001085 -0.001085,-0.001085 0.001085,0.001085 0.001085,0.001085 -0.001085,-0.001085 -0.001085)),((-0.001086 -0.001086,-0.001086 0.001086,0.001086 0.001086,0.001086 -0.001086,-0.001086 -0.001086)),((-0.001087 -0.001087,-0.001087 0.001087,0.001087 0.001087,0.001087 -0.001087,-0.001087 -0.001087)),((-0.001088 -0.001088,-0.001088 0.001088,0.001088 0.001088,0.001088 -0.001088,-0.001088 -0.001088)),((-0.001089 -0.001089,-0.001089 0.001089,0.001089 0.001089,0.001089 -0.001089,-0.001089 -0.001089)),((-0.00109 -0.00109,-0.00109 0.00109,0.00109 0.00109,0.00109 -0.00109,-0.00109 -0.00109)),((-0.001091 -0.001091,-0.001091 0.001091,0.001091 0.001091,0.001091 -0.001091,-0.001091 -0.001091)),((-0.001092 -0.001092,-0.001092 0.001092,0.001092 0.001092,0.001092 -0.001092,-0.001092 -0.001092)),((-0.001093 -0.001093,-0.001093 0.001093,0.001093 0.001093,0.001093 -0.001093,-0.001093 -0.001093)),((-0.001094 -0.001094,-0.001094 0.001094,0.001094 0.001094,0.001094 -0.001094,-0.001094 -0.001094)),((-0.001095 -0.001095,-0.001095 0.001095,0.001095 0.001095,0.001095 -0.001095,-0.001095 -0.001095)),((-0.001096 -0.001096,-0.001096 0.001096,0.001096 0.001096,0.001096 -0.001096,-0.001096 -0.001096)),((-0.001097 -0.001097,-0.001097 0.001097,0.001097 0.001097,0.001097 -0.001097,-0.001097 -0.001097)),((-0.001098 -0.001098,-0.001098 0.001098,0.001098 0.001098,0.001098 -0.001098,-0.001098 -0.001098)),((-0.001099 -0.001099,-0.001099 0.001099,0.001099 0.001099,0.001099 -0.001099,-0.001099 -0.001099)),((-0.0011 -0.0011,-0.0011 0.0011,0.0011 0.0011,0.0011 -0.0011,-0.0011 -0.0011)),((-0.001101 -0.001101,-0.001101 0.001101,0.001101 0.001101,0.001101 -0.001101,-0.001101 -0.001101)),((-0.001102 -0.001102,-0.001102 0.001102,0.001102 0.001102,0.001102 -0.001102,-0.001102 -0.001102)),((-0.001103 -0.001103,-0.001103 0.001103,0.001103 0.001103,0.001103 -0.001103,-0.001103 -0.001103)),((-0.001104 -0.001104,-0.001104 0.001104,0.001104 0.001104,0.001104 -0.001104,-0.001104 -0.001104)),((-0.001105 -0.001105,-0.001105 0.001105,0.001105 0.001105,0.001105 -0.001105,-0.001105 -0.001105)),((-0.001106 -0.001106,-0.001106 0.001106,0.001106 0.001106,0.001106 -0.001106,-0.001106 -0.001106)),((-0.001107 -0.001107,-0.001107 0.001107,0.001107 0.001107,0.001107 -0.001107,-0.001107 -0.001107)),((-0.001108 -0.001108,-0.001108 0.001108,0.001108 0.001108,0.001108 -0.001108,-0.001108 -0.001108)),((-0.001109 -0.001109,-0.001109 0.001109,0.001109 0.001109,0.001109 -0.001109,-0.001109 -0.001109)),((-0.00111 -0.00111,-0.00111 0.00111,0.00111 0.00111,0.00111 -0.00111,-0.00111 -0.00111)),((-0.001111 -0.001111,-0.001111 0.001111,0.001111 0.001111,0.001111 -0.001111,-0.001111 -0.001111)),((-0.001112 -0.001112,-0.001112 0.001112,0.001112 0.001112,0.001112 -0.001112,-0.001112 -0.001112)),((-0.001113 -0.001113,-0.001113 0.001113,0.001113 0.001113,0.001113 -0.001113,-0.001113 -0.001113)),((-0.001114 -0.001114,-0.001114 0.001114,0.001114 0.001114,0.001114 -0.001114,-0.001114 -0.001114)),((-0.001115 -0.001115,-0.001115 0.001115,0.001115 0.001115,0.001115 -0.001115,-0.001115 -0.001115)),((-0.001116 -0.001116,-0.001116 0.001116,0.001116 0.001116,0.001116 -0.001116,-0.001116 -0.001116)),((-0.001117 -0.001117,-0.001117 0.001117,0.001117 0.001117,0.001117 -0.001117,-0.001117 -0.001117)),((-0.001118 -0.001118,-0.001118 0.001118,0.001118 0.001118,0.001118 -0.001118,-0.001118 -0.001118)),((-0.001119 -0.001119,-0.001119 0.001119,0.001119 0.001119,0.001119 -0.001119,-0.001119 -0.001119)),((-0.00112 -0.00112,-0.00112 0.00112,0.00112 0.00112,0.00112 -0.00112,-0.00112 -0.00112)),((-0.001121 -0.001121,-0.001121 0.001121,0.001121 0.001121,0.001121 -0.001121,-0.001121 -0.001121)),((-0.001122 -0.001122,-0.001122 0.001122,0.001122 0.001122,0.001122 -0.001122,-0.001122 -0.001122)),((-0.001123 -0.001123,-0.001123 0.001123,0.001123 0.001123,0.001123 -0.001123,-0.001123 -0.001123)),((-0.001124 -0.001124,-0.001124 0.001124,0.001124 0.001124,0.001124 -0.001124,-0.001124 -0.001124)),((-0.001125 -0.001125,-0.001125 0.001125,0.001125 0.001125,0.001125 -0.001125,-0.001125 -0.001125)),((-0.001126 -0.001126,-0.001126 0.001126,0.001126 0.001126,0.001126 -0.001126,-0.001126 -0.001126)),((-0.001127 -0.001127,-0.001127 0.001127,0.001127 0.001127,0.001127 -0.001127,-0.001127 -0.001127)),((-0.001128 -0.001128,-0.001128 0.001128,0.001128 0.001128,0.001128 -0.001128,-0.001128 -0.001128)),((-0.001129 -0.001129,-0.001129 0.001129,0.001129 0.001129,0.001129 -0.001129,-0.001129 -0.001129)),((-0.00113 -0.00113,-0.00113 0.00113,0.00113 0.00113,0.00113 -0.00113,-0.00113 -0.00113)),((-0.001131 -0.001131,-0.001131 0.001131,0.001131 0.001131,0.001131 -0.001131,-0.001131 -0.001131)),((-0.001132 -0.001132,-0.001132 0.001132,0.001132 0.001132,0.001132 -0.001132,-0.001132 -0.001132)),((-0.001133 -0.001133,-0.001133 0.001133,0.001133 0.001133,0.001133 -0.001133,-0.001133 -0.001133)),((-0.001134 -0.001134,-0.001134 0.001134,0.001134 0.001134,0.001134 -0.001134,-0.001134 -0.001134)),((-0.001135 -0.001135,-0.001135 0.001135,0.001135 0.001135,0.001135 -0.001135,-0.001135 -0.001135)),((-0.001136 -0.001136,-0.001136 0.001136,0.001136 0.001136,0.001136 -0.001136,-0.001136 -0.001136)),((-0.001137 -0.001137,-0.001137 0.001137,0.001137 0.001137,0.001137 -0.001137,-0.001137 -0.001137)),((-0.001138 -0.001138,-0.001138 0.001138,0.001138 0.001138,0.001138 -0.001138,-0.001138 -0.001138)),((-0.001139 -0.001139,-0.001139 0.001139,0.001139 0.001139,0.001139 -0.001139,-0.001139 -0.001139)),((-0.00114 -0.00114,-0.00114 0.00114,0.00114 0.00114,0.00114 -0.00114,-0.00114 -0.00114)),((-0.001141 -0.001141,-0.001141 0.001141,0.001141 0.001141,0.001141 -0.001141,-0.001141 -0.001141)),((-0.001142 -0.001142,-0.001142 0.001142,0.001142 0.001142,0.001142 -0.001142,-0.001142 -0.001142)),((-0.001143 -0.001143,-0.001143 0.001143,0.001143 0.001143,0.001143 -0.001143,-0.001143 -0.001143)),((-0.001144 -0.001144,-0.001144 0.001144,0.001144 0.001144,0.001144 -0.001144,-0.001144 -0.001144)),((-0.001145 -0.001145,-0.001145 0.001145,0.001145 0.001145,0.001145 -0.001145,-0.001145 -0.001145)),((-0.001146 -0.001146,-0.001146 0.001146,0.001146 0.001146,0.001146 -0.001146,-0.001146 -0.001146)),((-0.001147 -0.001147,-0.001147 0.001147,0.001147 0.001147,0.001147 -0.001147,-0.001147 -0.001147)),((-0.001148 -0.001148,-0.001148 0.001148,0.001148 0.001148,0.001148 -0.001148,-0.001148 -0.001148)),((-0.001149 -0.001149,-0.001149 0.001149,0.001149 0.001149,0.001149 -0.001149,-0.001149 -0.001149)),((-0.00115 -0.00115,-0.00115 0.00115,0.00115 0.00115,0.00115 -0.00115,-0.00115 -0.00115)),((-0.001151 -0.001151,-0.001151 0.001151,0.001151 0.001151,0.001151 -0.001151,-0.001151 -0.001151)),((-0.001152 -0.001152,-0.001152 0.001152,0.001152 0.001152,0.001152 -0.001152,-0.001152 -0.001152)),((-0.001153 -0.001153,-0.001153 0.001153,0.001153 0.001153,0.001153 -0.001153,-0.001153 -0.001153)),((-0.001154 -0.001154,-0.001154 0.001154,0.001154 0.001154,0.001154 -0.001154,-0.001154 -0.001154)),((-0.001155 -0.001155,-0.001155 0.001155,0.001155 0.001155,0.001155 -0.001155,-0.001155 -0.001155)),((-0.001156 -0.001156,-0.001156 0.001156,0.001156 0.001156,0.001156 -0.001156,-0.001156 -0.001156)),((-0.001157 -0.001157,-0.001157 0.001157,0.001157 0.001157,0.001157 -0.001157,-0.001157 -0.001157)),((-0.001158 -0.001158,-0.001158 0.001158,0.001158 0.001158,0.001158 -0.001158,-0.001158 -0.001158)),((-0.001159 -0.001159,-0.001159 0.001159,0.001159 0.001159,0.001159 -0.001159,-0.001159 -0.001159)),((-0.00116 -0.00116,-0.00116 0.00116,0.00116 0.00116,0.00116 -0.00116,-0.00116 -0.00116)),((-0.001161 -0.001161,-0.001161 0.001161,0.001161 0.001161,0.001161 -0.001161,-0.001161 -0.001161)),((-0.001162 -0.001162,-0.001162 0.001162,0.001162 0.001162,0.001162 -0.001162,-0.001162 -0.001162)),((-0.001163 -0.001163,-0.001163 0.001163,0.001163 0.001163,0.001163 -0.001163,-0.001163 -0.001163)),((-0.001164 -0.001164,-0.001164 0.001164,0.001164 0.001164,0.001164 -0.001164,-0.001164 -0.001164)),((-0.001165 -0.001165,-0.001165 0.001165,0.001165 0.001165,0.001165 -0.001165,-0.001165 -0.001165)),((-0.001166 -0.001166,-0.001166 0.001166,0.001166 0.001166,0.001166 -0.001166,-0.001166 -0.001166)),((-0.001167 -0.001167,-0.001167 0.001167,0.001167 0.001167,0.001167 -0.001167,-0.001167 -0.001167)),((-0.001168 -0.001168,-0.001168 0.001168,0.001168 0.001168,0.001168 -0.001168,-0.001168 -0.001168)),((-0.001169 -0.001169,-0.001169 0.001169,0.001169 0.001169,0.001169 -0.001169,-0.001169 -0.001169)),((-0.00117 -0.00117,-0.00117 0.00117,0.00117 0.00117,0.00117 -0.00117,-0.00117 -0.00117)),((-0.001171 -0.001171,-0.001171 0.001171,0.001171 0.001171,0.001171 -0.001171,-0.001171 -0.001171)),((-0.001172 -0.001172,-0.001172 0.001172,0.001172 0.001172,0.001172 -0.001172,-0.001172 -0.001172)),((-0.001173 -0.001173,-0.001173 0.001173,0.001173 0.001173,0.001173 -0.001173,-0.001173 -0.001173)),((-0.001174 -0.001174,-0.001174 0.001174,0.001174 0.001174,0.001174 -0.001174,-0.001174 -0.001174)),((-0.001175 -0.001175,-0.001175 0.001175,0.001175 0.001175,0.001175 -0.001175,-0.001175 -0.001175)),((-0.001176 -0.001176,-0.001176 0.001176,0.001176 0.001176,0.001176 -0.001176,-0.001176 -0.001176)),((-0.001177 -0.001177,-0.001177 0.001177,0.001177 0.001177,0.001177 -0.001177,-0.001177 -0.001177)),((-0.001178 -0.001178,-0.001178 0.001178,0.001178 0.001178,0.001178 -0.001178,-0.001178 -0.001178)),((-0.001179 -0.001179,-0.001179 0.001179,0.001179 0.001179,0.001179 -0.001179,-0.001179 -0.001179)),((-0.00118 -0.00118,-0.00118 0.00118,0.00118 0.00118,0.00118 -0.00118,-0.00118 -0.00118)),((-0.001181 -0.001181,-0.001181 0.001181,0.001181 0.001181,0.001181 -0.001181,-0.001181 -0.001181)),((-0.001182 -0.001182,-0.001182 0.001182,0.001182 0.001182,0.001182 -0.001182,-0.001182 -0.001182)),((-0.001183 -0.001183,-0.001183 0.001183,0.001183 0.001183,0.001183 -0.001183,-0.001183 -0.001183)),((-0.001184 -0.001184,-0.001184 0.001184,0.001184 0.001184,0.001184 -0.001184,-0.001184 -0.001184)),((-0.001185 -0.001185,-0.001185 0.001185,0.001185 0.001185,0.001185 -0.001185,-0.001185 -0.001185)),((-0.001186 -0.001186,-0.001186 0.001186,0.001186 0.001186,0.001186 -0.001186,-0.001186 -0.001186)),((-0.001187 -0.001187,-0.001187 0.001187,0.001187 0.001187,0.001187 -0.001187,-0.001187 -0.001187)),((-0.001188 -0.001188,-0.001188 0.001188,0.001188 0.001188,0.001188 -0.001188,-0.001188 -0.001188)),((-0.001189 -0.001189,-0.001189 0.001189,0.001189 0.001189,0.001189 -0.001189,-0.001189 -0.001189)),((-0.00119 -0.00119,-0.00119 0.00119,0.00119 0.00119,0.00119 -0.00119,-0.00119 -0.00119)),((-0.001191 -0.001191,-0.001191 0.001191,0.001191 0.001191,0.001191 -0.001191,-0.001191 -0.001191)),((-0.001192 -0.001192,-0.001192 0.001192,0.001192 0.001192,0.001192 -0.001192,-0.001192 -0.001192)),((-0.001193 -0.001193,-0.001193 0.001193,0.001193 0.001193,0.001193 -0.001193,-0.001193 -0.001193)),((-0.001194 -0.001194,-0.001194 0.001194,0.001194 0.001194,0.001194 -0.001194,-0.001194 -0.001194)),((-0.001195 -0.001195,-0.001195 0.001195,0.001195 0.001195,0.001195 -0.001195,-0.001195 -0.001195)),((-0.001196 -0.001196,-0.001196 0.001196,0.001196 0.001196,0.001196 -0.001196,-0.001196 -0.001196)),((-0.001197 -0.001197,-0.001197 0.001197,0.001197 0.001197,0.001197 -0.001197,-0.001197 -0.001197)),((-0.001198 -0.001198,-0.001198 0.001198,0.001198 0.001198,0.001198 -0.001198,-0.001198 -0.001198)),((-0.001199 -0.001199,-0.001199 0.001199,0.001199 0.001199,0.001199 -0.001199,-0.001199 -0.001199)),((-0.0012 -0.0012,-0.0012 0.0012,0.0012 0.0012,0.0012 -0.0012,-0.0012 -0.0012)),((-0.001201 -0.001201,-0.001201 0.001201,0.001201 0.001201,0.001201 -0.001201,-0.001201 -0.001201)),((-0.001202 -0.001202,-0.001202 0.001202,0.001202 0.001202,0.001202 -0.001202,-0.001202 -0.001202)),((-0.001203 -0.001203,-0.001203 0.001203,0.001203 0.001203,0.001203 -0.001203,-0.001203 -0.001203)),((-0.001204 -0.001204,-0.001204 0.001204,0.001204 0.001204,0.001204 -0.001204,-0.001204 -0.001204)),((-0.001205 -0.001205,-0.001205 0.001205,0.001205 0.001205,0.001205 -0.001205,-0.001205 -0.001205)),((-0.001206 -0.001206,-0.001206 0.001206,0.001206 0.001206,0.001206 -0.001206,-0.001206 -0.001206)),((-0.001207 -0.001207,-0.001207 0.001207,0.001207 0.001207,0.001207 -0.001207,-0.001207 -0.001207)),((-0.001208 -0.001208,-0.001208 0.001208,0.001208 0.001208,0.001208 -0.001208,-0.001208 -0.001208)),((-0.001209 -0.001209,-0.001209 0.001209,0.001209 0.001209,0.001209 -0.001209,-0.001209 -0.001209)),((-0.00121 -0.00121,-0.00121 0.00121,0.00121 0.00121,0.00121 -0.00121,-0.00121 -0.00121)),((-0.001211 -0.001211,-0.001211 0.001211,0.001211 0.001211,0.001211 -0.001211,-0.001211 -0.001211)),((-0.001212 -0.001212,-0.001212 0.001212,0.001212 0.001212,0.001212 -0.001212,-0.001212 -0.001212)),((-0.001213 -0.001213,-0.001213 0.001213,0.001213 0.001213,0.001213 -0.001213,-0.001213 -0.001213)),((-0.001214 -0.001214,-0.001214 0.001214,0.001214 0.001214,0.001214 -0.001214,-0.001214 -0.001214)),((-0.001215 -0.001215,-0.001215 0.001215,0.001215 0.001215,0.001215 -0.001215,-0.001215 -0.001215)),((-0.001216 -0.001216,-0.001216 0.001216,0.001216 0.001216,0.001216 -0.001216,-0.001216 -0.001216)),((-0.001217 -0.001217,-0.001217 0.001217,0.001217 0.001217,0.001217 -0.001217,-0.001217 -0.001217)),((-0.001218 -0.001218,-0.001218 0.001218,0.001218 0.001218,0.001218 -0.001218,-0.001218 -0.001218)),((-0.001219 -0.001219,-0.001219 0.001219,0.001219 0.001219,0.001219 -0.001219,-0.001219 -0.001219)),((-0.00122 -0.00122,-0.00122 0.00122,0.00122 0.00122,0.00122 -0.00122,-0.00122 -0.00122)),((-0.001221 -0.001221,-0.001221 0.001221,0.001221 0.001221,0.001221 -0.001221,-0.001221 -0.001221)),((-0.001222 -0.001222,-0.001222 0.001222,0.001222 0.001222,0.001222 -0.001222,-0.001222 -0.001222)),((-0.001223 -0.001223,-0.001223 0.001223,0.001223 0.001223,0.001223 -0.001223,-0.001223 -0.001223)),((-0.001224 -0.001224,-0.001224 0.001224,0.001224 0.001224,0.001224 -0.001224,-0.001224 -0.001224)),((-0.001225 -0.001225,-0.001225 0.001225,0.001225 0.001225,0.001225 -0.001225,-0.001225 -0.001225)),((-0.001226 -0.001226,-0.001226 0.001226,0.001226 0.001226,0.001226 -0.001226,-0.001226 -0.001226)),((-0.001227 -0.001227,-0.001227 0.001227,0.001227 0.001227,0.001227 -0.001227,-0.001227 -0.001227)),((-0.001228 -0.001228,-0.001228 0.001228,0.001228 0.001228,0.001228 -0.001228,-0.001228 -0.001228)),((-0.001229 -0.001229,-0.001229 0.001229,0.001229 0.001229,0.001229 -0.001229,-0.001229 -0.001229)),((-0.00123 -0.00123,-0.00123 0.00123,0.00123 0.00123,0.00123 -0.00123,-0.00123 -0.00123)),((-0.001231 -0.001231,-0.001231 0.001231,0.001231 0.001231,0.001231 -0.001231,-0.001231 -0.001231)),((-0.001232 -0.001232,-0.001232 0.001232,0.001232 0.001232,0.001232 -0.001232,-0.001232 -0.001232)),((-0.001233 -0.001233,-0.001233 0.001233,0.001233 0.001233,0.001233 -0.001233,-0.001233 -0.001233)),((-0.001234 -0.001234,-0.001234 0.001234,0.001234 0.001234,0.001234 -0.001234,-0.001234 -0.001234)),((-0.001235 -0.001235,-0.001235 0.001235,0.001235 0.001235,0.001235 -0.001235,-0.001235 -0.001235)),((-0.001236 -0.001236,-0.001236 0.001236,0.001236 0.001236,0.001236 -0.001236,-0.001236 -0.001236)),((-0.001237 -0.001237,-0.001237 0.001237,0.001237 0.001237,0.001237 -0.001237,-0.001237 -0.001237)),((-0.001238 -0.001238,-0.001238 0.001238,0.001238 0.001238,0.001238 -0.001238,-0.001238 -0.001238)),((-0.001239 -0.001239,-0.001239 0.001239,0.001239 0.001239,0.001239 -0.001239,-0.001239 -0.001239)),((-0.00124 -0.00124,-0.00124 0.00124,0.00124 0.00124,0.00124 -0.00124,-0.00124 -0.00124)),((-0.001241 -0.001241,-0.001241 0.001241,0.001241 0.001241,0.001241 -0.001241,-0.001241 -0.001241)),((-0.001242 -0.001242,-0.001242 0.001242,0.001242 0.001242,0.001242 -0.001242,-0.001242 -0.001242)),((-0.001243 -0.001243,-0.001243 0.001243,0.001243 0.001243,0.001243 -0.001243,-0.001243 -0.001243)),((-0.001244 -0.001244,-0.001244 0.001244,0.001244 0.001244,0.001244 -0.001244,-0.001244 -0.001244)),((-0.001245 -0.001245,-0.001245 0.001245,0.001245 0.001245,0.001245 -0.001245,-0.001245 -0.001245)),((-0.001246 -0.001246,-0.001246 0.001246,0.001246 0.001246,0.001246 -0.001246,-0.001246 -0.001246)),((-0.001247 -0.001247,-0.001247 0.001247,0.001247 0.001247,0.001247 -0.001247,-0.001247 -0.001247)),((-0.001248 -0.001248,-0.001248 0.001248,0.001248 0.001248,0.001248 -0.001248,-0.001248 -0.001248)),((-0.001249 -0.001249,-0.001249 0.001249,0.001249 0.001249,0.001249 -0.001249,-0.001249 -0.001249)),((-0.00125 -0.00125,-0.00125 0.00125,0.00125 0.00125,0.00125 -0.00125,-0.00125 -0.00125)),((-0.001251 -0.001251,-0.001251 0.001251,0.001251 0.001251,0.001251 -0.001251,-0.001251 -0.001251)),((-0.001252 -0.001252,-0.001252 0.001252,0.001252 0.001252,0.001252 -0.001252,-0.001252 -0.001252)),((-0.001253 -0.001253,-0.001253 0.001253,0.001253 0.001253,0.001253 -0.001253,-0.001253 -0.001253)),((-0.001254 -0.001254,-0.001254 0.001254,0.001254 0.001254,0.001254 -0.001254,-0.001254 -0.001254)),((-0.001255 -0.001255,-0.001255 0.001255,0.001255 0.001255,0.001255 -0.001255,-0.001255 -0.001255)),((-0.001256 -0.001256,-0.001256 0.001256,0.001256 0.001256,0.001256 -0.001256,-0.001256 -0.001256)),((-0.001257 -0.001257,-0.001257 0.001257,0.001257 0.001257,0.001257 -0.001257,-0.001257 -0.001257)),((-0.001258 -0.001258,-0.001258 0.001258,0.001258 0.001258,0.001258 -0.001258,-0.001258 -0.001258)),((-0.001259 -0.001259,-0.001259 0.001259,0.001259 0.001259,0.001259 -0.001259,-0.001259 -0.001259)),((-0.00126 -0.00126,-0.00126 0.00126,0.00126 0.00126,0.00126 -0.00126,-0.00126 -0.00126)),((-0.001261 -0.001261,-0.001261 0.001261,0.001261 0.001261,0.001261 -0.001261,-0.001261 -0.001261)),((-0.001262 -0.001262,-0.001262 0.001262,0.001262 0.001262,0.001262 -0.001262,-0.001262 -0.001262)),((-0.001263 -0.001263,-0.001263 0.001263,0.001263 0.001263,0.001263 -0.001263,-0.001263 -0.001263)),((-0.001264 -0.001264,-0.001264 0.001264,0.001264 0.001264,0.001264 -0.001264,-0.001264 -0.001264)),((-0.001265 -0.001265,-0.001265 0.001265,0.001265 0.001265,0.001265 -0.001265,-0.001265 -0.001265)),((-0.001266 -0.001266,-0.001266 0.001266,0.001266 0.001266,0.001266 -0.001266,-0.001266 -0.001266)),((-0.001267 -0.001267,-0.001267 0.001267,0.001267 0.001267,0.001267 -0.001267,-0.001267 -0.001267)),((-0.001268 -0.001268,-0.001268 0.001268,0.001268 0.001268,0.001268 -0.001268,-0.001268 -0.001268)),((-0.001269 -0.001269,-0.001269 0.001269,0.001269 0.001269,0.001269 -0.001269,-0.001269 -0.001269)),((-0.00127 -0.00127,-0.00127 0.00127,0.00127 0.00127,0.00127 -0.00127,-0.00127 -0.00127)),((-0.001271 -0.001271,-0.001271 0.001271,0.001271 0.001271,0.001271 -0.001271,-0.001271 -0.001271)),((-0.001272 -0.001272,-0.001272 0.001272,0.001272 0.001272,0.001272 -0.001272,-0.001272 -0.001272)),((-0.001273 -0.001273,-0.001273 0.001273,0.001273 0.001273,0.001273 -0.001273,-0.001273 -0.001273)),((-0.001274 -0.001274,-0.001274 0.001274,0.001274 0.001274,0.001274 -0.001274,-0.001274 -0.001274)),((-0.001275 -0.001275,-0.001275 0.001275,0.001275 0.001275,0.001275 -0.001275,-0.001275 -0.001275)),((-0.001276 -0.001276,-0.001276 0.001276,0.001276 0.001276,0.001276 -0.001276,-0.001276 -0.001276)),((-0.001277 -0.001277,-0.001277 0.001277,0.001277 0.001277,0.001277 -0.001277,-0.001277 -0.001277)),((-0.001278 -0.001278,-0.001278 0.001278,0.001278 0.001278,0.001278 -0.001278,-0.001278 -0.001278)),((-0.001279 -0.001279,-0.001279 0.001279,0.001279 0.001279,0.001279 -0.001279,-0.001279 -0.001279)),((-0.00128 -0.00128,-0.00128 0.00128,0.00128 0.00128,0.00128 -0.00128,-0.00128 -0.00128)),((-0.001281 -0.001281,-0.001281 0.001281,0.001281 0.001281,0.001281 -0.001281,-0.001281 -0.001281)),((-0.001282 -0.001282,-0.001282 0.001282,0.001282 0.001282,0.001282 -0.001282,-0.001282 -0.001282)),((-0.001283 -0.001283,-0.001283 0.001283,0.001283 0.001283,0.001283 -0.001283,-0.001283 -0.001283)),((-0.001284 -0.001284,-0.001284 0.001284,0.001284 0.001284,0.001284 -0.001284,-0.001284 -0.001284)),((-0.001285 -0.001285,-0.001285 0.001285,0.001285 0.001285,0.001285 -0.001285,-0.001285 -0.001285)),((-0.001286 -0.001286,-0.001286 0.001286,0.001286 0.001286,0.001286 -0.001286,-0.001286 -0.001286)),((-0.001287 -0.001287,-0.001287 0.001287,0.001287 0.001287,0.001287 -0.001287,-0.001287 -0.001287)),((-0.001288 -0.001288,-0.001288 0.001288,0.001288 0.001288,0.001288 -0.001288,-0.001288 -0.001288)),((-0.001289 -0.001289,-0.001289 0.001289,0.001289 0.001289,0.001289 -0.001289,-0.001289 -0.001289)),((-0.00129 -0.00129,-0.00129 0.00129,0.00129 0.00129,0.00129 -0.00129,-0.00129 -0.00129)),((-0.001291 -0.001291,-0.001291 0.001291,0.001291 0.001291,0.001291 -0.001291,-0.001291 -0.001291)),((-0.001292 -0.001292,-0.001292 0.001292,0.001292 0.001292,0.001292 -0.001292,-0.001292 -0.001292)),((-0.001293 -0.001293,-0.001293 0.001293,0.001293 0.001293,0.001293 -0.001293,-0.001293 -0.001293)),((-0.001294 -0.001294,-0.001294 0.001294,0.001294 0.001294,0.001294 -0.001294,-0.001294 -0.001294)),((-0.001295 -0.001295,-0.001295 0.001295,0.001295 0.001295,0.001295 -0.001295,-0.001295 -0.001295)),((-0.001296 -0.001296,-0.001296 0.001296,0.001296 0.001296,0.001296 -0.001296,-0.001296 -0.001296)),((-0.001297 -0.001297,-0.001297 0.001297,0.001297 0.001297,0.001297 -0.001297,-0.001297 -0.001297)),((-0.001298 -0.001298,-0.001298 0.001298,0.001298 0.001298,0.001298 -0.001298,-0.001298 -0.001298)),((-0.001299 -0.001299,-0.001299 0.001299,0.001299 0.001299,0.001299 -0.001299,-0.001299 -0.001299)),((-0.0013 -0.0013,-0.0013 0.0013,0.0013 0.0013,0.0013 -0.0013,-0.0013 -0.0013)),((-0.001301 -0.001301,-0.001301 0.001301,0.001301 0.001301,0.001301 -0.001301,-0.001301 -0.001301)),((-0.001302 -0.001302,-0.001302 0.001302,0.001302 0.001302,0.001302 -0.001302,-0.001302 -0.001302)),((-0.001303 -0.001303,-0.001303 0.001303,0.001303 0.001303,0.001303 -0.001303,-0.001303 -0.001303)),((-0.001304 -0.001304,-0.001304 0.001304,0.001304 0.001304,0.001304 -0.001304,-0.001304 -0.001304)),((-0.001305 -0.001305,-0.001305 0.001305,0.001305 0.001305,0.001305 -0.001305,-0.001305 -0.001305)),((-0.001306 -0.001306,-0.001306 0.001306,0.001306 0.001306,0.001306 -0.001306,-0.001306 -0.001306)),((-0.001307 -0.001307,-0.001307 0.001307,0.001307 0.001307,0.001307 -0.001307,-0.001307 -0.001307)),((-0.001308 -0.001308,-0.001308 0.001308,0.001308 0.001308,0.001308 -0.001308,-0.001308 -0.001308)),((-0.001309 -0.001309,-0.001309 0.001309,0.001309 0.001309,0.001309 -0.001309,-0.001309 -0.001309)),((-0.00131 -0.00131,-0.00131 0.00131,0.00131 0.00131,0.00131 -0.00131,-0.00131 -0.00131)),((-0.001311 -0.001311,-0.001311 0.001311,0.001311 0.001311,0.001311 -0.001311,-0.001311 -0.001311)),((-0.001312 -0.001312,-0.001312 0.001312,0.001312 0.001312,0.001312 -0.001312,-0.001312 -0.001312)),((-0.001313 -0.001313,-0.001313 0.001313,0.001313 0.001313,0.001313 -0.001313,-0.001313 -0.001313)),((-0.001314 -0.001314,-0.001314 0.001314,0.001314 0.001314,0.001314 -0.001314,-0.001314 -0.001314)),((-0.001315 -0.001315,-0.001315 0.001315,0.001315 0.001315,0.001315 -0.001315,-0.001315 -0.001315)),((-0.001316 -0.001316,-0.001316 0.001316,0.001316 0.001316,0.001316 -0.001316,-0.001316 -0.001316)),((-0.001317 -0.001317,-0.001317 0.001317,0.001317 0.001317,0.001317 -0.001317,-0.001317 -0.001317)),((-0.001318 -0.001318,-0.001318 0.001318,0.001318 0.001318,0.001318 -0.001318,-0.001318 -0.001318)),((-0.001319 -0.001319,-0.001319 0.001319,0.001319 0.001319,0.001319 -0.001319,-0.001319 -0.001319)),((-0.00132 -0.00132,-0.00132 0.00132,0.00132 0.00132,0.00132 -0.00132,-0.00132 -0.00132)),((-0.001321 -0.001321,-0.001321 0.001321,0.001321 0.001321,0.001321 -0.001321,-0.001321 -0.001321)),((-0.001322 -0.001322,-0.001322 0.001322,0.001322 0.001322,0.001322 -0.001322,-0.001322 -0.001322)),((-0.001323 -0.001323,-0.001323 0.001323,0.001323 0.001323,0.001323 -0.001323,-0.001323 -0.001323)),((-0.001324 -0.001324,-0.001324 0.001324,0.001324 0.001324,0.001324 -0.001324,-0.001324 -0.001324)),((-0.001325 -0.001325,-0.001325 0.001325,0.001325 0.001325,0.001325 -0.001325,-0.001325 -0.001325)),((-0.001326 -0.001326,-0.001326 0.001326,0.001326 0.001326,0.001326 -0.001326,-0.001326 -0.001326)),((-0.001327 -0.001327,-0.001327 0.001327,0.001327 0.001327,0.001327 -0.001327,-0.001327 -0.001327)),((-0.001328 -0.001328,-0.001328 0.001328,0.001328 0.001328,0.001328 -0.001328,-0.001328 -0.001328)),((-0.001329 -0.001329,-0.001329 0.001329,0.001329 0.001329,0.001329 -0.001329,-0.001329 -0.001329)),((-0.00133 -0.00133,-0.00133 0.00133,0.00133 0.00133,0.00133 -0.00133,-0.00133 -0.00133)),((-0.001331 -0.001331,-0.001331 0.001331,0.001331 0.001331,0.001331 -0.001331,-0.001331 -0.001331)),((-0.001332 -0.001332,-0.001332 0.001332,0.001332 0.001332,0.001332 -0.001332,-0.001332 -0.001332)),((-0.001333 -0.001333,-0.001333 0.001333,0.001333 0.001333,0.001333 -0.001333,-0.001333 -0.001333)),((-0.001334 -0.001334,-0.001334 0.001334,0.001334 0.001334,0.001334 -0.001334,-0.001334 -0.001334)),((-0.001335 -0.001335,-0.001335 0.001335,0.001335 0.001335,0.001335 -0.001335,-0.001335 -0.001335)),((-0.001336 -0.001336,-0.001336 0.001336,0.001336 0.001336,0.001336 -0.001336,-0.001336 -0.001336)),((-0.001337 -0.001337,-0.001337 0.001337,0.001337 0.001337,0.001337 -0.001337,-0.001337 -0.001337)),((-0.001338 -0.001338,-0.001338 0.001338,0.001338 0.001338,0.001338 -0.001338,-0.001338 -0.001338)),((-0.001339 -0.001339,-0.001339 0.001339,0.001339 0.001339,0.001339 -0.001339,-0.001339 -0.001339)),((-0.00134 -0.00134,-0.00134 0.00134,0.00134 0.00134,0.00134 -0.00134,-0.00134 -0.00134)),((-0.001341 -0.001341,-0.001341 0.001341,0.001341 0.001341,0.001341 -0.001341,-0.001341 -0.001341)),((-0.001342 -0.001342,-0.001342 0.001342,0.001342 0.001342,0.001342 -0.001342,-0.001342 -0.001342)),((-0.001343 -0.001343,-0.001343 0.001343,0.001343 0.001343,0.001343 -0.001343,-0.001343 -0.001343)),((-0.001344 -0.001344,-0.001344 0.001344,0.001344 0.001344,0.001344 -0.001344,-0.001344 -0.001344)),((-0.001345 -0.001345,-0.001345 0.001345,0.001345 0.001345,0.001345 -0.001345,-0.001345 -0.001345)),((-0.001346 -0.001346,-0.001346 0.001346,0.001346 0.001346,0.001346 -0.001346,-0.001346 -0.001346)),((-0.001347 -0.001347,-0.001347 0.001347,0.001347 0.001347,0.001347 -0.001347,-0.001347 -0.001347)),((-0.001348 -0.001348,-0.001348 0.001348,0.001348 0.001348,0.001348 -0.001348,-0.001348 -0.001348)),((-0.001349 -0.001349,-0.001349 0.001349,0.001349 0.001349,0.001349 -0.001349,-0.001349 -0.001349)),((-0.00135 -0.00135,-0.00135 0.00135,0.00135 0.00135,0.00135 -0.00135,-0.00135 -0.00135)),((-0.001351 -0.001351,-0.001351 0.001351,0.001351 0.001351,0.001351 -0.001351,-0.001351 -0.001351)),((-0.001352 -0.001352,-0.001352 0.001352,0.001352 0.001352,0.001352 -0.001352,-0.001352 -0.001352)),((-0.001353 -0.001353,-0.001353 0.001353,0.001353 0.001353,0.001353 -0.001353,-0.001353 -0.001353)),((-0.001354 -0.001354,-0.001354 0.001354,0.001354 0.001354,0.001354 -0.001354,-0.001354 -0.001354)),((-0.001355 -0.001355,-0.001355 0.001355,0.001355 0.001355,0.001355 -0.001355,-0.001355 -0.001355)),((-0.001356 -0.001356,-0.001356 0.001356,0.001356 0.001356,0.001356 -0.001356,-0.001356 -0.001356)),((-0.001357 -0.001357,-0.001357 0.001357,0.001357 0.001357,0.001357 -0.001357,-0.001357 -0.001357)),((-0.001358 -0.001358,-0.001358 0.001358,0.001358 0.001358,0.001358 -0.001358,-0.001358 -0.001358)),((-0.001359 -0.001359,-0.001359 0.001359,0.001359 0.001359,0.001359 -0.001359,-0.001359 -0.001359)),((-0.00136 -0.00136,-0.00136 0.00136,0.00136 0.00136,0.00136 -0.00136,-0.00136 -0.00136)),((-0.001361 -0.001361,-0.001361 0.001361,0.001361 0.001361,0.001361 -0.001361,-0.001361 -0.001361)),((-0.001362 -0.001362,-0.001362 0.001362,0.001362 0.001362,0.001362 -0.001362,-0.001362 -0.001362)),((-0.001363 -0.001363,-0.001363 0.001363,0.001363 0.001363,0.001363 -0.001363,-0.001363 -0.001363)),((-0.001364 -0.001364,-0.001364 0.001364,0.001364 0.001364,0.001364 -0.001364,-0.001364 -0.001364)),((-0.001365 -0.001365,-0.001365 0.001365,0.001365 0.001365,0.001365 -0.001365,-0.001365 -0.001365)),((-0.001366 -0.001366,-0.001366 0.001366,0.001366 0.001366,0.001366 -0.001366,-0.001366 -0.001366)),((-0.001367 -0.001367,-0.001367 0.001367,0.001367 0.001367,0.001367 -0.001367,-0.001367 -0.001367)),((-0.001368 -0.001368,-0.001368 0.001368,0.001368 0.001368,0.001368 -0.001368,-0.001368 -0.001368)),((-0.001369 -0.001369,-0.001369 0.001369,0.001369 0.001369,0.001369 -0.001369,-0.001369 -0.001369)),((-0.00137 -0.00137,-0.00137 0.00137,0.00137 0.00137,0.00137 -0.00137,-0.00137 -0.00137)),((-0.001371 -0.001371,-0.001371 0.001371,0.001371 0.001371,0.001371 -0.001371,-0.001371 -0.001371)),((-0.001372 -0.001372,-0.001372 0.001372,0.001372 0.001372,0.001372 -0.001372,-0.001372 -0.001372)),((-0.001373 -0.001373,-0.001373 0.001373,0.001373 0.001373,0.001373 -0.001373,-0.001373 -0.001373)),((-0.001374 -0.001374,-0.001374 0.001374,0.001374 0.001374,0.001374 -0.001374,-0.001374 -0.001374)),((-0.001375 -0.001375,-0.001375 0.001375,0.001375 0.001375,0.001375 -0.001375,-0.001375 -0.001375)),((-0.001376 -0.001376,-0.001376 0.001376,0.001376 0.001376,0.001376 -0.001376,-0.001376 -0.001376)),((-0.001377 -0.001377,-0.001377 0.001377,0.001377 0.001377,0.001377 -0.001377,-0.001377 -0.001377)),((-0.001378 -0.001378,-0.001378 0.001378,0.001378 0.001378,0.001378 -0.001378,-0.001378 -0.001378)),((-0.001379 -0.001379,-0.001379 0.001379,0.001379 0.001379,0.001379 -0.001379,-0.001379 -0.001379)),((-0.00138 -0.00138,-0.00138 0.00138,0.00138 0.00138,0.00138 -0.00138,-0.00138 -0.00138)),((-0.001381 -0.001381,-0.001381 0.001381,0.001381 0.001381,0.001381 -0.001381,-0.001381 -0.001381)),((-0.001382 -0.001382,-0.001382 0.001382,0.001382 0.001382,0.001382 -0.001382,-0.001382 -0.001382)),((-0.001383 -0.001383,-0.001383 0.001383,0.001383 0.001383,0.001383 -0.001383,-0.001383 -0.001383)),((-0.001384 -0.001384,-0.001384 0.001384,0.001384 0.001384,0.001384 -0.001384,-0.001384 -0.001384)),((-0.001385 -0.001385,-0.001385 0.001385,0.001385 0.001385,0.001385 -0.001385,-0.001385 -0.001385)),((-0.001386 -0.001386,-0.001386 0.001386,0.001386 0.001386,0.001386 -0.001386,-0.001386 -0.001386)),((-0.001387 -0.001387,-0.001387 0.001387,0.001387 0.001387,0.001387 -0.001387,-0.001387 -0.001387)),((-0.001388 -0.001388,-0.001388 0.001388,0.001388 0.001388,0.001388 -0.001388,-0.001388 -0.001388)),((-0.001389 -0.001389,-0.001389 0.001389,0.001389 0.001389,0.001389 -0.001389,-0.001389 -0.001389)),((-0.00139 -0.00139,-0.00139 0.00139,0.00139 0.00139,0.00139 -0.00139,-0.00139 -0.00139)),((-0.001391 -0.001391,-0.001391 0.001391,0.001391 0.001391,0.001391 -0.001391,-0.001391 -0.001391)),((-0.001392 -0.001392,-0.001392 0.001392,0.001392 0.001392,0.001392 -0.001392,-0.001392 -0.001392)),((-0.001393 -0.001393,-0.001393 0.001393,0.001393 0.001393,0.001393 -0.001393,-0.001393 -0.001393)),((-0.001394 -0.001394,-0.001394 0.001394,0.001394 0.001394,0.001394 -0.001394,-0.001394 -0.001394)),((-0.001395 -0.001395,-0.001395 0.001395,0.001395 0.001395,0.001395 -0.001395,-0.001395 -0.001395)),((-0.001396 -0.001396,-0.001396 0.001396,0.001396 0.001396,0.001396 -0.001396,-0.001396 -0.001396)),((-0.001397 -0.001397,-0.001397 0.001397,0.001397 0.001397,0.001397 -0.001397,-0.001397 -0.001397)),((-0.001398 -0.001398,-0.001398 0.001398,0.001398 0.001398,0.001398 -0.001398,-0.001398 -0.001398)),((-0.001399 -0.001399,-0.001399 0.001399,0.001399 0.001399,0.001399 -0.001399,-0.001399 -0.001399)),((-0.0014 -0.0014,-0.0014 0.0014,0.0014 0.0014,0.0014 -0.0014,-0.0014 -0.0014)),((-0.001401 -0.001401,-0.001401 0.001401,0.001401 0.001401,0.001401 -0.001401,-0.001401 -0.001401)),((-0.001402 -0.001402,-0.001402 0.001402,0.001402 0.001402,0.001402 -0.001402,-0.001402 -0.001402)),((-0.001403 -0.001403,-0.001403 0.001403,0.001403 0.001403,0.001403 -0.001403,-0.001403 -0.001403)),((-0.001404 -0.001404,-0.001404 0.001404,0.001404 0.001404,0.001404 -0.001404,-0.001404 -0.001404)),((-0.001405 -0.001405,-0.001405 0.001405,0.001405 0.001405,0.001405 -0.001405,-0.001405 -0.001405)),((-0.001406 -0.001406,-0.001406 0.001406,0.001406 0.001406,0.001406 -0.001406,-0.001406 -0.001406)),((-0.001407 -0.001407,-0.001407 0.001407,0.001407 0.001407,0.001407 -0.001407,-0.001407 -0.001407)),((-0.001408 -0.001408,-0.001408 0.001408,0.001408 0.001408,0.001408 -0.001408,-0.001408 -0.001408)),((-0.001409 -0.001409,-0.001409 0.001409,0.001409 0.001409,0.001409 -0.001409,-0.001409 -0.001409)),((-0.00141 -0.00141,-0.00141 0.00141,0.00141 0.00141,0.00141 -0.00141,-0.00141 -0.00141)),((-0.001411 -0.001411,-0.001411 0.001411,0.001411 0.001411,0.001411 -0.001411,-0.001411 -0.001411)),((-0.001412 -0.001412,-0.001412 0.001412,0.001412 0.001412,0.001412 -0.001412,-0.001412 -0.001412)),((-0.001413 -0.001413,-0.001413 0.001413,0.001413 0.001413,0.001413 -0.001413,-0.001413 -0.001413)),((-0.001414 -0.001414,-0.001414 0.001414,0.001414 0.001414,0.001414 -0.001414,-0.001414 -0.001414)),((-0.001415 -0.001415,-0.001415 0.001415,0.001415 0.001415,0.001415 -0.001415,-0.001415 -0.001415)),((-0.001416 -0.001416,-0.001416 0.001416,0.001416 0.001416,0.001416 -0.001416,-0.001416 -0.001416)),((-0.001417 -0.001417,-0.001417 0.001417,0.001417 0.001417,0.001417 -0.001417,-0.001417 -0.001417)),((-0.001418 -0.001418,-0.001418 0.001418,0.001418 0.001418,0.001418 -0.001418,-0.001418 -0.001418)),((-0.001419 -0.001419,-0.001419 0.001419,0.001419 0.001419,0.001419 -0.001419,-0.001419 -0.001419)),((-0.00142 -0.00142,-0.00142 0.00142,0.00142 0.00142,0.00142 -0.00142,-0.00142 -0.00142)),((-0.001421 -0.001421,-0.001421 0.001421,0.001421 0.001421,0.001421 -0.001421,-0.001421 -0.001421)),((-0.001422 -0.001422,-0.001422 0.001422,0.001422 0.001422,0.001422 -0.001422,-0.001422 -0.001422)),((-0.001423 -0.001423,-0.001423 0.001423,0.001423 0.001423,0.001423 -0.001423,-0.001423 -0.001423)),((-0.001424 -0.001424,-0.001424 0.001424,0.001424 0.001424,0.001424 -0.001424,-0.001424 -0.001424)),((-0.001425 -0.001425,-0.001425 0.001425,0.001425 0.001425,0.001425 -0.001425,-0.001425 -0.001425)),((-0.001426 -0.001426,-0.001426 0.001426,0.001426 0.001426,0.001426 -0.001426,-0.001426 -0.001426)),((-0.001427 -0.001427,-0.001427 0.001427,0.001427 0.001427,0.001427 -0.001427,-0.001427 -0.001427)),((-0.001428 -0.001428,-0.001428 0.001428,0.001428 0.001428,0.001428 -0.001428,-0.001428 -0.001428)),((-0.001429 -0.001429,-0.001429 0.001429,0.001429 0.001429,0.001429 -0.001429,-0.001429 -0.001429)),((-0.00143 -0.00143,-0.00143 0.00143,0.00143 0.00143,0.00143 -0.00143,-0.00143 -0.00143)),((-0.001431 -0.001431,-0.001431 0.001431,0.001431 0.001431,0.001431 -0.001431,-0.001431 -0.001431)),((-0.001432 -0.001432,-0.001432 0.001432,0.001432 0.001432,0.001432 -0.001432,-0.001432 -0.001432)),((-0.001433 -0.001433,-0.001433 0.001433,0.001433 0.001433,0.001433 -0.001433,-0.001433 -0.001433)),((-0.001434 -0.001434,-0.001434 0.001434,0.001434 0.001434,0.001434 -0.001434,-0.001434 -0.001434)),((-0.001435 -0.001435,-0.001435 0.001435,0.001435 0.001435,0.001435 -0.001435,-0.001435 -0.001435)),((-0.001436 -0.001436,-0.001436 0.001436,0.001436 0.001436,0.001436 -0.001436,-0.001436 -0.001436)),((-0.001437 -0.001437,-0.001437 0.001437,0.001437 0.001437,0.001437 -0.001437,-0.001437 -0.001437)),((-0.001438 -0.001438,-0.001438 0.001438,0.001438 0.001438,0.001438 -0.001438,-0.001438 -0.001438)),((-0.001439 -0.001439,-0.001439 0.001439,0.001439 0.001439,0.001439 -0.001439,-0.001439 -0.001439)),((-0.00144 -0.00144,-0.00144 0.00144,0.00144 0.00144,0.00144 -0.00144,-0.00144 -0.00144)),((-0.001441 -0.001441,-0.001441 0.001441,0.001441 0.001441,0.001441 -0.001441,-0.001441 -0.001441)),((-0.001442 -0.001442,-0.001442 0.001442,0.001442 0.001442,0.001442 -0.001442,-0.001442 -0.001442)),((-0.001443 -0.001443,-0.001443 0.001443,0.001443 0.001443,0.001443 -0.001443,-0.001443 -0.001443)),((-0.001444 -0.001444,-0.001444 0.001444,0.001444 0.001444,0.001444 -0.001444,-0.001444 -0.001444)),((-0.001445 -0.001445,-0.001445 0.001445,0.001445 0.001445,0.001445 -0.001445,-0.001445 -0.001445)),((-0.001446 -0.001446,-0.001446 0.001446,0.001446 0.001446,0.001446 -0.001446,-0.001446 -0.001446)),((-0.001447 -0.001447,-0.001447 0.001447,0.001447 0.001447,0.001447 -0.001447,-0.001447 -0.001447)),((-0.001448 -0.001448,-0.001448 0.001448,0.001448 0.001448,0.001448 -0.001448,-0.001448 -0.001448)),((-0.001449 -0.001449,-0.001449 0.001449,0.001449 0.001449,0.001449 -0.001449,-0.001449 -0.001449)),((-0.00145 -0.00145,-0.00145 0.00145,0.00145 0.00145,0.00145 -0.00145,-0.00145 -0.00145)),((-0.001451 -0.001451,-0.001451 0.001451,0.001451 0.001451,0.001451 -0.001451,-0.001451 -0.001451)),((-0.001452 -0.001452,-0.001452 0.001452,0.001452 0.001452,0.001452 -0.001452,-0.001452 -0.001452)),((-0.001453 -0.001453,-0.001453 0.001453,0.001453 0.001453,0.001453 -0.001453,-0.001453 -0.001453)),((-0.001454 -0.001454,-0.001454 0.001454,0.001454 0.001454,0.001454 -0.001454,-0.001454 -0.001454)),((-0.001455 -0.001455,-0.001455 0.001455,0.001455 0.001455,0.001455 -0.001455,-0.001455 -0.001455)),((-0.001456 -0.001456,-0.001456 0.001456,0.001456 0.001456,0.001456 -0.001456,-0.001456 -0.001456)),((-0.001457 -0.001457,-0.001457 0.001457,0.001457 0.001457,0.001457 -0.001457,-0.001457 -0.001457)),((-0.001458 -0.001458,-0.001458 0.001458,0.001458 0.001458,0.001458 -0.001458,-0.001458 -0.001458)),((-0.001459 -0.001459,-0.001459 0.001459,0.001459 0.001459,0.001459 -0.001459,-0.001459 -0.001459)),((-0.00146 -0.00146,-0.00146 0.00146,0.00146 0.00146,0.00146 -0.00146,-0.00146 -0.00146)),((-0.001461 -0.001461,-0.001461 0.001461,0.001461 0.001461,0.001461 -0.001461,-0.001461 -0.001461)),((-0.001462 -0.001462,-0.001462 0.001462,0.001462 0.001462,0.001462 -0.001462,-0.001462 -0.001462)),((-0.001463 -0.001463,-0.001463 0.001463,0.001463 0.001463,0.001463 -0.001463,-0.001463 -0.001463)),((-0.001464 -0.001464,-0.001464 0.001464,0.001464 0.001464,0.001464 -0.001464,-0.001464 -0.001464)),((-0.001465 -0.001465,-0.001465 0.001465,0.001465 0.001465,0.001465 -0.001465,-0.001465 -0.001465)),((-0.001466 -0.001466,-0.001466 0.001466,0.001466 0.001466,0.001466 -0.001466,-0.001466 -0.001466)),((-0.001467 -0.001467,-0.001467 0.001467,0.001467 0.001467,0.001467 -0.001467,-0.001467 -0.001467)),((-0.001468 -0.001468,-0.001468 0.001468,0.001468 0.001468,0.001468 -0.001468,-0.001468 -0.001468)),((-0.001469 -0.001469,-0.001469 0.001469,0.001469 0.001469,0.001469 -0.001469,-0.001469 -0.001469)),((-0.00147 -0.00147,-0.00147 0.00147,0.00147 0.00147,0.00147 -0.00147,-0.00147 -0.00147)),((-0.001471 -0.001471,-0.001471 0.001471,0.001471 0.001471,0.001471 -0.001471,-0.001471 -0.001471)),((-0.001472 -0.001472,-0.001472 0.001472,0.001472 0.001472,0.001472 -0.001472,-0.001472 -0.001472)),((-0.001473 -0.001473,-0.001473 0.001473,0.001473 0.001473,0.001473 -0.001473,-0.001473 -0.001473)),((-0.001474 -0.001474,-0.001474 0.001474,0.001474 0.001474,0.001474 -0.001474,-0.001474 -0.001474)),((-0.001475 -0.001475,-0.001475 0.001475,0.001475 0.001475,0.001475 -0.001475,-0.001475 -0.001475)),((-0.001476 -0.001476,-0.001476 0.001476,0.001476 0.001476,0.001476 -0.001476,-0.001476 -0.001476)),((-0.001477 -0.001477,-0.001477 0.001477,0.001477 0.001477,0.001477 -0.001477,-0.001477 -0.001477)),((-0.001478 -0.001478,-0.001478 0.001478,0.001478 0.001478,0.001478 -0.001478,-0.001478 -0.001478)),((-0.001479 -0.001479,-0.001479 0.001479,0.001479 0.001479,0.001479 -0.001479,-0.001479 -0.001479)),((-0.00148 -0.00148,-0.00148 0.00148,0.00148 0.00148,0.00148 -0.00148,-0.00148 -0.00148)),((-0.001481 -0.001481,-0.001481 0.001481,0.001481 0.001481,0.001481 -0.001481,-0.001481 -0.001481)),((-0.001482 -0.001482,-0.001482 0.001482,0.001482 0.001482,0.001482 -0.001482,-0.001482 -0.001482)),((-0.001483 -0.001483,-0.001483 0.001483,0.001483 0.001483,0.001483 -0.001483,-0.001483 -0.001483)),((-0.001484 -0.001484,-0.001484 0.001484,0.001484 0.001484,0.001484 -0.001484,-0.001484 -0.001484)),((-0.001485 -0.001485,-0.001485 0.001485,0.001485 0.001485,0.001485 -0.001485,-0.001485 -0.001485)),((-0.001486 -0.001486,-0.001486 0.001486,0.001486 0.001486,0.001486 -0.001486,-0.001486 -0.001486)),((-0.001487 -0.001487,-0.001487 0.001487,0.001487 0.001487,0.001487 -0.001487,-0.001487 -0.001487)),((-0.001488 -0.001488,-0.001488 0.001488,0.001488 0.001488,0.001488 -0.001488,-0.001488 -0.001488)),((-0.001489 -0.001489,-0.001489 0.001489,0.001489 0.001489,0.001489 -0.001489,-0.001489 -0.001489)),((-0.00149 -0.00149,-0.00149 0.00149,0.00149 0.00149,0.00149 -0.00149,-0.00149 -0.00149)),((-0.001491 -0.001491,-0.001491 0.001491,0.001491 0.001491,0.001491 -0.001491,-0.001491 -0.001491)),((-0.001492 -0.001492,-0.001492 0.001492,0.001492 0.001492,0.001492 -0.001492,-0.001492 -0.001492)),((-0.001493 -0.001493,-0.001493 0.001493,0.001493 0.001493,0.001493 -0.001493,-0.001493 -0.001493)),((-0.001494 -0.001494,-0.001494 0.001494,0.001494 0.001494,0.001494 -0.001494,-0.001494 -0.001494)),((-0.001495 -0.001495,-0.001495 0.001495,0.001495 0.001495,0.001495 -0.001495,-0.001495 -0.001495)),((-0.001496 -0.001496,-0.001496 0.001496,0.001496 0.001496,0.001496 -0.001496,-0.001496 -0.001496)),((-0.001497 -0.001497,-0.001497 0.001497,0.001497 0.001497,0.001497 -0.001497,-0.001497 -0.001497)),((-0.001498 -0.001498,-0.001498 0.001498,0.001498 0.001498,0.001498 -0.001498,-0.001498 -0.001498)),((-0.001499 -0.001499,-0.001499 0.001499,0.001499 0.001499,0.001499 -0.001499,-0.001499 -0.001499)),((-0.0015 -0.0015,-0.0015 0.0015,0.0015 0.0015,0.0015 -0.0015,-0.0015 -0.0015)),((-0.001501 -0.001501,-0.001501 0.001501,0.001501 0.001501,0.001501 -0.001501,-0.001501 -0.001501)),((-0.001502 -0.001502,-0.001502 0.001502,0.001502 0.001502,0.001502 -0.001502,-0.001502 -0.001502)),((-0.001503 -0.001503,-0.001503 0.001503,0.001503 0.001503,0.001503 -0.001503,-0.001503 -0.001503)),((-0.001504 -0.001504,-0.001504 0.001504,0.001504 0.001504,0.001504 -0.001504,-0.001504 -0.001504)),((-0.001505 -0.001505,-0.001505 0.001505,0.001505 0.001505,0.001505 -0.001505,-0.001505 -0.001505)),((-0.001506 -0.001506,-0.001506 0.001506,0.001506 0.001506,0.001506 -0.001506,-0.001506 -0.001506)),((-0.001507 -0.001507,-0.001507 0.001507,0.001507 0.001507,0.001507 -0.001507,-0.001507 -0.001507)),((-0.001508 -0.001508,-0.001508 0.001508,0.001508 0.001508,0.001508 -0.001508,-0.001508 -0.001508)),((-0.001509 -0.001509,-0.001509 0.001509,0.001509 0.001509,0.001509 -0.001509,-0.001509 -0.001509)),((-0.00151 -0.00151,-0.00151 0.00151,0.00151 0.00151,0.00151 -0.00151,-0.00151 -0.00151)),((-0.001511 -0.001511,-0.001511 0.001511,0.001511 0.001511,0.001511 -0.001511,-0.001511 -0.001511)),((-0.001512 -0.001512,-0.001512 0.001512,0.001512 0.001512,0.001512 -0.001512,-0.001512 -0.001512)),((-0.001513 -0.001513,-0.001513 0.001513,0.001513 0.001513,0.001513 -0.001513,-0.001513 -0.001513)),((-0.001514 -0.001514,-0.001514 0.001514,0.001514 0.001514,0.001514 -0.001514,-0.001514 -0.001514)),((-0.001515 -0.001515,-0.001515 0.001515,0.001515 0.001515,0.001515 -0.001515,-0.001515 -0.001515)),((-0.001516 -0.001516,-0.001516 0.001516,0.001516 0.001516,0.001516 -0.001516,-0.001516 -0.001516)),((-0.001517 -0.001517,-0.001517 0.001517,0.001517 0.001517,0.001517 -0.001517,-0.001517 -0.001517)),((-0.001518 -0.001518,-0.001518 0.001518,0.001518 0.001518,0.001518 -0.001518,-0.001518 -0.001518)),((-0.001519 -0.001519,-0.001519 0.001519,0.001519 0.001519,0.001519 -0.001519,-0.001519 -0.001519)),((-0.00152 -0.00152,-0.00152 0.00152,0.00152 0.00152,0.00152 -0.00152,-0.00152 -0.00152)),((-0.001521 -0.001521,-0.001521 0.001521,0.001521 0.001521,0.001521 -0.001521,-0.001521 -0.001521)),((-0.001522 -0.001522,-0.001522 0.001522,0.001522 0.001522,0.001522 -0.001522,-0.001522 -0.001522)),((-0.001523 -0.001523,-0.001523 0.001523,0.001523 0.001523,0.001523 -0.001523,-0.001523 -0.001523)),((-0.001524 -0.001524,-0.001524 0.001524,0.001524 0.001524,0.001524 -0.001524,-0.001524 -0.001524)),((-0.001525 -0.001525,-0.001525 0.001525,0.001525 0.001525,0.001525 -0.001525,-0.001525 -0.001525)),((-0.001526 -0.001526,-0.001526 0.001526,0.001526 0.001526,0.001526 -0.001526,-0.001526 -0.001526)),((-0.001527 -0.001527,-0.001527 0.001527,0.001527 0.001527,0.001527 -0.001527,-0.001527 -0.001527)),((-0.001528 -0.001528,-0.001528 0.001528,0.001528 0.001528,0.001528 -0.001528,-0.001528 -0.001528)),((-0.001529 -0.001529,-0.001529 0.001529,0.001529 0.001529,0.001529 -0.001529,-0.001529 -0.001529)),((-0.00153 -0.00153,-0.00153 0.00153,0.00153 0.00153,0.00153 -0.00153,-0.00153 -0.00153)),((-0.001531 -0.001531,-0.001531 0.001531,0.001531 0.001531,0.001531 -0.001531,-0.001531 -0.001531)),((-0.001532 -0.001532,-0.001532 0.001532,0.001532 0.001532,0.001532 -0.001532,-0.001532 -0.001532)),((-0.001533 -0.001533,-0.001533 0.001533,0.001533 0.001533,0.001533 -0.001533,-0.001533 -0.001533)),((-0.001534 -0.001534,-0.001534 0.001534,0.001534 0.001534,0.001534 -0.001534,-0.001534 -0.001534)),((-0.001535 -0.001535,-0.001535 0.001535,0.001535 0.001535,0.001535 -0.001535,-0.001535 -0.001535)),((-0.001536 -0.001536,-0.001536 0.001536,0.001536 0.001536,0.001536 -0.001536,-0.001536 -0.001536)),((-0.001537 -0.001537,-0.001537 0.001537,0.001537 0.001537,0.001537 -0.001537,-0.001537 -0.001537)),((-0.001538 -0.001538,-0.001538 0.001538,0.001538 0.001538,0.001538 -0.001538,-0.001538 -0.001538)),((-0.001539 -0.001539,-0.001539 0.001539,0.001539 0.001539,0.001539 -0.001539,-0.001539 -0.001539)),((-0.00154 -0.00154,-0.00154 0.00154,0.00154 0.00154,0.00154 -0.00154,-0.00154 -0.00154)),((-0.001541 -0.001541,-0.001541 0.001541,0.001541 0.001541,0.001541 -0.001541,-0.001541 -0.001541)),((-0.001542 -0.001542,-0.001542 0.001542,0.001542 0.001542,0.001542 -0.001542,-0.001542 -0.001542)),((-0.001543 -0.001543,-0.001543 0.001543,0.001543 0.001543,0.001543 -0.001543,-0.001543 -0.001543)),((-0.001544 -0.001544,-0.001544 0.001544,0.001544 0.001544,0.001544 -0.001544,-0.001544 -0.001544)),((-0.001545 -0.001545,-0.001545 0.001545,0.001545 0.001545,0.001545 -0.001545,-0.001545 -0.001545)),((-0.001546 -0.001546,-0.001546 0.001546,0.001546 0.001546,0.001546 -0.001546,-0.001546 -0.001546)),((-0.001547 -0.001547,-0.001547 0.001547,0.001547 0.001547,0.001547 -0.001547,-0.001547 -0.001547)),((-0.001548 -0.001548,-0.001548 0.001548,0.001548 0.001548,0.001548 -0.001548,-0.001548 -0.001548)),((-0.001549 -0.001549,-0.001549 0.001549,0.001549 0.001549,0.001549 -0.001549,-0.001549 -0.001549)),((-0.00155 -0.00155,-0.00155 0.00155,0.00155 0.00155,0.00155 -0.00155,-0.00155 -0.00155)),((-0.001551 -0.001551,-0.001551 0.001551,0.001551 0.001551,0.001551 -0.001551,-0.001551 -0.001551)),((-0.001552 -0.001552,-0.001552 0.001552,0.001552 0.001552,0.001552 -0.001552,-0.001552 -0.001552)),((-0.001553 -0.001553,-0.001553 0.001553,0.001553 0.001553,0.001553 -0.001553,-0.001553 -0.001553)),((-0.001554 -0.001554,-0.001554 0.001554,0.001554 0.001554,0.001554 -0.001554,-0.001554 -0.001554)),((-0.001555 -0.001555,-0.001555 0.001555,0.001555 0.001555,0.001555 -0.001555,-0.001555 -0.001555)),((-0.001556 -0.001556,-0.001556 0.001556,0.001556 0.001556,0.001556 -0.001556,-0.001556 -0.001556)),((-0.001557 -0.001557,-0.001557 0.001557,0.001557 0.001557,0.001557 -0.001557,-0.001557 -0.001557)),((-0.001558 -0.001558,-0.001558 0.001558,0.001558 0.001558,0.001558 -0.001558,-0.001558 -0.001558)),((-0.001559 -0.001559,-0.001559 0.001559,0.001559 0.001559,0.001559 -0.001559,-0.001559 -0.001559)),((-0.00156 -0.00156,-0.00156 0.00156,0.00156 0.00156,0.00156 -0.00156,-0.00156 -0.00156)),((-0.001561 -0.001561,-0.001561 0.001561,0.001561 0.001561,0.001561 -0.001561,-0.001561 -0.001561)),((-0.001562 -0.001562,-0.001562 0.001562,0.001562 0.001562,0.001562 -0.001562,-0.001562 -0.001562)),((-0.001563 -0.001563,-0.001563 0.001563,0.001563 0.001563,0.001563 -0.001563,-0.001563 -0.001563)),((-0.001564 -0.001564,-0.001564 0.001564,0.001564 0.001564,0.001564 -0.001564,-0.001564 -0.001564)),((-0.001565 -0.001565,-0.001565 0.001565,0.001565 0.001565,0.001565 -0.001565,-0.001565 -0.001565)),((-0.001566 -0.001566,-0.001566 0.001566,0.001566 0.001566,0.001566 -0.001566,-0.001566 -0.001566)),((-0.001567 -0.001567,-0.001567 0.001567,0.001567 0.001567,0.001567 -0.001567,-0.001567 -0.001567)),((-0.001568 -0.001568,-0.001568 0.001568,0.001568 0.001568,0.001568 -0.001568,-0.001568 -0.001568)),((-0.001569 -0.001569,-0.001569 0.001569,0.001569 0.001569,0.001569 -0.001569,-0.001569 -0.001569)),((-0.00157 -0.00157,-0.00157 0.00157,0.00157 0.00157,0.00157 -0.00157,-0.00157 -0.00157)),((-0.001571 -0.001571,-0.001571 0.001571,0.001571 0.001571,0.001571 -0.001571,-0.001571 -0.001571)),((-0.001572 -0.001572,-0.001572 0.001572,0.001572 0.001572,0.001572 -0.001572,-0.001572 -0.001572)),((-0.001573 -0.001573,-0.001573 0.001573,0.001573 0.001573,0.001573 -0.001573,-0.001573 -0.001573)),((-0.001574 -0.001574,-0.001574 0.001574,0.001574 0.001574,0.001574 -0.001574,-0.001574 -0.001574)),((-0.001575 -0.001575,-0.001575 0.001575,0.001575 0.001575,0.001575 -0.001575,-0.001575 -0.001575)),((-0.001576 -0.001576,-0.001576 0.001576,0.001576 0.001576,0.001576 -0.001576,-0.001576 -0.001576)),((-0.001577 -0.001577,-0.001577 0.001577,0.001577 0.001577,0.001577 -0.001577,-0.001577 -0.001577)),((-0.001578 -0.001578,-0.001578 0.001578,0.001578 0.001578,0.001578 -0.001578,-0.001578 -0.001578)),((-0.001579 -0.001579,-0.001579 0.001579,0.001579 0.001579,0.001579 -0.001579,-0.001579 -0.001579)),((-0.00158 -0.00158,-0.00158 0.00158,0.00158 0.00158,0.00158 -0.00158,-0.00158 -0.00158)),((-0.001581 -0.001581,-0.001581 0.001581,0.001581 0.001581,0.001581 -0.001581,-0.001581 -0.001581)),((-0.001582 -0.001582,-0.001582 0.001582,0.001582 0.001582,0.001582 -0.001582,-0.001582 -0.001582)),((-0.001583 -0.001583,-0.001583 0.001583,0.001583 0.001583,0.001583 -0.001583,-0.001583 -0.001583)),((-0.001584 -0.001584,-0.001584 0.001584,0.001584 0.001584,0.001584 -0.001584,-0.001584 -0.001584)),((-0.001585 -0.001585,-0.001585 0.001585,0.001585 0.001585,0.001585 -0.001585,-0.001585 -0.001585)),((-0.001586 -0.001586,-0.001586 0.001586,0.001586 0.001586,0.001586 -0.001586,-0.001586 -0.001586)),((-0.001587 -0.001587,-0.001587 0.001587,0.001587 0.001587,0.001587 -0.001587,-0.001587 -0.001587)),((-0.001588 -0.001588,-0.001588 0.001588,0.001588 0.001588,0.001588 -0.001588,-0.001588 -0.001588)),((-0.001589 -0.001589,-0.001589 0.001589,0.001589 0.001589,0.001589 -0.001589,-0.001589 -0.001589)),((-0.00159 -0.00159,-0.00159 0.00159,0.00159 0.00159,0.00159 -0.00159,-0.00159 -0.00159)),((-0.001591 -0.001591,-0.001591 0.001591,0.001591 0.001591,0.001591 -0.001591,-0.001591 -0.001591)),((-0.001592 -0.001592,-0.001592 0.001592,0.001592 0.001592,0.001592 -0.001592,-0.001592 -0.001592)),((-0.001593 -0.001593,-0.001593 0.001593,0.001593 0.001593,0.001593 -0.001593,-0.001593 -0.001593)),((-0.001594 -0.001594,-0.001594 0.001594,0.001594 0.001594,0.001594 -0.001594,-0.001594 -0.001594)),((-0.001595 -0.001595,-0.001595 0.001595,0.001595 0.001595,0.001595 -0.001595,-0.001595 -0.001595)),((-0.001596 -0.001596,-0.001596 0.001596,0.001596 0.001596,0.001596 -0.001596,-0.001596 -0.001596)),((-0.001597 -0.001597,-0.001597 0.001597,0.001597 0.001597,0.001597 -0.001597,-0.001597 -0.001597)),((-0.001598 -0.001598,-0.001598 0.001598,0.001598 0.001598,0.001598 -0.001598,-0.001598 -0.001598)),((-0.001599 -0.001599,-0.001599 0.001599,0.001599 0.001599,0.001599 -0.001599,-0.001599 -0.001599)),((-0.0016 -0.0016,-0.0016 0.0016,0.0016 0.0016,0.0016 -0.0016,-0.0016 -0.0016)),((-0.001601 -0.001601,-0.001601 0.001601,0.001601 0.001601,0.001601 -0.001601,-0.001601 -0.001601)),((-0.001602 -0.001602,-0.001602 0.001602,0.001602 0.001602,0.001602 -0.001602,-0.001602 -0.001602)),((-0.001603 -0.001603,-0.001603 0.001603,0.001603 0.001603,0.001603 -0.001603,-0.001603 -0.001603)),((-0.001604 -0.001604,-0.001604 0.001604,0.001604 0.001604,0.001604 -0.001604,-0.001604 -0.001604)),((-0.001605 -0.001605,-0.001605 0.001605,0.001605 0.001605,0.001605 -0.001605,-0.001605 -0.001605)),((-0.001606 -0.001606,-0.001606 0.001606,0.001606 0.001606,0.001606 -0.001606,-0.001606 -0.001606)),((-0.001607 -0.001607,-0.001607 0.001607,0.001607 0.001607,0.001607 -0.001607,-0.001607 -0.001607)),((-0.001608 -0.001608,-0.001608 0.001608,0.001608 0.001608,0.001608 -0.001608,-0.001608 -0.001608)),((-0.001609 -0.001609,-0.001609 0.001609,0.001609 0.001609,0.001609 -0.001609,-0.001609 -0.001609)),((-0.00161 -0.00161,-0.00161 0.00161,0.00161 0.00161,0.00161 -0.00161,-0.00161 -0.00161)),((-0.001611 -0.001611,-0.001611 0.001611,0.001611 0.001611,0.001611 -0.001611,-0.001611 -0.001611)),((-0.001612 -0.001612,-0.001612 0.001612,0.001612 0.001612,0.001612 -0.001612,-0.001612 -0.001612)),((-0.001613 -0.001613,-0.001613 0.001613,0.001613 0.001613,0.001613 -0.001613,-0.001613 -0.001613)),((-0.001614 -0.001614,-0.001614 0.001614,0.001614 0.001614,0.001614 -0.001614,-0.001614 -0.001614)),((-0.001615 -0.001615,-0.001615 0.001615,0.001615 0.001615,0.001615 -0.001615,-0.001615 -0.001615)),((-0.001616 -0.001616,-0.001616 0.001616,0.001616 0.001616,0.001616 -0.001616,-0.001616 -0.001616)),((-0.001617 -0.001617,-0.001617 0.001617,0.001617 0.001617,0.001617 -0.001617,-0.001617 -0.001617)),((-0.001618 -0.001618,-0.001618 0.001618,0.001618 0.001618,0.001618 -0.001618,-0.001618 -0.001618)),((-0.001619 -0.001619,-0.001619 0.001619,0.001619 0.001619,0.001619 -0.001619,-0.001619 -0.001619)),((-0.00162 -0.00162,-0.00162 0.00162,0.00162 0.00162,0.00162 -0.00162,-0.00162 -0.00162)),((-0.001621 -0.001621,-0.001621 0.001621,0.001621 0.001621,0.001621 -0.001621,-0.001621 -0.001621)),((-0.001622 -0.001622,-0.001622 0.001622,0.001622 0.001622,0.001622 -0.001622,-0.001622 -0.001622)),((-0.001623 -0.001623,-0.001623 0.001623,0.001623 0.001623,0.001623 -0.001623,-0.001623 -0.001623)),((-0.001624 -0.001624,-0.001624 0.001624,0.001624 0.001624,0.001624 -0.001624,-0.001624 -0.001624)),((-0.001625 -0.001625,-0.001625 0.001625,0.001625 0.001625,0.001625 -0.001625,-0.001625 -0.001625)),((-0.001626 -0.001626,-0.001626 0.001626,0.001626 0.001626,0.001626 -0.001626,-0.001626 -0.001626)),((-0.001627 -0.001627,-0.001627 0.001627,0.001627 0.001627,0.001627 -0.001627,-0.001627 -0.001627)),((-0.001628 -0.001628,-0.001628 0.001628,0.001628 0.001628,0.001628 -0.001628,-0.001628 -0.001628)),((-0.001629 -0.001629,-0.001629 0.001629,0.001629 0.001629,0.001629 -0.001629,-0.001629 -0.001629)),((-0.00163 -0.00163,-0.00163 0.00163,0.00163 0.00163,0.00163 -0.00163,-0.00163 -0.00163)),((-0.001631 -0.001631,-0.001631 0.001631,0.001631 0.001631,0.001631 -0.001631,-0.001631 -0.001631)),((-0.001632 -0.001632,-0.001632 0.001632,0.001632 0.001632,0.001632 -0.001632,-0.001632 -0.001632)),((-0.001633 -0.001633,-0.001633 0.001633,0.001633 0.001633,0.001633 -0.001633,-0.001633 -0.001633)),((-0.001634 -0.001634,-0.001634 0.001634,0.001634 0.001634,0.001634 -0.001634,-0.001634 -0.001634)),((-0.001635 -0.001635,-0.001635 0.001635,0.001635 0.001635,0.001635 -0.001635,-0.001635 -0.001635)),((-0.001636 -0.001636,-0.001636 0.001636,0.001636 0.001636,0.001636 -0.001636,-0.001636 -0.001636)),((-0.001637 -0.001637,-0.001637 0.001637,0.001637 0.001637,0.001637 -0.001637,-0.001637 -0.001637)),((-0.001638 -0.001638,-0.001638 0.001638,0.001638 0.001638,0.001638 -0.001638,-0.001638 -0.001638)),((-0.001639 -0.001639,-0.001639 0.001639,0.001639 0.001639,0.001639 -0.001639,-0.001639 -0.001639)),((-0.00164 -0.00164,-0.00164 0.00164,0.00164 0.00164,0.00164 -0.00164,-0.00164 -0.00164)),((-0.001641 -0.001641,-0.001641 0.001641,0.001641 0.001641,0.001641 -0.001641,-0.001641 -0.001641)),((-0.001642 -0.001642,-0.001642 0.001642,0.001642 0.001642,0.001642 -0.001642,-0.001642 -0.001642)),((-0.001643 -0.001643,-0.001643 0.001643,0.001643 0.001643,0.001643 -0.001643,-0.001643 -0.001643)),((-0.001644 -0.001644,-0.001644 0.001644,0.001644 0.001644,0.001644 -0.001644,-0.001644 -0.001644)),((-0.001645 -0.001645,-0.001645 0.001645,0.001645 0.001645,0.001645 -0.001645,-0.001645 -0.001645)),((-0.001646 -0.001646,-0.001646 0.001646,0.001646 0.001646,0.001646 -0.001646,-0.001646 -0.001646)),((-0.001647 -0.001647,-0.001647 0.001647,0.001647 0.001647,0.001647 -0.001647,-0.001647 -0.001647)),((-0.001648 -0.001648,-0.001648 0.001648,0.001648 0.001648,0.001648 -0.001648,-0.001648 -0.001648)),((-0.001649 -0.001649,-0.001649 0.001649,0.001649 0.001649,0.001649 -0.001649,-0.001649 -0.001649)),((-0.00165 -0.00165,-0.00165 0.00165,0.00165 0.00165,0.00165 -0.00165,-0.00165 -0.00165)),((-0.001651 -0.001651,-0.001651 0.001651,0.001651 0.001651,0.001651 -0.001651,-0.001651 -0.001651)),((-0.001652 -0.001652,-0.001652 0.001652,0.001652 0.001652,0.001652 -0.001652,-0.001652 -0.001652)),((-0.001653 -0.001653,-0.001653 0.001653,0.001653 0.001653,0.001653 -0.001653,-0.001653 -0.001653)),((-0.001654 -0.001654,-0.001654 0.001654,0.001654 0.001654,0.001654 -0.001654,-0.001654 -0.001654)),((-0.001655 -0.001655,-0.001655 0.001655,0.001655 0.001655,0.001655 -0.001655,-0.001655 -0.001655)),((-0.001656 -0.001656,-0.001656 0.001656,0.001656 0.001656,0.001656 -0.001656,-0.001656 -0.001656)),((-0.001657 -0.001657,-0.001657 0.001657,0.001657 0.001657,0.001657 -0.001657,-0.001657 -0.001657)),((-0.001658 -0.001658,-0.001658 0.001658,0.001658 0.001658,0.001658 -0.001658,-0.001658 -0.001658)),((-0.001659 -0.001659,-0.001659 0.001659,0.001659 0.001659,0.001659 -0.001659,-0.001659 -0.001659)),((-0.00166 -0.00166,-0.00166 0.00166,0.00166 0.00166,0.00166 -0.00166,-0.00166 -0.00166)),((-0.001661 -0.001661,-0.001661 0.001661,0.001661 0.001661,0.001661 -0.001661,-0.001661 -0.001661)),((-0.001662 -0.001662,-0.001662 0.001662,0.001662 0.001662,0.001662 -0.001662,-0.001662 -0.001662)),((-0.001663 -0.001663,-0.001663 0.001663,0.001663 0.001663,0.001663 -0.001663,-0.001663 -0.001663)),((-0.001664 -0.001664,-0.001664 0.001664,0.001664 0.001664,0.001664 -0.001664,-0.001664 -0.001664)),((-0.001665 -0.001665,-0.001665 0.001665,0.001665 0.001665,0.001665 -0.001665,-0.001665 -0.001665)),((-0.001666 -0.001666,-0.001666 0.001666,0.001666 0.001666,0.001666 -0.001666,-0.001666 -0.001666)),((-0.001667 -0.001667,-0.001667 0.001667,0.001667 0.001667,0.001667 -0.001667,-0.001667 -0.001667)),((-0.001668 -0.001668,-0.001668 0.001668,0.001668 0.001668,0.001668 -0.001668,-0.001668 -0.001668)),((-0.001669 -0.001669,-0.001669 0.001669,0.001669 0.001669,0.001669 -0.001669,-0.001669 -0.001669)),((-0.00167 -0.00167,-0.00167 0.00167,0.00167 0.00167,0.00167 -0.00167,-0.00167 -0.00167)),((-0.001671 -0.001671,-0.001671 0.001671,0.001671 0.001671,0.001671 -0.001671,-0.001671 -0.001671)),((-0.001672 -0.001672,-0.001672 0.001672,0.001672 0.001672,0.001672 -0.001672,-0.001672 -0.001672)),((-0.001673 -0.001673,-0.001673 0.001673,0.001673 0.001673,0.001673 -0.001673,-0.001673 -0.001673)),((-0.001674 -0.001674,-0.001674 0.001674,0.001674 0.001674,0.001674 -0.001674,-0.001674 -0.001674)),((-0.001675 -0.001675,-0.001675 0.001675,0.001675 0.001675,0.001675 -0.001675,-0.001675 -0.001675)),((-0.001676 -0.001676,-0.001676 0.001676,0.001676 0.001676,0.001676 -0.001676,-0.001676 -0.001676)),((-0.001677 -0.001677,-0.001677 0.001677,0.001677 0.001677,0.001677 -0.001677,-0.001677 -0.001677)),((-0.001678 -0.001678,-0.001678 0.001678,0.001678 0.001678,0.001678 -0.001678,-0.001678 -0.001678)),((-0.001679 -0.001679,-0.001679 0.001679,0.001679 0.001679,0.001679 -0.001679,-0.001679 -0.001679)),((-0.00168 -0.00168,-0.00168 0.00168,0.00168 0.00168,0.00168 -0.00168,-0.00168 -0.00168)),((-0.001681 -0.001681,-0.001681 0.001681,0.001681 0.001681,0.001681 -0.001681,-0.001681 -0.001681)),((-0.001682 -0.001682,-0.001682 0.001682,0.001682 0.001682,0.001682 -0.001682,-0.001682 -0.001682)),((-0.001683 -0.001683,-0.001683 0.001683,0.001683 0.001683,0.001683 -0.001683,-0.001683 -0.001683)),((-0.001684 -0.001684,-0.001684 0.001684,0.001684 0.001684,0.001684 -0.001684,-0.001684 -0.001684)),((-0.001685 -0.001685,-0.001685 0.001685,0.001685 0.001685,0.001685 -0.001685,-0.001685 -0.001685)),((-0.001686 -0.001686,-0.001686 0.001686,0.001686 0.001686,0.001686 -0.001686,-0.001686 -0.001686)),((-0.001687 -0.001687,-0.001687 0.001687,0.001687 0.001687,0.001687 -0.001687,-0.001687 -0.001687)),((-0.001688 -0.001688,-0.001688 0.001688,0.001688 0.001688,0.001688 -0.001688,-0.001688 -0.001688)),((-0.001689 -0.001689,-0.001689 0.001689,0.001689 0.001689,0.001689 -0.001689,-0.001689 -0.001689)),((-0.00169 -0.00169,-0.00169 0.00169,0.00169 0.00169,0.00169 -0.00169,-0.00169 -0.00169)),((-0.001691 -0.001691,-0.001691 0.001691,0.001691 0.001691,0.001691 -0.001691,-0.001691 -0.001691)),((-0.001692 -0.001692,-0.001692 0.001692,0.001692 0.001692,0.001692 -0.001692,-0.001692 -0.001692)),((-0.001693 -0.001693,-0.001693 0.001693,0.001693 0.001693,0.001693 -0.001693,-0.001693 -0.001693)),((-0.001694 -0.001694,-0.001694 0.001694,0.001694 0.001694,0.001694 -0.001694,-0.001694 -0.001694)),((-0.001695 -0.001695,-0.001695 0.001695,0.001695 0.001695,0.001695 -0.001695,-0.001695 -0.001695)),((-0.001696 -0.001696,-0.001696 0.001696,0.001696 0.001696,0.001696 -0.001696,-0.001696 -0.001696)),((-0.001697 -0.001697,-0.001697 0.001697,0.001697 0.001697,0.001697 -0.001697,-0.001697 -0.001697)),((-0.001698 -0.001698,-0.001698 0.001698,0.001698 0.001698,0.001698 -0.001698,-0.001698 -0.001698)),((-0.001699 -0.001699,-0.001699 0.001699,0.001699 0.001699,0.001699 -0.001699,-0.001699 -0.001699)))