summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-06-01 15:04:23 +0200
committerTor Andersson <tor@ccxvii.net>2024-06-01 15:04:23 +0200
commit562e1822729e85834e54cc76d0bfbc8a584c572c (patch)
treee3cf66ad203b7bebcc0b0f31f64e5ab772cee746
parente1a0ee4619c330f9da81f00dc4f1e50c5ee61d02 (diff)
downloadmaria-562e1822729e85834e54cc76d0bfbc8a584c572c.tar.gz
setup
-rw-r--r--data.js2650
-rw-r--r--play.css78
-rw-r--r--play.js6
-rw-r--r--rules.js134
-rw-r--r--tools/layout.svg29
-rw-r--r--tools/parse-layout.js137
6 files changed, 195 insertions, 2839 deletions
diff --git a/data.js b/data.js
index f6e8426..b048579 100644
--- a/data.js
+++ b/data.js
@@ -1,2650 +1,2 @@
-const data = {
- type: {
- major_fortress: [ 28, 70, 78, 131, 197, 332, 360, 377, 393, 405, 429, 471, 516, 547, 578 ],
- minor_fortress: [
- 1, 6, 8, 11, 14, 17, 39, 50, 51, 52, 67, 72, 76, 97, 106, 118, 121, 138, 139, 144, 156, 160, 178, 188, 194, 196,
- 208, 209, 265, 278, 322, 325, 328, 343, 345, 348, 349, 351, 358, 365, 367, 372, 376, 391, 399, 406, 407, 414, 433,
- 473, 483, 492, 494, 497, 514, 540, 561, 563, 579, 581, 592, 598, 601, 605,
- ],
- box: [ 60, 364, 619, 620 ],
- },
- suit: {
- clubs: [
- [ 0, 3 ],
- [ 21, 51 ],
- [ 169, 176 ],
- [ 200, 216 ],
- [ 284, 285 ],
- [ 322, 339 ],
- [ 404, 419 ],
- [ 434, 434 ],
- [ 468, 488 ],
- [ 527, 535 ],
- [ 578, 591 ],
- ],
- diamonds: [
- [ 4, 9 ],
- [ 52, 97 ],
- [ 177, 187 ],
- [ 217, 240 ],
- [ 286, 299 ],
- [ 340, 352 ],
- [ 435, 454 ],
- [ 489, 508 ],
- [ 536, 545 ],
- [ 592, 596 ],
- [ 619, 619 ],
- ],
- hearts: [
- [ 10, 18 ],
- [ 98, 134 ],
- [ 188, 189 ],
- [ 241, 266 ],
- [ 300, 303 ],
- [ 353, 376 ],
- [ 420, 433 ],
- [ 455, 466 ],
- [ 509, 509 ],
- [ 546, 562 ],
- [ 597, 603 ],
- [ 620, 620 ],
- ],
- spades: [
- [ 19, 20 ],
- [ 135, 168 ],
- [ 190, 199 ],
- [ 267, 283 ],
- [ 304, 321 ],
- [ 377, 403 ],
- [ 467, 467 ],
- [ 510, 526 ],
- [ 563, 577 ],
- [ 604, 618 ],
- ],
- },
- map: {
- Flanders: [
- [ 0, 20 ],
- [ 200, 283 ],
- [ 322, 433 ],
- ],
- Bohemia: [
- [ 21, 199 ],
- [ 284, 321 ],
- [ 434, 618 ],
- ],
- UNKNOWN: [ [ 619, 620 ] ],
- },
- country: {
- Austria: [ [ 0, 168 ] ],
- Bavaria: [ [ 169, 199 ] ],
- France: [ [ 322, 403 ] ],
- Netherlands: [ [ 404, 433 ] ],
- Poland: [ [ 434, 467 ] ],
- Prussia: [ [ 468, 526 ] ],
- Saxony: [ [ 527, 577 ] ],
- Silesia: [ [ 578, 618 ] ],
- Empire: [ [ 200, 321 ] ],
- UNKNOWN: [ [ 619, 620 ] ],
- },
- cities: {
- name: [
- "Antwerpen",
- "Brüssel",
- "Geel",
- "Mecheln",
- "Bastogne",
- "Löwen",
- "Namur",
- "Nivelles",
- "Rochefort",
- "Verviers",
- "Arlon",
- "Brügge",
- "Eeklo",
- "Gent",
- "Luxembourg",
- "Poperinge",
- "Roeselare",
- "Tournai",
- "Wiltz",
- "Ath",
- "Mans",
- "Aschach",
- "Aussig",
- "Austerlitz",
- "Baden",
- "Boskowitz",
- "Braunau",
- "Brod",
- "Brünn",
- "Brüx",
- "Gloggnitz",
- "Gols",
- "Güns",
- "Hlinsko",
- "Kaaden",
- "Karlsbad",
- "Krieglach",
- "Krummau",
- "Laun",
- "Olmütz",
- "Proßnitz",
- "Purb",
- "Rohrbach",
- "Saaz",
- "Schlan",
- "Schärding",
- "Steinamanger",
- "Teplitz",
- "Trebitsch",
- "Wels",
- "Zwittau",
- "Ödenburg",
- "Budweis",
- "Enns",
- "Friedek Mistek",
- "Friedland",
- "Gmünd",
- "Gran",
- "Hohenelbe",
- "Horn",
- "Italy",
- "Jitschin",
- "Jungbunzlau",
- "Kolin",
- "Komorn",
- "Krems",
- "Kufstein",
- "Königgrätz",
- "Leipa",
- "Leitmeritz",
- "Linz",
- "Luhatschowitz",
- "Melk",
- "Melnik",
- "Neuhäusel",
- "Neutitschein",
- "Nimburg",
- "Pardubitz",
- "Prag",
- "Prerau",
- "Pápa",
- "Raab",
- "Raudnitz",
- "Reichenberg",
- "Rumburg",
- "Sillein",
- "St. Pölten",
- "Sternberg",
- "Stuhlweißenburg",
- "Tatabanya",
- "Tetschen",
- "Turnau",
- "Unter Haid",
- "Vsetin",
- "Waidhofen",
- "Weißbrunn",
- "Zliny",
- "Zwettl",
- "Abasdorf",
- "Bad Ischl",
- "Beraun",
- "Freiwaldau",
- "Gairing",
- "Gmunden",
- "Hollabrunn",
- "Hostau",
- "Klattau",
- "Korneuburg",
- "Kosteletz",
- "Kulm",
- "Lundenburg",
- "Marienbad",
- "Mies",
- "Mistelbach",
- "Nachod",
- "Nikolsburg",
- "Nürschan",
- "Orth",
- "Pilsen",
- "Pisek",
- "Prachatitz",
- "Pressburg",
- "Prestitz",
- "Pribram",
- "Rakonitz",
- "Schneegattern",
- "Schönberg",
- "Schüttenhofen",
- "Tepl",
- "Trautenau",
- "Trübau",
- "Wien",
- "Wildenschwert",
- "Wostitz",
- "Znaim",
- "Amstetten",
- "Beneschau",
- "Bruck",
- "Eger",
- "Frankenfels",
- "Fratres",
- "Freudenthal",
- "Galanta",
- "Hieflau",
- "Iglau",
- "Kremnitz",
- "Leoben",
- "Levice",
- "Liezen",
- "Mariazell",
- "Neutra",
- "Orlik",
- "Ostrau",
- "Pilgram",
- "Pistyan",
- "Rohr",
- "Schemnitz",
- "Schiltern",
- "Slapy",
- "Steyr",
- "Tabor",
- "Teschen",
- "Trentschin",
- "Trieben",
- "Troppau",
- "Tschaslau",
- "Tyrnau",
- "Wittingau",
- "Wotitz",
- "Deggendorf",
- "Falkenstein",
- "Landau",
- "Mühldorf",
- "Pfarrkirchen",
- "Regen",
- "Straubing",
- "Wasserburg",
- "Amberg",
- "Landsberg",
- "Murnau",
- "Neumarkt",
- "Rosenheim",
- "Schwandorf",
- "Starnberg",
- "Sulzbach",
- "Tegernsee",
- "Tirschenreuth",
- "Tölz",
- "Cham",
- "Traunstein",
- "Beilngries",
- "Dachau",
- "Ergoldsbach",
- "Freising",
- "Ingolstadt",
- "Kelheim",
- "Landshut",
- "München",
- "Pfaffenhofen",
- "Schrobenhausen",
- "Aschaffenburg",
- "Bingen",
- "Cochem",
- "Darmstadt",
- "Frankfurt",
- "Idar Oberstein",
- "Kaiserslautern",
- "Lörrach",
- "Mainz",
- "Mannheim",
- "Miltenberg",
- "Mülheim",
- "Nauheim",
- "Wiesbaden",
- "Wittlich",
- "Worms",
- "Zweibrücken",
- "Aachen",
- "Baden",
- "Bruchsal",
- "Charleroi",
- "Genk",
- "Givet",
- "Göppingen",
- "Heidelberg",
- "Heilbronn",
- "Karlsruhe",
- "Landau",
- "Lüttich",
- "Maastricht",
- "Malmedy",
- "Offenburg",
- "Pirmasens",
- "Prüm",
- "Reutlingen",
- "Roermond",
- "Speyer",
- "Stuttgart",
- "Tienen",
- "Tübingen",
- "Wolfach",
- "Ahlen",
- "Biberach",
- "Bocholt",
- "Coesfeld",
- "Dortmund",
- "Ehingen",
- "Essen",
- "Freiburg",
- "Geldern",
- "Hamm",
- "Kleve",
- "Krefeld",
- "Lingen",
- "Meppen",
- "Münster",
- "Pfullendorf",
- "Ravensburg",
- "Reichenbach",
- "Rheine",
- "Rottweil",
- "Saarbrücken",
- "Saarlouis",
- "Stühlingen",
- "Tecklenburg",
- "Trier",
- "Wesel",
- "Barmen",
- "Betzdorf",
- "Bonn",
- "Düsseldorf",
- "Euskirchen",
- "Gerolstein",
- "Gimborn",
- "Hagen",
- "Iserlohn",
- "Jülich",
- "Koblenz",
- "Köln",
- "Limburg",
- "Olpe",
- "Siegen",
- "Waldbröl",
- "Wetzlar",
- "Freyung",
- "Passau",
- "Bamberg",
- "Bayreuth",
- "Bernburg",
- "Dessau",
- "Erlangen",
- "Füssen",
- "Kulmbach",
- "Köthen",
- "Marktredwitz",
- "Nürnberg",
- "Partenkirchen",
- "Quedlinburg",
- "Schwabach",
- "Weiden",
- "Berchtesgaden",
- "Hallein",
- "Salzburg",
- "Werfen",
- "Altenburg",
- "Arnstadt",
- "Augsburg",
- "Coburg",
- "Donauwörth",
- "Eichstätt",
- "Erfurt",
- "Gera",
- "Greiz",
- "Hof",
- "Jena",
- "Kronach",
- "Naila",
- "Regensburg",
- "Rudolstadt",
- "Saalfeld",
- "Sonneberg",
- "Weimar",
- "Belfort",
- "Châlons-en-Champ.",
- "Château-Thierry",
- "Colmar",
- "Créspy-en-V.",
- "Epernay",
- "Meaux",
- "Montbeliard",
- "Mulhouse",
- "Provins",
- "Reims",
- "Rethel",
- "Romilly s. S.",
- "Sezianne",
- "Soissons",
- "Valdahon",
- "Valmy",
- "Vesoul",
- "Bar-s.-Aube",
- "Bouillon",
- "Chaource",
- "Chaumont",
- "Châtillon s. S.",
- "Haguenau",
- "Langres",
- "Sens",
- "St. Dizier",
- "Strasbourg",
- "Tonnere",
- "Troyes",
- "Vitry",
- "Armientières",
- "Autun",
- "Avallon",
- "Beaumont",
- "Beaune",
- "Besançon",
- "Calais",
- "Dijon",
- "Dole",
- "Dunkerque",
- "Gray",
- "Italy",
- "Lille",
- "Longuyon",
- "Metz",
- "Montbard",
- "Montmédy",
- "Omans",
- "Perne",
- "Sedan",
- "St. Avold",
- "St. Omer",
- "Thionville",
- "Verdun",
- "Amiens",
- "Arras",
- "Bar-le-Duc",
- "Cambrai",
- "Charleville-Mézieres",
- "Compiègne",
- "Douai",
- "Doullens",
- "Epinal",
- "Guise",
- "Jussey",
- "Laon",
- "Lens",
- "Lunéville",
- "Maubeuge",
- "Mondidier",
- "Nancy",
- "Noyon",
- "Péronne",
- "Sarrebourg",
- "Sarreguemines",
- "St. Die",
- "St. Quentin",
- "Toul",
- "Valenciennes",
- "Vervins",
- "Vittel",
- "Alkmaar",
- "Amsterdam",
- "Bergen",
- "Breda",
- "Den Haag",
- "Dordrecht",
- "Eindhoven",
- "Haarlem",
- "Hertogenbosch",
- "Leiden",
- "Nijmegen",
- "Rotterdam",
- "Terneuzen",
- "Tilburg",
- "Utrecht",
- "Venlo",
- "Almelo",
- "Apeldoorn",
- "Arnhem",
- "Assen",
- "Delfzijl",
- "Deventer",
- "Dokkum",
- "Emmen",
- "Enschede",
- "Groningen",
- "Heerenveen",
- "Leeuwarden",
- "Meppel",
- "Zwolle",
- "Krotoszyn",
- "Aleksandrów",
- "Bełchatów",
- "Kalisz",
- "Konin",
- "Koło",
- "Krzepice",
- "Krzyż",
- "Kępno",
- "Lask",
- "Miedzychód",
- "Miedzyzecz",
- "Ostrów",
- "Pleszew",
- "Sieradz",
- "Skwierzyna",
- "Turek",
- "Warta",
- "Wielun",
- "Zduńska Wola",
- "Złoczew",
- "Gostýn",
- "Grodzisk",
- "Jarocin",
- "Kościan",
- "Leszno",
- "Poznań",
- "Rawicz",
- "Srem",
- "Szamotuły",
- "Wolztyn",
- "Wronki",
- "Wschowa",
- "Czestochowa",
- "Angermünde",
- "Barath",
- "Beeskow",
- "Berlin",
- "Bernau",
- "Brandenburg",
- "Eberswalde",
- "Fehrbellin",
- "Freienwalde",
- "Fürstenwalde",
- "Königs Wusterhausen",
- "Luckenwalde",
- "Neuruppin",
- "Oranienburg",
- "Potsdam",
- "Schwedt",
- "Spandau",
- "Templin",
- "Treuenbrietzen",
- "Zehdenick",
- "Zossen",
- "Berlinchen",
- "Drossen",
- "Eisleben",
- "Frankfurt",
- "Friedeberg",
- "Halbenstadt",
- "Halle",
- "Krossen",
- "Küstrin",
- "Landsberg",
- "Neudamm",
- "Pyritz",
- "Reppen",
- "Schwiebus",
- "Seelow",
- "Soldin",
- "Staßfurt",
- "Woldenburg",
- "Zielenzig",
- "Züllichau",
- "Jüterbog",
- "Burg",
- "Gardelegen",
- "Genthin",
- "Haldensleben",
- "Havelberg",
- "Kyritz",
- "Magdeburg",
- "Oebisfelde",
- "Oschersleben",
- "Pritzwalk",
- "Rathenow",
- "Salzwedel",
- "Schönebeck",
- "Schöningen",
- "Stendal",
- "Tangermünde",
- "Wittenberge",
- "Aue",
- "Chemnitz",
- "Deuben",
- "Dippoldiswalde",
- "Döbeln",
- "Freiberg",
- "Marienberg",
- "Pirna",
- "Rochlitz",
- "Artern",
- "Aschersleben",
- "Bitterfeld",
- "Borna",
- "Leipzig",
- "Merseburg",
- "Naumburg",
- "Querfurt",
- "Sangerhausen",
- "Zittau",
- "Dahme",
- "Dresden",
- "Elsterwerda",
- "Falkenberg",
- "Finsterwalde",
- "Grimma",
- "Großenhain",
- "Herzberg",
- "Luckau",
- "Lübben",
- "Meißsen",
- "Oschatz",
- "Radeberg",
- "Riesa",
- "Senftenberg",
- "Torgau",
- "Wittenberg",
- "Bautzen",
- "Belzig",
- "Cottbus",
- "Forst",
- "Guben",
- "Görlitz",
- "Hoyerswerda",
- "Lauban",
- "Muskau",
- "Penzig",
- "Plauen",
- "Sorau",
- "Spremberg",
- "Weißwasser",
- "Zwickau",
- "Breslau",
- "Glogau",
- "Guhrau",
- "Liegnitz",
- "Militsch",
- "Neumarkt",
- "Oels",
- "Ohlau",
- "Schweidnitz",
- "Steinau",
- "Strehlen",
- "Striegau",
- "Trebnitz",
- "Wohlau",
- "Brieg",
- "Kreuzburg",
- "Lublinitz",
- "Namslau",
- "Rosenberg",
- "Frankenstein",
- "Glatz",
- "Grottkau",
- "Habelschwerdt",
- "Neisse",
- "Reichenbach",
- "Waldenburg",
- "Beuthen",
- "Cosel",
- "Gleiwitz",
- "Groß Strehlitz",
- "Grünberg",
- "Hirschberg",
- "Kattowitz",
- "Löwenberg",
- "Oppeln",
- "Priebus",
- "Ratibor",
- "Rybnik",
- "Sprottau",
- "Tichan",
- "Ziegenhals",
- "East Prussia",
- "England",
- ],
- country: [
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Austria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Bavaria",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "Empire",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "France",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Netherlands",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Poland",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Prussia",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Saxony",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "Silesia",
- "UNKNOWN",
- "UNKNOWN",
- ],
- x: [
- 432, 397, 497, 448, 557, 462, 438, 396, 511, 589, 497, 283, 326, 324, 546, 225, 250, 281, 578, 310, 331, 1543,
- 1568, 2134, 1963, 2043, 1438, 1909, 2051, 1481, 1931, 2144, 2060, 1917, 1410, 1375, 1923, 1568, 1531, 2138, 2134,
- 2092, 1566, 1458, 1566, 1500, 2107, 1532, 1957, 1562, 2019, 2074, 1638, 1700, 2347, 1792, 1733, 2416, 1858, 1842,
- 2282, 1846, 1696, 1756, 2307, 1858, 1277, 1855, 1661, 1619, 1627, 2253, 1792, 1675, 2323, 2261, 1760, 1851, 1641,
- 2194, 2209, 2233, 1618, 1758, 1661, 2407, 1856, 2186, 2421, 2367, 1622, 1811, 1631, 2293, 1789, 2281, 2235, 1786,
- 1916, 1553, 1568, 2112, 2122, 1565, 1950, 1353, 1452, 1979, 1939, 1530, 2088, 1341, 1384, 2007, 1930, 2017, 1433,
- 2072, 1483, 1570, 1567, 2133, 1481, 1568, 1481, 1491, 2074, 1485, 1406, 1924, 2000, 2006, 1989, 1963, 1922, 1728,
- 1696, 1849, 1282, 1786, 1783, 2188, 2240, 1686, 1854, 2379, 1764, 2411, 1621, 1797, 2320, 1625, 2302, 1796, 2247,
- 1861, 2395, 1853, 1623, 1664, 1678, 2383, 2279, 1677, 2237, 1834, 2226, 1718, 1692, 1415, 1343, 1344, 1367, 1428,
- 1435, 1357, 1335, 1207, 1073, 1100, 1146, 1255, 1276, 1149, 1194, 1218, 1274, 1157, 1379, 1331, 1171, 1127, 1276,
- 1223, 1161, 1215, 1276, 1184, 1203, 1083, 961, 794, 750, 896, 928, 720, 776, 639, 862, 878, 961, 644, 949, 845,
- 709, 837, 703, 642, 784, 893, 378, 549, 429, 956, 936, 947, 834, 793, 533, 590, 578, 719, 728, 625, 906, 625, 848,
- 882, 516, 845, 759, 959, 949, 813, 860, 873, 932, 807, 705, 703, 912, 704, 724, 939, 931, 912, 877, 931, 833, 908,
- 779, 643, 613, 739, 960, 634, 766, 803, 854, 765, 764, 709, 690, 858, 861, 935, 707, 795, 730, 891, 941, 907, 802,
- 955, 1500, 1487, 1053, 1129, 1174, 1255, 1041, 1046, 1123, 1228, 1226, 1052, 1108, 1090, 1045, 1258, 1378, 1428,
- 1422, 1444, 1267, 1044, 1047, 1059, 1041, 1092, 1049, 1223, 1252, 1207, 1169, 1118, 1183, 1259, 1095, 1096, 1050,
- 1115, 510, 254, 152, 595, 72, 212, 77, 451, 576, 78, 245, 289, 117, 160, 145, 406, 323, 381, 235, 422, 131, 276,
- 184, 744, 301, 71, 323, 697, 95, 142, 270, 154, 75, 75, 375, 145, 318, 72, 201, 238, 147, 288, 215, 195, 466, 514,
- 136, 421, 318, 78, 384, 578, 80, 549, 389, 79, 139, 382, 182, 322, 69, 193, 71, 483, 229, 388, 193, 141, 542, 290,
- 74, 482, 121, 136, 606, 636, 567, 180, 425, 237, 259, 408, 592, 596, 467, 540, 473, 559, 596, 539, 633, 514, 637,
- 521, 382, 570, 599, 647, 813, 695, 700, 903, 935, 756, 801, 878, 831, 861, 730, 713, 769, 766, 2144, 2380, 2417,
- 2239, 2197, 2296, 2385, 1844, 2234, 2406, 1859, 1859, 2218, 2192, 2316, 1812, 2267, 2318, 2353, 2366, 2335, 2093,
- 1938, 2138, 1997, 2005, 2020, 2041, 2068, 1979, 1918, 1911, 1945, 2430, 1552, 1477, 1561, 1445, 1490, 1336, 1514,
- 1337, 1561, 1555, 1499, 1413, 1340, 1418, 1395, 1562, 1390, 1450, 1361, 1393, 1450, 1730, 1691, 1168, 1646, 1762,
- 1062, 1219, 1758, 1652, 1712, 1636, 1666, 1711, 1770, 1617, 1671, 1145, 1790, 1742, 1816, 1405, 1226, 1158, 1275,
- 1119, 1215, 1277, 1175, 1060, 1103, 1241, 1291, 1086, 1197, 1044, 1201, 1231, 1148, 1336, 1351, 1469, 1494, 1407,
- 1414, 1414, 1556, 1336, 1092, 1121, 1281, 1281, 1276, 1212, 1185, 1151, 1094, 1729, 1452, 1510, 1444, 1409, 1502,
- 1336, 1513, 1406, 1496, 1550, 1453, 1354, 1564, 1400, 1551, 1352, 1334, 1641, 1288, 1623, 1681, 1694, 1728, 1616,
- 1782, 1680, 1779, 1269, 1760, 1619, 1687, 1286, 2075, 1925, 1988, 1923, 2122, 2041, 2134, 2137, 1994, 1992, 2082,
- 1930, 2066, 1990, 2190, 2259, 2336, 2205, 2287, 2069, 2036, 2137, 2047, 2131, 2022, 1932, 2351, 2262, 2327, 2286,
- 1845, 1853, 2405, 1849, 2246, 1759, 2294, 2357, 1855, 2404, 2190, 1875, 935,
- ],
- y: [
- 528, 587, 573, 563, 832, 641, 705, 662, 803, 719, 909, 474, 491, 538, 941, 479, 532, 582, 887, 647, 691, 1268,
- 718, 1097, 1388, 940, 1339, 950, 1056, 758, 1461, 1397, 1518, 896, 802, 844, 1524, 1169, 794, 932, 1011, 1401,
- 1229, 841, 839, 1293, 1581, 741, 1036, 1334, 892, 1465, 1156, 1328, 924, 643, 1185, 1422, 687, 1200, 1579, 748,
- 746, 845, 1439, 1258, 1529, 795, 716, 747, 1320, 1088, 1323, 798, 1387, 940, 782, 847, 841, 1003, 1525, 1469, 791,
- 687, 645, 1022, 1334, 899, 1522, 1482, 680, 722, 1232, 1028, 1161, 1522, 1046, 1228, 1260, 1478, 907, 782, 1249,
- 1423, 1210, 994, 1047, 1260, 799, 1568, 1192, 898, 933, 1206, 740, 1164, 958, 1330, 939, 1032, 1089, 1321, 1003,
- 961, 889, 1393, 834, 1093, 891, 685, 844, 1327, 805, 1134, 1161, 1390, 908, 1568, 842, 1407, 1089, 790, 1332,
- 1479, 1038, 1168, 1596, 1326, 1520, 1468, 1310, 1001, 848, 980, 1196, 1408, 1234, 1092, 947, 1393, 1043, 843,
- 1137, 1573, 832, 906, 1268, 1087, 961, 1190, 1138, 1236, 1307, 1270, 1140, 1184, 1340, 1045, 1393, 1473, 1095,
- 1425, 1040, 1383, 959, 1470, 926, 1452, 1086, 1421, 1137, 1312, 1187, 1294, 1198, 1169, 1260, 1331, 1246, 1257,
- 979, 950, 895, 1013, 943, 1007, 1071, 1493, 960, 1077, 1061, 1437, 901, 906, 942, 1028, 1087, 685, 1248, 1196,
- 750, 642, 782, 1284, 1136, 1213, 1195, 1136, 718, 667, 771, 1302, 1134, 833, 1335, 644, 1144, 1261, 675, 1330,
- 1340, 545, 1441, 465, 490, 575, 1397, 588, 1387, 547, 594, 491, 594, 391, 332, 504, 1461, 1498, 1418, 440, 1390,
- 1072, 1038, 1476, 458, 984, 556, 666, 772, 775, 641, 776, 847, 701, 642, 644, 679, 839, 722, 838, 715, 768, 718,
- 831, 1177, 1223, 924, 951, 429, 406, 996, 1473, 898, 435, 884, 1039, 1536, 447, 1091, 973, 1508, 1498, 1440, 1540,
- 648, 710, 1303, 847, 1182, 1156, 646, 694, 751, 827, 698, 848, 791, 1136, 724, 771, 800, 654, 1433, 1067, 973,
- 1388, 908, 1025, 993, 1469, 1449, 1059, 938, 894, 1086, 1043, 892, 1538, 1054, 1403, 1205, 847, 1235, 1273, 1292,
- 1187, 1331, 1160, 1186, 1246, 1304, 1173, 1142, 539, 1496, 1390, 957, 1500, 1499, 475, 1419, 1515, 474, 1407,
- 1577, 588, 990, 1078, 1387, 957, 1580, 593, 896, 1098, 536, 1020, 1033, 731, 686, 1142, 707, 840, 840, 649, 659,
- 1299, 781, 1331, 845, 642, 1208, 738, 791, 1156, 814, 755, 1226, 1140, 1299, 778, 1168, 663, 831, 1248, 232, 312,
- 446, 461, 346, 416, 535, 289, 497, 327, 446, 384, 478, 501, 390, 578, 355, 346, 405, 237, 171, 397, 156, 295, 402,
- 191, 213, 174, 262, 316, 395, 320, 496, 378, 268, 285, 581, 131, 469, 436, 177, 237, 427, 351, 430, 202, 325, 354,
- 538, 402, 479, 336, 232, 286, 280, 322, 213, 353, 248, 175, 281, 155, 331, 645, 113, 349, 336, 209, 184, 259, 152,
- 141, 176, 273, 275, 330, 75, 145, 246, 65, 188, 57, 347, 71, 297, 76, 237, 525, 277, 122, 398, 506, 335, 196, 147,
- 141, 64, 277, 276, 229, 103, 396, 81, 218, 311, 392, 297, 153, 282, 260, 119, 121, 300, 250, 340, 63, 214, 168,
- 356, 320, 192, 230, 104, 770, 721, 653, 689, 637, 693, 745, 642, 646, 582, 484, 480, 591, 543, 556, 600, 562, 527,
- 636, 420, 581, 523, 492, 455, 589, 528, 449, 411, 393, 569, 549, 591, 559, 486, 486, 417, 589, 354, 426, 436, 394,
- 585, 533, 570, 479, 533, 795, 430, 474, 541, 729, 528, 408, 394, 502, 436, 471, 499, 564, 588, 441, 593, 571, 435,
- 519, 591, 539, 596, 536, 576, 655, 703, 644, 757, 685, 642, 641, 651, 733, 703, 674, 404, 579, 725, 525, 643, 474,
- 778, 780, 456, 774, 705, 80, 109,
- ],
- main_roads: [
- [],
- [ 3, 7, 19 ],
- [ 407, 3 ],
- [ 2, 1 ],
- [ 18, 230 ],
- [],
- [ 220, 222, 228 ],
- [ 1, 220 ],
- [],
- [ 228, 217, 230 ],
- [],
- [],
- [],
- [],
- [ 375, 18 ],
- [],
- [],
- [ 19, 365 ],
- [ 14, 4 ],
- [ 1, 17 ],
- [],
- [ 285, 70 ],
- [],
- [],
- [],
- [],
- [],
- [ 144, 48, 165 ],
- [ 133, 48, 40 ],
- [],
- [],
- [],
- [ 46, 51 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 40, 87 ],
- [ 28, 39 ],
- [ 51, 117 ],
- [],
- [],
- [],
- [],
- [ 32 ],
- [],
- [ 28, 27 ],
- [],
- [],
- [ 32, 41 ],
- [ 92, 160 ],
- [ 72, 70 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 77, 78, 165 ],
- [ 74 ],
- [],
- [],
- [ 114, 77 ],
- [],
- [],
- [ 21, 53, 92 ],
- [],
- [ 86, 53 ],
- [],
- [ 64, 142 ],
- [],
- [],
- [ 67, 63 ],
- [ 136, 100, 63 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 131, 72 ],
- [ 39, 141 ],
- [],
- [],
- [ 534 ],
- [],
- [ 70, 52 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 78, 118 ],
- [],
- [],
- [],
- [ 107, 134 ],
- [],
- [],
- [ 131, 104 ],
- [],
- [],
- [],
- [ 112, 138 ],
- [ 116, 111 ],
- [],
- [ 598, 67 ],
- [],
- [ 118, 112 ],
- [ 41, 121, 131 ],
- [ 100, 116 ],
- [],
- [],
- [ 142, 117 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 117, 86, 107 ],
- [],
- [ 134, 28 ],
- [ 104, 133, 157 ],
- [],
- [ 168, 78 ],
- [],
- [ 294, 111 ],
- [],
- [],
- [ 87, 164 ],
- [ 74, 121 ],
- [],
- [ 157, 27 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 134, 144 ],
- [],
- [],
- [ 52, 168 ],
- [],
- [],
- [],
- [ 141, 614 ],
- [ 63, 27 ],
- [],
- [],
- [ 160, 136 ],
- [],
- [],
- [ 196, 173 ],
- [],
- [ 171, 285 ],
- [],
- [],
- [],
- [],
- [ 306, 191 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 178, 197 ],
- [],
- [ 197, 198, 196 ],
- [ 198, 309 ],
- [],
- [ 193, 171 ],
- [ 191, 193 ],
- [ 193, 194 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 215, 232 ],
- [],
- [ 213, 215 ],
- [ 215, 224 ],
- [],
- [ 330, 248 ],
- [],
- [ 279, 208 ],
- [],
- [ 208, 209, 206 ],
- [ 261, 232 ],
- [ 9, 276 ],
- [ 231, 226 ],
- [ 226, 225 ],
- [ 7, 6 ],
- [],
- [ 6, 381 ],
- [ 237, 306 ],
- [ 308, 209 ],
- [ 219, 308 ],
- [ 227, 218, 219, 237 ],
- [ 232, 226 ],
- [ 6, 9 ],
- [],
- [ 4, 9 ],
- [ 248, 349, 218 ],
- [ 206, 216, 227 ],
- [],
- [],
- [],
- [],
- [ 226, 223 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 428, 245 ],
- [ 244, 247 ],
- [ 258, 306 ],
- [ 245, 270 ],
- [ 211, 231 ],
- [],
- [],
- [],
- [ 270, 419 ],
- [],
- [],
- [],
- [],
- [],
- [ 263, 246 ],
- [],
- [],
- [ 373, 216 ],
- [],
- [ 258 ],
- [],
- [],
- [],
- [],
- [],
- [ 278, 277 ],
- [ 278, 252, 247 ],
- [],
- [],
- [],
- [],
- [],
- [ 217, 278 ],
- [ 269, 279 ],
- [ 276, 270, 269 ],
- [ 277, 213 ],
- [],
- [],
- [],
- [],
- [],
- [ 173, 21 ],
- [],
- [ 295, 294 ],
- [],
- [],
- [],
- [],
- [],
- [ 495, 522 ],
- [ 287, 138 ],
- [ 298, 287 ],
- [],
- [],
- [ 309, 295 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 223, 246, 178 ],
- [],
- [ 225, 224, 309 ],
- [ 308, 194, 298 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 329, 330 ],
- [ 327, 352 ],
- [],
- [],
- [ 328, 382 ],
- [ 332, 323 ],
- [ 331, 326 ],
- [ 358, 322 ],
- [ 322, 211 ],
- [ 334, 328 ],
- [ 388, 333, 327 ],
- [ 332, 381 ],
- [ 351, 331 ],
- [],
- [],
- [],
- [],
- [],
- [ 348, 351, 344 ],
- [],
- [],
- [],
- [ 340, 360 ],
- [],
- [ 403, 360 ],
- [],
- [ 352, 340, 379 ],
- [ 231, 396 ],
- [],
- [ 340, 334 ],
- [ 323, 348 ],
- [],
- [],
- [],
- [],
- [],
- [ 361, 370, 329 ],
- [],
- [ 344, 361, 346 ],
- [ 360, 358 ],
- [],
- [],
- [],
- [ 17, 389 ],
- [],
- [ 393, 373, 375 ],
- [],
- [],
- [ 358 ],
- [],
- [],
- [ 367, 261 ],
- [],
- [ 367, 14 ],
- [],
- [],
- [ 389, 395 ],
- [ 348, 400 ],
- [],
- [ 333, 222 ],
- [ 326, 394 ],
- [],
- [],
- [],
- [],
- [],
- [ 399, 332 ],
- [ 365, 378 ],
- [ 396, 393 ],
- [],
- [],
- [ 390, 367, 400, 403 ],
- [ 382, 399 ],
- [ 378, 399 ],
- [ 349, 390 ],
- [],
- [],
- [ 395, 388, 394 ],
- [ 379, 393 ],
- [],
- [],
- [ 393, 346 ],
- [],
- [ 418, 413 ],
- [],
- [ 409, 2, 417 ],
- [ 415, 413 ],
- [ 418, 407, 415 ],
- [ 419, 417 ],
- [],
- [],
- [ 408, 405 ],
- [],
- [ 409, 408 ],
- [],
- [ 410, 407 ],
- [ 421, 405, 409 ],
- [ 252, 410 ],
- [ 433, 428 ],
- [ 433, 418 ],
- [],
- [],
- [ 429 ],
- [],
- [],
- [],
- [ 420, 244 ],
- [ 424, 432 ],
- [],
- [],
- [ 429, 433 ],
- [ 432, 420, 421 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 474, 483 ],
- [ 555, 488 ],
- [],
- [ 482, 484, 478, 472 ],
- [ 471, 474 ],
- [ 512, 482 ],
- [ 472, 468 ],
- [ 515, 484 ],
- [],
- [ 478, 492 ],
- [ 471, 477 ],
- [],
- [],
- [],
- [ 473, 488, 471 ],
- [ 468, 500 ],
- [ 471, 475 ],
- [],
- [],
- [],
- [ 482, 469 ],
- [ 493, 504 ],
- [ 501, 497 ],
- [],
- [ 477, 496 ],
- [ 498, 506, 489 ],
- [ 518 ],
- [ 538, 293 ],
- [ 492, 501, 608 ],
- [ 490, 498 ],
- [ 497, 493 ],
- [],
- [ 504, 483 ],
- [ 496, 490 ],
- [],
- [],
- [ 489, 500 ],
- [],
- [ 493 ],
- [],
- [],
- [],
- [ 516, 512 ],
- [],
- [ 510, 473 ],
- [ 517, 516 ],
- [ 515 ],
- [ 514, 475 ],
- [ 522, 518, 513, 510 ],
- [ 513 ],
- [ 516, 494 ],
- [],
- [],
- [],
- [ 293, 516 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 90, 547 ],
- [],
- [],
- [],
- [ 561, 495 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 534, 558, 556 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 565, 469 ],
- [ 547, 559 ],
- [ 559, 561 ],
- [ 547, 563 ],
- [ 556, 557 ],
- [],
- [ 557, 538 ],
- [],
- [ 558, 568 ],
- [],
- [ 555 ],
- [],
- [],
- [ 563 ],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [],
- [ 585, 586, 583 ],
- [ 608, 587 ],
- [],
- [],
- [],
- [ 587, 578 ],
- [],
- [ 592, 578 ],
- [ 578, 602 ],
- [ 579, 583 ],
- [],
- [],
- [],
- [],
- [ 612, 585 ],
- [],
- [],
- [],
- [],
- [],
- [ 602, 114 ],
- [],
- [],
- [],
- [ 586, 598 ],
- [],
- [],
- [ 614, 606 ],
- [ 605, 607 ],
- [ 606, 612 ],
- [ 496, 579 ],
- [],
- [],
- [],
- [ 607, 592 ],
- [],
- [ 164, 605 ],
- [],
- [],
- [],
- [],
- [],
- [],
- ],
- roads: [
- [ 13, 3, 406 ],
- [ 5 ],
- [ 221 ],
- [ 0 ],
- [ 8 ],
- [ 238, 1 ],
- [],
- [],
- [ 341, 222, 4, 228 ],
- [],
- [ 14, 341 ],
- [ 15, 12 ],
- [ 11, 13, 416 ],
- [ 17, 12, 0 ],
- [ 366, 10, 265 ],
- [ 16, 11, 362 ],
- [ 365, 17, 15 ],
- [ 401, 16, 13 ],
- [ 233 ],
- [ 20 ],
- [ 391, 19 ],
- [ 42 ],
- [ 47, 69, 90 ],
- [ 96, 110, 28 ],
- [ 155, 30, 131 ],
- [ 48, 50, 39 ],
- [ 172, 189, 45, 49 ],
- [ 33, 153 ],
- [ 23 ],
- [ 38, 34, 47 ],
- [ 36, 24 ],
- [ 142, 41, 81 ],
- [ 36 ],
- [ 77, 130, 27 ],
- [ 533, 35, 43, 29 ],
- [ 34, 138, 128 ],
- [ 137, 32, 30 ],
- [ 42, 52 ],
- [ 43, 29, 44, 82 ],
- [ 25 ],
- [ 79 ],
- [ 31 ],
- [ 284, 21, 37 ],
- [ 34, 124, 38 ],
- [ 38, 78 ],
- [ 26, 285 ],
- [ 80 ],
- [ 29, 22, 530 ],
- [ 25 ],
- [ 26, 70, 125 ],
- [ 25, 130 ],
- [],
- [ 120, 167, 37, 56 ],
- [ 92, 97 ],
- [ 161, 75, 85 ],
- [ 609, 83, 545 ],
- [ 52, 97 ],
- [ 64, 147, 89 ],
- [ 91, 129 ],
- [ 94, 65 ],
- [],
- [ 67, 91 ],
- [ 73, 68, 83, 76 ],
- [ 76 ],
- [ 81, 57 ],
- [ 59, 97, 86, 98, 134 ],
- [ 181 ],
- [ 61, 108 ],
- [ 62, 90 ],
- [ 82, 22 ],
- [ 49, 159 ],
- [ 96, 162 ],
- [],
- [ 78, 62 ],
- [ 147, 150 ],
- [ 54, 152, 79 ],
- [ 62, 63, 91 ],
- [ 33 ],
- [ 44, 82, 73 ],
- [ 75, 40, 96 ],
- [ 95, 81, 46 ],
- [ 31, 64, 80 ],
- [ 78, 38, 69 ],
- [ 62, 91, 55 ],
- [ 90, 545 ],
- [ 93, 54, 145 ],
- [ 139, 65 ],
- [ 126 ],
- [ 89 ],
- [ 57, 88, 95 ],
- [ 22, 84, 68 ],
- [ 76, 61, 83, 58 ],
- [ 53 ],
- [ 96, 85 ],
- [ 157, 97, 59 ],
- [ 89, 80 ],
- [ 79, 93, 71, 23 ],
- [ 53, 56, 94, 65 ],
- [ 65, 131 ],
- [ 125, 103, 109 ],
- [ 158 ],
- [ 601, 126 ],
- [ 110, 121 ],
- [ 99, 159 ],
- [],
- [ 116, 182 ],
- [ 122, 188, 127 ],
- [ 113 ],
- [ 67, 132 ],
- [ 99, 148 ],
- [ 154, 23, 113, 115, 102 ],
- [ 186 ],
- [ 128 ],
- [ 107, 110 ],
- [],
- [ 134, 110 ],
- [ 105 ],
- [],
- [ 124, 123, 122 ],
- [ 160, 122 ],
- [ 52, 127 ],
- [ 102, 166 ],
- [ 119, 106, 118 ],
- [ 151, 118 ],
- [ 43, 118 ],
- [ 49, 302, 99 ],
- [ 130, 101, 87 ],
- [ 106, 120 ],
- [ 35, 112 ],
- [ 58, 598, 603 ],
- [ 132, 33, 126, 50 ],
- [ 98, 24 ],
- [ 108, 130, 600 ],
- [],
- [ 65, 115 ],
- [ 159, 139 ],
- [ 165, 153 ],
- [ 146, 36 ],
- [ 573, 527, 35 ],
- [ 135, 149, 143, 155, 86 ],
- [ 167, 157 ],
- [ 618 ],
- [ 31 ],
- [ 148, 139 ],
- [],
- [ 85, 162, 156 ],
- [ 163, 137 ],
- [ 156, 74, 57 ],
- [ 109, 163, 143 ],
- [ 139 ],
- [ 156, 74 ],
- [ 160, 158, 123 ],
- [ 164, 161, 75 ],
- [ 27, 136, 160 ],
- [ 162, 156, 110, 166 ],
- [ 139, 24 ],
- [ 145, 154, 150, 147 ],
- [ 140, 94 ],
- [ 151, 100 ],
- [ 103, 135, 70 ],
- [ 153, 151, 119 ],
- [ 152, 617, 54 ],
- [ 71, 145, 154 ],
- [ 148, 146 ],
- [ 152 ],
- [ 136 ],
- [ 121, 154 ],
- [ 52, 140 ],
- [],
- [ 285, 174, 175 ],
- [ 188, 175, 317 ],
- [ 175 ],
- [ 176, 26, 173 ],
- [ 172 ],
- [ 188, 169 ],
- [ 169, 171, 170 ],
- [ 181, 197, 172, 196 ],
- [ 317, 180, 184 ],
- [ 183, 291 ],
- [ 291, 187, 296 ],
- [ 177, 298, 190 ],
- [ 197, 185, 66, 189, 176 ],
- [ 105, 188, 299, 317 ],
- [ 178, 197, 187 ],
- [ 177, 299, 287 ],
- [ 187, 181 ],
- [ 111, 299 ],
- [ 183, 179, 185 ],
- [ 182, 106, 170, 174 ],
- [ 181, 26, 300, 302 ],
- [ 180, 195, 194 ],
- [ 199 ],
- [ 196, 317 ],
- [],
- [ 199, 190 ],
- [ 317, 190 ],
- [ 176, 192 ],
- [ 183, 181, 176 ],
- [],
- [ 306, 308, 194, 191 ],
- [ 204, 210 ],
- [ 205, 208 ],
- [ 272, 277, 214 ],
- [ 204, 209 ],
- [ 208, 203, 212, 200 ],
- [ 261, 214, 201 ],
- [],
- [ 211, 263 ],
- [ 201, 204 ],
- [ 203, 236 ],
- [ 200, 224 ],
- [ 207 ],
- [ 204, 283 ],
- [],
- [ 265, 202, 205 ],
- [],
- [],
- [ 271, 235 ],
- [],
- [ 224 ],
- [ 391 ],
- [ 238, 2, 410 ],
- [ 8 ],
- [ 225, 234 ],
- [ 210, 219 ],
- [ 223 ],
- [],
- [ 236, 345 ],
- [ 8, 229, 238 ],
- [ 228, 235 ],
- [ 233 ],
- [ 240 ],
- [],
- [ 265, 18, 230, 272, 271 ],
- [ 223, 239, 246 ],
- [ 229, 217, 419 ],
- [ 209, 227 ],
- [ 239 ],
- [ 228, 221, 5 ],
- [ 234, 237, 240 ],
- [ 239, 231, 260 ],
- [ 264, 250 ],
- [ 257, 246 ],
- [ 422, 266, 244 ],
- [ 243, 259, 255 ],
- [ 274 ],
- [ 242, 234 ],
- [ 266 ],
- [],
- [ 251, 252 ],
- [ 241, 274, 275 ],
- [ 414, 249, 266 ],
- [ 249 ],
- [ 254, 264, 259 ],
- [ 427, 253 ],
- [ 244, 264 ],
- [ 258, 257 ],
- [ 256, 242, 291 ],
- [ 260, 256 ],
- [ 253, 244 ],
- [ 240, 258 ],
- [ 262, 205 ],
- [ 261, 265 ],
- [ 207 ],
- [ 253, 255, 241 ],
- [ 262, 14, 214, 233 ],
- [ 247, 251, 243 ],
- [ 274, 278 ],
- [ 281, 269 ],
- [ 282, 268, 271 ],
- [],
- [ 233, 217, 269 ],
- [ 233, 202 ],
- [ 282, 280, 274 ],
- [ 245, 250, 267, 273 ],
- [ 250, 280 ],
- [],
- [ 202 ],
- [ 267 ],
- [ 283 ],
- [ 273, 275, 281 ],
- [ 280, 268, 283 ],
- [ 269, 273 ],
- [ 212, 279, 281 ],
- [ 285, 42 ],
- [ 45, 169, 284 ],
- [ 307, 292, 290 ],
- [ 184, 292 ],
- [ 537, 293 ],
- [ 522, 512, 564, 538 ],
- [ 286, 295 ],
- [ 257, 178, 179, 296 ],
- [ 315, 313, 287, 286 ],
- [ 288 ],
- [ 313, 299 ],
- [ 290 ],
- [ 291, 179 ],
- [ 494, 537 ],
- [ 180 ],
- [ 186, 182, 184, 294 ],
- [ 189 ],
- [ 302, 303 ],
- [ 189, 301, 125 ],
- [ 301 ],
- [ 539, 577, 311 ],
- [ 318, 310 ],
- [ 199 ],
- [ 286, 315, 320 ],
- [ 199 ],
- [],
- [ 536, 305, 321 ],
- [ 542, 314, 312, 304 ],
- [ 573, 311 ],
- [ 292, 294, 573, 316 ],
- [ 318, 311, 321 ],
- [ 307, 292 ],
- [ 313, 319 ],
- [ 182, 177, 170, 192, 195 ],
- [ 319, 305, 314 ],
- [ 316, 320, 318 ],
- [ 319, 307 ],
- [ 542, 314, 310 ],
- [ 339, 385 ],
- [ 338 ],
- [ 328, 327, 336 ],
- [ 330, 349 ],
- [],
- [ 335, 324 ],
- [ 324 ],
- [ 337 ],
- [ 325 ],
- [],
- [],
- [ 356 ],
- [ 347, 335 ],
- [ 334, 327 ],
- [ 324, 388, 394 ],
- [ 370, 329 ],
- [ 323, 348, 356 ],
- [ 363, 358, 387, 322 ],
- [ 343 ],
- [ 10, 372, 8 ],
- [ 350, 344, 351, 347 ],
- [ 346, 340, 348 ],
- [ 342 ],
- [ 397, 349, 227 ],
- [ 343, 387 ],
- [ 342, 334 ],
- [ 343, 338 ],
- [ 325, 345 ],
- [ 355, 342 ],
- [ 342 ],
- [],
- [ 374, 389, 362 ],
- [ 357, 355 ],
- [ 368, 354, 350 ],
- [ 338, 333, 376, 372 ],
- [ 361, 354, 360 ],
- [ 339 ],
- [ 362, 374 ],
- [ 357, 368, 363 ],
- [ 357 ],
- [ 15, 353, 359 ],
- [ 360, 339 ],
- [],
- [ 16 ],
- [ 376, 369, 14 ],
- [],
- [ 360, 355 ],
- [ 366, 372 ],
- [ 337 ],
- [ 384, 374 ],
- [ 381, 369, 356, 341 ],
- [ 397 ],
- [ 371, 353, 359 ],
- [],
- [ 379, 356, 366 ],
- [ 392, 395, 384 ],
- [ 383, 384 ],
- [ 376 ],
- [ 395, 391, 383 ],
- [ 402, 372 ],
- [],
- [ 380, 401, 378 ],
- [ 377, 378, 371 ],
- [ 322, 398, 387, 390 ],
- [ 399, 402 ],
- [ 346, 339, 385 ],
- [ 336 ],
- [ 353 ],
- [ 398, 385 ],
- [ 380, 402, 220, 20, 401 ],
- [ 394, 377 ],
- [],
- [ 336, 392 ],
- [ 377, 380 ],
- [ 397 ],
- [ 396, 345, 373 ],
- [ 385, 390 ],
- [ 386 ],
- [],
- [ 391, 383, 17 ],
- [ 386, 381, 391 ],
- [],
- [ 411 ],
- [ 411 ],
- [ 407, 0, 416 ],
- [ 406 ],
- [],
- [ 414 ],
- [ 221, 412 ],
- [ 405, 404 ],
- [ 410, 414 ],
- [],
- [ 412, 251, 409, 422 ],
- [],
- [ 12, 406 ],
- [],
- [],
- [ 235 ],
- [ 425, 427 ],
- [ 422 ],
- [ 414, 421, 425, 243 ],
- [ 427, 429 ],
- [],
- [ 422, 420 ],
- [ 429, 431 ],
- [ 432, 423, 420, 254 ],
- [],
- [ 426, 423 ],
- [ 431, 432 ],
- [ 426, 430 ],
- [ 430, 427 ],
- [],
- [ 455, 446, 582 ],
- [ 439, 453 ],
- [ 443, 440 ],
- [ 448, 450, 446, 447 ],
- [ 457, 439, 450 ],
- [ 438, 435 ],
- [ 436, 467, 452 ],
- [ 465, 493 ],
- [ 584, 454, 446 ],
- [ 453, 436 ],
- [ 449, 465, 445 ],
- [ 502, 444, 456 ],
- [ 437, 442, 434 ],
- [ 457, 437 ],
- [ 454, 453, 451, 437 ],
- [ 507, 444 ],
- [ 451, 437, 438 ],
- [ 448, 450 ],
- [ 440, 596, 454 ],
- [ 435, 443, 448 ],
- [ 442, 452, 448 ],
- [ 457, 434, 459 ],
- [ 445, 463, 464 ],
- [ 462, 438, 447, 455 ],
- [ 464, 462, 459 ],
- [ 455, 461, 458, 466 ],
- [ 462, 463 ],
- [ 459, 580, 582 ],
- [ 458, 460, 457 ],
- [ 465, 456, 460 ],
- [ 508, 456, 458 ],
- [ 444, 441, 463 ],
- [ 459, 579 ],
- [ 440, 610 ],
- [ 485, 499 ],
- [],
- [ 555, 492, 567 ],
- [],
- [],
- [ 564 ],
- [ 476, 481 ],
- [ 480 ],
- [ 503, 497, 474 ],
- [],
- [ 488 ],
- [ 486, 488, 509 ],
- [ 519, 475, 487 ],
- [ 484, 474, 487 ],
- [ 484 ],
- [ 499 ],
- [ 520, 482, 481 ],
- [ 487, 468 ],
- [ 564, 479, 562 ],
- [ 481, 480, 485 ],
- [ 479, 478 ],
- [],
- [ 507 ],
- [ 544, 495 ],
- [ 470, 503, 501 ],
- [ 441 ],
- [ 297 ],
- [ 540, 541, 491 ],
- [],
- [ 476, 499 ],
- [],
- [ 468, 483, 504, 497 ],
- [],
- [ 492, 502 ],
- [ 501, 508, 445 ],
- [ 492, 476 ],
- [ 499 ],
- [ 522, 537 ],
- [],
- [ 490, 449 ],
- [ 502, 464, 608 ],
- [ 479, 546, 553 ],
- [],
- [ 521, 524 ],
- [ 525, 289 ],
- [ 524 ],
- [ 524, 519 ],
- [],
- [],
- [ 523, 521 ],
- [ 523 ],
- [ 514, 526, 480 ],
- [ 525, 484 ],
- [ 517, 511, 526 ],
- [ 289, 505 ],
- [ 518, 517 ],
- [ 513, 525, 511, 514 ],
- [ 524, 512, 520 ],
- [ 519, 521 ],
- [ 138, 528 ],
- [ 577, 535, 527, 531, 532 ],
- [ 547, 531, 532, 530 ],
- [ 47, 529 ],
- [ 556, 551, 529, 528 ],
- [ 528, 529, 533 ],
- [ 532, 34 ],
- [],
- [ 539, 528 ],
- [ 542, 310, 543, 544 ],
- [ 544, 288, 505, 297 ],
- [ 562, 289 ],
- [ 535, 304, 540 ],
- [ 557, 551, 539, 541, 495 ],
- [ 540, 495, 542, 543 ],
- [ 541, 311, 321, 536 ],
- [ 536, 541 ],
- [ 536, 491, 537 ],
- [ 568, 84, 55 ],
- [ 554, 509 ],
- [ 529 ],
- [ 552, 559, 549 ],
- [ 548, 550, 553, 561 ],
- [ 560, 549, 554 ],
- [ 540, 531 ],
- [ 558, 560, 556, 548 ],
- [ 509, 549, 562 ],
- [ 555, 550, 546 ],
- [ 470, 554 ],
- [ 552, 531 ],
- [ 540 ],
- [ 569, 552 ],
- [ 548 ],
- [ 569, 565, 552, 550 ],
- [ 549 ],
- [ 486, 553, 538 ],
- [ 569, 576 ],
- [ 473, 289, 486 ],
- [ 566, 575, 560 ],
- [ 567, 565, 571 ],
- [ 470, 574, 566 ],
- [ 572, 570, 545 ],
- [ 575, 560, 558, 563 ],
- [ 568, 609 ],
- [ 566, 576, 613 ],
- [ 568, 611, 616 ],
- [ 138, 313, 312, 577 ],
- [ 608, 567 ],
- [ 565, 569 ],
- [ 563, 571 ],
- [ 573, 528, 304 ],
- [ 584, 588, 591 ],
- [ 466, 616, 580 ],
- [ 461, 579 ],
- [ 609, 611, 591, 616 ],
- [ 461, 434, 584, 590 ],
- [],
- [ 595, 442, 582, 578 ],
- [],
- [ 603, 589 ],
- [ 591, 590 ],
- [ 578, 599, 602 ],
- [ 586, 609 ],
- [ 587, 582 ],
- [ 581, 578, 587 ],
- [ 595, 599 ],
- [ 596, 595 ],
- [ 596, 604, 612 ],
- [ 593, 592, 584 ],
- [ 452, 594, 593 ],
- [ 602, 601 ],
- [ 600, 129, 601 ],
- [ 592, 588, 601 ],
- [ 132, 598 ],
- [ 597, 598, 101, 618, 599 ],
- [ 588, 603, 597 ],
- [ 586, 609, 129, 602 ],
- [ 594, 606 ],
- [ 618 ],
- [ 615, 610, 604 ],
- [],
- [ 508, 616, 574 ],
- [ 589, 581, 603, 570, 55 ],
- [ 606, 617, 467 ],
- [ 581, 572 ],
- [ 594, 618 ],
- [ 571, 616 ],
- [ 615 ],
- [ 617, 614, 606 ],
- [ 579, 581, 608, 572, 613 ],
- [ 161, 615, 610 ],
- [ 601, 612, 605, 141 ],
- [],
- [],
- ],
- },
-}
+const data = {"type":{"major_fortress":[0,1,2,86,87,212,213,292,293,402,403,500,501,573,574],"minor_fortress":[3,4,5,6,7,8,9,88,89,90,91,92,93,94,95,96,97,98,214,215,216,217,218,219,220,294,295,296,297,298,299,300,301,302,303,404,405,406,407,408,409,410,411,412,457,458,459,460,461,462,463,502,503,504,505,506,507,508,509,510,511,575,576,577],"box":[211,572,619,620]},"suit":{"clubs":[[0,85],[402,456]],"diamonds":[[86,211],[457,499],[619,619]],"hearts":[[212,291],[500,572],[620,620]],"spades":[[292,401],[573,618]]},"country":{"Austria":[2,6,8,9,11,13,14,15,19,20,21,22,35,36,38,39,40,41,42,44,47,61,62,65,66,67,69,71,77,78,82,86,87,89,92,96,97,98,113,116,117,119,120,122,123,124,125,127,128,131,136,142,143,145,147,155,157,160,163,165,168,169,170,174,181,184,187,188,190,192,195,197,198,199,202,208,211,213,216,218,219,221,222,223,230,231,232,241,242,245,246,248,251,253,255,256,257,258,259,260,262,264,265,266,268,273,274,275,279,281,282,285,288,291,296,297,299,302,303,305,310,312,323,325,326,337,344,348,349,350,352,355,358,360,363,364,371,376,380,386,388,390,391,392,393,394,398,399,407,414,427,434,459,460,467,481,485,497,503,505,508,515,533,540,557,561,571,579,604],"Bavaria":[24,29,46,51,58,63,73,81,94,100,151,156,173,177,185,189,191,193,196,214,280,293,300,301,308,317,321,324,343,362,377],"Empire":[33,57,103,104,106,110,114,118,137,138,146,158,161,166,176,201,224,239,272,284,304,306,307,314,318,319,320,329,331,339,341,345,354,370,372,374,381,395,409,410,415,416,419,421,426,430,431,433,435,438,439,453,454,455,456,464,465,469,471,473,474,475,476,477,478,479,482,483,484,486,487,488,489,490,492,493,494,496,499,509,512,523,524,526,531,534,537,538,539,542,544,545,547,550,553,556,558,559,560,562,563,564,567,568,570,575,581,582,583,589,591,592,593,595,596,598,599,602,607,611,617,618],"France":[403,404,408,411,417,418,420,425,436,437,440,441,442,444,445,449,450,452,457,458,461,462,463,466,468,470,472,480,491,495,498,500,502,504,506,507,510,516,519,520,521,522,525,530,532,541,548,551,552,554,555,565,566,569,572,573,574,576,577,578,580,584,585,586,587,588,590,594,597,600,601,603,605,606,608,609,610,612,613,614,615,616],"Netherlands":[402,405,406,412,413,422,423,424,428,429,432,443,446,447,448,451,501,511,513,514,517,518,527,528,529,535,536,543,546,549],"Poland":[43,99,107,126,129,130,134,135,139,141,149,150,159,162,180,182,194,200,203,205,210,233,235,243,247,249,263,269,277,278,287,289,290,316],"Prussia":[0,3,7,10,16,17,18,28,30,32,34,45,48,53,56,60,70,76,80,84,85,90,91,93,105,111,112,115,121,133,140,154,164,171,178,179,183,186,204,206,209,244,292,298,313,327,328,336,346,356,359,367,368,375,378,379,385,387,397],"Saxony":[12,23,25,26,27,31,49,59,64,95,101,102,108,109,148,153,167,175,207,212,220,225,226,227,228,234,237,240,250,252,254,261,267,271,276,286,294,309,315,322,334,335,340,347,353,361,365,382,383,396,401],"Silesia":[1,4,5,37,50,52,54,55,68,72,74,75,79,83,88,132,144,152,172,215,217,229,236,238,270,283,295,311,330,332,333,338,342,351,357,366,369,373,384,389,400],"UNKNOWN":[619,620]},"map":{"Bohemia":[[0,401]],"Flanders":[[402,618]],"UNKNOWN":[[619,620]]},"cities":{"name":["Berlin","Breslau","Brünn","Brandenburg","Glogau","Liegnitz","Olmütz","Schwedt","Zwittau","Ödenburg","Angermünde","Aschach","Aue","Aussig","Austerlitz","Baden","Barath","Beeskow","Bernau","Boskowitz","Braunau","Brod","Brüx","Chemnitz","Deggendorf","Deuben","Dippoldiswalde","Döbeln","Eberswalde","Falkenstein","Fehrbellin","Freiberg","Freienwalde","Freyung","Fürstenwalde","Gloggnitz","Gols","Guhrau","Güns","Hlinsko","Kaaden","Karlsbad","Krieglach","Krotoszyn","Krummau","Königs Wusterhausen","Landau","Laun","Luckenwalde","Marienberg","Militsch","Mühldorf","Neumarkt","Neuruppin","Oels","Ohlau","Oranienburg","Passau","Pfarrkirchen","Pirna","Potsdam","Proßnitz","Purb","Regen","Rochlitz","Rohrbach","Saaz","Schlan","Schweidnitz","Schärding","Spandau","Steinamanger","Steinau","Straubing","Strehlen","Striegau","Templin","Teplitz","Trebitsch","Trebnitz","Treuenbrietzen","Wasserburg","Wels","Wohlau","Zehdenick","Zossen","Linz","Prag","Brieg","Budweis","Frankfurt","Halbenstadt","Königgrätz","Küstrin","Landsberg","Leipzig","Melk","Nimburg","Zwettl","Aleksandrów","Amberg","Artern","Aschersleben","Bamberg","Bayreuth","Berlinchen","Bernburg","Bełchatów","Bitterfeld","Borna","Dessau","Drossen","Eisleben","Enns","Erlangen","Friedeberg","Friedek Mistek","Friedland","Füssen","Gmünd","Gran","Halle","Hohenelbe","Horn","Jitschin","Jungbunzlau","Kalisz","Kolin","Komorn","Konin","Koło","Krems","Kreuzburg","Krossen","Krzepice","Krzyż","Kufstein","Kulmbach","Köthen","Kępno","Landsberg","Lask","Leipa","Leitmeritz","Lublinitz","Luhatschowitz","Marktredwitz","Melnik","Merseburg","Miedzychód","Miedzyzecz","Murnau","Namslau","Naumburg","Neudamm","Neuhäusel","Neumarkt","Neutitschein","Nürnberg","Ostrów","Pardubitz","Partenkirchen","Pleszew","Prerau","Pyritz","Pápa","Quedlinburg","Querfurt","Raab","Raudnitz","Reichenberg","Reppen","Rosenberg","Rosenheim","Rumburg","Sangerhausen","Schwabach","Schwandorf","Schwiebus","Seelow","Sieradz","Sillein","Skwierzyna","Soldin","St. Pölten","Starnberg","Staßfurt","Sternberg","Stuhlweißenburg","Sulzbach","Tatabanya","Tegernsee","Tetschen","Tirschenreuth","Turek","Turnau","Tölz","Unter Haid","Vsetin","Waidhofen","Warta","Weiden","Weißbrunn","Wielun","Woldenburg","Zduńska Wola","Zielenzig","Zittau","Zliny","Züllichau","Złoczew","Italy","Dresden","Wien","Cham","Glatz","Klattau","Neisse","Pilsen","Pressburg","Torgau","Abasdorf","Bad Ischl","Beraun","Berchtesgaden","Dahme","Elsterwerda","Falkenberg","Finsterwalde","Frankenstein","Freiwaldau","Gairing","Gmunden","Gostýn","Grimma","Grodzisk","Grottkau","Großenhain","Habelschwerdt","Hallein","Herzberg","Hollabrunn","Hostau","Jarocin","Jüterbog","Korneuburg","Kosteletz","Kościan","Kulm","Leszno","Luckau","Lundenburg","Lübben","Marienbad","Meißen","Mies","Mistelbach","Nachod","Nikolsburg","Nürschan","Orth","Oschatz","Pisek","Poznań","Prachatitz","Prestitz","Pribram","Radeberg","Rakonitz","Rawicz","Reichenbach","Riesa","Salzburg","Schneegattern","Schönberg","Schüttenhofen","Senftenberg","Srem","Szamotuły","Tepl","Traunstein","Trautenau","Trübau","Waldenburg","Werfen","Wildenschwert","Wittenberg","Wolztyn","Wostitz","Wronki","Wschowa","Znaim","Magdeburg","München","Bautzen","Cosel","Eger","Frankenfels","Havelberg","Iglau","Ingolstadt","Landshut","Schemnitz","Tabor","Altenburg","Amstetten","Arnstadt","Augsburg","Beilngries","Belzig","Beneschau","Beuthen","Bruck","Burg","Coburg","Cottbus","Czestochowa","Dachau","Donauwörth","Eichstätt","Erfurt","Ergoldsbach","Forst","Fratres","Freising","Freudenthal","Galanta","Gardelegen","Genthin","Gera","Gleiwitz","Greiz","Groß Strehlitz","Grünberg","Guben","Görlitz","Haldensleben","Hieflau","Hirschberg","Hof","Hoyerswerda","Jena","Kattowitz","Kelheim","Kremnitz","Kronach","Kyritz","Lauban","Leoben","Levice","Liezen","Löwenberg","Mariazell","Muskau","Naila","Neutra","Oebisfelde","Oppeln","Orlik","Oschersleben","Ostrau","Penzig","Pfaffenhofen","Pilgram","Pistyan","Plauen","Priebus","Pritzwalk","Rathenow","Ratibor","Regensburg","Rohr","Rudolstadt","Rybnik","Saalfeld","Salzwedel","Schiltern","Schrobenhausen","Schönebeck","Schöningen","Slapy","Sonneberg","Sorau","Spremberg","Sprottau","Stendal","Steyr","Tangermünde","Teschen","Tichan","Trentschin","Trieben","Troppau","Tschaslau","Tyrnau","Weimar","Weißwasser","Wittenberge","Wittingau","Wotitz","Ziegenhals","Zwickau","Amsterdam","Reims","Belfort","Bergen","Breda","Brüssel","Colmar","Mainz","Mannheim","Meaux","Nijmegen","Alkmaar","Antwerpen","Aschaffenburg","Bingen","Châlons-en-Champ.","Château-Thierry","Cochem","Créspy-en-V.","Darmstadt","Den Haag","Dordrecht","Eindhoven","Epernay","Frankfurt","Geel","Haarlem","Hertogenbosch","Idar Oberstein","Kaiserslautern","Leiden","Lörrach","Mecheln","Miltenberg","Montbeliard","Mulhouse","Mülheim","Nauheim","Provins","Rethel","Romilly s. S.","Rotterdam","Sezianne","Soissons","Terneuzen","Tilburg","Utrecht","Valdahon","Valmy","Venlo","Vesoul","Wiesbaden","Wittlich","Worms","Zweibrücken","Chaumont","Haguenau","Namur","Rochefort","St. Dizier","Strasbourg","Troyes","Aachen","Baden","Bar-s.-Aube","Bastogne","Bouillon","Bruchsal","Chaource","Charleroi","Châtillon s. S.","Genk","Givet","Göppingen","Heidelberg","Heilbronn","Karlsruhe","Landau","Langres","Löwen","Lüttich","Maastricht","Malmedy","Nivelles","Offenburg","Pirmasens","Prüm","Reutlingen","Roermond","Sens","Speyer","Stuttgart","Tienen","Tonnere","Tübingen","Verviers","Vitry","Wolfach","Dijon","Groningen","Besançon","Brügge","Lille","Luxembourg","Metz","Sedan","Tournai","Trier","Verdun","Zwolle","Ahlen","Almelo","Apeldoorn","Arlon","Armientières","Arnhem","Assen","Autun","Avallon","Beaumont","Beaune","Biberach","Bocholt","Calais","Coesfeld","Delfzijl","Deventer","Dokkum","Dole","Dortmund","Dunkerque","Eeklo","Ehingen","Emmen","Enschede","Essen","Freiburg","Geldern","Gent","Gray","Hamm","Heerenveen","Kleve","Krefeld","Leeuwarden","Lingen","Longuyon","Meppel","Meppen","Montbard","Montmédy","Münster","Omans","Perne","Pfullendorf","Poperinge","Ravensburg","Reichenbach","Rheine","Roeselare","Rottweil","Saarbrücken","Saarlouis","St. Avold","St. Omer","Stühlingen","Tecklenburg","Thionville","Wesel","Wiltz","Italy","Amiens","Nancy","Köln","Maubeuge","St. Quentin","Arras","Ath","Bar-le-Duc","Barmen","Betzdorf","Bonn","Cambrai","Charleville-Mézieres","Compiègne","Douai","Doullens","Düsseldorf","Epinal","Euskirchen","Gerolstein","Gimborn","Guise","Hagen","Iserlohn","Jussey","Jülich","Koblenz","Laon","Lens","Limburg","Lunéville","Mans","Mondidier","Noyon","Olpe","Péronne","Sarrebourg","Sarreguemines","Siegen","St. Die","Toul","Valenciennes","Vervins","Vittel","Waldbröl","Wetzlar","East Prussia","England"],"x":[1445,2075,2051,1336,1925,1923,2138,1562,2019,2074,1552,1543,1336,1568,2134,1963,1477,1561,1490,2043,1438,1909,1481,1351,1415,1469,1494,1407,1514,1343,1337,1414,1561,1500,1555,1931,2144,1988,2060,1917,1410,1375,1923,2144,1568,1499,1344,1531,1413,1414,2122,1367,2041,1340,2134,2137,1418,1487,1428,1556,1395,2134,2092,1435,1336,1566,1458,1566,1994,1500,1390,2107,1992,1357,2082,1930,1450,1532,1957,2066,1361,1335,1562,1990,1393,1450,1627,1641,2190,1638,1646,1062,1855,1652,1073,1276,1792,1760,1786,2380,1207,1092,1121,1053,1129,1730,1174,2417,1281,1281,1255,1691,1168,1700,1041,1762,2347,1792,1046,1733,2416,1219,1858,1842,1846,1696,2239,1756,2307,2197,2296,1858,2259,1758,2385,1844,1277,1123,1228,2234,1712,2406,1661,1619,2336,2253,1226,1675,1212,1859,1859,1100,2205,1185,1636,2323,1146,2261,1052,2218,1851,1108,2192,2194,1666,2209,1090,1151,2233,1618,1758,1711,2287,1255,1661,1094,1045,1276,1770,1617,2316,2407,1812,1671,1856,1149,1145,2186,2421,1194,2367,1218,1622,1274,2267,1811,1157,1631,2293,1789,2318,1258,2281,2353,1790,2366,1742,1729,2235,1816,2335,2282,1510,2006,1379,2036,1452,2131,1483,2133,1352,1916,1553,1568,1378,1452,1444,1409,1502,2069,2112,2122,1565,2093,1336,1938,2137,1513,2047,1428,1406,1950,1353,2138,1405,1979,1939,1997,1530,2005,1496,2088,1550,1341,1453,1384,2007,1930,2017,1433,2072,1354,1570,2020,1567,1481,1568,1564,1481,2041,2022,1400,1422,1491,2074,1485,1551,2068,1979,1406,1331,1924,2000,1932,1444,1989,1334,1918,1963,1911,1945,1922,1175,1184,1641,2262,1282,1786,1215,1854,1161,1276,2395,1678,1267,1728,1044,1047,1171,1288,1696,2351,1849,1226,1059,1623,2430,1127,1041,1092,1049,1276,1681,1783,1223,2188,2240,1158,1275,1223,2327,1252,2286,1845,1694,1728,1119,1686,1853,1207,1616,1169,2405,1215,2379,1118,1277,1782,1764,2411,1621,1849,1797,1680,1183,2320,1060,2246,1625,1103,2302,1779,1203,1796,2247,1269,1759,1241,1291,2294,1259,1861,1095,2357,1096,1086,1853,1083,1197,1044,1623,1050,1760,1619,1855,1201,1664,1231,2383,2404,2279,1677,2237,1834,2226,1115,1687,1148,1718,1692,2190,1286,596,245,510,467,540,397,595,862,878,77,637,592,432,961,794,254,152,750,72,896,473,559,596,212,928,497,539,633,720,776,514,639,448,961,451,576,644,949,78,289,117,521,160,145,382,570,599,406,323,647,381,845,709,837,703,276,744,438,511,323,697,142,642,784,235,557,422,893,131,378,184,549,429,956,936,947,834,793,301,462,533,590,578,396,719,728,625,906,625,71,848,882,516,95,845,589,270,759,201,861,318,283,195,546,514,384,281,634,389,766,959,813,695,497,154,700,903,75,75,375,145,949,813,72,860,935,756,801,238,873,147,326,932,878,831,807,705,703,324,288,912,730,704,724,713,939,466,769,931,136,421,912,318,78,877,225,931,833,908,250,779,643,613,578,80,739,960,549,766,578,215,79,482,730,290,180,139,310,382,803,854,765,182,322,69,193,71,764,483,709,690,858,229,861,935,388,707,795,193,141,891,542,331,74,121,941,136,606,636,907,567,425,237,259,408,802,955,1875,935],"y":[209,528,1056,259,408,502,932,65,892,1465,113,1268,770,718,1097,1388,349,336,184,940,1339,950,758,721,1190,653,689,637,152,1138,141,693,176,1177,273,1461,1397,394,1518,896,802,844,1524,395,1169,275,1236,794,330,745,436,1307,471,75,499,564,145,1223,1270,642,246,1011,1401,1140,646,1229,841,839,588,1293,188,1581,441,1184,593,571,57,741,1036,435,347,1340,1334,519,71,297,1320,841,591,1156,277,398,795,196,1393,543,1323,782,1228,320,1045,582,484,924,951,76,429,496,480,591,406,237,525,1328,996,122,924,643,1473,1185,1422,506,687,1200,748,746,378,845,1439,268,285,1258,539,335,581,131,1529,898,435,469,147,436,716,747,596,1088,884,798,556,177,237,1473,536,600,141,1387,1095,940,1039,427,847,1536,351,1003,64,1525,447,562,1469,791,687,277,576,1425,645,527,1091,1040,276,229,430,1022,202,103,1334,1383,396,899,1522,959,1482,1470,680,926,325,722,1452,1232,1028,1161,354,973,1522,538,81,402,218,636,1046,311,479,1579,581,1327,1086,703,1047,685,939,1321,486,1260,1478,907,1508,420,523,492,455,655,782,1249,1423,336,589,232,644,528,757,1498,449,1210,994,286,392,1260,799,280,1568,322,411,1192,393,898,569,933,1206,740,1164,958,1330,549,1032,213,1089,1003,961,591,889,353,642,559,1440,1393,834,1093,486,248,175,891,1421,685,844,641,1540,805,417,281,1134,155,331,1161,300,1331,589,733,842,1407,119,1038,1198,1260,1234,1043,648,1390,710,1303,1137,354,908,651,1568,297,847,426,645,1312,1182,1156,646,1187,436,1089,1294,790,1332,153,282,694,703,751,674,404,394,585,260,1479,579,827,533,698,725,1169,1168,848,121,570,1596,1326,1520,525,1468,479,791,1310,250,643,1001,340,848,533,1246,980,1196,795,474,63,214,778,1136,1408,724,780,771,168,1092,1257,356,320,947,800,430,474,456,192,1393,230,843,774,1137,1573,832,906,1268,654,541,104,1087,961,705,729,312,938,1433,446,461,587,1388,960,1077,993,446,232,528,979,950,1067,973,895,908,1013,346,416,535,1025,943,573,289,497,1007,1071,327,1493,563,1061,1469,1449,1437,901,1059,894,1086,384,1043,892,478,501,390,1538,1054,578,1403,906,942,1028,1087,1273,1187,705,803,1186,1246,1173,685,1248,1205,832,847,1196,1235,750,1292,642,782,1284,1136,1213,1195,1136,1331,641,718,667,771,662,1302,1134,833,1335,644,1160,1144,1261,675,1304,1330,719,1142,1340,1419,191,1499,474,588,941,1078,896,582,984,1033,316,545,355,346,909,539,405,237,1496,1390,957,1500,1441,465,475,490,171,397,156,1515,575,474,491,1397,295,402,588,1387,547,538,1407,594,213,491,594,174,391,990,262,332,1387,957,504,1580,593,1461,479,1498,1418,440,532,1390,1072,1038,1098,536,1476,458,1020,556,887,1577,731,1156,722,738,778,686,647,1142,666,772,775,707,840,840,649,659,641,1299,776,847,701,781,642,644,1331,679,839,845,642,838,1208,691,791,814,715,755,1226,1140,768,1299,1168,663,831,1248,718,831,80,109],"adjacent":[[18,45,60,70],[52,54,55,68,74,83],[14,61,78,288],[60,309,328],[37,72,290,333,384],[83,338,351,384],[19,61,187],[10,154,164],[19,282],[38,62],[7,28,76,154],[57,65,86],[23,296],[77,143,192],[2,208,251],[35,213,371],[85,252],[90,252,334],[0,28],[6,8,78],[51,69,82,280],[39,78,299,363,393],[40,47,77],[12,27,31,64,401],[57,63,73],[26,27,31,212],[25,77],[23,25,234,254],[10,18,32,56],[73,214,370],[53,70,346],[23,25,49],[28,93,179],[57,65],[45,90],[15,42],[62,168,326],[4,269],[9,42,71],[21,160,282],[22,41,49,66],[40,279,296],[35,38,312],[50,159,233],[65,89],[0,34,85],[58,73,301],[22,66,67,169],[80,85,244],[31,40],[43,54,79,269],[20,58,81],[1,72],[30,84,367],[1,50,139,152],[1,88],[28,70,84],[11,24,33,58,69],[46,51,57],[192,212],[0,3,70,85],[2,6,163],[9,36,260],[24,214],[23,109],[11,33,44],[40,47,268],[47,87],[1,75,270,283],[20,57],[0,30,56,60,368],[38,165],[4,52,79,83],[24,29,46],[1,236,270],[68,338],[10,84],[13,22,26],[2,19,21],[50,72],[48,286,309],[51,173,293,301],[20,86,273],[1,5,72],[53,56,76],[16,45,48,60],[11,82,113,197,386],[67,127,147,169,223,310],[55,152,236,357],[44,119,197,264,303,398],[17,34,133,171,179],[166,359],[124,160,246,257],[32,111,140,154],[118,185,307,317],[109,121,148,234,261],[113,184],[125,127,195],[113,119,131,199],[130,205],[156,189,370],[153,167,175,320],[106,166,175,186],[114,137,314],[137,146,158,189],[115,183],[102,138],[134,141],[110,121,220,286],[64,95,304],[108,309,328,378],[93,171,206],[121,175],[86,96,98,197],[103,158],[105,135,140,204],[157,181,388],[170,207,338],[94,151,161,558],[89,98],[128,190,349],[95,108,112,138,148],[195,281],[131,199],[92,195],[97,142,147,170],[159,162,180,194],[87,97,160,393],[120,155,168],[130,194,243],[99,129],[98,123,184,221,291],[152,172],[90,171,333],[107,203,316],[115,289],[173],[103,104,339,345],[106,121,378],[54,159,210],[93,115],[107,205],[125,192],[13,169],[172,311,357],[208,390],[104,201,296,339],[87,125],[95,121,153,167],[150,182,289],[149,178,235],[118,161,196],[54,88,132],[101,148,329,395],[7,10,93,183],[128,326,349,355],[100,176,308],[116,163,360],[104,114,176],[43,126,139],[39,92,127],[118,151],[126,243],[61,157,208],[7,183],[71,168,202],[91,102],[101,148],[36,128,165],[47,87,143],[117,125,195],[90,111,133,178],[132,144,203],[81,136,191,280,293],[192,207],[101,102,112],[156,158,319],[201,214,242,370],[150,171,209],[32,90],[126,200,205,210],[116,198,344],[149,206],[105,154,164],[96,131,213,297],[94,196,293],[102,378],[6,274,325],[190],[100,104,201],[120,188,202],[173,196],[13,59,142,174],[201,253],[126,129,200],[97,122,124,170],[151,185,191],[86,89,113],[181,208],[98,123,376],[180,194],[146,177,189,193],[165,190],[134,172,210],[115],[99,141,180],[111,182],[117,174,335],[14,145,163,198],[178,287,333],[139,180,203],[],[25,59,254,267],[15,184,221,245,260],[29,63,177,216],[217,238,257,270,281],[214,265,275],[215,229,230,236,400],[223,259,265,266,268],[231,260,326,394],[108,227,261],[131,213],[232,248,273],[87,218,380],[280],[244,250],[227,237,271],[220,226,228,240],[227,250,276],[217,270],[217,274],[219,251],[222,386],[43,243,249],[27,95],[150,278,287],[74,88,217],[226,254,267,276],[215,285],[272,284],[227,244,286],[245,291],[177,259],[129,162,233,277],[48,225,240],[213,241,256],[92,285],[249,277,287],[222,350],[233,247,269,290],[225,228,252],[14,231,256,258,364],[16,17,250,315],[193,255,296],[27,212,237,271],[253,259,279],[245,251],[92,215],[251,291],[218,242,255],[62,213,219],[95,220,271],[265,303],[277,278],[89,275],[216,218,262],[218,358],[212,237,294,340],[66,218],[37,50,249],[68,74,215,229,283],[226,254,261],[239,273,280],[82,222,272],[187,230,282],[216,264],[228,237,315,340],[243,247,263],[235,263,289],[41,255],[20,173,224,272],[122,215,283],[8,39,274,285],[68,270,281,338],[239],[238,246,282],[80,108,240],[209,235,247],[2,291],[135,149,278],[4,249],[131,241,258,288,376],[313,336,359,378],[81,173,185,317,324],[267,335,340,396],[330,369,400],[12,41,146,253,365],[184,305,337,352,371],[346,367,385],[21,376],[308,319,362,377],[46,81,321,324],[344,349,355,364],[89,262,358,363,399],[109,329,401],[297,386],[320,372],[94,377,475,534],[156,300,343],[3,80,110],[87,363,393,399],[144,330],[42,348],[292,328],[103,345,381],[252,276,322,383],[134,342],[94,293,377],[319,377,476,477],[176,300,318],[101,306,395],[301,370],[315,334,353],[376,398],[293,301,362],[187,392,400],[36,155,219],[375,385],[3,110,313,387],[153,304,331,341],[295,311,332,342,373],[329,365],[330,357],[4,133,209,382,384],[17,322,382],[207,294,347,361],[292,356,385],[297,350],[5,75,117,283,347],[137,146,354,365],[267,276,294,383],[329,372,395],[316,330,389],[308,370],[181,302,390],[137,314],[30,298],[335,338],[312,391],[120,155,302],[248,337,391],[5,361],[297],[322,366,396],[339,374],[155,302],[336,375,379],[88,144,332,400],[266,303,380],[91,292,379],[157,388,392],[335,351,384],[300,324],[21,303,310],[251,302,390,394],[296,331,339,401],[353,384],[53,298,397],[70,387],[295,373,392],[29,100,177,321,343],[15,297],[306,341,374],[330,369,389],[354,372,381],[327,356,397],[199,291,299,323],[300,307,317,318],[110,138,186,292],[356,359],[223,358],[314,374],[333,334],[315,340],[4,5,333,361,366],[298,327,336,387],[86,232,305],[328,368,385],[116,360,389],[342,373,388],[145,344,364],[348,350],[325,360,369],[21,127,310],[219,364],[153,320,341],[294,353],[367,375],[89,323],[303,310],[217,295,325,357],[23,304,365],[428,432,448],[425,441,600],[436,437,452,590],[406,414,446],[405,423,427,447],[434,481,485,579],[437,462],[416,426,453,455],[421,455,476,492],[418,420,440],[423,429,517,544],[428],[405,434,540],[426,435],[409,430],[425,450,498],[411,425,445],[454,592,599],[411,586],[410,426],[432,443],[406,412,443,448],[429,447,451,473],[403,417,418,444],[409,415,421,439],[406,434,473],[402,413],[412,424],[416,454,563],[455,487],[402,422],[438,567],[407,414,427],[415,476],[404,449,502],[404,408,438],[433,437,538],[426,618],[411,442],[403,521,585],[440,444,463,491],[422,423],[425,442],[418,600,606],[405,533],[406,424],[402,423,514],[436,554],[417,461,521],[424,490,545],[404,502,541,597],[409,602],[419,430,509],[409,410,431],[487,563],[461,466,480],[462,479,610],[471,474,482],[467,468,474,482],[450,457,466,498,580],[408,458,486,609],[442,466,470],[490,497,591,598],[478,486],[457,461,463,472],[460,484,571],[460,507,515],[476,477,478],[463,472,491,495],[459,485,576],[466,470,500],[424,427,494],[459,460,585],[307,477,489,493],[318,410,435,469],[318,469,475],[465,469,479,493],[458,478,487,492],[457,500,597,616],[407,494],[459,460,483,494,497],[482,490],[467,488,497],[407,471],[462,465,499,538],[431,456,479],[484,509,571,591,592],[475,496,534],[451,464,483],[442,470],[410,479],[475,478,496],[473,481,482],[470,520],[489,493,499],[464,482,484],[417,461],[486,496,562],[472,480,522,530,541,551],[518,527,529,549],[436,452,530,554],[533,557],[508,561,601],[509,515,548,569,571],[565,569,574],[468,521,552,585],[504,540,561,579,614],[454,488,505,564],[521,548,580],[513,514,549],[542,568],[511,528,535,536],[448,511,517],[468,505],[532,566,601],[412,514,524,528],[501,535],[520,522],[495,519,551],[441,450,507,510],[500,519,530],[534,558],[517,526,570],[532,566],[524,531,536,553,560],[501],[513,517],[501,546],[500,502,522],[526,537,595],[516,525,557],[446,503,540],[307,489,523,559],[513,518,549,550],[513,526],[531,570,589],[438,486],[544,545],[414,508,533],[452,500],[512,595,596],[546,549],[412,539,570],[451,539,589],[529,543],[550,560,568],[505,510,552],[501,511,535,543],[535,547],[500,520],[507,548],[526,568],[449,502],[566,588],[558,559],[503,532,561],[118,523,556],[534,556,562,567],[526,547],[504,508,557],[499,559],[430,456,564,565],[509,563],[506,563,610],[516,525,555],[433,559],[512,547,553],[505,506],[524,537,544],[467,488,505],[],[588,605,608],[506,603,613,616],[581,583,589,598],[471,584,604,614,615],[594,600,606,608],[587,588,601,608],[407,508,604],[461,510,613],[575,595],[583,611],[575,582,591,599,617],[576,587,608],[441,474,507,615],[420,606],[578,584,614],[555,573,578],[537,545,575],[404,597,603,612],[464,488,583],[419,488],[595,607,617],[577,615],[531,542,581,593],[542,607],[452,480,590],[464,575],[419,583,602],[403,445,577],[504,516,578],[453,599,618],[574,590,609,612],[576,579],[573,606],[445,577,586,605],[593,596,611],[573,577,578,584],[462,603,610],[458,565,609],[582,607,618],[590,603],[574,580],[508,576,587],[576,585,594],[480,574],[583,593],[439,602,611],[],[]],"main_roads":[[18,45,60,70],[52,55,68],[61,78,288],[60,328],[72,333],[],[61,187],[10,164],[],[38,62],[7,28],[57,86],[],[],[],[],[85,252],[],[0,28],[],[],[78,299,393],[],[],[],[],[],[],[10,18],[],[70,346],[],[],[],[45,90],[],[],[],[9,71],[],[],[],[],[],[],[0,34],[58,301],[],[],[],[],[],[1,72],[],[],[1,88],[],[11,58],[46,57],[192,212],[0,3,85],[2,6],[9,260],[],[],[],[],[],[1,270],[],[0,30],[38],[4,52],[],[],[],[],[],[2,21],[],[],[],[],[],[],[16,60],[11,113,197],[127,223,310],[55,357],[197,303],[34,133],[359],[160,257],[111,140],[307,317],[],[113,184],[],[],[],[],[],[],[],[146,158],[115,183],[],[],[121,220],[],[],[93,171],[],[86,96],[],[105,140,204],[],[],[],[],[],[108,138],[],[],[],[],[],[87,160,393],[155],[],[],[],[],[90,171,333],[],[],[],[],[121,378],[],[93,115],[],[],[],[],[],[104,296],[],[],[],[],[],[],[],[],[128,326],[],[],[104,176],[],[92,127],[],[],[],[7,183],[],[],[],[],[],[],[111,133],[],[],[],[],[158,319],[],[],[],[],[],[],[105,164],[96,213],[],[],[6,325],[],[],[],[],[59],[],[],[],[],[86,89],[],[],[],[],[],[],[115],[],[],[],[],[],[],[],[59,254,267],[184,245,260],[],[257,270],[],[],[223,259],[260,326],[108,261],[],[],[87,218],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[245,291],[],[],[],[213,241],[],[],[],[],[],[],[16,315],[255,296],[212,271],[253,259],[],[92,215],[],[218,255],[62,213,219],[220,271],[],[],[],[],[],[212,294],[],[],[68,215],[254,261],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[2,291],[],[],[241,288,376],[313,336,359,378],[317,324],[267,335],[330,369],[146,253],[],[346],[21,376],[319,362],[46,324],[],[89,399],[],[],[],[94,475,534],[],[],[87,399],[],[],[292,328],[],[252],[],[94,293],[319,476,477],[176,300,318],[],[],[],[],[293,301,362],[187,392],[155,219],[],[3,313],[],[295,332],[],[330,357],[4,133],[],[294],[292,356],[],[],[],[],[],[],[],[],[],[30,298],[],[],[],[],[],[],[],[],[],[336],[88,332],[],[91,292],[],[],[300,324],[],[],[],[],[],[],[295,392],[],[],[],[],[],[],[291,299],[],[138,292],[],[],[],[],[],[],[],[],[],[],[],[],[],[325,369],[21,127],[],[],[],[],[],[303,310],[],[],[432,448],[425,441,600],[436,437],[],[423,427,447],[434,485,579],[],[453,455],[455,476],[420,440],[],[],[],[],[],[425,498],[],[],[411,586],[],[432,443],[406,443,448],[447,451],[403,417],[],[406,434],[],[],[],[455,487],[402,422],[],[407,427],[],[404,502],[404,438],[437,538],[],[411,442],[403,585],[440,463],[422,423],[],[],[],[406,424],[402,423,514],[],[],[424,545],[],[409,602],[],[409,410,431],[487,563],[],[],[471,474,482],[],[466,498,580],[486,609],[442,466],[497,598],[478,486],[461,463,472],[484,571],[],[477,478],[],[459,485],[466,500],[],[459,585],[307,493],[318,410],[318,469],[465,469,479,493],[478,487],[500,616],[],[459,497],[],[467,497],[407,471],[462,465,538],[431,456,479],[],[],[],[],[],[475,478],[],[],[],[464,482,484],[417,461],[],[472,480,530],[527,549],[436,530,554],[],[508,601],[569,571],[565,569,574],[],[504,579],[],[],[513,514,549],[],[511,536],[448,511],[],[],[],[],[],[],[],[],[],[],[],[531,536],[501],[],[],[500,502],[526,537],[],[],[307,559],[],[513,526],[531,589],[438,486],[],[],[],[],[],[],[451,589],[],[],[],[501,511],[],[],[],[],[502],[],[],[],[],[534,567],[],[],[],[456,565],[],[506,563],[],[559],[],[505,506],[],[467,505],[],[],[506,603,613,616],[583,589,598],[],[600,606,608],[601,608],[407,508],[461,613],[],[],[575,599],[],[441,474],[420,606],[],[],[537,545,575],[],[],[],[],[],[],[],[],[464,575],[583,602],[403,577],[504,578],[453,599],[574,609],[],[],[577,586],[],[577,578],[462,603],[],[],[],[574,580],[],[],[480,574],[],[],[],[]],"roads":[[],[54,74,83],[14],[309],[37,290,384],[83,338,351,384],[19],[154],[19,282],[],[76,154],[65],[23,296],[77,143,192],[2,208,251],[35,213,371],[],[90,252,334],[],[6,8,78],[51,69,82,280],[39,363],[40,47,77],[12,27,31,64,401],[57,63,73],[26,27,31,212],[25,77],[23,25,234,254],[32,56],[73,214,370],[53],[23,25,49],[28,93,179],[57,65],[],[15,42],[62,168,326],[4,269],[42],[21,160,282],[22,41,49,66],[40,279,296],[35,38,312],[50,159,233],[65,89],[85],[73],[22,66,67,169],[80,85,244],[31,40],[43,54,79,269],[20,58,81],[],[30,84,367],[1,50,139,152],[],[28,70,84],[24,33,69],[51],[],[70],[163],[36],[24,214],[23,109],[11,33,44],[40,47,268],[47,87],[75,283],[20,57],[56,60,368],[165],[79,83],[24,29,46],[1,236,270],[68,338],[10,84],[13,22,26],[19],[50,72],[48,286,309],[51,173,293,301],[20,86,273],[1,5,72],[53,56,76],[45,48],[82,386],[67,147,169],[152,236],[44,119,264,398],[17,171,179],[166],[124,246],[32,154],[118,185],[109,121,148,234,261],[],[125,127,195],[113,119,131,199],[130,205],[156,189,370],[153,167,175,320],[106,166,175,186],[114,137,314],[137,189],[],[102,138],[134,141],[110,286],[64,95,304],[108,309,328,378],[206],[121,175],[98,197],[103,158],[135],[157,181,388],[170,207,338],[94,151,161,558],[89,98],[128,190,349],[95,112,148],[195,281],[131,199],[92,195],[97,142,147,170],[159,162,180,194],[97],[120,168],[130,194,243],[99,129],[98,123,184,221,291],[152,172],[],[107,203,316],[115,289],[173],[103,104,339,345],[106],[54,159,210],[],[107,205],[125,192],[13,169],[172,311,357],[208,390],[201,339],[87,125],[95,121,153,167],[150,182,289],[149,178,235],[118,161,196],[54,88,132],[101,148,329,395],[7,10,93,183],[349,355],[100,176,308],[116,163,360],[114],[43,126,139],[39],[118,151],[126,243],[61,157,208],[],[71,168,202],[91,102],[101,148],[36,128,165],[47,87,143],[117,125,195],[90,178],[132,144,203],[81,136,191,280,293],[192,207],[101,102,112],[156],[201,214,242,370],[150,171,209],[32,90],[126,200,205,210],[116,198,344],[149,206],[154],[131,297],[94,196,293],[102,378],[274],[190],[100,104,201],[120,188,202],[173,196],[13,142,174],[201,253],[126,129,200],[97,122,124,170],[151,185,191],[113],[181,208],[98,123,376],[180,194],[146,177,189,193],[165,190],[134,172,210],[],[99,141,180],[111,182],[117,174,335],[14,145,163,198],[178,287,333],[139,180,203],[],[25],[15,221],[29,63,177,216],[217,238,281],[214,265,275],[215,229,230,236,400],[265,266,268],[231,394],[227],[131,213],[232,248,273],[380],[280],[244,250],[227,237,271],[220,226,228,240],[227,250,276],[217,270],[217,274],[219,251],[222,386],[43,243,249],[27,95],[150,278,287],[74,88,217],[226,254,267,276],[215,285],[272,284],[227,244,286],[],[177,259],[129,162,233,277],[48,225,240],[256],[92,285],[249,277,287],[222,350],[233,247,269,290],[225,228,252],[14,231,256,258,364],[17,250],[193],[27,237],[279],[245,251],[],[251,291],[242],[],[95],[265,303],[277,278],[89,275],[216,218,262],[218,358],[237,340],[66,218],[37,50,249],[74,229,283],[226],[239,273,280],[82,222,272],[187,230,282],[216,264],[228,237,315,340],[243,247,263],[235,263,289],[41,255],[20,173,224,272],[122,215,283],[8,39,274,285],[68,270,281,338],[239],[238,246,282],[80,108,240],[209,235,247],[],[135,149,278],[4,249],[131,258],[],[81,173,185],[340,396],[400],[12,41,365],[184,305,337,352,371],[367,385],[],[308,377],[81,321],[344,349,355,364],[262,358,363],[109,329,401],[297,386],[320,372],[377],[156,300,343],[3,80,110],[363,393],[144,330],[42,348],[],[103,345,381],[276,322,383],[134,342],[377],[377],[],[101,306,395],[301,370],[315,334,353],[376,398],[],[400],[36],[375,385],[110,387],[153,304,331,341],[311,342,373],[329,365],[],[209,382,384],[17,322,382],[207,347,361],[385],[297,350],[5,75,117,283,347],[137,146,354,365],[267,276,294,383],[329,372,395],[316,330,389],[308,370],[181,302,390],[137,314],[],[335,338],[312,391],[120,155,302],[248,337,391],[5,361],[297],[322,366,396],[339,374],[155,302],[375,379],[144,400],[266,303,380],[379],[157,388,392],[335,351,384],[],[21,303,310],[251,302,390,394],[296,331,339,401],[353,384],[53,298,397],[70,387],[373],[29,100,177,321,343],[15,297],[306,341,374],[330,369,389],[354,372,381],[327,356,397],[199,323],[300,307,317,318],[110,186],[356,359],[223,358],[314,374],[333,334],[315,340],[4,5,333,361,366],[298,327,336,387],[86,232,305],[328,368,385],[116,360,389],[342,373,388],[145,344,364],[348,350],[360],[310],[219,364],[153,320,341],[294,353],[367,375],[89,323],[],[217,295,325,357],[23,304,365],[428],[],[452,590],[406,414,446],[405],[481],[437,462],[416,426],[421,492],[418],[423,429,517,544],[428],[405,434,540],[426,435],[409,430],[450],[411,425,445],[454,592,599],[],[410,426],[],[412],[429,473],[418,444],[409,415,421,439],[473],[402,413],[412,424],[416,454,563],[],[],[438,567],[414],[415,476],[449],[408],[433],[426,618],[],[521],[444,491],[],[425,442],[418,600,606],[405,533],[],[],[436,554],[417,461,521],[490],[404,502,541,597],[],[419,430,509],[],[],[461,466,480],[462,479,610],[],[467,468,474,482],[450,457],[408,458],[470],[490,591],[],[457],[460],[460,507,515],[476],[463,472,491,495],[576],[470],[424,427,494],[460],[477,489],[435,469],[475],[],[458,492],[457,597],[407,494],[460,483,494],[482,490],[488],[],[499],[],[484,509,571,591,592],[475,496,534],[451,464,483],[442,470],[410,479],[496],[473,481,482],[470,520],[489,493,499],[],[],[486,496,562],[522,541,551],[518,529],[452],[533,557],[561],[509,515,548],[],[468,521,552,585],[540,561,614],[454,488,505,564],[521,548,580],[],[542,568],[528,535],[517],[468,505],[532,566,601],[412,514,524,528],[501,535],[520,522],[495,519,551],[441,450,507,510],[500,519,530],[534,558],[517,526,570],[532,566],[524,553,560],[],[513,517],[501,546],[522],[595],[516,525,557],[446,503,540],[489,523],[513,518,549,550],[],[570],[],[544,545],[414,508,533],[452,500],[512,595,596],[546,549],[412,539,570],[539],[529,543],[550,560,568],[505,510,552],[535,543],[535,547],[500,520],[507,548],[526,568],[449],[566,588],[558,559],[503,532,561],[118,523,556],[556,562],[526,547],[504,508,557],[499,559],[430,564],[509,563],[610],[516,525,555],[433],[512,547,553],[],[524,537,544],[488],[],[588,605,608],[],[581],[471,584,604,614,615],[594],[587,588],[604],[510],[575,595],[583,611],[582,591,617],[576,587,608],[507,615],[],[578,584,614],[555,573,578],[],[404,597,603,612],[464,488,583],[419,488],[595,607,617],[577,615],[531,542,581,593],[542,607],[452,480,590],[],[419],[445],[516],[618],[590,612],[576,579],[573,606],[445,605],[593,596,611],[573,584],[610],[458,565,609],[582,607,618],[590,603],[],[508,576,587],[576,585,594],[],[583,593],[439,602,611],[],[]]},"sectors":{"EastPrussia":[619],"ItalyA":[211],"England":[620],"ItalyF":[572]}}
if (typeof module === 'object') module.exports = data
diff --git a/play.css b/play.css
index 334f162..95fe951 100644
--- a/play.css
+++ b/play.css
@@ -49,6 +49,8 @@ body {
border: 1px solid #0008;
}
+header { background-color: hsl(44, 35%, 80%); color: #000c; }
+header.your_turn { color: black; }
header.your_turn.france { background-color: var(--color-light-france); }
header.your_turn.bavaria { background-color: var(--color-light-bavaria); }
header.your_turn.prussia { background-color: var(--color-light-prussia); }
@@ -446,44 +448,44 @@ span.suit.reserve { color: var(--color-reserve); font-weight: bold; font-family:
.card.tc { margin-right: -145px; }
.panel_body { padding-right: calc(18px + 145px); }
-.card.tc.c01 { background-image: url(cards/Maria.TC.01.075.jpg) }
-.card.tc.c02 { background-image: url(cards/Maria.TC.02.075.jpg) }
-.card.tc.c03 { background-image: url(cards/Maria.TC.03.075.jpg) }
-.card.tc.c04 { background-image: url(cards/Maria.TC.04.075.jpg) }
-.card.tc.c05 { background-image: url(cards/Maria.TC.05.075.jpg) }
-.card.tc.c06 { background-image: url(cards/Maria.TC.06.075.jpg) }
-.card.tc.c07 { background-image: url(cards/Maria.TC.07.075.jpg) }
-.card.tc.c08 { background-image: url(cards/Maria.TC.08.075.jpg) }
-.card.tc.c09 { background-image: url(cards/Maria.TC.09.075.jpg) }
-.card.tc.c10 { background-image: url(cards/Maria.TC.10.075.jpg) }
-.card.tc.c11 { background-image: url(cards/Maria.TC.11.075.jpg) }
-.card.tc.c12 { background-image: url(cards/Maria.TC.12.075.jpg) }
-.card.tc.c13 { background-image: url(cards/Maria.TC.13.075.jpg) }
-.card.tc.c14 { background-image: url(cards/Maria.TC.14.075.jpg) }
-.card.tc.c15 { background-image: url(cards/Maria.TC.15.075.jpg) }
-.card.tc.c16 { background-image: url(cards/Maria.TC.16.075.jpg) }
-.card.tc.c17 { background-image: url(cards/Maria.TC.17.075.jpg) }
-.card.tc.c18 { background-image: url(cards/Maria.TC.18.075.jpg) }
-.card.tc.c19 { background-image: url(cards/Maria.TC.19.075.jpg) }
-.card.tc.c20 { background-image: url(cards/Maria.TC.20.075.jpg) }
-.card.tc.c21 { background-image: url(cards/Maria.TC.21.075.jpg) }
-.card.tc.c22 { background-image: url(cards/Maria.TC.22.075.jpg) }
-.card.tc.c23 { background-image: url(cards/Maria.TC.23.075.jpg) }
-.card.tc.c24 { background-image: url(cards/Maria.TC.24.075.jpg) }
-.card.tc.c25 { background-image: url(cards/Maria.TC.25.075.jpg) }
-.card.tc.c26 { background-image: url(cards/Maria.TC.26.075.jpg) }
-.card.tc.c27 { background-image: url(cards/Maria.TC.27.075.jpg) }
-.card.tc.c28 { background-image: url(cards/Maria.TC.28.075.jpg) }
-.card.tc.c29 { background-image: url(cards/Maria.TC.29.075.jpg) }
-.card.tc.c30 { background-image: url(cards/Maria.TC.30.075.jpg) }
-.card.tc.c31 { background-image: url(cards/Maria.TC.31.075.jpg) }
-.card.tc.c32 { background-image: url(cards/Maria.TC.32.075.jpg) }
-.card.tc.c33 { background-image: url(cards/Maria.TC.33.075.jpg) }
-.card.tc.c34 { background-image: url(cards/Maria.TC.34.075.jpg) }
-.card.tc.c35 { background-image: url(cards/Maria.TC.35.075.jpg) }
-.card.tc.c36 { background-image: url(cards/Maria.TC.36.075.jpg) }
-.card.tc.c37 { background-image: url(cards/Maria.TC.37.075.jpg) }
-.card.tc.c38 { background-image: url(cards/Maria.TC.38.075.jpg) }
+.card.tc.H10 { background-image: url(cards/Maria.TC.01.075.jpg) }
+.card.tc.H9 { background-image: url(cards/Maria.TC.02.075.jpg) }
+.card.tc.H8 { background-image: url(cards/Maria.TC.03.075.jpg) }
+.card.tc.H7 { background-image: url(cards/Maria.TC.04.075.jpg) }
+.card.tc.H6 { background-image: url(cards/Maria.TC.05.075.jpg) }
+.card.tc.H5 { background-image: url(cards/Maria.TC.06.075.jpg) }
+.card.tc.H4 { background-image: url(cards/Maria.TC.07.075.jpg) }
+.card.tc.H3 { background-image: url(cards/Maria.TC.08.075.jpg) }
+.card.tc.H2 { background-image: url(cards/Maria.TC.09.075.jpg) }
+.card.tc.R { background-image: url(cards/Maria.TC.10.075.jpg) }
+.card.tc.S10 { background-image: url(cards/Maria.TC.11.075.jpg) }
+.card.tc.S9 { background-image: url(cards/Maria.TC.12.075.jpg) }
+.card.tc.S8 { background-image: url(cards/Maria.TC.13.075.jpg) }
+.card.tc.S7 { background-image: url(cards/Maria.TC.14.075.jpg) }
+.card.tc.S6 { background-image: url(cards/Maria.TC.15.075.jpg) }
+.card.tc.S5 { background-image: url(cards/Maria.TC.16.075.jpg) }
+.card.tc.S4 { background-image: url(cards/Maria.TC.17.075.jpg) }
+.card.tc.S3 { background-image: url(cards/Maria.TC.18.075.jpg) }
+.card.tc.S2 { background-image: url(cards/Maria.TC.19.075.jpg) }
+.card.tc.D10 { background-image: url(cards/Maria.TC.21.075.jpg) }
+.card.tc.D9 { background-image: url(cards/Maria.TC.22.075.jpg) }
+.card.tc.D8 { background-image: url(cards/Maria.TC.23.075.jpg) }
+.card.tc.D7 { background-image: url(cards/Maria.TC.24.075.jpg) }
+.card.tc.D6 { background-image: url(cards/Maria.TC.25.075.jpg) }
+.card.tc.D5 { background-image: url(cards/Maria.TC.26.075.jpg) }
+.card.tc.D4 { background-image: url(cards/Maria.TC.27.075.jpg) }
+.card.tc.D3 { background-image: url(cards/Maria.TC.28.075.jpg) }
+.card.tc.D2 { background-image: url(cards/Maria.TC.29.075.jpg) }
+.card.tc.C10 { background-image: url(cards/Maria.TC.30.075.jpg) }
+.card.tc.C9 { background-image: url(cards/Maria.TC.31.075.jpg) }
+.card.tc.C8 { background-image: url(cards/Maria.TC.32.075.jpg) }
+.card.tc.C7 { background-image: url(cards/Maria.TC.33.075.jpg) }
+.card.tc.C6 { background-image: url(cards/Maria.TC.34.075.jpg) }
+.card.tc.C5 { background-image: url(cards/Maria.TC.35.075.jpg) }
+.card.tc.C4 { background-image: url(cards/Maria.TC.36.075.jpg) }
+.card.tc.C3 { background-image: url(cards/Maria.TC.37.075.jpg) }
+.card.tc.C2 { background-image: url(cards/Maria.TC.38.075.jpg) }
+
.card.tc.reverse.deck_1 { background-image: url(cards/Maria.TC.reverse.deck_1.075.jpg) }
.card.tc.reverse.deck_2 { background-image: url(cards/Maria.TC.reverse.deck_2.075.jpg) }
.card.tc.reverse.deck_3 { background-image: url(cards/Maria.TC.reverse.deck_3.075.jpg) }
diff --git a/play.js b/play.js
index 4204a13..daf430c 100644
--- a/play.js
+++ b/play.js
@@ -645,7 +645,7 @@ function layout_general(id, s) {
// e.style.top = (y + 7 - 15 * n) + "px"
e.style.top = (y + 2 - 15 * n) + "px"
e.style.zIndex = y + n + 1
- e.className = power_class[GENERAL_POWER[id]] + " piece number n" + view.troops[id]
+ e.className = power_class[piece_power[id]] + " piece number n" + view.troops[id]
}
function layout_train(id, s) {
@@ -762,18 +762,16 @@ function on_update() {
ui.header.classList.toggle("prussia", view.power === P_PRUSSIA)
ui.header.classList.toggle("saxony", view.power === P_SAXONY)
ui.header.classList.toggle("pragmatic", view.power === P_PRAGMATIC)
- ui.header.classList.toggle("austira", view.power === P_AUSTRIA)
+ ui.header.classList.toggle("austria", view.power === P_AUSTRIA)
sort_power_panel(true)
-/*
for (let p = 0; p < 20; ++p)
layout_general(p, view.pos[p])
for (let p = 20; p < 30; ++p)
layout_train(p, view.pos[p])
for (let p = 30; p < 32; ++p)
layout_hussar(p, view.pos[p])
-*/
let back = [ 0, 0, 0, 0 ]
diff --git a/rules.js b/rules.js
index f5969b9..bdb4a00 100644
--- a/rules.js
+++ b/rules.js
@@ -95,66 +95,6 @@ const COOPERATE = [
[ P_AUSTRIA, P_PRAGMATIC ],
]
-exports.setup = function (seed, _scenario, _options) {
- game = {
- seed: seed,
- log: [],
- undo: [],
- active: 0, // player
- power: 0, // power
- state: "setup",
-
- turn: 1,
- step: 0,
- ctl: [],
- loc: [],
- str: [],
- }
-
- Austria 6 Malmedy
- Austria T Geel
-
- Austria 1 Austerlitz
- Austria 2 Steinamanger
- Austria 3 Stuhlweißenburg
- Austria 4 Stuhlweißenburg
- Austria 5 Trübau
- Austria T Hlinsko
- Austria T Bruck
- Austria H1 Off-map
- Austria H2 Off-map
-
- Prussia 1 Steinau
- Prussia 2 Steinau
- Prussia 3 Sprottau
- Prussia 4 Ostpreussen Box
- Prussia T Grünberg
- Prussia T Silesia Box
-
- Saxony 1 Radeberg
- Saxony T Meißen
-
- Bavaria 1 Ergoldsbach
- Bavaria T Falkenstein
-
- France 1 Beaune
- France T Bar-le-Duc
- France 5 Sarreguemines
- France 4 Créspy-en-V.
-
- France 2 Schwandorf
- France 3 Ergoldsbach
- France T Regensburg
-
- Pragmatic T Tilburg
- Pragmatic 3 Dordecht
- Pragmatic 1 Delfzijl
- Pragmatic 2 Delfzijl
-
-
- return game
-}
-
*/
@@ -555,14 +495,6 @@ function count_unused_troops_on_map() {
return n
}
-function count_unused_generals() {
- let n = 0
- for (let p of all_power_generals[game.power])
- if (game.pos[p] !== REMOVED && game.troops[p] === 0)
- ++n
- return n
-}
-
function has_any_piece(to) {
for (let s of game.pos)
if (s === to)
@@ -1338,7 +1270,7 @@ function sum_card_values(list) {
}
function find_largest_card(list) {
- for (let v = 13; v >= 2; --v) {
+ for (let v = 10; v >= 2; --v) {
for (let c of list)
if (to_value(c) === v)
return c
@@ -2439,7 +2371,7 @@ const POWER_FROM_SETUP_STEP = [
P_BAVARIA,
P_PRUSSIA,
P_SAXONY,
- P_PRUSSIA,
+ P_PRAGMATIC,
P_AUSTRIA,
]
@@ -2452,13 +2384,22 @@ const setup_initial_tcs = [ 2, 5, 9, 3, 3, 5 ]
const setup_total_troops = [ 26, 5, 16+6, 5, 14, 28 ]
-const setup_troops = [
- 0, 0, 0, 0, 0,
+const setup_min_troops = [
+ 1, 1, 1, 1, 1,
5,
- 0, 0, 4, 6,
+ 1, 1, 4, 6,
5,
- 0, 0, 0,
- 0, 0, 6, 2, 0, 4,
+ 1, 1, 1,
+ 1, 1, 6, 2, 1, 4,
+]
+
+const setup_max_troops = [
+ 8, 8, 8, 8, 8,
+ 5,
+ 8, 8, 8, 6,
+ 8,
+ 8, 8, 8,
+ 8, 8, 8, 8, 8, 8,
]
const setup_piece_position = [
@@ -2536,7 +2477,7 @@ function make_political_deck() {
function make_tactics_deck(n) {
let deck = []
for (let suit = 0; suit <= 3; ++suit)
- for (let value = 2; value <= 13; ++value)
+ for (let value = 2; value <= 10; ++value)
deck.push((n << 7) | (suit << 4) | value)
deck.push((n << 7) | (RESERVE << 4) | 2)
deck.push((n << 7) | (RESERVE << 4) | 3)
@@ -2570,11 +2511,11 @@ exports.setup = function (seed, _scenario, _options) {
step: 0,
pol_deck: null,
deck: null,
- hand: [],
+ hand: [ [], [], [], [], [], [] ],
pos: setup_piece_position.slice(),
oos: 0,
- troops: setup_troops.slice(),
+ troops: setup_min_troops.map(n => 0),
conquest: [],
moved: [],
@@ -2634,21 +2575,41 @@ states.setup = {
},
}
+function count_unsetup_min() {
+ let n = 0
+ for (let p of all_power_generals[game.power])
+ if (game.troops[p] === 0)
+ n += setup_min_troops[p]
+ return n
+}
+
+function count_unsetup_max() {
+ let n = 0
+ for (let p of all_power_generals[game.power])
+ if (game.troops[p] === 0)
+ n += setup_max_troops[p]
+ return n
+}
+
states.setup_general = {
inactive: "setup troops",
prompt() {
prompt("Add troops to " + format_selected() + ".")
view.selected = game.selected
- let n_selected = game.selected.length
- let n_other = count_unused_generals() - game.selected.length
+ let who = game.selected[0]
+
+ let n_self_min = setup_min_troops[who]
+ let n_self_max = setup_max_troops[who]
+ let n_other_min = count_unsetup_min() - n_self_min
+ let n_other_max = count_unsetup_max() - n_self_max
let n_troops = setup_total_troops[game.power] - count_used_troops()
// leave at least 1 for each remaining general
- let take_max = Math.min(8 * n_selected, n_troops - n_other)
+ let take_max = Math.min(n_self_max, n_troops - n_other_min)
// leave no more than 8 for each remaining general
- let take_min = Math.max(1 * n_selected, n_troops - n_other * 8)
+ let take_min = Math.max(n_self_min, n_troops - n_other_max)
view.actions.value = []
for (let i = take_min; i <= take_max; ++i)
@@ -2658,7 +2619,7 @@ states.setup_general = {
let save = game.selected.length - 1
for (let p of game.selected) {
let n = Math.min(8, v - save)
- game.troops[p] = n
+ game.troops[p] += n
v -= n
--save
}
@@ -2668,12 +2629,10 @@ states.setup_general = {
}
function end_setup() {
- if (++game.step === 7) {
+ if (++game.step === 6) {
goto_start_turn()
} else {
set_active_setup_power()
- if (count_unused_generals() === 0)
- end_setup()
}
}
@@ -2727,13 +2686,12 @@ exports.view = function (state, player) {
actions: null,
log: game.log,
- fate: game.turn <= 5 ? game.turn : game.fate,
+ turn: game.turn,
pos: game.pos,
oos: game.oos,
conquest: game.conquest,
troops: mask_troops(player),
hand: mask_hand(player),
- oo: game.oo,
pt: total_troops_list(),
power: game.power,
diff --git a/tools/layout.svg b/tools/layout.svg
index 841fb90..aa73244 100644
--- a/tools/layout.svg
+++ b/tools/layout.svg
@@ -40,10 +40,10 @@
inkscape:window-height="480"
id="namedview6"
showgrid="false"
- inkscape:zoom="8.3661045"
- inkscape:cx="236.64652"
- inkscape:cy="1572.9559"
- inkscape:current-layer="g3013"
+ inkscape:zoom="6.1864511"
+ inkscape:cx="1511.6937"
+ inkscape:cy="597.4918"
+ inkscape:current-layer="g5174"
inkscape:document-rotation="0"
showguides="false">
<inkscape:grid
@@ -63,7 +63,8 @@
style="display:inline" />
<g
id="g3013"
- inkscape:label="box">
+ inkscape:label="box"
+ style="display:none">
<rect
style="fill:#ffffff;fill-opacity:0.54878;stroke-width:1.01529"
id="rect3008"
@@ -100,7 +101,7 @@
<g
id="g2467"
inkscape:label="major_fortress"
- style="fill:#ffffff"
+ style="display:none;fill:#ffffff"
sodipodi:insensitive="true">
<circle
style="fill:#ffffff;fill-opacity:0.809893;stroke:none"
@@ -196,7 +197,8 @@
<g
id="g2403"
inkscape:label="minor_fortress"
- sodipodi:insensitive="true">
+ sodipodi:insensitive="true"
+ style="display:none">
<rect
style="fill:#ffffff;fill-opacity:0.809893;stroke:none"
id="rect2211"
@@ -649,7 +651,8 @@
<g
id="g1382"
inkscape:label="city"
- sodipodi:insensitive="true">
+ sodipodi:insensitive="true"
+ style="display:none">
<circle
style="fill:#ff2f2f;fill-opacity:0.54878;stroke:none;stroke-opacity:1"
id="circle846"
@@ -4063,9 +4066,9 @@
</g>
<g
id="g3273"
- inkscape:label="major_road"
+ inkscape:label="main_road"
sodipodi:insensitive="true"
- style="stroke:#b3b3b3">
+ style="display:none;stroke:#b3b3b3">
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#b3b3b3;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="m 927.46646,172.09164 -51.03383,15.29644"
@@ -5082,7 +5085,7 @@
id="g5326"
inkscape:label="road"
sodipodi:insensitive="true"
- style="stroke:#cccccc">
+ style="display:none;stroke:#cccccc">
<path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#cccccc;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="m 153.3132,1503.4258 75.96726,11.8004"
@@ -9464,9 +9467,9 @@
y="570.19531"
id="text2119"><tspan
sodipodi:role="line"
- id="tspan2117"
x="1452.9949"
- y="570.19531">Meißsen</tspan></text>
+ y="570.19531"
+ id="tspan2983">Meißen</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8px;line-height:1.25;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
diff --git a/tools/parse-layout.js b/tools/parse-layout.js
index 9006560..785bc8c 100644
--- a/tools/parse-layout.js
+++ b/tools/parse-layout.js
@@ -1,10 +1,35 @@
+"use strict"
+
const fs = require("fs")
let points = {}
let rects = {}
let edges = {}
-let mode, name, x, y, w, h, cx, cy, rx, ry, x2, y2
+let mode, name, subname, x, y, w, h, cx, cy, rx, ry, x2, y2
let labels = []
+let sectors = {}
+
+function array_insert(array, index, item) {
+ for (let i = array.length; i > index; --i)
+ array[i] = array[i - 1]
+ array[index] = item
+}
+
+function set_add(set, item) {
+ let a = 0
+ let b = set.length - 1
+ while (a <= b) {
+ let m = (a + b) >> 1
+ let x = set[m]
+ if (item < x)
+ b = m - 1
+ else if (item > x)
+ a = m + 1
+ else
+ return
+ }
+ array_insert(set, a, item)
+}
function add_point(x, y) {
if (name in points)
@@ -32,6 +57,8 @@ function flush() {
add_edge(x, y, x2, y2)
}
if (mode === 'rect') {
+ if (subname && subname.startsWith("#"))
+ sectors[subname.slice(1)] = [x, y, x+w, y+h]
if (name.startsWith("$"))
add_rect(x, y, w, h)
else
@@ -41,6 +68,7 @@ function flush() {
add_point( cx, cy )
}
x = y = x2 = y2 = w = h = cx = cy = rx = ry = 0
+ subname = null
}
function parse_path_data(path) {
@@ -85,6 +113,7 @@ function parse_path_data(path) {
x2 = cx = cx + Number(path[i+5])
y2 = cy = cy + Number(path[i+6])
i += 7
+ abs = false
break
case 'l':
i += 1
@@ -154,6 +183,8 @@ for (let line of fs.readFileSync("tools/layout.svg", "utf-8").split("\n")) {
ry = (Number(line.split('"')[1]))
else if (line.startsWith('inkscape:label="') && mode === "g")
name = line.split('"')[1]
+ else if (line.startsWith('inkscape:label="') && mode !== "g")
+ subname = line.split('"')[1]
else if (line.startsWith('d="'))
parse_path_data(line.split('"')[1].split(/[ ,]/))
if (line.includes("</tspan>")) {
@@ -300,7 +331,7 @@ for (let key in points) {
}
if (country === "UNKNOWN")
- console.log("no country:", node)
+ console.warn("no country:", node)
cities.push({
name: node.name,
@@ -310,6 +341,7 @@ for (let key in points) {
type: key,
x: Math.round(x),
y: Math.round(y),
+ adjacent: [],
main_roads: [],
roads: [],
})
@@ -320,48 +352,65 @@ for (let key in points) {
}
}
+
cities.sort((a,b) => {
- if (a.country < b.country) return -1
- if (a.country > b.country) return 1
+ if (a.map < b.map) return -1
+ if (a.map > b.map) return 1
+
+ //let a_obj = a.type.includes("fortress")
+ //let b_obj = b.type.includes("fortress")
+ //if (a_obj && !b_obj) return -1
+ //if (!a_obj && b_obj) return 1
- if (a.map < b.map) return 1
- if (a.map > b.map) return -1
+ // if (a.type === "depot" && b.type !== "depot") return -1
+ // if (a.type !== "depot" && b.type === "depot") return 1
if (a.suit < b.suit) return -1
if (a.suit > b.suit) return 1
- //if (a.type === "major_fortress" && b.type !== "major_fortress") return -1
- //if (a.type !== "major_fortress" && b.type === "major_fortress") return 1
- //if (a.type === "minor_fortress" && b.type !== "minor_fortress") return -1
- //if (a.type !== "minor_fortress" && b.type === "minor_fortress") return 1
+ // if (a.country < b.country) return -1
+ // if (a.country > b.country) return 1
+
+ if (a.type === "major_fortress" && b.type !== "major_fortress") return -1
+ if (a.type !== "major_fortress" && b.type === "major_fortress") return 1
+ if (a.type === "minor_fortress" && b.type !== "minor_fortress") return -1
+ if (a.type !== "minor_fortress" && b.type === "minor_fortress") return 1
+
+ if (a.type === "box" && b.type !== "box") return 1
+ if (a.type !== "box" && b.type === "box") return -1
if (a.name < b.name) return -1
if (a.name > b.name) return 1
+
return b.y - a.y
})
-for (let e of edges.major_road) {
+for (let e of edges.main_road) {
let a = find_closest_city(e.x1, e.y1)
let b = find_closest_city(e.x2, e.y2)
- cities[a].main_roads.push(b)
- cities[b].main_roads.push(a)
+ set_add(cities[a].main_roads, b)
+ set_add(cities[b].main_roads, a)
+ set_add(cities[a].adjacent, b)
+ set_add(cities[b].adjacent, a)
}
for (let e of edges.road) {
let a = find_closest_city(e.x1, e.y1)
let b = find_closest_city(e.x2, e.y2)
- cities[a].roads.push(b)
- cities[b].roads.push(a)
+ set_add(cities[a].roads, b)
+ set_add(cities[b].roads, a)
+ set_add(cities[a].adjacent, b)
+ set_add(cities[b].adjacent, a)
}
let arrays = {
name: [],
- // map: [],
- country: [],
+ // country: [],
// suit: [],
// type: [],
x: [],
y: [],
+ adjacent: [],
main_roads: [],
roads: [],
}
@@ -379,21 +428,21 @@ let sets = {
hearts: [],
spades: [],
},
- map: {
- Flanders: [],
- Bohemia: [],
- UNKNOWN: [],
- },
country: {
Austria: [],
Bavaria: [],
+ Empire: [],
France: [],
Netherlands: [],
Poland: [],
Prussia: [],
Saxony: [],
Silesia: [],
- Empire: [],
+ UNKNOWN: [],
+ },
+ map: {
+ Bohemia: [],
+ Flanders: [],
UNKNOWN: [],
},
}
@@ -426,35 +475,29 @@ function remap_to_range(obj) {
obj[key] = map_to_range(obj[key])
}
-remap_to_range(sets.map)
remap_to_range(sets.suit)
-remap_to_range(sets.country)
-
-function object_group_by(items, callback) {
- let groups = {}
- if (typeof callback === "function") {
- for (let item of items) {
- let key = callback(item)
- if (key in groups)
- groups[key].push(item)
- else
- groups[key] = [ item ]
- }
- } else {
- for (let item of items) {
- let key = item[callback]
- if (key in groups)
- groups[key].push(item)
- else
- groups[key] = [ item ]
- }
- }
- return groups
-}
+remap_to_range(sets.map)
+//remap_to_range(sets.country)
delete sets.type.city
sets.cities = arrays
+function list_cities_in_rect(rect) {
+ let [ x1, y1, x2, y2 ] = rect
+ let list = []
+ for (let i = 0; i < sets.cities.name.length; ++i) {
+ let x = sets.cities.x[i]
+ let y = sets.cities.y[i]
+ if (x >= x1 && x <= x2 && y >= y1 && y <= y2)
+ list.push(i)
+ }
+ return list
+}
+
+sets.sectors = {}
+for (let key in sectors)
+ sets.sectors[key] = list_cities_in_rect(sectors[key])
+
console.log("const data = " + JSON.stringify(sets))
console.log("if (typeof module === 'object') module.exports = data")