Update station autocompletion for T-S-DE-IRIS v1.56

This commit is contained in:
Daniel Friesel 2021-06-20 12:19:26 +02:00
parent f1f475f26f
commit 0d2a53c80d
10 changed files with 124 additions and 85 deletions

View file

@ -1,19 +1,19 @@
const CACHE_NAME = 'static-cache-v36'; const CACHE_NAME = 'static-cache-v37';
const FILES_TO_CACHE = [ const FILES_TO_CACHE = [
'/favicon.ico', '/favicon.ico',
'/offline.html', '/offline.html',
'/static/v36/css/light.min.css', '/static/v37/css/light.min.css',
'/static/v36/css/dark.min.css', '/static/v37/css/dark.min.css',
'/static/v36/css/material-icons.css', '/static/v37/css/material-icons.css',
'/static/v36/css/local.css', '/static/v37/css/local.css',
'/static/v36/fonts/MaterialIcons-Regular.woff2', '/static/v37/fonts/MaterialIcons-Regular.woff2',
'/static/v36/fonts/MaterialIcons-Regular.woff', '/static/v37/fonts/MaterialIcons-Regular.woff',
'/static/v36/fonts/MaterialIcons-Regular.ttf', '/static/v37/fonts/MaterialIcons-Regular.ttf',
'/static/v36/js/jquery-3.4.1.min.js', '/static/v37/js/jquery-3.4.1.min.js',
'/static/v36/js/materialize.min.js', '/static/v37/js/materialize.min.js',
'/static/v36/js/travelynx-actions.min.js', '/static/v37/js/travelynx-actions.min.js',
'/static/v36/js/autocomplete.min.js', '/static/v37/js/autocomplete.min.js',
'/static/v36/js/geolocation.min.js', '/static/v37/js/geolocation.min.js',
]; ];
self.addEventListener('install', (evt) => { self.addEventListener('install', (evt) => {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,12 +2,12 @@
font-family: 'Material Icons'; font-family: 'Material Icons';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
src: url(/static/v36/fonts/MaterialIcons-Regular.eot); /* For IE6-8 */ src: url(/static/v37/fonts/MaterialIcons-Regular.eot); /* For IE6-8 */
src: local('Material Icons'), src: local('Material Icons'),
local('MaterialIcons-Regular'), local('MaterialIcons-Regular'),
url(/static/v36/fonts/MaterialIcons-Regular.woff2) format('woff2'), url(/static/v37/fonts/MaterialIcons-Regular.woff2) format('woff2'),
url(/static/v36/fonts/MaterialIcons-Regular.woff) format('woff'), url(/static/v37/fonts/MaterialIcons-Regular.woff) format('woff'),
url(/static/v36/fonts/MaterialIcons-Regular.ttf) format('truetype'); url(/static/v37/fonts/MaterialIcons-Regular.ttf) format('truetype');
} }
.material-icons { .material-icons {

View file

@ -68,7 +68,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Aime-la-Plagne": null, "Aime-la-Plagne": null,
"Aindorf": null, "Aindorf": null,
"Ainring": null, "Ainring": null,
"Airole": null,
"Airolo": null, "Airolo": null,
"Aix-en-Provence TGV": null, "Aix-en-Provence TGV": null,
"Aix-les-Bains-le-Revard": null, "Aix-les-Bains-le-Revard": null,
@ -83,7 +82,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Albertville": null, "Albertville": null,
"Albgaubad, Ettlingen": null, "Albgaubad, Ettlingen": null,
"Albig": null, "Albig": null,
"Albisheim(Pfrimm)": null,
"Albrechtshaus": null, "Albrechtshaus": null,
"Albrechtshof": null, "Albrechtshof": null,
"Albshausen": null, "Albshausen": null,
@ -99,7 +97,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Aletshausen": null, "Aletshausen": null,
"Alexisbad": null, "Alexisbad": null,
"Alfeld(Leine)": null, "Alfeld(Leine)": null,
"Alfhausen": null,
"Alfter-Impekoven": null, "Alfter-Impekoven": null,
"Alfter-Witterschlick": null, "Alfter-Witterschlick": null,
"Algermissen": null, "Algermissen": null,
@ -268,7 +265,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Ardey": null, "Ardey": null,
"Arensdorf(Köthen)": null, "Arensdorf(Köthen)": null,
"Arenshausen": null, "Arenshausen": null,
"Arezzo": null,
"Arfurt(Lahn)": null, "Arfurt(Lahn)": null,
"Argeles-sur-Mer": null, "Argeles-sur-Mer": null,
"Arkel": null, "Arkel": null,
@ -333,7 +329,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Auestadion, Kassel": null, "Auestadion, Kassel": null,
"Aufhausen(Württ)": null, "Aufhausen(Württ)": null,
"Aufhausen(b Erding)": null, "Aufhausen(b Erding)": null,
"Augartenstraße, Karlsruhe": null,
"Auggen": null, "Auggen": null,
"Augsburg Haunstetterstraße": null, "Augsburg Haunstetterstraße": null,
"Augsburg Hbf": null, "Augsburg Hbf": null,
@ -341,6 +336,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Augsburg Morellstr.": null, "Augsburg Morellstr.": null,
"Augsburg-Hochzoll": null, "Augsburg-Hochzoll": null,
"Augsburg-Oberhausen": null, "Augsburg-Oberhausen": null,
"August-Bebel-Straße, Karlsruhe": null,
"Augustfehn": null, "Augustfehn": null,
"Augustusburg Bergstation": null, "Augustusburg Bergstation": null,
"Aukrug": null, "Aukrug": null,
@ -916,7 +912,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Beuron": null, "Beuron": null,
"Beutelsbach": null, "Beutelsbach": null,
"Beutersitz": null, "Beutersitz": null,
"Bevera": null,
"Beverungen-Wehrden": null, "Beverungen-Wehrden": null,
"Beverwijk": null, "Beverwijk": null,
"Bex": null, "Bex": null,
@ -1018,6 +1013,11 @@ document.addEventListener('DOMContentLoaded', function() {
"Blankenheim(Sangerhausen)": null, "Blankenheim(Sangerhausen)": null,
"Blankenheim(Wald)": null, "Blankenheim(Wald)": null,
"Blankenloch": null, "Blankenloch": null,
"Blankenloch Kirche, Stutensee": null,
"Blankenloch Mühlenweg, Stutensee": null,
"Blankenloch Nord, Stutensee": null,
"Blankenloch Süd, Stutensee": null,
"Blankenloch Tolna-Platz, Stutensee": null,
"Blankensee(Meckl)": null, "Blankensee(Meckl)": null,
"Blankenstein(Saale)": null, "Blankenstein(Saale)": null,
"Blaubeuren": null, "Blaubeuren": null,
@ -1040,7 +1040,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Blumberg-Riedöschingen": null, "Blumberg-Riedöschingen": null,
"Blumberg-Zollhaus": null, "Blumberg-Zollhaus": null,
"Blumenau": null, "Blumenau": null,
"Blumenberg": null,
"Blumenhagen": null, "Blumenhagen": null,
"Blumenthal(Mark)": null, "Blumenthal(Mark)": null,
"Blönsdorf": null, "Blönsdorf": null,
@ -1122,7 +1121,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Bornholte(b Verl)": null, "Bornholte(b Verl)": null,
"Borsdorf(Hess)": null, "Borsdorf(Hess)": null,
"Borsdorf(Sachs)": null, "Borsdorf(Sachs)": null,
"Borup st": null,
"Boskoop": null, "Boskoop": null,
"Boskoop Snijdelwijk": null, "Boskoop Snijdelwijk": null,
"Bottighofen": null, "Bottighofen": null,
@ -1347,7 +1345,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Burgkirchen": null, "Burgkirchen": null,
"Burgkunstadt": null, "Burgkunstadt": null,
"Burglauer": null, "Burglauer": null,
"Burgos Rosa de Lima": null,
"Burgsinn": null, "Burgsinn": null,
"Burgstall(Murr)": null, "Burgstall(Murr)": null,
"Burgstädt": null, "Burgstädt": null,
@ -1411,6 +1408,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Büchen": null, "Büchen": null,
"Büchenbach": null, "Büchenbach": null,
"Büches-Düdelsheim": null, "Büches-Düdelsheim": null,
"Büchig, Stutensee": null,
"Bückeburg": null, "Bückeburg": null,
"Büdingen(Oberhess)": null, "Büdingen(Oberhess)": null,
"Büdingen(Westerw)": null, "Büdingen(Westerw)": null,
@ -1474,7 +1472,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Ceska Kubice": null, "Ceska Kubice": null,
"Ceska Lipa hl.n.": null, "Ceska Lipa hl.n.": null,
"Ceska Lipa strelnice": null, "Ceska Lipa strelnice": null,
"Ceska Trebova": null,
"Ceske Budejovice": null, "Ceske Budejovice": null,
"Ceske Velenice": null, "Ceske Velenice": null,
"Chalon sur Saône": null, "Chalon sur Saône": null,
@ -1533,7 +1530,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Chevremont(NL)": null, "Chevremont(NL)": null,
"Chiasso": null, "Chiasso": null,
"Chiusa/Klausen": null, "Chiusa/Klausen": null,
"Chiusi-Chianciano Terme": null,
"Chomutov": null, "Chomutov": null,
"Chomutov mesto": null, "Chomutov mesto": null,
"Chorin": null, "Chorin": null,
@ -1606,7 +1602,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Cursdorf": null, "Cursdorf": null,
"Curtici": null, "Curtici": null,
"Cuxhaven": null, "Cuxhaven": null,
"Czechowice-Dziedzice": null,
"Czerwiensk": null, "Czerwiensk": null,
"Cölbe": null, "Cölbe": null,
"Daaden": null, "Daaden": null,
@ -1658,6 +1653,10 @@ document.addEventListener('DOMContentLoaded', function() {
"Davos Dorf": null, "Davos Dorf": null,
"Davos Platz": null, "Davos Platz": null,
"Dax": null, "Dax": null,
"Daxlanden Dornröschenweg, Karlsruhe": null,
"Daxlanden Karl-Delisle-Straße, Karlsruhe": null,
"Daxlanden Nussbaumweg, Karlsruhe": null,
"Daxlanden Thomas-Mann-Straße, Karlsruhe": null,
"De Vink": null, "De Vink": null,
"Debrecen": null, "Debrecen": null,
"Decin hl.n.": null, "Decin hl.n.": null,
@ -1952,6 +1951,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Durach": null, "Durach": null,
"Durlach Hubstraße, Karlsruhe": null, "Durlach Hubstraße, Karlsruhe": null,
"Durlach Untermühlstraße, Karlsruhe": null, "Durlach Untermühlstraße, Karlsruhe": null,
"Durlacher Tor/KIT-Campus Süd, Karlsruhe": null,
"Durmersheim": null, "Durmersheim": null,
"Durmersheim Nord": null, "Durmersheim Nord": null,
"Dutenhofen(Wetzlar)": null, "Dutenhofen(Wetzlar)": null,
@ -1969,7 +1969,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Dörverden": null, "Dörverden": null,
"Dülken": null, "Dülken": null,
"Dülmen": null, "Dülmen": null,
"Dünsen DHE": null,
"Düren": null, "Düren": null,
"Düren Annakirmesplatz": null, "Düren Annakirmesplatz": null,
"Düren Im Großen Tal": null, "Düren Im Großen Tal": null,
@ -2035,6 +2034,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Eckardtsleben": null, "Eckardtsleben": null,
"Eckartsberga(Thür)": null, "Eckartsberga(Thür)": null,
"Eckartshausen-Ilshofen": null, "Eckartshausen-Ilshofen": null,
"Eckenerstraße, Karlsruhe": null,
"Eckernförde": null, "Eckernförde": null,
"Eckersmühlen": null, "Eckersmühlen": null,
"Eddersheim": null, "Eddersheim": null,
@ -2060,6 +2060,9 @@ document.addEventListener('DOMContentLoaded', function() {
"Eggenfelden": null, "Eggenfelden": null,
"Eggenfelden Mitte": null, "Eggenfelden Mitte": null,
"Eggenstein Bf": null, "Eggenstein Bf": null,
"Eggenstein Schweriner Straße, Eggenstein-Leopoldsh": null,
"Eggenstein Spöcker Weg, Eggenstein-Leopoldshafen": null,
"Eggenstein Süd, Eggenstein-Leopoldshafen": null,
"Eggersdorf": null, "Eggersdorf": null,
"Eggesin": null, "Eggesin": null,
"Eggingen": null, "Eggingen": null,
@ -2199,6 +2202,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Enschede Kennispark": null, "Enschede Kennispark": null,
"Ensdorf(Saar)": null, "Ensdorf(Saar)": null,
"Enspel": null, "Enspel": null,
"Entenfang, Karlsruhe": null,
"Entringen": null, "Entringen": null,
"Enzberg": null, "Enzberg": null,
"Enzisweiler": null, "Enzisweiler": null,
@ -2315,6 +2319,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Essen-Werden": null, "Essen-Werden": null,
"Essen-Zollverein Nord": null, "Essen-Zollverein Nord": null,
"Essen-Überruhr": null, "Essen-Überruhr": null,
"Essenweinstraße, Karlsruhe": null,
"Esslingen(Neckar)": null, "Esslingen(Neckar)": null,
"Esslingen-Mettingen": null, "Esslingen-Mettingen": null,
"Esslingen-Zell": null, "Esslingen-Zell": null,
@ -2327,7 +2332,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Etterzhausen": null, "Etterzhausen": null,
"Ettlingen Stadt": null, "Ettlingen Stadt": null,
"Ettlingen West": null, "Ettlingen West": null,
"Ettlinger Tor, Karlsruhe": null,
"Etzbach": null, "Etzbach": null,
"Etzelwang": null, "Etzelwang": null,
"Etzenbach": null, "Etzenbach": null,
@ -2339,8 +2343,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Euerdorf": null, "Euerdorf": null,
"Eupen": null, "Eupen": null,
"Europaplatz/Postgal. (Kaiser), Karlsruhe": null, "Europaplatz/Postgal. (Kaiser), Karlsruhe": null,
"Europaplatz/Postgalerie (Karls, Karlsruhe": null,
"Europaplatz/Postgalerie (Karlstr.), Karlsruhe": null,
"Euskirchen": null, "Euskirchen": null,
"Euskirchen Zuckerfabrik": null, "Euskirchen Zuckerfabrik": null,
"Euskirchen-Großbüllesheim": null, "Euskirchen-Großbüllesheim": null,
@ -2426,6 +2428,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Fischen": null, "Fischen": null,
"Fischhaus": null, "Fischhaus": null,
"Fischhausen-Neuhaus": null, "Fischhausen-Neuhaus": null,
"Fischweier, Karlsbad": null,
"Flamatt": null, "Flamatt": null,
"Flassa": null, "Flassa": null,
"Flaurling": null, "Flaurling": null,
@ -2455,6 +2458,11 @@ document.addEventListener('DOMContentLoaded', function() {
"Fontan Saorge": null, "Fontan Saorge": null,
"Forbach(F)": null, "Forbach(F)": null,
"Forbach(Schwarzw)": null, "Forbach(Schwarzw)": null,
"Forchheim Hallenbad, Rheinstetten": null,
"Forchheim Hauptstraße, Rheinstetten": null,
"Forchheim Leichtsandstr./Messe Karlsruhe, Rheinste": null,
"Forchheim Leichtsandstraße/Messe Karlsruhe, Rheins": null,
"Forchheim Oberfeldstraße, Rheinstetten": null,
"Forchheim(Oberfr)": null, "Forchheim(Oberfr)": null,
"Forchheim(b Karlsruhe)": null, "Forchheim(b Karlsruhe)": null,
"Forest Midi/Vorst Zuid": null, "Forest Midi/Vorst Zuid": null,
@ -2492,6 +2500,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Frankfurt(M)Ostendstraße": null, "Frankfurt(M)Ostendstraße": null,
"Frankfurt(M)Stresemannallee": null, "Frankfurt(M)Stresemannallee": null,
"Frankfurt(M)Taunusanlage": null, "Frankfurt(M)Taunusanlage": null,
"Frankfurt(Main) Stresemannallee/Mörfelder Landstr": null,
"Frankfurt(Main)-Gateway Gardens": null, "Frankfurt(Main)-Gateway Gardens": null,
"Frankfurt(Main)Hbf": null, "Frankfurt(Main)Hbf": null,
"Frankfurt(Main)Messe": null, "Frankfurt(Main)Messe": null,
@ -2606,6 +2615,9 @@ document.addEventListener('DOMContentLoaded', function() {
"Friedrichsruhe(Meck)": null, "Friedrichsruhe(Meck)": null,
"Friedrichssegen": null, "Friedrichssegen": null,
"Friedrichstadt": null, "Friedrichstadt": null,
"Friedrichstal Mitte, Stutensee": null,
"Friedrichstal Nord, Stutensee": null,
"Friedrichstal Saint-Riquier-Platz, Stutensee": null,
"Friedrichstal b Freudenstadt": null, "Friedrichstal b Freudenstadt": null,
"Friedrichstal(Baden)": null, "Friedrichstal(Baden)": null,
"Friedrichsthal(Saar)": null, "Friedrichsthal(Saar)": null,
@ -2871,7 +2883,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Goppenstein": null, "Goppenstein": null,
"Gorgast": null, "Gorgast": null,
"Gorinchem": null, "Gorinchem": null,
"Gorzow Wlkp.": null,
"Gosberg": null, "Gosberg": null,
"Goslar": null, "Goslar": null,
"Gossau SG": null, "Gossau SG": null,
@ -2955,7 +2966,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Groß Gerau": null, "Groß Gerau": null,
"Groß Gerau-Dornberg": null, "Groß Gerau-Dornberg": null,
"Groß Gerau-Dornheim": null, "Groß Gerau-Dornheim": null,
"Groß Ippener DHE": null,
"Groß Karben": null, "Groß Karben": null,
"Groß Kiesow": null, "Groß Kiesow": null,
"Groß Kreutz": null, "Groß Kreutz": null,
@ -3127,6 +3137,12 @@ document.addEventListener('DOMContentLoaded', function() {
"Hagenow Stadt": null, "Hagenow Stadt": null,
"Hagenwerder": null, "Hagenwerder": null,
"Hagondange": null, "Hagondange": null,
"Hagsfeld Bahnhof, Karlsruhe": null,
"Hagsfeld Geroldsäcker, Karlsruhe": null,
"Hagsfeld Jenaer Straße, Karlsruhe": null,
"Hagsfeld Reitschulschlag (Schleife), Karlsruhe": null,
"Hagsfeld Reitschulschlag, Karlsruhe": null,
"Hagsfeld Süd, Karlsruhe": null,
"Haguenau": null, "Haguenau": null,
"Haidenaab-Göppmannsbühl": null, "Haidenaab-Göppmannsbühl": null,
"Haidkapelle": null, "Haidkapelle": null,
@ -3304,7 +3320,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Harthaus": null, "Harthaus": null,
"Hartmannmühle": null, "Hartmannmühle": null,
"Hartmannshof": null, "Hartmannshof": null,
"Harxheim-Zell": null,
"Harzgerode": null, "Harzgerode": null,
"Hasbergen": null, "Hasbergen": null,
"Haselbrunn": null, "Haselbrunn": null,
@ -3332,9 +3347,11 @@ document.addEventListener('DOMContentLoaded', function() {
"Hauenstein(Pfalz)": null, "Hauenstein(Pfalz)": null,
"Haunetal-Neukirchen": null, "Haunetal-Neukirchen": null,
"Haupeltshofen": null, "Haupeltshofen": null,
"Hauptfriedhof, Karlsruhe": null,
"Hauptfriedhof, Kassel": null, "Hauptfriedhof, Kassel": null,
"Hauptstuhl": null, "Hauptstuhl": null,
"Hauptwil": null, "Hauptwil": null,
"Haus Bethlehem, Karlsruhe": null,
"Haus im Ennstal": null, "Haus im Ennstal": null,
"Hausach": null, "Hausach": null,
"Hausen (b Düren)": null, "Hausen (b Düren)": null,
@ -3581,6 +3598,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Hirschfelden": null, "Hirschfelden": null,
"Hirschhorn(Neckar)": null, "Hirschhorn(Neckar)": null,
"Hirschhorn(Pfalz)": null, "Hirschhorn(Pfalz)": null,
"Hirtenweg/Technologiepark, Karlsruhe": null,
"Hittfeld": null, "Hittfeld": null,
"Hitzacker": null, "Hitzacker": null,
"Hnevice": null, "Hnevice": null,
@ -3595,6 +3613,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Hochspeyer": null, "Hochspeyer": null,
"Hochstadt-Marktzeuln": null, "Hochstadt-Marktzeuln": null,
"Hochstetten": null, "Hochstetten": null,
"Hochstetten Altenheim, Linkenheim-Hochstetten": null,
"Hochstetten Grenzstraße": null, "Hochstetten Grenzstraße": null,
"Hochstetten(Nahe)": null, "Hochstetten(Nahe)": null,
"Hochstätten(Pfalz)": null, "Hochstätten(Pfalz)": null,
@ -3769,6 +3788,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Höxter-Godelheim": null, "Höxter-Godelheim": null,
"Höxter-Lüchtringen": null, "Höxter-Lüchtringen": null,
"Höxter-Ottbergen": null, "Höxter-Ottbergen": null,
"Hübschstraße, Karlsruhe": null,
"Hückelhoven-Baal": null, "Hückelhoven-Baal": null,
"Hüffenhardt": null, "Hüffenhardt": null,
"Hüfingen Mitte": null, "Hüfingen Mitte": null,
@ -3843,7 +3863,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Ipsheim": null, "Ipsheim": null,
"Irfersgrün": null, "Irfersgrün": null,
"Irrenlohe": null, "Irrenlohe": null,
"Irun": null,
"Is-sur-Tille": null, "Is-sur-Tille": null,
"Iselle di Trasquera": null, "Iselle di Trasquera": null,
"Iselle transito": null, "Iselle transito": null,
@ -3933,6 +3952,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Jünkerath": null, "Jünkerath": null,
"Jüterbog": null, "Jüterbog": null,
"Jütrichau": null, "Jütrichau": null,
"KIT-Campus Nord Bahnhof, Eggenstein-Leopoldshafen": null,
"KVG-Betriebshof, Kassel": null, "KVG-Betriebshof, Kassel": null,
"Kaarst IKEA": null, "Kaarst IKEA": null,
"Kaarst Mitte/Holzbüttgen": null, "Kaarst Mitte/Holzbüttgen": null,
@ -3943,7 +3963,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Kahl Kopp/Heide": null, "Kahl Kopp/Heide": null,
"Kahl(Main)": null, "Kahl(Main)": null,
"Kahla(Thür)": null, "Kahla(Thür)": null,
"Kainzenbad": null,
"Kaiseraugst": null, "Kaiseraugst": null,
"Kaisersesch": null, "Kaisersesch": null,
"Kaiserslautern Galgenschanze": null, "Kaiserslautern Galgenschanze": null,
@ -3993,6 +4012,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Karlsruhe Durlacher Tor / KIT-Campus Süd": null, "Karlsruhe Durlacher Tor / KIT-Campus Süd": null,
"Karlsruhe Entenfang": null, "Karlsruhe Entenfang": null,
"Karlsruhe Hbf": null, "Karlsruhe Hbf": null,
"Karlsruhe Hbf Südausgang": null,
"Karlsruhe Marktplatz (Kaiserstraße)": null, "Karlsruhe Marktplatz (Kaiserstraße)": null,
"Karlsruhe Mühlburger Tor (Kaiserallee)": null, "Karlsruhe Mühlburger Tor (Kaiserallee)": null,
"Karlsruhe West": null, "Karlsruhe West": null,
@ -4180,6 +4200,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Knielingen Eggensteiner Straße, Karlsruhe": null, "Knielingen Eggensteiner Straße, Karlsruhe": null,
"Knielingen Herweghstraße, Karlsruhe": null, "Knielingen Herweghstraße, Karlsruhe": null,
"Knielingen Siemens, Karlsruhe": null, "Knielingen Siemens, Karlsruhe": null,
"Knielinger Allee/Städt. Klinikum, Karlsruhe": null,
"Knittelfeld": null, "Knittelfeld": null,
"Knittlingen-Kleinvillars": null, "Knittlingen-Kleinvillars": null,
"Knöringen-Essingen": null, "Knöringen-Essingen": null,
@ -4207,14 +4228,15 @@ document.addEventListener('DOMContentLoaded', function() {
"Kollmarsreute": null, "Kollmarsreute": null,
"Kollnau": null, "Kollnau": null,
"Komarom": null, "Komarom": null,
"Kongresszentrum, Karlsruhe": null,
"Konin": null, "Konin": null,
"Konstanz": null, "Konstanz": null,
"Konstanz Hafen": null,
"Konstanz-Fürstenberg": null, "Konstanz-Fürstenberg": null,
"Konstanz-Petershausen": null, "Konstanz-Petershausen": null,
"Konstanz-Wollmatingen": null, "Konstanz-Wollmatingen": null,
"Konz": null, "Konz": null,
"Konz Mitte": null, "Konz Mitte": null,
"Konzerthaus, Karlsruhe": null,
"Koog aan de Zaan": null, "Koog aan de Zaan": null,
"Korbach Hbf": null, "Korbach Hbf": null,
"Korbach Süd": null, "Korbach Süd": null,
@ -4261,6 +4283,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Krems an der Donau": null, "Krems an der Donau": null,
"Krensitz": null, "Krensitz": null,
"Kressbronn": null, "Kressbronn": null,
"Kressbronn Hafen": null,
"Kretscham-Rothensehma": null, "Kretscham-Rothensehma": null,
"Kreuz Konz": null, "Kreuz Konz": null,
"Kreuzau Bahnhof": null, "Kreuzau Bahnhof": null,
@ -4281,6 +4304,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Kronach": null, "Kronach": null,
"Kronberg Süd": null, "Kronberg Süd": null,
"Kronberg(Taunus)": null, "Kronberg(Taunus)": null,
"Kronenplatz (Fritz-Erler-Str.), Karlsruhe": null,
"Kronenplatz (Kaiserstraße), Karlsruhe": null, "Kronenplatz (Kaiserstraße), Karlsruhe": null,
"Kronshagen": null, "Kronshagen": null,
"Kronskamp": null, "Kronskamp": null,
@ -4319,6 +4343,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Kurort Oybin": null, "Kurort Oybin": null,
"Kurort Oybin-Niederdorf": null, "Kurort Oybin-Niederdorf": null,
"Kurort Rathen": null, "Kurort Rathen": null,
"Kurt-Schumacher-Straße, Karlsruhe": null,
"Kusel": null, "Kusel": null,
"Kutenholz": null, "Kutenholz": null,
"Kutina": null, "Kutina": null,
@ -4389,6 +4414,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Köttewitz": null, "Köttewitz": null,
"Kötzschau": null, "Kötzschau": null,
"Kövenig": null, "Kövenig": null,
"Kühler Krug, Karlsruhe": null,
"Kühnhausen": null, "Kühnhausen": null,
"Kühren": null, "Kühren": null,
"Külte-Wetterburg": null, "Külte-Wetterburg": null,
@ -4476,6 +4502,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Langenselbold": null, "Langenselbold": null,
"Langenstein": null, "Langenstein": null,
"Langensteinbach Bahnhof": null, "Langensteinbach Bahnhof": null,
"Langensteinbach Schießhüttenäcker, Karlsbad": null,
"Langensteinbach St. Barbara, Karlsbad": null, "Langensteinbach St. Barbara, Karlsbad": null,
"Langenthal(CH)": null, "Langenthal(CH)": null,
"Langenwang(Schwab)": null, "Langenwang(Schwab)": null,
@ -4648,7 +4675,9 @@ document.addEventListener('DOMContentLoaded', function() {
"Leogang": null, "Leogang": null,
"Leonberg": null, "Leonberg": null,
"Leopoldsburg": null, "Leopoldsburg": null,
"Leopoldshafen Frankfurter Straße, Eggenstein-Leopo": null,
"Leopoldshafen Leopoldstr.": null, "Leopoldshafen Leopoldstr.": null,
"Leopoldshafen Viermorgen, Eggenstein-Leopoldshafen": null,
"Leopoldstal": null, "Leopoldstal": null,
"Lermoos": null, "Lermoos": null,
"Lerouville": null, "Lerouville": null,
@ -4656,6 +4685,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Les-Aubrais-Orleans": null, "Les-Aubrais-Orleans": null,
"Lesce-Bled": null, "Lesce-Bled": null,
"Leschede": null, "Leschede": null,
"Lessingstraße, Karlsruhe": null,
"Letmathe": null, "Letmathe": null,
"Letmathe Dechenhöhle": null, "Letmathe Dechenhöhle": null,
"Letschin": null, "Letschin": null,
@ -4728,7 +4758,10 @@ document.addEventListener('DOMContentLoaded', function() {
"Lindwedel": null, "Lindwedel": null,
"Lingen(Ems)": null, "Lingen(Ems)": null,
"Lingenfeld": null, "Lingenfeld": null,
"Linkenheim Friedrichstraße, Linkenheim-Hochstetten": null,
"Linkenheim Rathaus": null, "Linkenheim Rathaus": null,
"Linkenheim Schulzentrum, Linkenheim-Hochstetten": null,
"Linkenheim Süd, Linkenheim-Hochstetten": null,
"Linnich Bhf": null, "Linnich Bhf": null,
"Linnich-Tetz": null, "Linnich-Tetz": null,
"Linsburg": null, "Linsburg": null,
@ -5021,6 +5054,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Marktleuthen": null, "Marktleuthen": null,
"Marktoberdorf": null, "Marktoberdorf": null,
"Marktoberdorf Schule": null, "Marktoberdorf Schule": null,
"Marktplatz, Karlsruhe": null,
"Marktredwitz": null, "Marktredwitz": null,
"Marktschorgast": null, "Marktschorgast": null,
"Markvartice": null, "Markvartice": null,
@ -5052,6 +5086,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Maselheim": null, "Maselheim": null,
"Massen": null, "Massen": null,
"Massing": null, "Massing": null,
"Mathystraße, Karlsruhe": null,
"Matrei am Brenner": null, "Matrei am Brenner": null,
"Matzenbach": null, "Matzenbach": null,
"Matzing": null, "Matzing": null,
@ -5096,7 +5131,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Meinersen": null, "Meinersen": null,
"Meinerzhagen": null, "Meinerzhagen": null,
"Meiningen": null, "Meiningen": null,
"Meinsdorf": null,
"Meiringen": null, "Meiringen": null,
"Meisdorf": null, "Meisdorf": null,
"Meitingen": null, "Meitingen": null,
@ -5179,7 +5213,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Michelstadt": null, "Michelstadt": null,
"Michendorf": null, "Michendorf": null,
"Middelburg": null, "Middelburg": null,
"Middelfart st": null,
"Miedelsbach-Steinenberg": null, "Miedelsbach-Steinenberg": null,
"Miekinia": null, "Miekinia": null,
"Miesbach": null, "Miesbach": null,
@ -5187,7 +5220,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Miesenheim": null, "Miesenheim": null,
"Mieste": null, "Mieste": null,
"Miesterhorst": null, "Miesterhorst": null,
"Mikulasovice dol.n.": null, "Mikulasovice dolni nadrazi": null,
"Milano Centrale": null, "Milano Centrale": null,
"Milano Greco Pirelli": null, "Milano Greco Pirelli": null,
"Milano Porta Garibaldi": null, "Milano Porta Garibaldi": null,
@ -5229,6 +5262,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Moidentin": null, "Moidentin": null,
"Mol": null, "Mol": null,
"Mols": null, "Mols": null,
"Moltkestraße/Städt. Klinikum, Karlsruhe": null,
"Mommenheim": null, "Mommenheim": null,
"Monaco-Monte-Carlo": null, "Monaco-Monte-Carlo": null,
"Monbach-Neuhausen": null, "Monbach-Neuhausen": null,
@ -5263,7 +5297,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Mosbach-Neckarelz": null, "Mosbach-Neckarelz": null,
"Mosel": null, "Mosel": null,
"Moselkern": null, "Moselkern": null,
"Moskva Belorusskaja": null,
"Mosonmagyarovar": null, "Mosonmagyarovar": null,
"Most": null, "Most": null,
"Mouchard": null, "Mouchard": null,
@ -5326,6 +5359,13 @@ document.addEventListener('DOMContentLoaded', function() {
"Mörfelden": null, "Mörfelden": null,
"Möringen(Altm)": null, "Möringen(Altm)": null,
"Mörlenbach": null, "Mörlenbach": null,
"Mörsch Am Hang, Rheinstetten": null,
"Mörsch Bach-West, Rheinstetten": null,
"Mörsch Merkurstraße, Rheinstetten": null,
"Mörsch Narzissenstraße, Rheinstetten": null,
"Mörsch Rheinaustraße, Rheinstetten": null,
"Mörsch Römerstraße, Rheinstetten": null,
"Mörsch Rösselsbrünnle, Rheinstetten": null,
"Möser": null, "Möser": null,
"Mössingen": null, "Mössingen": null,
"Möttingen": null, "Möttingen": null,
@ -5341,6 +5381,8 @@ document.addEventListener('DOMContentLoaded', function() {
"Mühlanger": null, "Mühlanger": null,
"Mühlbach(Pirna)": null, "Mühlbach(Pirna)": null,
"Mühlburg West, Karlsruhe": null, "Mühlburg West, Karlsruhe": null,
"Mühlburger Feld, Karlsruhe": null,
"Mühlburger Tor (Kaiserallee), Karlsruhe": null,
"Mühldorf(Oberbay)": null, "Mühldorf(Oberbay)": null,
"Mühldorf-Möllbrücke": null, "Mühldorf-Möllbrücke": null,
"Mühlehorn": null, "Mühlehorn": null,
@ -5548,7 +5590,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Neudenau": null, "Neudenau": null,
"Neudietendorf": null, "Neudietendorf": null,
"Neudorf(Erzgeb)": null, "Neudorf(Erzgeb)": null,
"Neudorf-Platendorf": null,
"Neue Schenke": null, "Neue Schenke": null,
"Neuenburg(Baden)": null, "Neuenburg(Baden)": null,
"Neuenbürg(Enz)": null, "Neuenbürg(Enz)": null,
@ -5608,7 +5649,9 @@ document.addEventListener('DOMContentLoaded', function() {
"Neuoelsnitz": null, "Neuoelsnitz": null,
"Neupetershain": null, "Neupetershain": null,
"Neuratting": null, "Neuratting": null,
"Neureut Adolf-Ehrmann-Bad, Karlsruhe": null,
"Neureut Bärenweg, Karlsruhe": null, "Neureut Bärenweg, Karlsruhe": null,
"Neureut Welschneureuter Straße, Karlsruhe": null,
"Neuruppin Rheinsberger Tor": null, "Neuruppin Rheinsberger Tor": null,
"Neuruppin Seedamm": null, "Neuruppin Seedamm": null,
"Neuruppin West": null, "Neuruppin West": null,
@ -5659,9 +5702,9 @@ document.addEventListener('DOMContentLoaded', function() {
"Niebüll neg": null, "Niebüll neg": null,
"Niedaltdorf": null, "Niedaltdorf": null,
"Nieder Flörsheim-Dalsheim": null, "Nieder Flörsheim-Dalsheim": null,
"Nieder Ohmen": null,
"Nieder Olm": null, "Nieder Olm": null,
"Nieder Wöllstadt": null, "Nieder Wöllstadt": null,
"Nieder-Ohmen": null,
"Niederarnbach": null, "Niederarnbach": null,
"Niederau": null, "Niederau": null,
"Niederau-Tuchmühle": null, "Niederau-Tuchmühle": null,
@ -5797,7 +5840,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Nove Hamry": null, "Nove Hamry": null,
"Nove Zamky": null, "Nove Zamky": null,
"Noveant": null, "Noveant": null,
"Novi Beograd": null,
"Novska": null, "Novska": null,
"Novy Bor": null, "Novy Bor": null,
"Noyon": null, "Noyon": null,
@ -5816,7 +5858,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Nörvenich-Binsfeld": null, "Nörvenich-Binsfeld": null,
"Nünchritz": null, "Nünchritz": null,
"Nürnberg Frankenstadion": null, "Nürnberg Frankenstadion": null,
"Nürnberg Frankenstadion Sonderbahnsteig": null,
"Nürnberg Hbf": null, "Nürnberg Hbf": null,
"Nürnberg Nordost": null, "Nürnberg Nordost": null,
"Nürnberg Ost": null, "Nürnberg Ost": null,
@ -5983,7 +6024,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Okarben": null, "Okarben": null,
"Oker": null, "Oker": null,
"Oksboel st": null, "Oksboel st": null,
"Okucani": null,
"Olbernhau": null, "Olbernhau": null,
"Olbernhau West": null, "Olbernhau West": null,
"Olbernhau-Grünthal": null, "Olbernhau-Grünthal": null,
@ -5998,7 +6038,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Oldentrup": null, "Oldentrup": null,
"Oldenzaal": null, "Oldenzaal": null,
"Olen(Belgien)": null, "Olen(Belgien)": null,
"Olivetta-S. Michele": null,
"Olovi": null, "Olovi": null,
"Olpe": null, "Olpe": null,
"Olsberg": null, "Olsberg": null,
@ -6028,7 +6067,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Orléans": null, "Orléans": null,
"Orschweier": null, "Orschweier": null,
"Ortrand": null, "Ortrand": null,
"Orvieto": null,
"Oschatz": null, "Oschatz": null,
"Oschersleben(Bode)": null, "Oschersleben(Bode)": null,
"Osnabrück Altstadt": null, "Osnabrück Altstadt": null,
@ -6037,6 +6075,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Oss": null, "Oss": null,
"Oss West": null, "Oss West": null,
"Ostbevern": null, "Ostbevern": null,
"Ostendstraße, Karlsruhe": null,
"Osterburg": null, "Osterburg": null,
"Osterburken": null, "Osterburken": null,
"Osterhofen(Nby)": null, "Osterhofen(Nby)": null,
@ -6081,6 +6120,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Otterwisch": null, "Otterwisch": null,
"Otting": null, "Otting": null,
"Otting-Weilheim": null, "Otting-Weilheim": null,
"Otto-Sachs-Straße, Karlsruhe": null,
"Ottobeuren": null, "Ottobeuren": null,
"Ottobrunn": null, "Ottobrunn": null,
"Ottweiler(Saar)": null, "Ottweiler(Saar)": null,
@ -6194,6 +6234,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Pfungstadt": null, "Pfungstadt": null,
"Pfäffikon SZ": null, "Pfäffikon SZ": null,
"Pfäffingen": null, "Pfäffingen": null,
"Philipp-Reis-Straße, Karlsruhe": null,
"Philippsburg(Baden)": null, "Philippsburg(Baden)": null,
"Philippshagen": null, "Philippshagen": null,
"Philippsheim": null, "Philippsheim": null,
@ -6537,6 +6578,8 @@ document.addEventListener('DOMContentLoaded', function() {
"Rheineck": null, "Rheineck": null,
"Rheinfelden(Baden)": null, "Rheinfelden(Baden)": null,
"Rheinfelden(CH)": null, "Rheinfelden(CH)": null,
"Rheinhafen, Karlsruhe": null,
"Rheinhafenstraße, Karlsruhe": null,
"Rheinhausen": null, "Rheinhausen": null,
"Rheinhausen Ost": null, "Rheinhausen Ost": null,
"Rheinsberg(Mark)": null, "Rheinsberg(Mark)": null,
@ -6592,6 +6635,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Rinklingen": null, "Rinklingen": null,
"Rinnthal": null, "Rinnthal": null,
"Rinteln": null, "Rinteln": null,
"Rintheim Sinsheimer Straße, Karlsruhe": null,
"Rio di Pusteria/Mühlbach": null, "Rio di Pusteria/Mühlbach": null,
"Rippberg": null, "Rippberg": null,
"Ritschenhausen": null, "Ritschenhausen": null,
@ -6705,7 +6749,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Rotterdam Centraal": null, "Rotterdam Centraal": null,
"Rotterdam Lombardijen": null, "Rotterdam Lombardijen": null,
"Rotterdam Noord": null, "Rotterdam Noord": null,
"Rotterdam Stadion": null,
"Rotterdam Zuid": null, "Rotterdam Zuid": null,
"Rottershausen": null, "Rottershausen": null,
"Rottweil": null, "Rottweil": null,
@ -6717,7 +6760,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Rovereto": null, "Rovereto": null,
"Rovigo": null, "Rovigo": null,
"Roßbach(Pfalz)": null, "Roßbach(Pfalz)": null,
"Roßberg": null,
"Roßla": null, "Roßla": null,
"Roßlau(Elbe)": null, "Roßlau(Elbe)": null,
"Roßtal": null, "Roßtal": null,
@ -6733,7 +6775,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Ruhpolding": null, "Ruhpolding": null,
"Ruhstorf": null, "Ruhstorf": null,
"Rum b.Innsbruck": null, "Rum b.Innsbruck": null,
"Ruma": null,
"Rumburk": null, "Rumburk": null,
"Rumeln": null, "Rumeln": null,
"Rummenohl": null, "Rummenohl": null,
@ -6787,6 +6828,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Rüppurr Battstraße, Karlsruhe": null, "Rüppurr Battstraße, Karlsruhe": null,
"Rüppurr Ostendorfplatz, Karlsruhe": null, "Rüppurr Ostendorfplatz, Karlsruhe": null,
"Rüppurr Tulpenstraße, Karlsruhe": null, "Rüppurr Tulpenstraße, Karlsruhe": null,
"Rüppurrer Tor, Karlsruhe": null,
"Rüschlikon": null, "Rüschlikon": null,
"Rüsselbach": null, "Rüsselbach": null,
"Rüsselsheim": null, "Rüsselsheim": null,
@ -6864,7 +6906,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Santpoort Noord": null, "Santpoort Noord": null,
"Santpoort Zuid": null, "Santpoort Zuid": null,
"Sapjane(Gr)": null, "Sapjane(Gr)": null,
"Sappemeer Oost": null,
"Sargans": null, "Sargans": null,
"Sarnow": null, "Sarnow": null,
"Sarrebourg": null, "Sarrebourg": null,
@ -6950,6 +6991,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Schliengen": null, "Schliengen": null,
"Schlierbach(Schwalm-Eder-Kr.)": null, "Schlierbach(Schwalm-Eder-Kr.)": null,
"Schliersee": null, "Schliersee": null,
"Schloss Gottesaue, Karlsruhe": null,
"Schloss Rüppurr, Karlsruhe": null, "Schloss Rüppurr, Karlsruhe": null,
"Schloß Holte": null, "Schloß Holte": null,
"Schluchsee": null, "Schluchsee": null,
@ -7177,7 +7219,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Sevelen": null, "Sevelen": null,
"Sevnica": null, "Sevnica": null,
"Seybothenreuth": null, "Seybothenreuth": null,
"Sid(SRB)": null,
"Siebeldingen-Birkweiler": null, "Siebeldingen-Birkweiler": null,
"Siebnen-Wangen": null, "Siebnen-Wangen": null,
"Siedenlangenbeck": null, "Siedenlangenbeck": null,
@ -7234,7 +7275,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Sittard": null, "Sittard": null,
"Sitzendorf-Unterweißbach": null, "Sitzendorf-Unterweißbach": null,
"Skaerbaek st": null, "Skaerbaek st": null,
"Skofja Loka": null,
"Slagelse st": null, "Slagelse st": null,
"Slavonski Brod": null, "Slavonski Brod": null,
"Sliedrecht": null, "Sliedrecht": null,
@ -7242,7 +7282,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Slubice": null, "Slubice": null,
"Sluknov": null, "Sluknov": null,
"Sluknov zast.": null, "Sluknov zast.": null,
"Smolensk": null,
"Sneek": null, "Sneek": null,
"Sneek Noord": null, "Sneek Noord": null,
"Soest": null, "Soest": null,
@ -7314,7 +7353,8 @@ document.addEventListener('DOMContentLoaded', function() {
"Sprendlingen(Rheinhess)": null, "Sprendlingen(Rheinhess)": null,
"Springe": null, "Springe": null,
"Sprötze": null, "Sprötze": null,
"Sremska Mitrovica": null, "Spöck Hochhaus, Stutensee": null,
"Spöck Richard-Hecht-Schule, Stutensee": null,
"St Alban": null, "St Alban": null,
"St Avold": null, "St Avold": null,
"St Dalmas de Tende": null, "St Dalmas de Tende": null,
@ -7381,7 +7421,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Stams": null, "Stams": null,
"Stans bei Schwaz": null, "Stans bei Schwaz": null,
"Stapelburg": null, "Stapelburg": null,
"Stara Pazova": null,
"Stara Role": null, "Stara Role": null,
"Starckstraße, Karlsruhe": null, "Starckstraße, Karlsruhe": null,
"Starnberg": null, "Starnberg": null,
@ -7415,7 +7454,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Steinbourg": null, "Steinbourg": null,
"Steindorf bei Straßwalchen": null, "Steindorf bei Straßwalchen": null,
"Steinebach": null, "Steinebach": null,
"Steinebrunn": null, "Steinebrunn(CH)": null,
"Steinefrenz": null, "Steinefrenz": null,
"Steinen": null, "Steinen": null,
"Steinerne Renne": null, "Steinerne Renne": null,
@ -7706,6 +7745,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Tisis": null, "Tisis": null,
"Titisee": null, "Titisee": null,
"Tittmoning-Wiesmühl": null, "Tittmoning-Wiesmühl": null,
"Tivoli, Karlsruhe": null,
"Tjaereborg st": null, "Tjaereborg st": null,
"Tobel-Affeltrangen": null, "Tobel-Affeltrangen": null,
"Toender Nord st": null, "Toender Nord st": null,
@ -7722,7 +7762,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Tourcoing": null, "Tourcoing": null,
"Tournai": null, "Tournai": null,
"Tournan": null, "Tournan": null,
"Tovarnik": null,
"Traben-Trarbach": null, "Traben-Trarbach": null,
"Trabitz": null, "Trabitz": null,
"Trais-Horloff": null, "Trais-Horloff": null,
@ -7773,6 +7812,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Trossingen Stadt": null, "Trossingen Stadt": null,
"Trostberg": null, "Trostberg": null,
"Tschagguns": null, "Tschagguns": null,
"Tullastraße/Verkehrsbetriebe, Karlsruhe": null,
"Tulling": null, "Tulling": null,
"Tulln a.d.Donau": null, "Tulln a.d.Donau": null,
"Tullnerfeld": null, "Tullnerfeld": null,
@ -7987,7 +8027,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Vetschau": null, "Vetschau": null,
"Vettweiß": null, "Vettweiß": null,
"Vettweiß-Jakobwüllesheim": null, "Vettweiß-Jakobwüllesheim": null,
"Viby Sjaelland st": null,
"Vicenza": null, "Vicenza": null,
"Viechtach": null, "Viechtach": null,
"Vienenburg": null, "Vienenburg": null,
@ -8046,6 +8085,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Volkach-Astheim": null, "Volkach-Astheim": null,
"Volkmarsen": null, "Volkmarsen": null,
"Volkringhausen": null, "Volkringhausen": null,
"Volkswohnung/Staatstheater, Karlsruhe": null,
"Volpriehausen": null, "Volpriehausen": null,
"Voorburg": null, "Voorburg": null,
"Voorhout": null, "Voorhout": null,
@ -8075,7 +8115,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Völs": null, "Völs": null,
"Wabern(Bz Kassel)": null, "Wabern(Bz Kassel)": null,
"Wachenheim(Pfalz)": null, "Wachenheim(Pfalz)": null,
"Wachenheim-Mölsheim": null,
"Wackershofen": null, "Wackershofen": null,
"Waddinxveen": null, "Waddinxveen": null,
"Waddinxveen Noord": null, "Waddinxveen Noord": null,
@ -8179,6 +8218,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Wattenscheid-Höntrop": null, "Wattenscheid-Höntrop": null,
"Watzelsteg": null, "Watzelsteg": null,
"Watzenborn-Steinberg": null, "Watzenborn-Steinberg": null,
"Waßmannsdorf": null,
"Webau": null, "Webau": null,
"Wecker": null, "Wecker": null,
"Weckesheim": null, "Weckesheim": null,
@ -8238,6 +8278,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Weimar": null, "Weimar": null,
"Weimar Berkaer Bf": null, "Weimar Berkaer Bf": null,
"Weimar West": null, "Weimar West": null,
"Weinbrennerplatz, Karlsruhe": null,
"Weinböhla Hp": null, "Weinböhla Hp": null,
"Weinfelden": null, "Weinfelden": null,
"Weingarten Berg": null, "Weingarten Berg": null,
@ -8292,6 +8333,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Werdau": null, "Werdau": null,
"Werdau Nord": null, "Werdau Nord": null,
"Werder(Havel)": null, "Werder(Havel)": null,
"Werderstraße, Karlsruhe": null,
"Werdohl": null, "Werdohl": null,
"Werdorf": null, "Werdorf": null,
"Werfen": null, "Werfen": null,
@ -8413,7 +8455,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Wilkau-Haßlau": null, "Wilkau-Haßlau": null,
"Willebadessen": null, "Willebadessen": null,
"Willingen": null, "Willingen": null,
"Willingen-Stryck": null,
"Willmenrod": null, "Willmenrod": null,
"Willmering": null, "Willmering": null,
"Willsbach": null, "Willsbach": null,
@ -8456,7 +8497,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Wissembourg": null, "Wissembourg": null,
"Wissen(Sieg)": null, "Wissen(Sieg)": null,
"Wissingen": null, "Wissingen": null,
"Witnica": null,
"Wittbräucke": null, "Wittbräucke": null,
"Witten Hbf": null, "Witten Hbf": null,
"Witten-Annen Nord": null, "Witten-Annen Nord": null,
@ -8482,6 +8522,7 @@ document.addEventListener('DOMContentLoaded', function() {
"Wohltorf": null, "Wohltorf": null,
"Woippy": null, "Woippy": null,
"Wolfach": null, "Wolfach": null,
"Wolfartsweierer Straße, Karlsruhe": null,
"Wolfegg": null, "Wolfegg": null,
"Wolfen(Bitterfeld)": null, "Wolfen(Bitterfeld)": null,
"Wolfenbüttel": null, "Wolfenbüttel": null,
@ -8613,7 +8654,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Zasieki": null, "Zasieki": null,
"Zawiercie": null, "Zawiercie": null,
"Zbaszynek": null, "Zbaszynek": null,
"Zebrzydowice": null,
"Zedelgem": null, "Zedelgem": null,
"Zeebrugge-Dorp": null, "Zeebrugge-Dorp": null,
"Zeesen": null, "Zeesen": null,
@ -8699,7 +8739,6 @@ document.addEventListener('DOMContentLoaded', function() {
"Zug(CH)": null, "Zug(CH)": null,
"Zuidbroek": null, "Zuidbroek": null,
"Zuidhorn": null, "Zuidhorn": null,
"Zumarraga": null,
"Zusenhofen": null, "Zusenhofen": null,
"Zutphen": null, "Zutphen": null,
"Zuzenhausen": null, "Zuzenhausen": null,

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
function upd_journey_data(){$(".countdown").each(function(){var t=$(this).data("journey");t&&(t=t.split(";"),j_departure=parseInt(t[0]),j_arrival=parseInt(t[1]),j_duration=j_arrival-j_departure);var e=$(this).data("dest");e&&(j_dest=e);var a=$(this).data("route");if(a){a=a.split("|"),j_stops=[];for(var n in a){for(var o=a[n].split(";"),r=1;r<5;r++)o[r]=parseInt(o[r]);j_stops.push(o)}}})}function upd_countdown(){var t=Date.now()/1e3;j_departure>t?$(".countdown").text("Abfahrt in "+Math.round((j_departure-t)/60)+" Minuten"):j_arrival>0&&(j_arrival>t?$(".countdown").text("Ankunft in "+Math.round((j_arrival-t)/60)+" Minuten"):$(".countdown").text("Ziel erreicht"))}function hhmm(t){var e=new Date(1e3*t),a=e.getHours(),n=e.getMinutes();return(a<10?"0"+a:a)+":"+(n<10?"0"+n:n)}function odelay(t,e){return t<e?" (+"+(e-t)/60+")":t==e?"":" ("+(e-t)/60+")"}function tvly_run(t,e,a){var n='<i class="material-icons">error</i>',o=$('<div class="progress"><div class="indeterminate"></div></div>');t.hide(),t.after(o),$.post("/action",e,function(e){e.success?$(location).attr("href",e.redirect_to):(M.toast({html:n+" "+e.error}),o.remove(),a&&a(),t.append(" "+n),t.show())})}function tvly_update(){$.get("/ajax/status_card.html",function(t){$(".statuscol").html(t),tvly_reg_handlers(),upd_journey_data(),setTimeout(tvly_update,4e4)}).fail(function(){$(".sync-failed-marker").css("display","block"),upd_countdown(),setTimeout(tvly_update,5e3)})}function tvly_update_public(){var t;$(".publicstatuscol").each(function(){t=$(this).data("user")}),$.get("/ajax/status/"+t+".html",function(t){$(".publicstatuscol").html(t),upd_journey_data(),setTimeout(tvly_update_public,4e4)}).fail(function(){$(".sync-failed-marker").css("display","block"),upd_countdown(),setTimeout(tvly_update_public,5e3)})}function tvly_journey_progress(){var t=Date.now()/1e3,e=0;if(j_duration>0){e=1-(j_arrival-t)/j_duration,e<0&&(e=0),e>1&&(e=1),$(".progress .determinate").css("width",100*e+"%");for(stop in j_stops){var a=j_stops[stop][0],n=j_stops[stop][1],o=j_stops[stop][2],r=j_stops[stop][3],i=j_stops[stop][4];if(a==j_dest){$(".next-stop").html("");break}if(0!=o&&o-t>0){$(".next-stop").html(a+"<br/>"+hhmm(o)+odelay(n,o));break}if(0!=i&&i-t>0){$(".next-stop").html(a+"<br/>"+hhmm(o)+" → "+hhmm(i)+odelay(r,i));break}}setTimeout(tvly_journey_progress,5e3)}}function tvly_reg_handlers(){$(".action-checkin").click(function(){var t=$(this);tvly_run(t,{action:"checkin",station:t.data("station"),train:t.data("train"),dest:t.data("dest")})}),$(".action-checkout").click(function(){var t=$(this),e={action:"checkout",station:t.data("station"),force:t.data("force")};tvly_run(t,e,function(){t.append(" Ohne Echtzeitdaten auschecken?"),t.data("force",!0)})}),$(".action-undo").click(function(){var t=$(this),e=Date.now()/1e3,a=parseInt(t.data("checkints")),n={action:"undo",undo_id:t.data("id")},o=!0;e-a>900&&(o=confirm("Checkin wirklich rückgängig machen? Er kann ggf. nicht wiederholt werden.")),o&&tvly_run(t,n)}),$(".action-cancelled-from").click(function(){var t=$(this);tvly_run(t,{action:"cancelled_from",station:t.data("station"),train:t.data("train")})}),$(".action-cancelled-to").click(function(){var t=$(this);tvly_run(t,{action:"cancelled_to",station:t.data("station"),force:!0})}),$(".action-delete").click(function(){var t=$(this),e={action:"delete",id:t.data("id"),checkin:t.data("checkin"),checkout:t.data("checkout")};confirm("Diese Zugfahrt wirklich löschen? Der Eintrag wird sofort aus der Datenbank entfernt und kann nicht wiederhergestellt werden.")&&tvly_run(t,e)}),$(".action-share").click(function(){var t=$(this).data("text"),e=$(this).data("url");if(navigator.share)shareObj={text:t},e&&(shareObj.url=e),navigator.share(shareObj);else{var a=document.createElement("textarea");e&&(t+=" "+e),a.value=t,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(a),M.toast({html:"Text kopiert: „"+t+"“"})}})}var j_departure=0,j_duration=0,j_arrival=0,j_dest="",j_stops=[];$(document).ready(function(){tvly_reg_handlers(),$(".statuscol .autorefresh").length&&(upd_journey_data(),setTimeout(tvly_update,4e4),setTimeout(tvly_journey_progress,5e3)),$(".publicstatuscol .autorefresh").length&&(upd_journey_data(),setTimeout(tvly_update_public,4e4),setTimeout(tvly_journey_progress,5e3)),$("a[href]").click(function(){$("nav .preloader-wrapper").addClass("active")})}); function upd_journey_data(){$(".countdown").each(function(){var t=$(this).data("journey");t&&(t=t.split(";"),j_departure=parseInt(t[0]),j_arrival=parseInt(t[1]),j_duration=j_arrival-j_departure);var e=$(this).data("dest");e&&(j_dest=e);var a=$(this).data("route");if(a){a=a.split("|"),j_stops=[];for(var n in a){for(var o=a[n].split(";"),r=1;r<5;r++)o[r]=parseInt(o[r]);j_stops.push(o)}}})}function upd_countdown(){var t=Date.now()/1e3;j_departure>t?$(".countdown").text("Abfahrt in "+Math.round((j_departure-t)/60)+" Minuten"):j_arrival>0&&(j_arrival>t?$(".countdown").text("Ankunft in "+Math.round((j_arrival-t)/60)+" Minuten"):$(".countdown").text("Ziel erreicht"))}function hhmm(t){var e=new Date(1e3*t),a=e.getHours(),n=e.getMinutes();return(a<10?"0"+a:a)+":"+(n<10?"0"+n:n)}function odelay(t,e){return t<e?" (+"+(e-t)/60+")":t==e?"":" ("+(e-t)/60+")"}function tvly_run(t,e,a){var n='<i class="material-icons">error</i>',o=$('<div class="progress"><div class="indeterminate"></div></div>');t.hide(),t.after(o),$.post("/action",e,function(e){e.success?$(location).attr("href",e.redirect_to):(M.toast({html:n+" "+e.error}),o.remove(),a&&a(),t.append(" "+n),t.show())})}function tvly_update(){$.get("/ajax/status_card.html",function(t){$(".statuscol").html(t),tvly_reg_handlers(),upd_journey_data(),setTimeout(tvly_update,4e4)}).fail(function(){$(".sync-failed-marker").css("display","block"),upd_countdown(),setTimeout(tvly_update,5e3)})}function tvly_update_public(){var t;$(".publicstatuscol").each(function(){t=$(this).data("user")}),$.get("/ajax/status/"+t+".html",function(t){$(".publicstatuscol").html(t),upd_journey_data(),setTimeout(tvly_update_public,4e4)}).fail(function(){$(".sync-failed-marker").css("display","block"),upd_countdown(),setTimeout(tvly_update_public,5e3)})}function tvly_journey_progress(){var t=Date.now()/1e3,e=0;if(j_duration>0){e=1-(j_arrival-t)/j_duration,e<0&&(e=0),e>1&&(e=1),$(".progress .determinate").css("width",100*e+"%");for(stop in j_stops){var a=j_stops[stop][0],n=j_stops[stop][1],o=j_stops[stop][2],r=j_stops[stop][3],i=j_stops[stop][4];if(a==j_dest){$(".next-stop").html("");break}if(0!=o&&o-t>0){$(".next-stop").html(a+"<br/>"+hhmm(o)+odelay(n,o));break}if(0!=i&&i-t>0){$(".next-stop").html(a+"<br/>"+hhmm(o)+" → "+hhmm(i)+odelay(r,i));break}}setTimeout(tvly_journey_progress,5e3)}}function tvly_reg_handlers(){$(".action-checkin").click(function(){var t=$(this);tvly_run(t,{action:"checkin",station:t.data("station"),train:t.data("train"),dest:t.data("dest")})}),$(".action-checkout").click(function(){var t=$(this),e={action:"checkout",station:t.data("station"),force:t.data("force")};tvly_run(t,e,function(){t.append(" Ohne Echtzeitdaten auschecken?"),t.data("force",!0)})}),$(".action-undo").click(function(){var t=$(this),e=Date.now()/1e3,a=parseInt(t.data("checkints")),n={action:"undo",undo_id:t.data("id")},o=!0;e-a>900&&(o=confirm("Checkin wirklich rückgängig machen? Er kann ggf. nicht wiederholt werden.")),o&&tvly_run(t,n)}),$(".action-cancelled-from").click(function(){var t=$(this);tvly_run(t,{action:"cancelled_from",station:t.data("station"),train:t.data("train")})}),$(".action-cancelled-to").click(function(){var t=$(this);tvly_run(t,{action:"cancelled_to",station:t.data("station"),force:!0})}),$(".action-delete").click(function(){var t=$(this),e={action:"delete",id:t.data("id"),checkin:t.data("checkin"),checkout:t.data("checkout")};confirm("Diese Zugfahrt wirklich löschen? Der Eintrag wird sofort aus der Datenbank entfernt und kann nicht wiederhergestellt werden.")&&tvly_run(t,e)}),$(".action-share").click(function(){var t=$(this).data("text"),e=$(this).data("url");if(navigator.share)shareObj={text:t},e&&(shareObj.url=e),navigator.share(shareObj);else{var a=document.createElement("textarea");e&&(t+=" "+e),a.value=t,a.setAttribute("readonly",""),a.style.position="absolute",a.style.left="-9999px",document.body.appendChild(a),a.select(),a.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(a),M.toast({html:"Text kopiert: „"+t+"“"})}})}var j_departure=0,j_duration=0,j_arrival=0,j_dest="",j_stops=[];$(document).ready(function(){tvly_reg_handlers(),$(".statuscol .autorefresh").length&&(upd_journey_data(),setTimeout(tvly_update,4e4),setTimeout(tvly_journey_progress,5e3)),$(".publicstatuscol .autorefresh").length&&(upd_journey_data(),setTimeout(tvly_update_public,4e4),setTimeout(tvly_journey_progress,5e3)),$("a[href]").click(function(){$("nav .preloader-wrapper").addClass("active")}),$("input#account").addEventListener("blur",function(t){})});

View file

@ -3,27 +3,27 @@
"short_name": "Travelynx", "short_name": "Travelynx",
"scope": "/", "scope": "/",
"icons": [{ "icons": [{
"src": "/static/v36/icons/icon-128x128.png", "src": "/static/v37/icons/icon-128x128.png",
"sizes": "128x128", "sizes": "128x128",
"type": "image/png" "type": "image/png"
}, { }, {
"src": "/static/v36/icons/icon-144x144.png", "src": "/static/v37/icons/icon-144x144.png",
"sizes": "144x144", "sizes": "144x144",
"type": "image/png" "type": "image/png"
}, { }, {
"src": "/static/v36/icons/icon-152x152.png", "src": "/static/v37/icons/icon-152x152.png",
"sizes": "152x152", "sizes": "152x152",
"type": "image/png" "type": "image/png"
}, { }, {
"src": "/static/v36/icons/icon-192x192.png", "src": "/static/v37/icons/icon-192x192.png",
"sizes": "192x192", "sizes": "192x192",
"type": "image/png" "type": "image/png"
}, { }, {
"src": "/static/v36/icons/icon-256x256.png", "src": "/static/v37/icons/icon-256x256.png",
"sizes": "256x256", "sizes": "256x256",
"type": "image/png" "type": "image/png"
}, { }, {
"src": "/static/v36/icons/icon-512x512.png", "src": "/static/v37/icons/icon-512x512.png",
"sizes": "512x512", "sizes": "512x512",
"type": "image/png" "type": "image/png"
}], }],

View file

@ -13,7 +13,7 @@
% while (my ($key, $value) = each %{stash('opengraph') // {}}) { % while (my ($key, $value) = each %{stash('opengraph') // {}}) {
<meta property="og:<%= $key %>" content="<%= $value %>"> <meta property="og:<%= $key %>" content="<%= $value %>">
% } % }
% my $av = 'v36'; # asset version % my $av = 'v37'; # asset version
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32"> <link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="/static/<%= $av %>/icons/icon-96x96.png" sizes="96x96">