From 49dc817bf2d8ad6267151dba3b6f32df3ebf476d Mon Sep 17 00:00:00 2001 From: elraro Date: Fri, 10 Feb 2023 23:15:47 +0100 Subject: [PATCH] refactor: removed roborock test --- .../robots/roborock/RoborockMapParser_spec.js | 192 - ...tual_walls_and_currently_cleaned_zones.bin | Bin 62768 -> 0 bytes ...ual_walls_and_currently_cleaned_zones.json | 1361 - .../res/map/S5_FW1886_with_goto_target.bin | Bin 69226 -> 0 bytes .../res/map/S5_FW1886_with_goto_target.json | 1347 - .../res/map/S5_FW1886_without_extra_data.bin | Bin 27784 -> 0 bytes .../res/map/S5_FW1886_without_extra_data.json | 805 - ...tual_walls_and_currently_cleaned_zones.bin | Bin 71838 -> 0 bytes ...ual_walls_and_currently_cleaned_zones.json | 1323 - .../res/map/S5_FW2008_with_segments.bin | Bin 65600 -> 0 bytes .../res/map/S5_FW2008_with_segments.json | 3121 -- .../res/map/S5_FW2020_with_segments.bin | Bin 229116 -> 0 bytes .../res/map/S5_FW2020_with_segments.json | 23764 ---------------- ...52_with_active_segment_and_no_mop_zone.bin | Bin 138625 -> 0 bytes ...2_with_active_segment_and_no_mop_zone.json | 5188 ---- 15 files changed, 37101 deletions(-) delete mode 100644 backend/test/lib/robots/roborock/RoborockMapParser_spec.js delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_with_goto_target.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_with_goto_target.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_without_extra_data.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW1886_without_extra_data.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2008_with_segments.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2008_with_segments.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2020_with_segments.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S5_FW2020_with_segments.json delete mode 100644 backend/test/lib/robots/roborock/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.bin delete mode 100644 backend/test/lib/robots/roborock/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.json diff --git a/backend/test/lib/robots/roborock/RoborockMapParser_spec.js b/backend/test/lib/robots/roborock/RoborockMapParser_spec.js deleted file mode 100644 index 09d97a86..00000000 --- a/backend/test/lib/robots/roborock/RoborockMapParser_spec.js +++ /dev/null @@ -1,192 +0,0 @@ -const fs = require("fs").promises; -const path = require("path"); -const should = require("should"); - -const RoborockMapParser = require("../../../../lib/robots/roborock/RoborockMapParser"); - -should.config.checkProtoEql = false; - -describe("RoborockMapParser", function () { - it("should not parse random junk", async function() { - let data = Buffer.allocUnsafe(64); - let actual = RoborockMapParser.PARSE(data); - - should(actual).equal(null); - }); - - it("should parse s5 map without extra data from firmware 1886 correctly", async function() { - - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_without_extra_data.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_without_extra_data.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s5 map with forbidden_zones,virtual_walls,currently_cleaned_zones from firmware 1886 correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s5 map with goto_target from firmware 1886 correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_with_goto_target.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW1886_with_goto_target.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s5 map with forbidden_zones,virtual_walls,currently_cleaned_zones from firmware 2008 correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s5 map with segments from firmware 2008 correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW2008_with_segments.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW2008_with_segments.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s5 map with segments from firmware 2020 correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S5_FW2020_with_segments.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S5_FW2020_with_segments.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); - - it("should parse s6 map with segments from firmware 2652 with active segments and no-mop-zones correctly", async function() { - let data = await fs.readFile(path.join(__dirname, "/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.bin")); - let expected = JSON.parse(await fs.readFile(path.join(__dirname, "/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.json"), { encoding: "utf-8" })); - - let actual = RoborockMapParser.PARSE(data); - - if (actual.metaData?.nonce) { - delete(actual.metaData.nonce); - } - - actual.layers.length.should.equal(expected.layers.length, "layerCount"); - - actual.layers.forEach((layer, i) => { - actual.layers[i].should.deepEqual(expected.layers[i]); - }); - - actual.entities.length.should.equal(expected.entities.length, "entitiesCount"); - - actual.entities.forEach((layer, i) => { - actual.entities[i].should.deepEqual(expected.entities[i]); - }); - - actual.should.deepEqual(expected); - }); -}); diff --git a/backend/test/lib/robots/roborock/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin b/backend/test/lib/robots/roborock/res/map/S5_FW1886_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin deleted file mode 100644 index 663a94f98dfd9b91ece122039144c8da361e87c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62768 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 S73qgoo;a-0#=&< diff --git a/backend/test/lib/robots/roborock/res/map/S5_FW1886_without_extra_data.json b/backend/test/lib/robots/roborock/res/map/S5_FW1886_without_extra_data.json deleted file mode 100644 index cbbf76ad..00000000 --- a/backend/test/lib/robots/roborock/res/map/S5_FW1886_without_extra_data.json +++ /dev/null @@ -1,805 +0,0 @@ -{ - "__class": "ValetudoMap", - "metaData": { - "vendorMapId": 712, - "version": 2, - "totalLayerArea": 33575 - }, - "size": { - "x": 5120, - "y": 5120 - }, - "pixelSize": 5, - "layers": [ - { - "__class": "MapLayer", - "metaData": { - "area": 27350 - }, - "type": "floor", - "pixels": [], - "compressedPixels": [ - 481, - 500, - 22, - 548, - 500, - 1, - 481, - 501, - 59, - 542, - 501, - 7, - 481, - 502, - 68, - 481, - 503, - 69, - 481, - 504, - 69, - 481, - 505, - 69, - 481, - 506, - 69, - 481, - 507, - 69, - 481, - 508, - 69, - 481, - 509, - 69, - 481, - 510, - 69, - 481, - 511, - 69, - 481, - 512, - 69, - 481, - 513, - 37, - 576, - 513, - 2, - 481, - 514, - 16, - 501, - 514, - 1, - 507, - 514, - 11, - 574, - 514, - 1, - 576, - 514, - 32, - 609, - 514, - 5, - 481, - 515, - 16, - 501, - 515, - 1, - 508, - 515, - 10, - 576, - 515, - 4, - 591, - 515, - 2, - 594, - 515, - 9, - 615, - 515, - 4, - 481, - 516, - 16, - 501, - 516, - 1, - 508, - 516, - 10, - 582, - 516, - 7, - 481, - 517, - 1, - 494, - 517, - 3, - 508, - 517, - 10, - 481, - 518, - 1, - 494, - 518, - 3, - 507, - 518, - 4, - 514, - 518, - 4, - 494, - 519, - 3, - 495, - 520, - 3, - 495, - 521, - 3, - 496, - 522, - 2, - 496, - 523, - 2, - 498, - 524, - 1, - 491, - 542, - 1, - 491, - 543, - 1, - 491, - 544, - 1, - 491, - 545, - 1, - 490, - 546, - 2, - 490, - 547, - 2, - 490, - 548, - 1, - 490, - 549, - 1, - 490, - 550, - 1, - 490, - 551, - 1, - 490, - 552, - 1, - 489, - 553, - 2, - 489, - 555, - 1, - 489, - 556, - 1, - 489, - 558, - 1, - 489, - 559, - 1, - 488, - 560, - 1, - 488, - 561, - 1, - 487, - 566, - 1 - ], - "dimensions": { - "x": { - "min": 481, - "max": 618, - "mid": 550, - "avg": 516 - }, - "y": { - "min": 500, - "max": 566, - "mid": 533, - "avg": 509 - }, - "pixelCount": 1094 - } - }, - { - "__class": "MapLayer", - "metaData": { - "area": 6225 - }, - "type": "wall", - "pixels": [], - "compressedPixels": [ - 480, - 499, - 26, - 511, - 499, - 2, - 531, - 499, - 11, - 544, - 499, - 7, - 480, - 500, - 1, - 503, - 500, - 45, - 549, - 500, - 3, - 480, - 501, - 1, - 540, - 501, - 2, - 549, - 501, - 3, - 480, - 502, - 1, - 549, - 502, - 2, - 480, - 503, - 1, - 550, - 503, - 2, - 480, - 504, - 1, - 550, - 504, - 2, - 480, - 505, - 1, - 550, - 505, - 2, - 480, - 506, - 1, - 550, - 506, - 2, - 480, - 507, - 1, - 550, - 507, - 2, - 480, - 508, - 1, - 550, - 508, - 2, - 480, - 509, - 1, - 550, - 509, - 2, - 480, - 510, - 1, - 550, - 510, - 2, - 480, - 511, - 1, - 550, - 511, - 2, - 480, - 512, - 1, - 550, - 512, - 2, - 480, - 513, - 1, - 518, - 513, - 33, - 480, - 514, - 1, - 497, - 514, - 4, - 502, - 514, - 5, - 518, - 514, - 2, - 480, - 515, - 1, - 497, - 515, - 1, - 500, - 515, - 1, - 502, - 515, - 1, - 506, - 515, - 2, - 518, - 515, - 1, - 480, - 516, - 1, - 497, - 516, - 1, - 500, - 516, - 1, - 507, - 516, - 1, - 518, - 516, - 1, - 480, - 517, - 1, - 482, - 517, - 12, - 497, - 517, - 1, - 500, - 517, - 2, - 507, - 517, - 1, - 518, - 517, - 1, - 480, - 518, - 1, - 493, - 518, - 1, - 497, - 518, - 1, - 506, - 518, - 1, - 511, - 518, - 3, - 518, - 518, - 1, - 479, - 519, - 2, - 497, - 519, - 1, - 505, - 519, - 7, - 513, - 519, - 6, - 479, - 520, - 2, - 494, - 520, - 1, - 513, - 520, - 1, - 498, - 521, - 1, - 498, - 522, - 2, - 497, - 525, - 2, - 494, - 526, - 4, - 499, - 526, - 2 - ], - "dimensions": { - "x": { - "min": 479, - "max": 551, - "mid": 515, - "avg": 516 - }, - "y": { - "min": 499, - "max": 526, - "mid": 513, - "avg": 508 - }, - "pixelCount": 249 - } - } - ], - "entities": [ - { - "__class": "PathMapEntity", - "metaData": {}, - "points": [ - 2560, - 2560, - 2560, - 2560, - 2563, - 2562, - 2566, - 2563, - 2574, - 2562, - 2576, - 2563, - 2579, - 2558, - 2590, - 2553, - 2605, - 2554, - 2613, - 2554, - 2627, - 2553, - 2644, - 2553, - 2657, - 2552, - 2672, - 2552, - 2685, - 2551, - 2702, - 2551, - 2719, - 2551, - 2733, - 2551, - 2733, - 2551, - 2733, - 2543, - 2733, - 2530, - 2732, - 2530, - 2728, - 2525, - 2727, - 2523, - 2722, - 2524, - 2717, - 2524, - 2717, - 2524, - 2711, - 2527, - 2699, - 2525, - 2697, - 2526, - 2688, - 2521, - 2687, - 2521, - 2684, - 2521, - 2665, - 2521, - 2645, - 2522, - 2625, - 2522, - 2605, - 2522, - 2585, - 2522, - 2564, - 2522, - 2544, - 2523, - 2523, - 2523, - 2503, - 2520, - 2483, - 2520, - 2463, - 2520, - 2443, - 2519, - 2422, - 2519, - 2418, - 2519, - 2418, - 2520, - 2418, - 2535, - 2417, - 2556, - 2417, - 2571, - 2417, - 2569, - 2418, - 2569, - 2428, - 2572, - 2428, - 2572, - 2431, - 2572, - 2453, - 2572, - 2466, - 2573, - 2466, - 2573, - 2469, - 2569, - 2476, - 2559, - 2491, - 2553, - 2506, - 2556, - 2510, - 2559, - 2510, - 2558, - 2522, - 2555, - 2534, - 2559, - 2544, - 2566, - 2544, - 2565, - 2547, - 2564, - 2553, - 2562, - 2563, - 2563, - 2565, - 2563, - 2573, - 2562, - 2573, - 2562, - 2575, - 2552, - 2571, - 2549, - 2557, - 2549, - 2537, - 2549, - 2513, - 2548, - 2483, - 2547, - 2452, - 2546, - 2434, - 2545, - 2432, - 2545, - 2432, - 2545, - 2451, - 2545, - 2480, - 2545, - 2509, - 2545, - 2541, - 2545, - 2572, - 2545, - 2603, - 2545, - 2634, - 2545, - 2664, - 2545, - 2692, - 2545, - 2700, - 2545, - 2700, - 2544, - 2692, - 2545, - 2664, - 2547, - 2634, - 2549, - 2603, - 2551, - 2573, - 2553, - 2543, - 2554, - 2512, - 2556, - 2501, - 2556, - 2505, - 2556, - 2500, - 2552, - 2480, - 2547, - 2469, - 2549, - 2464, - 2554, - 2460, - 2555, - 2435, - 2554, - 2426, - 2554, - 2424, - 2545, - 2427, - 2535, - 2429, - 2533, - 2451, - 2533, - 2481, - 2533, - 2512, - 2533, - 2543, - 2534, - 2574, - 2534, - 2605, - 2533, - 2635, - 2533, - 2666, - 2533, - 2688, - 2533, - 2699, - 2535, - 2720, - 2538, - 2724, - 2539, - 2734, - 2538, - 2732, - 2538, - 2733, - 2532, - 2730, - 2529, - 2726, - 2522, - 2727, - 2526, - 2720, - 2525, - 2717, - 2525, - 2713, - 2528, - 2701, - 2530, - 2693, - 2523, - 2692, - 2522, - 2676, - 2522, - 2656, - 2522, - 2636, - 2523, - 2616, - 2523, - 2596, - 2522, - 2576, - 2522, - 2556, - 2522, - 2535, - 2523 - ], - "type": "path" - }, - { - "__class": "PointMapEntity", - "metaData": {}, - "points": [ - 2560, - 2595 - ], - "type": "charger_location" - }, - { - "__class": "PointMapEntity", - "metaData": { - "angle": 267 - }, - "points": [ - 2523, - 2523 - ], - "type": "robot_position" - } - ] -} diff --git a/backend/test/lib/robots/roborock/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin b/backend/test/lib/robots/roborock/res/map/S5_FW2008_with_forbidden_zones_and_virtual_walls_and_currently_cleaned_zones.bin deleted file mode 100644 index 1213728a439987054124f2c4d25c1acce14b82fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71838 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 UeSKr0Q+s3I&ZWCc|6RNLe?mH?R{#J2 diff --git a/backend/test/lib/robots/roborock/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.json b/backend/test/lib/robots/roborock/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.json deleted file mode 100644 index 088eb86d..00000000 --- a/backend/test/lib/robots/roborock/res/map/S6_FW2652_with_active_segment_and_no_mop_zone.json +++ /dev/null @@ -1,5188 +0,0 @@ -{ - "__class": "ValetudoMap", - "metaData": { - "vendorMapId": 804, - "version": 2, - "totalLayerArea": 503575 - }, - "size": { - "x": 5120, - "y": 5120 - }, - "pixelSize": 5, - "layers": [ - { - "__class": "MapLayer", - "metaData": { - "area": 150 - }, - "type": "floor", - "pixels": [], - "compressedPixels": [ - 695, - 398, - 1, - 695, - 399, - 1, - 695, - 400, - 1, - 695, - 401, - 1, - 695, - 402, - 1, - 695, - 403, - 1 - ], - "dimensions": { - "x": { - "min": 695, - "max": 695, - "mid": 695, - "avg": 695 - }, - "y": { - "min": 398, - "max": 403, - "mid": 401, - "avg": 401 - }, - "pixelCount": 6 - } - }, - { - "__class": "MapLayer", - "metaData": { - "area": 43600 - }, - "type": "wall", - "pixels": [], - "compressedPixels": [ - 674, - 397, - 23, - 674, - 398, - 1, - 696, - 398, - 1, - 674, - 399, - 1, - 696, - 399, - 1, - 674, - 400, - 1, - 696, - 400, - 1, - 674, - 401, - 1, - 696, - 401, - 1, - 674, - 402, - 1, - 696, - 402, - 1, - 541, - 403, - 10, - 674, - 403, - 1, - 696, - 403, - 1, - 515, - 404, - 27, - 550, - 404, - 1, - 590, - 404, - 15, - 634, - 404, - 41, - 696, - 404, - 1, - 515, - 405, - 1, - 530, - 405, - 1, - 550, - 405, - 1, - 590, - 405, - 1, - 604, - 405, - 2, - 613, - 405, - 22, - 696, - 405, - 1, - 515, - 406, - 1, - 530, - 406, - 1, - 550, - 406, - 2, - 590, - 406, - 1, - 605, - 406, - 1, - 613, - 406, - 1, - 634, - 406, - 1, - 696, - 406, - 1, - 515, - 407, - 1, - 590, - 407, - 1, - 605, - 407, - 2, - 613, - 407, - 1, - 634, - 407, - 1, - 696, - 407, - 1, - 515, - 408, - 1, - 590, - 408, - 1, - 606, - 408, - 2, - 613, - 408, - 1, - 634, - 408, - 1, - 696, - 408, - 1, - 515, - 409, - 1, - 535, - 409, - 1, - 590, - 409, - 1, - 613, - 409, - 1, - 634, - 409, - 1, - 696, - 409, - 1, - 515, - 410, - 1, - 523, - 410, - 1, - 535, - 410, - 1, - 563, - 410, - 1, - 590, - 410, - 1, - 598, - 410, - 4, - 613, - 410, - 1, - 634, - 410, - 1, - 696, - 410, - 1, - 515, - 411, - 1, - 519, - 411, - 1, - 530, - 411, - 2, - 535, - 411, - 2, - 564, - 411, - 1, - 590, - 411, - 1, - 598, - 411, - 1, - 601, - 411, - 1, - 613, - 411, - 3, - 631, - 411, - 4, - 696, - 411, - 1, - 515, - 412, - 1, - 524, - 412, - 1, - 535, - 412, - 1, - 554, - 412, - 2, - 559, - 412, - 5, - 590, - 412, - 1, - 598, - 412, - 1, - 601, - 412, - 1, - 607, - 412, - 1, - 609, - 412, - 1, - 612, - 412, - 2, - 696, - 412, - 1, - 515, - 413, - 1, - 531, - 413, - 1, - 535, - 413, - 1, - 590, - 413, - 1, - 598, - 413, - 1, - 601, - 413, - 1, - 607, - 413, - 1, - 609, - 413, - 1, - 612, - 413, - 1, - 696, - 413, - 1, - 515, - 414, - 1, - 525, - 414, - 1, - 527, - 414, - 1, - 529, - 414, - 1, - 535, - 414, - 1, - 590, - 414, - 1, - 598, - 414, - 1, - 601, - 414, - 1, - 607, - 414, - 1, - 609, - 414, - 2, - 612, - 414, - 1, - 696, - 414, - 1, - 515, - 415, - 1, - 535, - 415, - 1, - 590, - 415, - 1, - 598, - 415, - 1, - 601, - 415, - 1, - 610, - 415, - 1, - 612, - 415, - 1, - 696, - 415, - 1, - 502, - 416, - 14, - 535, - 416, - 1, - 590, - 416, - 1, - 598, - 416, - 1, - 601, - 416, - 1, - 610, - 416, - 1, - 612, - 416, - 1, - 696, - 416, - 1, - 502, - 417, - 1, - 535, - 417, - 1, - 590, - 417, - 1, - 598, - 417, - 1, - 601, - 417, - 1, - 609, - 417, - 2, - 612, - 417, - 1, - 696, - 417, - 1, - 502, - 418, - 1, - 535, - 418, - 1, - 590, - 418, - 1, - 598, - 418, - 1, - 601, - 418, - 1, - 609, - 418, - 4, - 696, - 418, - 1, - 502, - 419, - 1, - 535, - 419, - 1, - 590, - 419, - 1, - 598, - 419, - 4, - 610, - 419, - 1, - 696, - 419, - 1, - 502, - 420, - 1, - 535, - 420, - 1, - 590, - 420, - 1, - 610, - 420, - 1, - 696, - 420, - 1, - 502, - 421, - 1, - 535, - 421, - 1, - 590, - 421, - 1, - 610, - 421, - 1, - 696, - 421, - 1, - 502, - 422, - 1, - 535, - 422, - 1, - 590, - 422, - 1, - 610, - 422, - 1, - 696, - 422, - 1, - 502, - 423, - 1, - 531, - 423, - 1, - 534, - 423, - 2, - 590, - 423, - 1, - 610, - 423, - 1, - 696, - 423, - 1, - 502, - 424, - 1, - 531, - 424, - 1, - 534, - 424, - 1, - 590, - 424, - 1, - 610, - 424, - 1, - 696, - 424, - 1, - 502, - 425, - 1, - 530, - 425, - 2, - 534, - 425, - 1, - 590, - 425, - 1, - 610, - 425, - 1, - 696, - 425, - 1, - 502, - 426, - 1, - 530, - 426, - 2, - 534, - 426, - 2, - 590, - 426, - 1, - 610, - 426, - 1, - 696, - 426, - 1, - 502, - 427, - 9, - 530, - 427, - 1, - 535, - 427, - 1, - 590, - 427, - 1, - 610, - 427, - 1, - 696, - 427, - 1, - 503, - 428, - 1, - 508, - 428, - 3, - 530, - 428, - 1, - 535, - 428, - 1, - 590, - 428, - 1, - 610, - 428, - 1, - 696, - 428, - 1, - 503, - 429, - 1, - 507, - 429, - 4, - 530, - 429, - 1, - 535, - 429, - 1, - 590, - 429, - 1, - 610, - 429, - 1, - 696, - 429, - 1, - 503, - 430, - 1, - 530, - 430, - 1, - 535, - 430, - 1, - 590, - 430, - 1, - 610, - 430, - 1, - 696, - 430, - 1, - 503, - 431, - 1, - 507, - 431, - 9, - 530, - 431, - 1, - 535, - 431, - 1, - 590, - 431, - 1, - 596, - 431, - 17, - 696, - 431, - 1, - 503, - 432, - 5, - 515, - 432, - 1, - 530, - 432, - 1, - 535, - 432, - 1, - 590, - 432, - 1, - 596, - 432, - 1, - 612, - 432, - 1, - 696, - 432, - 1, - 515, - 433, - 1, - 530, - 433, - 1, - 535, - 433, - 1, - 590, - 433, - 7, - 612, - 433, - 1, - 696, - 433, - 1, - 515, - 434, - 1, - 530, - 434, - 1, - 535, - 434, - 1, - 612, - 434, - 19, - 646, - 434, - 31, - 693, - 434, - 4, - 515, - 435, - 1, - 530, - 435, - 1, - 535, - 435, - 1, - 630, - 435, - 1, - 646, - 435, - 1, - 674, - 435, - 1, - 676, - 435, - 1, - 693, - 435, - 1, - 515, - 436, - 1, - 517, - 436, - 1, - 530, - 436, - 1, - 590, - 436, - 40, - 645, - 436, - 15, - 674, - 436, - 1, - 676, - 436, - 1, - 693, - 436, - 2, - 516, - 437, - 2, - 530, - 437, - 2, - 590, - 437, - 1, - 619, - 437, - 1, - 645, - 437, - 1, - 659, - 437, - 1, - 670, - 437, - 7, - 694, - 437, - 2, - 512, - 438, - 6, - 530, - 438, - 6, - 590, - 438, - 1, - 619, - 438, - 1, - 645, - 438, - 1, - 659, - 438, - 1, - 666, - 438, - 1, - 669, - 438, - 2, - 674, - 438, - 1, - 676, - 438, - 1, - 695, - 438, - 1, - 512, - 439, - 1, - 516, - 439, - 2, - 535, - 439, - 1, - 581, - 439, - 10, - 645, - 439, - 1, - 659, - 439, - 1, - 666, - 439, - 1, - 670, - 439, - 1, - 674, - 439, - 1, - 695, - 439, - 1, - 512, - 440, - 1, - 535, - 440, - 1, - 581, - 440, - 1, - 645, - 440, - 1, - 659, - 440, - 1, - 666, - 440, - 1, - 670, - 440, - 1, - 674, - 440, - 1, - 695, - 440, - 1, - 512, - 441, - 1, - 535, - 441, - 1, - 581, - 441, - 1, - 645, - 441, - 1, - 659, - 441, - 5, - 666, - 441, - 1, - 670, - 441, - 1, - 674, - 441, - 1, - 695, - 441, - 1, - 512, - 442, - 1, - 535, - 442, - 1, - 581, - 442, - 1, - 645, - 442, - 1, - 663, - 442, - 1, - 666, - 442, - 1, - 670, - 442, - 1, - 674, - 442, - 1, - 695, - 442, - 1, - 512, - 443, - 1, - 535, - 443, - 1, - 581, - 443, - 1, - 645, - 443, - 1, - 663, - 443, - 1, - 666, - 443, - 1, - 670, - 443, - 1, - 674, - 443, - 1, - 695, - 443, - 1, - 512, - 444, - 1, - 535, - 444, - 1, - 581, - 444, - 1, - 597, - 444, - 2, - 619, - 444, - 2, - 645, - 444, - 1, - 663, - 444, - 1, - 666, - 444, - 1, - 670, - 444, - 1, - 674, - 444, - 1, - 695, - 444, - 1, - 512, - 445, - 1, - 535, - 445, - 1, - 581, - 445, - 1, - 645, - 445, - 1, - 663, - 445, - 1, - 666, - 445, - 1, - 670, - 445, - 1, - 674, - 445, - 1, - 695, - 445, - 1, - 512, - 446, - 1, - 535, - 446, - 1, - 581, - 446, - 1, - 645, - 446, - 1, - 663, - 446, - 1, - 666, - 446, - 1, - 670, - 446, - 1, - 674, - 446, - 1, - 695, - 446, - 1, - 512, - 447, - 1, - 535, - 447, - 1, - 581, - 447, - 1, - 645, - 447, - 1, - 663, - 447, - 1, - 666, - 447, - 1, - 670, - 447, - 1, - 674, - 447, - 1, - 695, - 447, - 1, - 512, - 448, - 1, - 535, - 448, - 1, - 581, - 448, - 1, - 645, - 448, - 1, - 663, - 448, - 1, - 666, - 448, - 9, - 695, - 448, - 1, - 512, - 449, - 1, - 535, - 449, - 1, - 581, - 449, - 1, - 645, - 449, - 1, - 663, - 449, - 1, - 666, - 449, - 1, - 674, - 449, - 1, - 695, - 449, - 1, - 512, - 450, - 1, - 535, - 450, - 1, - 581, - 450, - 1, - 645, - 450, - 1, - 663, - 450, - 1, - 666, - 450, - 1, - 674, - 450, - 1, - 695, - 450, - 1, - 512, - 451, - 1, - 535, - 451, - 45, - 581, - 451, - 1, - 645, - 451, - 1, - 663, - 451, - 1, - 666, - 451, - 1, - 674, - 451, - 1, - 695, - 451, - 1, - 512, - 452, - 1, - 579, - 452, - 1, - 581, - 452, - 1, - 663, - 452, - 1, - 666, - 452, - 1, - 674, - 452, - 1, - 695, - 452, - 1, - 512, - 453, - 1, - 579, - 453, - 1, - 581, - 453, - 1, - 663, - 453, - 1, - 666, - 453, - 1, - 674, - 453, - 1, - 695, - 453, - 1, - 512, - 454, - 1, - 579, - 454, - 1, - 581, - 454, - 1, - 663, - 454, - 1, - 666, - 454, - 1, - 674, - 454, - 1, - 695, - 454, - 1, - 512, - 455, - 1, - 560, - 455, - 6, - 579, - 455, - 1, - 581, - 455, - 1, - 663, - 455, - 1, - 666, - 455, - 1, - 674, - 455, - 1, - 695, - 455, - 1, - 512, - 456, - 1, - 564, - 456, - 11, - 577, - 456, - 5, - 663, - 456, - 1, - 666, - 456, - 1, - 695, - 456, - 1, - 512, - 457, - 1, - 573, - 457, - 5, - 663, - 457, - 1, - 666, - 457, - 1, - 695, - 457, - 1, - 512, - 458, - 1, - 569, - 458, - 4, - 663, - 458, - 1, - 666, - 458, - 1, - 695, - 458, - 1, - 512, - 459, - 1, - 565, - 459, - 4, - 663, - 459, - 1, - 666, - 459, - 1, - 695, - 459, - 1, - 512, - 460, - 1, - 562, - 460, - 5, - 663, - 460, - 1, - 666, - 460, - 1, - 695, - 460, - 1, - 512, - 461, - 1, - 663, - 461, - 1, - 666, - 461, - 1, - 695, - 461, - 1, - 512, - 462, - 1, - 658, - 462, - 6, - 666, - 462, - 1, - 695, - 462, - 1, - 512, - 463, - 1, - 658, - 463, - 1, - 666, - 463, - 1, - 695, - 463, - 1, - 501, - 464, - 12, - 658, - 464, - 1, - 666, - 464, - 1, - 695, - 464, - 1, - 501, - 465, - 1, - 658, - 465, - 1, - 666, - 465, - 1, - 695, - 465, - 1, - 501, - 466, - 1, - 523, - 466, - 1, - 658, - 466, - 1, - 666, - 466, - 1, - 695, - 466, - 1, - 501, - 467, - 1, - 658, - 467, - 1, - 666, - 467, - 1, - 695, - 467, - 1, - 501, - 468, - 1, - 658, - 468, - 1, - 666, - 468, - 1, - 695, - 468, - 1, - 501, - 469, - 1, - 519, - 469, - 1, - 527, - 469, - 1, - 534, - 469, - 1, - 658, - 469, - 1, - 666, - 469, - 1, - 695, - 469, - 1, - 501, - 470, - 1, - 658, - 470, - 1, - 666, - 470, - 1, - 695, - 470, - 1, - 501, - 471, - 1, - 656, - 471, - 3, - 666, - 471, - 1, - 695, - 471, - 1, - 501, - 472, - 1, - 524, - 472, - 1, - 656, - 472, - 1, - 666, - 472, - 1, - 695, - 472, - 1, - 501, - 473, - 1, - 579, - 473, - 3, - 655, - 473, - 2, - 666, - 473, - 1, - 695, - 473, - 1, - 501, - 474, - 1, - 579, - 474, - 1, - 581, - 474, - 1, - 655, - 474, - 1, - 666, - 474, - 1, - 695, - 474, - 1, - 501, - 475, - 1, - 527, - 475, - 3, - 579, - 475, - 1, - 581, - 475, - 1, - 655, - 475, - 1, - 666, - 475, - 1, - 695, - 475, - 1, - 501, - 476, - 1, - 579, - 476, - 1, - 581, - 476, - 1, - 655, - 476, - 1, - 666, - 476, - 1, - 695, - 476, - 1, - 501, - 477, - 1, - 579, - 477, - 1, - 581, - 477, - 1, - 655, - 477, - 1, - 666, - 477, - 1, - 695, - 477, - 1, - 501, - 478, - 1, - 579, - 478, - 1, - 581, - 478, - 1, - 655, - 478, - 1, - 666, - 478, - 1, - 695, - 478, - 1, - 501, - 479, - 1, - 518, - 479, - 1, - 579, - 479, - 1, - 581, - 479, - 1, - 655, - 479, - 1, - 666, - 479, - 1, - 695, - 479, - 1, - 501, - 480, - 1, - 579, - 480, - 1, - 581, - 480, - 1, - 655, - 480, - 1, - 666, - 480, - 1, - 695, - 480, - 1, - 501, - 481, - 1, - 504, - 481, - 4, - 541, - 481, - 5, - 579, - 481, - 1, - 581, - 481, - 1, - 655, - 481, - 1, - 666, - 481, - 1, - 695, - 481, - 1, - 501, - 482, - 1, - 504, - 482, - 4, - 541, - 482, - 2, - 545, - 482, - 1, - 579, - 482, - 1, - 581, - 482, - 1, - 655, - 482, - 1, - 666, - 482, - 1, - 695, - 482, - 1, - 502, - 483, - 3, - 541, - 483, - 2, - 545, - 483, - 1, - 579, - 483, - 1, - 581, - 483, - 1, - 624, - 483, - 1, - 655, - 483, - 1, - 666, - 483, - 1, - 695, - 483, - 1, - 503, - 484, - 1, - 505, - 484, - 1, - 541, - 484, - 2, - 545, - 484, - 1, - 579, - 484, - 1, - 581, - 484, - 1, - 623, - 484, - 2, - 655, - 484, - 1, - 666, - 484, - 1, - 695, - 484, - 1, - 503, - 485, - 1, - 541, - 485, - 1, - 579, - 485, - 1, - 581, - 485, - 1, - 655, - 485, - 1, - 666, - 485, - 1, - 695, - 485, - 1, - 503, - 486, - 1, - 541, - 486, - 1, - 579, - 486, - 1, - 581, - 486, - 1, - 586, - 486, - 8, - 655, - 486, - 1, - 666, - 486, - 1, - 695, - 486, - 1, - 503, - 487, - 1, - 541, - 487, - 1, - 579, - 487, - 1, - 581, - 487, - 1, - 593, - 487, - 1, - 655, - 487, - 1, - 666, - 487, - 1, - 695, - 487, - 1, - 503, - 488, - 1, - 541, - 488, - 2, - 579, - 488, - 1, - 581, - 488, - 1, - 593, - 488, - 1, - 655, - 488, - 1, - 666, - 488, - 1, - 695, - 488, - 1, - 503, - 489, - 1, - 541, - 489, - 2, - 579, - 489, - 1, - 581, - 489, - 1, - 593, - 489, - 1, - 655, - 489, - 1, - 666, - 489, - 1, - 695, - 489, - 1, - 503, - 490, - 1, - 541, - 490, - 2, - 579, - 490, - 1, - 581, - 490, - 1, - 588, - 490, - 20, - 655, - 490, - 1, - 666, - 490, - 1, - 695, - 490, - 1, - 503, - 491, - 1, - 541, - 491, - 1, - 579, - 491, - 1, - 581, - 491, - 1, - 588, - 491, - 1, - 607, - 491, - 1, - 655, - 491, - 1, - 666, - 491, - 1, - 695, - 491, - 1, - 503, - 492, - 1, - 540, - 492, - 2, - 579, - 492, - 1, - 581, - 492, - 1, - 588, - 492, - 1, - 607, - 492, - 1, - 655, - 492, - 1, - 666, - 492, - 1, - 695, - 492, - 1, - 503, - 493, - 1, - 539, - 493, - 1, - 541, - 493, - 2, - 579, - 493, - 1, - 581, - 493, - 1, - 588, - 493, - 1, - 607, - 493, - 1, - 655, - 493, - 1, - 666, - 493, - 1, - 695, - 493, - 1, - 503, - 494, - 1, - 539, - 494, - 1, - 541, - 494, - 2, - 579, - 494, - 1, - 581, - 494, - 1, - 588, - 494, - 1, - 607, - 494, - 1, - 655, - 494, - 1, - 666, - 494, - 1, - 695, - 494, - 1, - 503, - 495, - 2, - 538, - 495, - 1, - 541, - 495, - 2, - 579, - 495, - 1, - 581, - 495, - 1, - 588, - 495, - 1, - 607, - 495, - 1, - 655, - 495, - 1, - 666, - 495, - 1, - 695, - 495, - 1, - 504, - 496, - 1, - 541, - 496, - 1, - 579, - 496, - 1, - 581, - 496, - 8, - 607, - 496, - 1, - 655, - 496, - 1, - 666, - 496, - 1, - 695, - 496, - 1, - 503, - 497, - 2, - 541, - 497, - 1, - 579, - 497, - 1, - 607, - 497, - 1, - 655, - 497, - 1, - 666, - 497, - 1, - 695, - 497, - 1, - 503, - 498, - 1, - 541, - 498, - 1, - 579, - 498, - 1, - 607, - 498, - 1, - 655, - 498, - 1, - 666, - 498, - 1, - 695, - 498, - 1, - 503, - 499, - 1, - 541, - 499, - 1, - 579, - 499, - 1, - 607, - 499, - 1, - 655, - 499, - 1, - 666, - 499, - 1, - 695, - 499, - 1, - 503, - 500, - 2, - 541, - 500, - 1, - 579, - 500, - 1, - 607, - 500, - 1, - 655, - 500, - 9, - 666, - 500, - 1, - 695, - 500, - 1, - 504, - 501, - 1, - 541, - 501, - 1, - 579, - 501, - 1, - 607, - 501, - 1, - 663, - 501, - 1, - 666, - 501, - 1, - 695, - 501, - 1, - 504, - 502, - 1, - 541, - 502, - 1, - 579, - 502, - 1, - 607, - 502, - 1, - 663, - 502, - 1, - 666, - 502, - 1, - 695, - 502, - 1, - 504, - 503, - 1, - 541, - 503, - 1, - 579, - 503, - 1, - 607, - 503, - 1, - 663, - 503, - 1, - 666, - 503, - 1, - 695, - 503, - 1, - 504, - 504, - 1, - 541, - 504, - 1, - 579, - 504, - 1, - 607, - 504, - 1, - 663, - 504, - 1, - 666, - 504, - 1, - 695, - 504, - 1, - 504, - 505, - 1, - 541, - 505, - 1, - 579, - 505, - 1, - 607, - 505, - 1, - 653, - 505, - 3, - 663, - 505, - 1, - 666, - 505, - 1, - 695, - 505, - 1, - 504, - 506, - 1, - 541, - 506, - 1, - 579, - 506, - 1, - 607, - 506, - 36, - 653, - 506, - 3, - 663, - 506, - 1, - 666, - 506, - 1, - 695, - 506, - 1, - 504, - 507, - 1, - 541, - 507, - 1, - 579, - 507, - 1, - 642, - 507, - 1, - 653, - 507, - 2, - 663, - 507, - 1, - 666, - 507, - 1, - 695, - 507, - 1, - 504, - 508, - 1, - 541, - 508, - 1, - 579, - 508, - 1, - 642, - 508, - 1, - 652, - 508, - 2, - 663, - 508, - 1, - 666, - 508, - 1, - 695, - 508, - 1, - 504, - 509, - 1, - 541, - 509, - 1, - 579, - 509, - 1, - 642, - 509, - 1, - 651, - 509, - 2, - 663, - 509, - 1, - 666, - 509, - 1, - 695, - 509, - 1, - 504, - 510, - 1, - 541, - 510, - 1, - 579, - 510, - 1, - 642, - 510, - 1, - 651, - 510, - 2, - 663, - 510, - 1, - 666, - 510, - 1, - 695, - 510, - 13, - 504, - 511, - 2, - 541, - 511, - 1, - 579, - 511, - 1, - 642, - 511, - 1, - 663, - 511, - 1, - 666, - 511, - 1, - 701, - 511, - 1, - 707, - 511, - 1, - 504, - 512, - 2, - 541, - 512, - 1, - 579, - 512, - 1, - 642, - 512, - 1, - 655, - 512, - 2, - 663, - 512, - 1, - 666, - 512, - 1, - 701, - 512, - 1, - 707, - 512, - 1, - 504, - 513, - 1, - 541, - 513, - 1, - 579, - 513, - 1, - 642, - 513, - 1, - 663, - 513, - 1, - 666, - 513, - 1, - 701, - 513, - 1, - 707, - 513, - 1, - 504, - 514, - 1, - 541, - 514, - 1, - 579, - 514, - 1, - 642, - 514, - 1, - 648, - 514, - 2, - 663, - 514, - 1, - 666, - 514, - 1, - 701, - 514, - 1, - 707, - 514, - 1, - 504, - 515, - 2, - 541, - 515, - 2, - 545, - 515, - 1, - 579, - 515, - 1, - 642, - 515, - 1, - 647, - 515, - 3, - 663, - 515, - 1, - 666, - 515, - 1, - 701, - 515, - 7, - 504, - 516, - 2, - 541, - 516, - 2, - 545, - 516, - 1, - 579, - 516, - 1, - 642, - 516, - 1, - 647, - 516, - 1, - 650, - 516, - 2, - 663, - 516, - 1, - 666, - 516, - 1, - 707, - 516, - 1, - 502, - 517, - 1, - 504, - 517, - 2, - 541, - 517, - 2, - 545, - 517, - 1, - 579, - 517, - 1, - 642, - 517, - 6, - 650, - 517, - 1, - 663, - 517, - 1, - 666, - 517, - 1, - 707, - 517, - 1, - 500, - 518, - 8, - 541, - 518, - 5, - 555, - 518, - 1, - 579, - 518, - 1, - 642, - 518, - 1, - 647, - 518, - 1, - 650, - 518, - 1, - 663, - 518, - 1, - 666, - 518, - 1, - 707, - 518, - 1, - 500, - 519, - 1, - 555, - 519, - 1, - 579, - 519, - 1, - 642, - 519, - 1, - 647, - 519, - 1, - 650, - 519, - 1, - 663, - 519, - 1, - 666, - 519, - 1, - 707, - 519, - 1, - 500, - 520, - 1, - 579, - 520, - 1, - 642, - 520, - 1, - 647, - 520, - 6, - 663, - 520, - 1, - 666, - 520, - 1, - 707, - 520, - 1, - 500, - 521, - 1, - 579, - 521, - 1, - 642, - 521, - 1, - 650, - 521, - 1, - 663, - 521, - 1, - 666, - 521, - 1, - 691, - 521, - 1, - 707, - 521, - 1, - 500, - 522, - 1, - 579, - 522, - 1, - 642, - 522, - 1, - 650, - 522, - 1, - 655, - 522, - 1, - 663, - 522, - 1, - 666, - 522, - 1, - 707, - 522, - 1, - 500, - 523, - 1, - 579, - 523, - 1, - 642, - 523, - 1, - 647, - 523, - 4, - 663, - 523, - 1, - 666, - 523, - 1, - 707, - 523, - 1, - 500, - 524, - 1, - 579, - 524, - 1, - 642, - 524, - 1, - 663, - 524, - 1, - 666, - 524, - 1, - 707, - 524, - 1, - 500, - 525, - 1, - 579, - 525, - 1, - 642, - 525, - 1, - 663, - 525, - 1, - 666, - 525, - 1, - 707, - 525, - 1, - 500, - 526, - 1, - 579, - 526, - 1, - 642, - 526, - 1, - 663, - 526, - 1, - 666, - 526, - 1, - 707, - 526, - 1, - 500, - 527, - 1, - 579, - 527, - 1, - 642, - 527, - 1, - 663, - 527, - 1, - 666, - 527, - 1, - 707, - 527, - 1, - 500, - 528, - 1, - 579, - 528, - 1, - 642, - 528, - 1, - 663, - 528, - 1, - 666, - 528, - 1, - 682, - 528, - 1, - 707, - 528, - 1, - 500, - 529, - 1, - 555, - 529, - 1, - 579, - 529, - 1, - 642, - 529, - 1, - 650, - 529, - 1, - 663, - 529, - 1, - 666, - 529, - 1, - 707, - 529, - 1, - 500, - 530, - 1, - 555, - 530, - 1, - 579, - 530, - 1, - 642, - 530, - 1, - 650, - 530, - 1, - 663, - 530, - 1, - 666, - 530, - 2, - 707, - 530, - 1, - 500, - 531, - 1, - 579, - 531, - 1, - 642, - 531, - 1, - 659, - 531, - 1, - 663, - 531, - 1, - 666, - 531, - 1, - 668, - 531, - 1, - 707, - 531, - 1, - 500, - 532, - 47, - 579, - 532, - 1, - 642, - 532, - 1, - 659, - 532, - 1, - 663, - 532, - 1, - 666, - 532, - 3, - 707, - 532, - 1, - 546, - 533, - 34, - 642, - 533, - 22, - 668, - 533, - 1, - 707, - 533, - 1, - 668, - 534, - 40 - ], - "dimensions": { - "x": { - "min": 500, - "max": 707, - "mid": 604, - "avg": 605 - }, - "y": { - "min": 397, - "max": 534, - "mid": 466, - "avg": 466 - }, - "pixelCount": 1744 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "16", - "active": false, - "area": 10800 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 591, - 405, - 13, - 591, - 406, - 14, - 591, - 407, - 14, - 591, - 408, - 15, - 591, - 409, - 19, - 591, - 410, - 7, - 602, - 410, - 7, - 591, - 411, - 7, - 602, - 411, - 5, - 591, - 412, - 7, - 602, - 412, - 5, - 608, - 412, - 1, - 591, - 413, - 7, - 602, - 413, - 5, - 608, - 413, - 1, - 591, - 414, - 7, - 602, - 414, - 5, - 608, - 414, - 1, - 591, - 415, - 7, - 602, - 415, - 8, - 591, - 416, - 7, - 602, - 416, - 8, - 591, - 417, - 7, - 602, - 417, - 7, - 591, - 418, - 7, - 602, - 418, - 7, - 591, - 419, - 7, - 602, - 419, - 8, - 591, - 420, - 19, - 591, - 421, - 19, - 591, - 422, - 19, - 591, - 423, - 19, - 591, - 424, - 19, - 591, - 425, - 19, - 591, - 426, - 19, - 591, - 427, - 19, - 591, - 428, - 19, - 591, - 429, - 19, - 591, - 430, - 19, - 591, - 431, - 5, - 591, - 432, - 5 - ], - "dimensions": { - "x": { - "min": 591, - "max": 609, - "mid": 600, - "avg": 599 - }, - "y": { - "min": 405, - "max": 432, - "mid": 419, - "avg": 419 - }, - "pixelCount": 432 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "17", - "active": true, - "area": 134650 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 631, - 435, - 15, - 630, - 436, - 15, - 591, - 437, - 28, - 620, - 437, - 25, - 646, - 437, - 13, - 591, - 438, - 28, - 620, - 438, - 25, - 646, - 438, - 13, - 591, - 439, - 54, - 646, - 439, - 13, - 582, - 440, - 63, - 646, - 440, - 13, - 582, - 441, - 63, - 646, - 441, - 13, - 582, - 442, - 63, - 646, - 442, - 17, - 582, - 443, - 63, - 646, - 443, - 17, - 582, - 444, - 15, - 599, - 444, - 20, - 621, - 444, - 24, - 646, - 444, - 17, - 582, - 445, - 63, - 646, - 445, - 17, - 582, - 446, - 63, - 646, - 446, - 17, - 582, - 447, - 63, - 646, - 447, - 17, - 582, - 448, - 63, - 646, - 448, - 17, - 582, - 449, - 63, - 646, - 449, - 17, - 582, - 450, - 63, - 646, - 450, - 17, - 582, - 451, - 63, - 646, - 451, - 17, - 582, - 452, - 81, - 582, - 453, - 81, - 582, - 454, - 81, - 582, - 455, - 81, - 582, - 456, - 81, - 580, - 457, - 83, - 580, - 458, - 83, - 580, - 459, - 83, - 580, - 460, - 83, - 580, - 461, - 83, - 580, - 462, - 78, - 580, - 463, - 78, - 580, - 464, - 78, - 580, - 465, - 78, - 580, - 466, - 78, - 580, - 467, - 78, - 580, - 468, - 78, - 580, - 469, - 78, - 580, - 470, - 78, - 580, - 471, - 76, - 580, - 472, - 76, - 582, - 473, - 73, - 582, - 474, - 73, - 582, - 475, - 73, - 582, - 476, - 73, - 582, - 477, - 73, - 582, - 478, - 73, - 582, - 479, - 73, - 582, - 480, - 73, - 582, - 481, - 73, - 582, - 482, - 73, - 582, - 483, - 42, - 625, - 483, - 30, - 582, - 484, - 41, - 625, - 484, - 30, - 582, - 485, - 73, - 582, - 486, - 4, - 594, - 486, - 61, - 582, - 487, - 11, - 594, - 487, - 37, - 632, - 487, - 23, - 582, - 488, - 11, - 594, - 488, - 61, - 582, - 489, - 11, - 594, - 489, - 61, - 582, - 490, - 6, - 608, - 490, - 47, - 582, - 491, - 6, - 608, - 491, - 47, - 582, - 492, - 6, - 608, - 492, - 47, - 582, - 493, - 6, - 608, - 493, - 47, - 582, - 494, - 6, - 608, - 494, - 47, - 582, - 495, - 6, - 608, - 495, - 47, - 608, - 496, - 47, - 608, - 497, - 47, - 608, - 498, - 47, - 608, - 499, - 47, - 608, - 500, - 47, - 608, - 501, - 55, - 608, - 502, - 55, - 608, - 503, - 55, - 608, - 504, - 55, - 608, - 505, - 45, - 656, - 505, - 7, - 643, - 506, - 10, - 656, - 506, - 7, - 643, - 507, - 10, - 655, - 507, - 8, - 643, - 508, - 9, - 654, - 508, - 9, - 643, - 509, - 8, - 653, - 509, - 10, - 643, - 510, - 8, - 653, - 510, - 10, - 643, - 511, - 20, - 643, - 512, - 12, - 657, - 512, - 6, - 643, - 513, - 20, - 643, - 514, - 5, - 650, - 514, - 13, - 643, - 515, - 4, - 650, - 515, - 13, - 643, - 516, - 4, - 652, - 516, - 11, - 651, - 517, - 12, - 643, - 518, - 4, - 651, - 518, - 12, - 643, - 519, - 4, - 651, - 519, - 12, - 643, - 520, - 4, - 653, - 520, - 10, - 643, - 521, - 7, - 651, - 521, - 12, - 643, - 522, - 7, - 651, - 522, - 4, - 656, - 522, - 7, - 643, - 523, - 4, - 651, - 523, - 12, - 643, - 524, - 20, - 643, - 525, - 20, - 643, - 526, - 20, - 643, - 527, - 20, - 643, - 528, - 20, - 643, - 529, - 7, - 651, - 529, - 12, - 643, - 530, - 7, - 651, - 530, - 12, - 643, - 531, - 16, - 660, - 531, - 3, - 643, - 532, - 16, - 660, - 532, - 3 - ], - "dimensions": { - "x": { - "min": 580, - "max": 662, - "mid": 621, - "avg": 625 - }, - "y": { - "min": 435, - "max": 532, - "mid": 484, - "avg": 473 - }, - "pixelCount": 5386 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "18", - "active": false, - "area": 64100 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 675, - 398, - 20, - 675, - 399, - 20, - 675, - 400, - 20, - 675, - 401, - 20, - 675, - 402, - 20, - 675, - 403, - 20, - 675, - 404, - 21, - 635, - 405, - 61, - 614, - 406, - 20, - 635, - 406, - 61, - 614, - 407, - 20, - 635, - 407, - 61, - 614, - 408, - 20, - 635, - 408, - 61, - 614, - 409, - 20, - 635, - 409, - 61, - 614, - 410, - 20, - 635, - 410, - 61, - 616, - 411, - 15, - 635, - 411, - 61, - 614, - 412, - 82, - 613, - 413, - 83, - 613, - 414, - 83, - 613, - 415, - 83, - 613, - 416, - 83, - 613, - 417, - 83, - 613, - 418, - 83, - 611, - 419, - 85, - 611, - 420, - 85, - 611, - 421, - 85, - 611, - 422, - 85, - 611, - 423, - 85, - 611, - 424, - 85, - 611, - 425, - 85, - 611, - 426, - 85, - 611, - 427, - 85, - 611, - 428, - 85, - 611, - 429, - 85, - 611, - 430, - 85, - 613, - 431, - 83, - 613, - 432, - 83, - 613, - 433, - 83, - 631, - 434, - 15, - 677, - 434, - 16, - 675, - 435, - 1 - ], - "dimensions": { - "x": { - "min": 611, - "max": 695, - "mid": 653, - "avg": 656 - }, - "y": { - "min": 398, - "max": 435, - "mid": 417, - "avg": 418 - }, - "pixelCount": 2564 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "19", - "active": false, - "area": 154325 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 506, - 430, - 1, - 506, - 431, - 1, - 532, - 432, - 1, - 532, - 433, - 1, - 518, - 436, - 12, - 531, - 436, - 1, - 518, - 437, - 12, - 518, - 438, - 12, - 513, - 439, - 3, - 518, - 439, - 17, - 513, - 440, - 22, - 513, - 441, - 22, - 513, - 442, - 22, - 513, - 443, - 22, - 513, - 444, - 22, - 513, - 445, - 22, - 513, - 446, - 22, - 513, - 447, - 22, - 513, - 448, - 22, - 513, - 449, - 22, - 513, - 450, - 22, - 513, - 451, - 22, - 513, - 452, - 66, - 513, - 453, - 66, - 513, - 454, - 66, - 513, - 455, - 47, - 566, - 455, - 13, - 513, - 456, - 51, - 575, - 456, - 2, - 513, - 457, - 60, - 578, - 457, - 2, - 513, - 458, - 56, - 573, - 458, - 7, - 513, - 459, - 52, - 569, - 459, - 11, - 513, - 460, - 49, - 567, - 460, - 13, - 513, - 461, - 67, - 513, - 462, - 67, - 513, - 463, - 67, - 513, - 464, - 67, - 502, - 465, - 78, - 502, - 466, - 21, - 524, - 466, - 56, - 502, - 467, - 78, - 502, - 468, - 78, - 502, - 469, - 17, - 520, - 469, - 7, - 528, - 469, - 6, - 535, - 469, - 45, - 502, - 470, - 78, - 502, - 471, - 78, - 502, - 472, - 22, - 525, - 472, - 55, - 502, - 473, - 77, - 502, - 474, - 77, - 502, - 475, - 25, - 530, - 475, - 49, - 502, - 476, - 77, - 502, - 477, - 77, - 502, - 478, - 77, - 502, - 479, - 16, - 519, - 479, - 60, - 502, - 480, - 77, - 502, - 481, - 2, - 508, - 481, - 33, - 546, - 481, - 33, - 502, - 482, - 2, - 508, - 482, - 33, - 543, - 482, - 2, - 546, - 482, - 33, - 505, - 483, - 36, - 543, - 483, - 2, - 546, - 483, - 33, - 504, - 484, - 1, - 506, - 484, - 35, - 543, - 484, - 2, - 546, - 484, - 33, - 504, - 485, - 37, - 542, - 485, - 37, - 504, - 486, - 37, - 542, - 486, - 37, - 504, - 487, - 37, - 542, - 487, - 37, - 504, - 488, - 37, - 543, - 488, - 36, - 504, - 489, - 37, - 543, - 489, - 36, - 504, - 490, - 37, - 543, - 490, - 36, - 504, - 491, - 37, - 542, - 491, - 37, - 504, - 492, - 36, - 542, - 492, - 37, - 504, - 493, - 35, - 540, - 493, - 1, - 543, - 493, - 36, - 504, - 494, - 35, - 540, - 494, - 1, - 543, - 494, - 36, - 505, - 495, - 33, - 539, - 495, - 2, - 543, - 495, - 36, - 505, - 496, - 36, - 542, - 496, - 37, - 505, - 497, - 36, - 542, - 497, - 37, - 504, - 498, - 37, - 542, - 498, - 37, - 504, - 499, - 37, - 542, - 499, - 37, - 505, - 500, - 36, - 542, - 500, - 37, - 505, - 501, - 36, - 542, - 501, - 37, - 505, - 502, - 36, - 542, - 502, - 37, - 505, - 503, - 36, - 542, - 503, - 37, - 505, - 504, - 36, - 542, - 504, - 37, - 505, - 505, - 36, - 542, - 505, - 37, - 505, - 506, - 36, - 542, - 506, - 37, - 505, - 507, - 36, - 542, - 507, - 37, - 505, - 508, - 36, - 542, - 508, - 37, - 505, - 509, - 36, - 542, - 509, - 37, - 505, - 510, - 36, - 542, - 510, - 37, - 506, - 511, - 35, - 542, - 511, - 37, - 506, - 512, - 35, - 542, - 512, - 37, - 505, - 513, - 36, - 542, - 513, - 37, - 505, - 514, - 36, - 542, - 514, - 37, - 506, - 515, - 35, - 543, - 515, - 2, - 546, - 515, - 33, - 506, - 516, - 35, - 543, - 516, - 2, - 546, - 516, - 33, - 506, - 517, - 35, - 543, - 517, - 2, - 546, - 517, - 33, - 508, - 518, - 33, - 546, - 518, - 9, - 556, - 518, - 23, - 501, - 519, - 54, - 556, - 519, - 23, - 501, - 520, - 78, - 501, - 521, - 78, - 501, - 522, - 78, - 501, - 523, - 78, - 501, - 524, - 78, - 501, - 525, - 78, - 501, - 526, - 78, - 501, - 527, - 78, - 501, - 528, - 78, - 501, - 529, - 54, - 556, - 529, - 23, - 501, - 530, - 54, - 556, - 530, - 23, - 501, - 531, - 78, - 547, - 532, - 32 - ], - "dimensions": { - "x": { - "min": 501, - "max": 579, - "mid": 540, - "avg": 541 - }, - "y": { - "min": 430, - "max": 532, - "mid": 481, - "avg": 490 - }, - "pixelCount": 6173 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "20", - "active": false, - "area": 21975 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 542, - 404, - 8, - 516, - 405, - 14, - 531, - 405, - 19, - 516, - 406, - 14, - 531, - 406, - 19, - 516, - 407, - 37, - 516, - 408, - 41, - 516, - 409, - 19, - 536, - 409, - 28, - 516, - 410, - 7, - 524, - 410, - 11, - 536, - 410, - 1, - 540, - 410, - 23, - 516, - 411, - 3, - 520, - 411, - 10, - 532, - 411, - 3, - 544, - 411, - 20, - 516, - 412, - 8, - 525, - 412, - 10, - 549, - 412, - 5, - 516, - 413, - 15, - 532, - 413, - 3, - 553, - 413, - 5, - 516, - 414, - 9, - 526, - 414, - 1, - 528, - 414, - 1, - 530, - 414, - 5, - 516, - 415, - 19, - 516, - 416, - 19, - 503, - 417, - 32, - 503, - 418, - 32, - 503, - 419, - 32, - 503, - 420, - 32, - 503, - 421, - 32, - 503, - 422, - 32, - 503, - 423, - 28, - 532, - 423, - 2, - 503, - 424, - 28, - 532, - 424, - 2, - 503, - 425, - 27, - 532, - 425, - 2, - 503, - 426, - 27, - 532, - 426, - 2, - 511, - 427, - 19, - 531, - 427, - 4, - 504, - 428, - 4, - 511, - 428, - 19, - 531, - 428, - 4, - 504, - 429, - 2, - 511, - 429, - 19, - 531, - 429, - 4, - 504, - 430, - 2, - 507, - 430, - 23, - 531, - 430, - 4, - 504, - 431, - 2, - 516, - 431, - 14, - 531, - 431, - 4, - 516, - 432, - 14, - 531, - 432, - 1, - 533, - 432, - 2, - 516, - 433, - 14, - 531, - 433, - 1, - 533, - 433, - 2, - 516, - 434, - 14, - 531, - 434, - 1, - 533, - 434, - 2, - 516, - 435, - 14, - 531, - 435, - 1, - 534, - 435, - 1, - 516, - 436, - 1 - ], - "dimensions": { - "x": { - "min": 503, - "max": 563, - "mid": 533, - "avg": 526 - }, - "y": { - "min": 404, - "max": 436, - "mid": 420, - "avg": 418 - }, - "pixelCount": 879 - } - }, - { - "__class": "MapLayer", - "metaData": { - "segmentId": "21", - "active": false, - "area": 73975 - }, - "type": "segment", - "pixels": [], - "compressedPixels": [ - 677, - 435, - 16, - 675, - 436, - 1, - 677, - 436, - 16, - 677, - 437, - 17, - 667, - 438, - 2, - 671, - 438, - 3, - 675, - 438, - 1, - 677, - 438, - 18, - 667, - 439, - 3, - 671, - 439, - 3, - 675, - 439, - 20, - 667, - 440, - 3, - 671, - 440, - 3, - 675, - 440, - 20, - 667, - 441, - 3, - 671, - 441, - 3, - 675, - 441, - 20, - 667, - 442, - 3, - 671, - 442, - 3, - 675, - 442, - 20, - 667, - 443, - 3, - 671, - 443, - 3, - 675, - 443, - 20, - 667, - 444, - 3, - 671, - 444, - 3, - 675, - 444, - 20, - 667, - 445, - 3, - 671, - 445, - 3, - 675, - 445, - 20, - 667, - 446, - 3, - 671, - 446, - 3, - 675, - 446, - 20, - 667, - 447, - 3, - 671, - 447, - 3, - 675, - 447, - 20, - 675, - 448, - 20, - 667, - 449, - 7, - 675, - 449, - 20, - 667, - 450, - 7, - 675, - 450, - 20, - 667, - 451, - 7, - 675, - 451, - 20, - 667, - 452, - 7, - 675, - 452, - 20, - 667, - 453, - 7, - 675, - 453, - 20, - 667, - 454, - 7, - 675, - 454, - 20, - 667, - 455, - 7, - 675, - 455, - 20, - 667, - 456, - 28, - 667, - 457, - 28, - 667, - 458, - 28, - 667, - 459, - 28, - 667, - 460, - 28, - 667, - 461, - 28, - 667, - 462, - 28, - 667, - 463, - 28, - 667, - 464, - 28, - 667, - 465, - 28, - 667, - 466, - 28, - 667, - 467, - 28, - 667, - 468, - 28, - 667, - 469, - 28, - 667, - 470, - 28, - 667, - 471, - 28, - 667, - 472, - 28, - 667, - 473, - 28, - 667, - 474, - 28, - 667, - 475, - 28, - 667, - 476, - 28, - 667, - 477, - 28, - 667, - 478, - 28, - 667, - 479, - 28, - 667, - 480, - 28, - 667, - 481, - 28, - 667, - 482, - 28, - 667, - 483, - 28, - 667, - 484, - 28, - 667, - 485, - 28, - 667, - 486, - 28, - 667, - 487, - 28, - 667, - 488, - 28, - 667, - 489, - 28, - 667, - 490, - 28, - 667, - 491, - 28, - 667, - 492, - 28, - 667, - 493, - 28, - 667, - 494, - 28, - 667, - 495, - 28, - 667, - 496, - 28, - 667, - 497, - 28, - 667, - 498, - 28, - 667, - 499, - 28, - 667, - 500, - 28, - 667, - 501, - 28, - 667, - 502, - 28, - 667, - 503, - 28, - 667, - 504, - 28, - 667, - 505, - 28, - 667, - 506, - 28, - 667, - 507, - 28, - 667, - 508, - 28, - 667, - 509, - 28, - 667, - 510, - 28, - 667, - 511, - 34, - 702, - 511, - 5, - 667, - 512, - 34, - 702, - 512, - 5, - 667, - 513, - 34, - 702, - 513, - 5, - 667, - 514, - 34, - 702, - 514, - 5, - 667, - 515, - 34, - 667, - 516, - 40, - 667, - 517, - 40, - 667, - 518, - 40, - 667, - 519, - 40, - 667, - 520, - 40, - 667, - 521, - 24, - 692, - 521, - 15, - 667, - 522, - 40, - 667, - 523, - 40, - 667, - 524, - 40, - 667, - 525, - 40, - 667, - 526, - 40, - 667, - 527, - 40, - 667, - 528, - 15, - 683, - 528, - 24, - 667, - 529, - 40, - 668, - 530, - 39, - 667, - 531, - 1, - 669, - 531, - 38, - 669, - 532, - 38, - 669, - 533, - 38 - ], - "dimensions": { - "x": { - "min": 667, - "max": 706, - "mid": 687, - "avg": 682 - }, - "y": { - "min": 435, - "max": 533, - "mid": 484, - "avg": 488 - }, - "pixelCount": 2959 - } - } - ], - "entities": [ - { - "__class": "PathMapEntity", - "metaData": {}, - "points": [ - 2549, - 2560, - 2559, - 2560, - 2566, - 2560, - 2566, - 2560, - 2566, - 2560, - 2566, - 2560, - 2581, - 2566, - 2606, - 2578, - 2635, - 2591, - 2661, - 2603, - 2679, - 2611, - 2698, - 2619, - 2717, - 2621, - 2734, - 2616, - 2745, - 2605, - 2750, - 2582, - 2752, - 2552, - 2754, - 2522, - 2755, - 2503, - 2756, - 2486, - 2768, - 2471, - 2789, - 2449, - 2811, - 2427, - 2832, - 2406, - 2848, - 2390, - 2862, - 2376, - 2873, - 2357, - 2883, - 2346, - 2893, - 2346, - 2894, - 2349, - 2893, - 2352, - 2894, - 2350, - 2904, - 2350, - 2917, - 2355, - 2925, - 2367, - 2926, - 2382, - 2924, - 2388, - 2927, - 2401, - 2924, - 2414, - 2925, - 2419, - 2925, - 2418, - 2925, - 2418, - 2929, - 2412, - 2937, - 2408, - 2953, - 2406, - 2957, - 2405, - 2958, - 2404, - 2957, - 2401, - 2956, - 2390, - 2960, - 2384, - 2961, - 2379, - 2969, - 2371, - 2981, - 2372, - 2984, - 2375, - 2993, - 2380, - 2996, - 2391, - 2991, - 2401, - 2985, - 2402, - 2982, - 2405, - 2978, - 2409, - 2977, - 2409, - 2978, - 2412, - 2977, - 2418, - 2974, - 2421, - 2974, - 2421, - 2973, - 2419, - 2978, - 2419, - 2989, - 2424, - 2995, - 2434, - 2995, - 2438, - 2995, - 2438, - 3002, - 2435, - 3014, - 2436, - 3026, - 2436, - 3038, - 2436, - 3050, - 2444, - 3055, - 2457, - 3055, - 2475 - ], - "type": "path" - }, - { - "__class": "PointMapEntity", - "metaData": {}, - "points": [ - 2527, - 2560 - ], - "type": "charger_location" - }, - { - "__class": "PointMapEntity", - "metaData": { - "angle": 182 - }, - "points": [ - 3055, - 2475 - ], - "type": "robot_position" - }, - { - "__class": "PolygonMapEntity", - "metaData": {}, - "points": [ - 2500, - 2320, - 2720, - 2320, - 2720, - 2410, - 2500, - 2410 - ], - "type": "no_go_area" - }, - { - "__class": "PolygonMapEntity", - "metaData": {}, - "points": [ - 2975, - 2380, - 3240, - 2380, - 3240, - 2525, - 2975, - 2525 - ], - "type": "no_mop_area" - } - ] -} \ No newline at end of file