navigo.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732
  1. #include <gui/gui.h>
  2. #include <gui/modules/widget_elements/widget_element.h>
  3. #include "../api/calypso/calypso_util.h"
  4. #include "../api/calypso/cards/navigo.h"
  5. #include <datetime.h>
  6. #include <stdbool.h>
  7. #ifndef METRO_LIST_H
  8. #define METRO_LIST_H
  9. #ifndef NAVIGO_H
  10. #define NAVIGO_H
  11. void metroflip_back_button_widget_callback(GuiButtonType result, InputType type, void* context);
  12. void metroflip_next_button_widget_callback(GuiButtonType result, InputType type, void* context);
  13. // Service Providers
  14. static const char* SERVICE_PROVIDERS[] = {
  15. [2] = "SNCF",
  16. [3] = "RATP",
  17. [115] = "CSO (VEOLIA)",
  18. [116] = "R'Bus (VEOLIA)",
  19. [156] = "Phebus",
  20. [175] = "RATP (Veolia Transport Nanterre)"};
  21. // Transport Types
  22. static const char* TRANSPORT_LIST[] = {
  23. [1] = "Bus Urbain",
  24. [2] = "Bus Interurbain",
  25. [3] = "Metro",
  26. [4] = "Tram",
  27. [5] = "Train",
  28. [8] = "Parking"};
  29. typedef enum {
  30. BUS_URBAIN = 1,
  31. BUS_INTERURBAIN = 2,
  32. METRO = 3,
  33. TRAM = 4,
  34. TRAIN = 5,
  35. PARKING = 8
  36. } TRANSPORT_TYPE;
  37. typedef enum {
  38. NAVIGO_EASY = 0,
  39. NAVIGO_DECOUVERTE = 1,
  40. NAVIGO_STANDARD = 2,
  41. NAVIGO_INTEGRAL = 6,
  42. IMAGINE_R = 14
  43. } CARD_STATUS;
  44. // Transition Types
  45. static const char* TRANSITION_LIST[] = {
  46. [1] = "Validation en entree",
  47. [2] = "Validation en sortie",
  48. [4] = "Controle volant (a bord)",
  49. [5] = "Validation de test",
  50. [6] = "Validation en correspondance (entree)",
  51. [7] = "Validation en correspondance (sortie)",
  52. [9] = "Annulation de validation",
  53. [10] = "Validation en entree",
  54. [13] = "Distribution",
  55. [15] = "Invalidation"};
  56. #endif // NAVIGO_H
  57. static const char* METRO_STATION_LIST[32][16] =
  58. {[1] =
  59. {[0] = "Cite",
  60. [1] = "Saint-Michel",
  61. [4] = "Odeon",
  62. [5] = "Cluny - La Sorbonne",
  63. [6] = "Maubert - Mutualite",
  64. [7] = "Luxembourg",
  65. [8] = "Châtelet",
  66. [9] = "Les Halles",
  67. [10] = "Les Halles",
  68. [12] = "Louvre - Rivoli",
  69. [13] = "Pont Neuf",
  70. [14] = "Cite",
  71. [15] = "Hotel de Ville"},
  72. [2] =
  73. {[0] = "Rennes",
  74. [2] = "Cambronne",
  75. [3] = "Sevres - Lecourbe",
  76. [4] = "Segur",
  77. [6] = "Saint-François-Xavier",
  78. [7] = "Duroc",
  79. [8] = "Vaneau",
  80. [9] = "Sevres - Babylone",
  81. [10] = "Rue du Bac",
  82. [11] = "Rennes",
  83. [12] = "Saint-Sulpice",
  84. [14] = "Mabillon",
  85. [15] = "Saint-Germain-des-Pres"},
  86. [3] =
  87. {[0] = "Villette",
  88. [4] = "Porte de la Villette",
  89. [5] = "Aubervilliers - Pantin - Quatre Chemins",
  90. [6] = "Fort d'Aubervilliers",
  91. [7] = "La Courneuve - 8 Mai 1945",
  92. [9] = "Hoche",
  93. [10] = "Eglise de Pantin",
  94. [11] = "Bobigny - Pantin - Raymond Queneau",
  95. [12] = "Bobigny - Pablo Picasso"},
  96. [4] =
  97. {[0] = "Montparnasse",
  98. [2] = "Pernety",
  99. [3] = "Plaisance",
  100. [4] = "Gaite",
  101. [6] = "Edgar Quinet",
  102. [7] = "Vavin",
  103. [8] = "Montparnasse - Bienvenue",
  104. [12] = "Saint-Placide",
  105. [14] = "Notre-Dame-des-Champs"},
  106. [5] =
  107. {[0] = "Nation",
  108. [2] = "Robespierre",
  109. [3] = "Porte de Montreuil",
  110. [4] = "Maraichers",
  111. [5] = "Buzenval",
  112. [6] = "Rue des Boulets",
  113. [7] = "Porte de Vincennes",
  114. [9] = "Picpus",
  115. [10] = "Nation",
  116. [12] = "Avron",
  117. [13] = "Alexandre Dumas"},
  118. [6] =
  119. {[0] = "Saint-Lazare",
  120. [1] = "Malesherbes",
  121. [2] = "Monceau",
  122. [3] = "Villiers",
  123. [4] = "Quatre-Septembre",
  124. [5] = "Opera",
  125. [6] = "Auber",
  126. [7] = "Havre - Caumartin",
  127. [8] = "Saint-Lazare",
  128. [9] = "Saint-Lazare",
  129. [10] = "Saint-Augustin",
  130. [12] = "Europe",
  131. [13] = "Liege"},
  132. [7] =
  133. {[0] = "Auteuil",
  134. [3] = "Porte de Saint-Cloud",
  135. [7] = "Porte d'Auteuil",
  136. [8] = "eglise d'Auteuil",
  137. [9] = "Michel-Ange - Auteuil",
  138. [10] = "Michel-Ange - Molitor",
  139. [11] = "Chardon-Lagache",
  140. [12] = "Mirabeau",
  141. [14] = "Exelmans",
  142. [15] = "Jasmin"},
  143. [8] =
  144. {[0] = "Republique",
  145. [1] = "Rambuteau",
  146. [3] = "Arts et Metiers",
  147. [4] = "Jacques Bonsergent",
  148. [5] = "Goncourt",
  149. [6] = "Temple",
  150. [7] = "Republique",
  151. [10] = "Oberkampf",
  152. [11] = "Parmentier",
  153. [12] = "Filles du Calvaire",
  154. [13] = "Saint-Sebastien - Froissart",
  155. [14] = "Richard-Lenoir",
  156. [15] = "Saint-Ambroise"},
  157. [9] =
  158. {[0] = "Austerlitz",
  159. [1] = "Quai de la Gare",
  160. [2] = "Chevaleret",
  161. [4] = "Saint-Marcel",
  162. [7] = "Gare d'Austerlitz",
  163. [8] = "Gare de Lyon",
  164. [10] = "Quai de la Rapee"},
  165. [10] =
  166. {[0] = "Invalides",
  167. [1] = "Champs-elysees - Clemenceau",
  168. [2] = "Concorde",
  169. [3] = "Madeleine",
  170. [4] = "Bir-Hakeim",
  171. [7] = "ecole Militaire",
  172. [8] = "La Tour-Maubourg",
  173. [9] = "Invalides",
  174. [11] = "Saint-Denis - Universite",
  175. [12] = "Varenne",
  176. [13] = "Assemblee nationale",
  177. [14] = "Solferino"},
  178. [11] =
  179. {[0] = "Sentier",
  180. [1] = "Tuileries",
  181. [2] = "Palais Royal - Musee du Louvre",
  182. [3] = "Pyramides",
  183. [4] = "Bourse",
  184. [6] = "Grands Boulevards",
  185. [7] = "Richelieu - Drouot",
  186. [8] = "Bonne Nouvelle",
  187. [10] = "Strasbourg - Saint-Denis",
  188. [11] = "Château d'Eau",
  189. [13] = "Sentier",
  190. [14] = "Reaumur - Sebastopol",
  191. [15] = "etienne Marcel"},
  192. [12] =
  193. {[0] = "ile Saint-Louis",
  194. [1] = "Faidherbe - Chaligny",
  195. [2] = "Reuilly - Diderot",
  196. [3] = "Montgallet",
  197. [4] = "Censier - Daubenton",
  198. [5] = "Place Monge",
  199. [6] = "Cardinal Lemoine",
  200. [7] = "Jussieu",
  201. [8] = "Sully - Morland",
  202. [9] = "Pont Marie",
  203. [10] = "Saint-Paul",
  204. [12] = "Bastille",
  205. [13] = "Chemin Vert",
  206. [14] = "Breguet - Sabin",
  207. [15] = "Ledru-Rollin"},
  208. [13] =
  209. {[0] = "Daumesnil",
  210. [1] = "Porte Doree",
  211. [3] = "Porte de Charenton",
  212. [7] = "Bercy",
  213. [8] = "Dugommier",
  214. [10] = "Michel Bizot",
  215. [11] = "Daumesnil",
  216. [12] = "Bel-Air"},
  217. [14] =
  218. {[0] = "Italie",
  219. [2] = "Porte de Choisy",
  220. [3] = "Porte d'Italie",
  221. [4] = "Cite universitaire",
  222. [9] = "Maison Blanche",
  223. [10] = "Tolbiac",
  224. [11] = "Nationale",
  225. [12] = "Campo-Formio",
  226. [13] = "Les Gobelins",
  227. [14] = "Place d'Italie",
  228. [15] = "Corvisart"},
  229. [15] =
  230. {[0] = "Denfert",
  231. [1] = "Cour Saint-Emilion",
  232. [2] = "Porte d'Orleans",
  233. [3] = "Bibliotheque François Mitterrand",
  234. [4] = "Mouton-Duvernet",
  235. [5] = "Alesia",
  236. [6] = "Olympiades",
  237. [8] = "Glaciere",
  238. [9] = "Saint-Jacques",
  239. [10] = "Raspail",
  240. [14] = "Denfert-Rochereau"},
  241. [16] =
  242. {[0] = "Felix Faure",
  243. [1] = "Falguiere",
  244. [2] = "Pasteur",
  245. [3] = "Volontaires",
  246. [4] = "Vaugirard",
  247. [5] = "Convention",
  248. [6] = "Porte de Versailles",
  249. [9] = "Balard",
  250. [10] = "Lourmel",
  251. [11] = "Boucicaut",
  252. [12] = "Felix Faure",
  253. [13] = "Charles Michels",
  254. [14] = "Javel - Andre Citroen"},
  255. [17] =
  256. {[0] = "Passy",
  257. [2] = "Porte Dauphine",
  258. [4] = "La Motte-Picquet - Grenelle",
  259. [5] = "Commerce",
  260. [6] = "Avenue emile Zola",
  261. [7] = "Dupleix",
  262. [8] = "Passy",
  263. [9] = "Ranelagh",
  264. [11] = "La Muette",
  265. [13] = "Rue de la Pompe",
  266. [14] = "Boissiere",
  267. [15] = "Trocadero"},
  268. [18] =
  269. {[0] = "Etoile",
  270. [1] = "Iena",
  271. [3] = "Alma - Marceau",
  272. [4] = "Miromesnil",
  273. [5] = "Saint-Philippe du Roule",
  274. [7] = "Franklin D. Roosevelt",
  275. [8] = "George V",
  276. [9] = "Kleber",
  277. [10] = "Victor Hugo",
  278. [11] = "Argentine",
  279. [12] = "Charles de Gaulle - Itoile",
  280. [14] = "Ternes",
  281. [15] = "Courcelles"},
  282. [19] =
  283. {[0] = "Clichy - Saint Ouen",
  284. [1] = "Mairie de Clichy",
  285. [2] = "Gabriel Peri",
  286. [3] = "Les Agnettes",
  287. [4] = "Asnieres - Gennevilliers - Les Courtilles",
  288. [9] = "La Chapelle)",
  289. [10] = "Garibaldi",
  290. [11] = "Mairie de Saint-Ouen",
  291. [13] = "Carrefour Pleyel",
  292. [14] = "Saint-Denis - Porte de Paris",
  293. [15] = "Basilique de Saint-Denis"},
  294. [20] =
  295. {[0] = "Montmartre",
  296. [1] = "Porte de Clignancourt",
  297. [6] = "Porte de la Chapelle",
  298. [7] = "Marx Dormoy",
  299. [9] = "Marcadet - Poissonniers",
  300. [10] = "Simplon",
  301. [11] = "Jules Joffrin",
  302. [12] = "Lamarck - Caulaincourt"},
  303. [21] =
  304. {[0] = "Lafayette",
  305. [1] = "Chaussee d'Antin - La Fayette",
  306. [2] = "Le Peletier",
  307. [3] = "Cadet",
  308. [4] = "Château Rouge",
  309. [7] = "Barbes - Rochechouart",
  310. [8] = "Gare du Nord",
  311. [9] = "Gare de l'Est",
  312. [10] = "Poissonniere",
  313. [11] = "Château-Landon"},
  314. [22] =
  315. {[0] = "Buttes Chaumont",
  316. [1] = "Porte de Pantin",
  317. [2] = "Ourcq",
  318. [4] = "Corentin Cariou",
  319. [6] = "Crimee",
  320. [8] = "Riquet",
  321. [9] = "La Chapelle",
  322. [10] = "Louis Blanc",
  323. [11] = "Stalingrad",
  324. [12] = "Jaures",
  325. [13] = "Laumiere",
  326. [14] = "Bolivar",
  327. [15] = "Colonel Fabien"},
  328. [23] =
  329. {[0] = "Belleville",
  330. [2] = "Porte des Lilas",
  331. [3] = "Mairie des Lilas",
  332. [4] = "Porte de Bagnolet",
  333. [5] = "Gallieni",
  334. [8] = "Place des Fetes",
  335. [9] = "Botzaris",
  336. [10] = "Danube",
  337. [11] = "Pre Saint-Gervais",
  338. [13] = "Buttes Chaumont",
  339. [14] = "Jourdain",
  340. [15] = "Telegraphe"},
  341. [24] =
  342. {[0] = "Pere Lachaise",
  343. [1] = "Voltaire",
  344. [2] = "Charonne",
  345. [4] = "Pere Lachaise",
  346. [5] = "Menilmontant",
  347. [6] = "Rue Saint-Maur",
  348. [7] = "Philippe Auguste",
  349. [8] = "Saint-Fargeau",
  350. [9] = "Pelleport",
  351. [10] = "Gambetta",
  352. [12] = "Belleville",
  353. [13] = "Couronnes",
  354. [14] = "Pyrenees"},
  355. [25] =
  356. {[0] = "Charenton",
  357. [2] = "Croix de Chavaux",
  358. [3] = "Mairie de Montreuil",
  359. [4] = "Maisons-Alfort - Les Juilliottes",
  360. [5] = "Creteil - L'echat",
  361. [6] = "Creteil - Universite",
  362. [7] = "Creteil - Prefecture",
  363. [8] = "Saint-Mande",
  364. [10] = "Berault",
  365. [11] = "Château de Vincennes",
  366. [12] = "Liberte",
  367. [13] = "Charenton - ecoles",
  368. [14] = "ecole veterinaire de Maisons-Alfort",
  369. [15] = "Maisons-Alfort - Stade"},
  370. [26] =
  371. {[0] = "Ivry - Villejuif",
  372. [3] = "Porte d'Ivry",
  373. [4] = "Pierre et Marie Curie",
  374. [5] = "Mairie d'Ivry",
  375. [6] = "Le Kremlin-Bicetre",
  376. [7] = "Villejuif - Leo Lagrange",
  377. [8] = "Villejuif - Paul Vaillant-Couturier",
  378. [9] = "Villejuif - Louis Aragon"},
  379. [27] =
  380. {[0] = "Vanves",
  381. [2] = "Porte de Vanves",
  382. [7] = "Malakoff - Plateau de Vanves",
  383. [8] = "Malakoff - Rue etienne Dolet",
  384. [9] = "Châtillon - Montrouge"},
  385. [28] =
  386. {[0] = "Issy",
  387. [2] = "Corentin Celton",
  388. [3] = "Mairie d'Issy",
  389. [8] = "Marcel Sembat",
  390. [9] = "Billancourt",
  391. [10] = "Pont de Sevres"},
  392. [29] =
  393. {[0] = "Levallois",
  394. [4] = "Boulogne - Jean Jaures",
  395. [5] = "Boulogne - Pont de Saint-Cloud",
  396. [8] = "Les Sablons",
  397. [9] = "Pont de Neuilly",
  398. [10] = "Esplanade de la Defense",
  399. [11] = "La Defense",
  400. [12] = "Porte de Champerret",
  401. [13] = "Louise Michel",
  402. [14] = "Anatole France",
  403. [15] = "Pont de Levallois - Becon"},
  404. [30] =
  405. {[0] = "Pereire",
  406. [1] = "Porte Maillot",
  407. [4] = "Wagram",
  408. [5] = "Pereire",
  409. [8] = "Brochant",
  410. [9] = "Porte de Clichy",
  411. [12] = "Guy Moquet",
  412. [13] = "Porte de Saint-Ouen"},
  413. [31] = {
  414. [0] = "Pigalle",
  415. [2] = "Funiculaire de Montmartre (station inferieure)",
  416. [3] = "Funiculaire de Montmartre (station superieure)",
  417. [4] = "Anvers",
  418. [5] = "Abbesses",
  419. [6] = "Pigalle",
  420. [7] = "Blanche",
  421. [8] = "Trinite - d'Estienne d'Orves",
  422. [9] = "Notre-Dame-de-Lorette",
  423. [10] = "Saint-Georges",
  424. [12] = "Rome",
  425. [13] = "Place de Clichy",
  426. [14] = "La Fourche"}};
  427. static const char* TRAIN_LINES_LIST[77] = {
  428. [1] = "RER B", [3] = "RER B", [6] = "RER A", [14] = "RER B",
  429. [15] = "RER B", [16] = "RER A", [17] = "RER A", [18] = "RER B",
  430. [20] = "Transilien P", [21] = "Transilien P", [22] = "T4", [23] = "Transilien P",
  431. [26] = "RER A", [28] = "RER B", [30] = "Transilien L", [31] = "Transilien L",
  432. [32] = "Transilien J", [33] = "RER A", [35] = "Transilien J", [40] = "RER D",
  433. [41] = "RER C", [42] = "RER C", [43] = "Transilien R", [44] = "Transilien R",
  434. [45] = "RER D", [50] = "Transilien H", [51] = "Transilien K", [52] = "RER D",
  435. [53] = "Transilien H", [54] = "Transilien J", [55] = "RER C", [56] = "Transilien H",
  436. [57] = "Transilien H", [60] = "Transilien N", [61] = "Transilien N", [63] = "RER C",
  437. [64] = "RER C", [65] = "Transilien V", [70] = "RER B", [72] = "Transilien J",
  438. [73] = "Transilien J", [75] = "RER C", [76] = "RER C"};
  439. static const char* TRAIN_STATION_LIST[77][19] = {
  440. [1] = {[0] = "Châtelet-Les Halles", [1] = "Châtelet-Les Halles", [7] = "Luxembourg"},
  441. [3] = {[0] = "Saint-Michel Notre-Dame"},
  442. [6] = {[0] = "Auber", [6] = "Auber"},
  443. [14] = {[4] = "Cite Universitaire"},
  444. [15] = {[12] = "Port Royal"},
  445. [16] =
  446. {[1] = "Nation",
  447. [2] = "Fontenay-sous-Bois | Vincennes",
  448. [3] = "Joinville-le-Pont | Nogent-sur-Marne",
  449. [4] = "Saint-Maur Creteil",
  450. [5] = "Le Parc de Saint-Maur",
  451. [6] = "Champigny",
  452. [7] = "La Varenne-Chennevieres",
  453. [8] = "Boissy-Saint-Leger | Sucy Bonneuil"},
  454. [17] =
  455. {[1] = "Charles de Gaulle-Etoile",
  456. [4] = "La Defense (Grande Arche)",
  457. [5] = "Nanterre-Ville",
  458. [6] = "Rueil-Malmaison",
  459. [8] = "Chatou-Croissy",
  460. [9] = "Le Vesinet-Centre | Le Vesinet-Le Pecq | Saint-Germain-en-Laye"},
  461. [18] =
  462. {[0] = "Denfert-Rochereau",
  463. [1] = "Gentilly",
  464. [2] = "Arcueil-Cachan | Laplace",
  465. [3] = "Bagneux | Bourg-la-Reine",
  466. [4] = "La Croix-de-Berny | Parc de Sceaux",
  467. [5] = "Antony | Fontaine-Michalon | Les Baconnets",
  468. [6] = "Massy-Palaiseau | Massy-Verrieres",
  469. [7] = "Palaiseau Villebon | Palaiseau",
  470. [8] = "Lozere",
  471. [9] = "Le Guichet | Orsay-Ville",
  472. [10] =
  473. "Bures-sur-Yvette | Courcelle-sur-Yvette | Gif-sur-Yvette | La Hacquiniere | Saint-Remy-les-Chevreuse"},
  474. [20] =
  475. {[1] = "Gare de l'Est",
  476. [4] = "Pantin",
  477. [5] = "Noisy-le-Sec",
  478. [6] = "Bondy",
  479. [7] = "Gagny | Le Raincy Villemomble Montfermeil",
  480. [9] = "Chelles Gournay | Le Chenay Gagny",
  481. [10] = "Vaires Torcy",
  482. [11] = "Lagny-Thorigny",
  483. [13] = "Esbly",
  484. [14] = "Meaux",
  485. [15] = "Changis-Saint-Jean | Isles-Armentieres Congis | Lizy-sur-Ourcq | Trilport",
  486. [16] = "Crouy-sur-Ourcq | La Ferte-sous-Jouarre | Nanteuil Saacy"},
  487. [21] =
  488. {[5] = "Rosny-Bois-Perrier | Rosny-sous-Bois | Val de Fontenay",
  489. [6] = "Nogent Le-Perreux",
  490. [7] = "Les Boullereaux Champigny",
  491. [8] = "Villiers-sur-Marne Plessis-Trevise",
  492. [9] = "Les Yvris Noisy-le-Grand",
  493. [10] = "Emerainville Pontault-Combault | Roissy-en-Brie",
  494. [11] = "Ozoir-la-Ferriere",
  495. [12] = "Gretz-Armainvilliers | Tournan",
  496. [15] =
  497. "Courquetaine | Faremoutiers Pommeuse | Guerard La-Celle-sur-Morin | Liverdy en Brie | Marles-en-Brie | Mormant | Mortcerf | Mouroux | Ozouer le voulgis | Verneuil-l'Etang | Villepatour - Presles | Yebles - Guignes | Yebles",
  498. [16] =
  499. "Chailly Boissy-le-Châtel | Chauffry | Coulommiers | Jouy-sur-Morin Le-Marais | Nangis | Saint-Remy-la-Vanne | Saint-Simeon",
  500. [17] =
  501. "Champbenoist-Poigny | La Ferte-Gaucher | Longueville | Provins | Sainte-Colombe-Septveilles",
  502. [18] = "Flamboin | Meilleray | Villiers St Georges"},
  503. [22] =
  504. {[7] =
  505. "Allee de la Tour-Rendez-Vous | La Remise-a-Jorelle | Les Coquetiers | Les Pavillons-sous-Bois",
  506. [8] = "Gargan",
  507. [9] = "Freinville Sevran | L'Abbaye"},
  508. [23] =
  509. {[13] = "Couilly Saint-Germain Quincy | Les Champs-Forts | Montry Conde",
  510. [14] = "Crecy-en-Brie La Chapelle | Villiers-Montbarbin"},
  511. [26] =
  512. {[5] = "Val de Fontenay",
  513. [6] = "Bry-sur-Marne | Neuilly-Plaisance",
  514. [7] = "Noisy-le-Grand (Mont d'Est)",
  515. [8] = "Noisy-Champs",
  516. [10] = "Lognes | Noisiel | Torcy",
  517. [11] = "Bussy-Saint-Georges",
  518. [12] = "Val d'europe",
  519. [13] = "Marne-la-Vallee Chessy"},
  520. [28] = {[4] = "Fontenay-aux-Roses | Robinson | Sceaux"},
  521. [30] =
  522. {[1] = "Gare Saint-Lazare",
  523. [3] = "Pont Cardinet",
  524. [4] =
  525. "Asnieres | Becon-les-Bruyeres | Clichy Levallois | Courbevoie | La Defense (Grande Arche)",
  526. [5] = "Puteaux | Suresnes Mont-Valerien",
  527. [7] = "Garches Marne-la-Coquette | Le Val d'Or | Saint-Cloud",
  528. [8] = "Vaucresson",
  529. [9] = "Bougival | La Celle-Saint-Cloud | Louveciennes | Marly-le-Roi",
  530. [10] = "L'Etang-la-Ville | Saint-Nom-la-Breteche Foret de Marly"},
  531. [31] =
  532. {[7] = "Chaville-Rive Droite | Sevres Ville-d'Avray | Viroflay-Rive Droite",
  533. [8] = "Montreuil | Versailles-Rive Droite"},
  534. [32] =
  535. {[5] = "La Garenne-Colombes | Les Vallees | Nanterre-Universite",
  536. [7] = "Houilles Carrieres-sur-Seine | Sartrouville",
  537. [9] = "Maisons-Laffitte",
  538. [10] = "Poissy",
  539. [11] = "Villennes-sur-Seine",
  540. [12] = "Les Clairieres de Verneuil | Vernouillet Verneuil",
  541. [13] = "Aubergenville-Elisabethville | Les Mureaux",
  542. [14] = "Epone Mezieres",
  543. [16] = "Bonnieres | Mantes-Station | Mantes-la-Jolie | Port-Villez | Rosny-sur-Seine"},
  544. [33] =
  545. {[10] = "Acheres-Grand-Cormier | Acheres-Ville",
  546. [11] = "Cergy-Prefecture | Neuville-Universite",
  547. [12] = "Cergy-Saint-Christophe | Cergy-le-Haut"},
  548. [35] =
  549. {[4] = "Bois-Colombes",
  550. [5] = "Colombes | Le Stade",
  551. [6] = "Argenteuil | Argenteuil",
  552. [8] = "Cormeilles-en-Parisis | Val d'Argenteuil | Val d'Argenteuil",
  553. [9] = "Herblay | La Frette Montigny",
  554. [10] = "Conflans-Fin d'Oise | Conflans-Sainte-Honorine",
  555. [11] = "Andresy | Chanteloup-les-Vignes | Maurecourt",
  556. [12] = "Triel-sur-Seine | Vaux-sur-Seine",
  557. [13] = "Meulan Hadricourt | Thun-le-Paradis",
  558. [14] = "Gargenville | Juziers",
  559. [15] = "Issou Porcheville | Limay",
  560. [16] = "Breval | Menerville"},
  561. [40] =
  562. {[1] = "Gare de Lyon",
  563. [5] = "Le Vert de Maisons | Maisons-Alfort Alfortville",
  564. [6] = "Villeneuve-Prairie",
  565. [7] = "Villeneuve-Triage",
  566. [8] = "Villeneuve-Saint-Georges",
  567. [9] = "Juvisy | Vigneux-sur-Seine",
  568. [10] = "Ris-Orangis | Viry-Châtillon",
  569. [11] = "Evry Val de Seine | Grand-Bourg",
  570. [12] = "Corbeil-Essonnes | Mennecy | Moulin-Galant",
  571. [13] = "Ballancourt | Fontenay le Vicomte",
  572. [14] = "La Ferte-Alais",
  573. [16] = "Boutigny | Maisse",
  574. [17] = "Boigneville | Buno-Gironville"},
  575. [41] =
  576. {[0] = "Musee d'Orsay | Saint-Michel Notre-Dame",
  577. [1] = "Gare d'Austerlitz",
  578. [2] = "Bibliotheque-Francois Mitterrand",
  579. [4] = "Ivry-sur-Seine | Vitry-sur-Seine",
  580. [5] = "Choisy-le-Roi | Les Ardoines",
  581. [7] = "Villeneuve-le-Roi",
  582. [8] = "Ablon",
  583. [9] = "Athis-Mons"},
  584. [42] =
  585. {[9] = "Epinay-sur-Orge | Savigny-sur-Orge",
  586. [10] = "Sainte-Genevieve-des-Bois",
  587. [11] = "Saint-Michel-sur-Orge",
  588. [12] = "Bretigny-sur-Orge | Marolles-en-Hurepoix",
  589. [13] = "Bouray | Lardy",
  590. [14] = "Chamarande | Etampes | Etrechy",
  591. [16] = "Saint-Martin d'Etampes",
  592. [17] = "Guillerval"},
  593. [43] =
  594. {[9] = "Montgeron Crosne | Yerres",
  595. [10] = "Brunoy",
  596. [11] = "Boussy-Saint-Antoine | Combs-la-Ville Quincy",
  597. [12] = "Lieusaint Moissy",
  598. [13] = "Cesson | Savigny-le-Temple Nandy",
  599. [15] = "Le Mee | Melun",
  600. [16] = "Chartrettes | Fontaine-le-Port | Livry-sur-Seine",
  601. [17] =
  602. "Champagne-sur-Seine | Hericy | La Grande Paroisse | Vernou-sur-Seine | Vulaines-sur-Seine Samoreau"},
  603. [44] =
  604. {[12] = "Essonnes-Robinson | Villabe",
  605. [13] = "Coudray-Montceaux | Le Plessis-Chenet-IBM | Saint-Fargeau",
  606. [14] = "Boissise-le-Roi | Ponthierry Pringy",
  607. [15] = "Vosves",
  608. [16] = "Bois-le-Roi",
  609. [17] =
  610. "Bagneaux-sur-Loing | Bourron-Marlotte Grez | Fontainebleau-Avon | Montereau | Montigny-sur-Loing | Moret Veneux-les-Sablons | Nemours Saint-Pierre | Saint-Mammes | Souppes | Thomery"},
  611. [45] =
  612. {[10] = "Grigny-Centre",
  613. [11] = "Evry Courcouronnes | Orangis Bois de l'Epine",
  614. [12] = "Le Bras-de-Fer - Evry Genopole"},
  615. [50] =
  616. {[0] = "Haussmann-Saint-Lazare",
  617. [1] = "Gare du Nord | Magenta | Paris-Nord",
  618. [5] = "Epinay-Villetaneuse | Saint-Denis | Sevres-Rive Gauche",
  619. [6] = "La Barre-Ormesson",
  620. [7] = "Champ de Courses d'Enghien | Enghien-les-Bains",
  621. [8] = "Ermont-Eaubonne | Ermont-Halte | Gros-Noyer Saint-Prix",
  622. [9] = "Saint-Leu-La-Foret | Taverny | Vaucelles",
  623. [10] = "Bessancourt | Frepillon | Mery",
  624. [11] = "Meriel | Valmondois",
  625. [12] = "Bruyeres-sur-Oise | Champagne-sur-Oise | L'Isle-Adam Parmain | Persan Beaumont"},
  626. [51] =
  627. {[4] = "La Courneuve-Aubervilliers | La Plaine-Stade de France",
  628. [5] = "Le Bourget",
  629. [7] = "Blanc-Mesnil | Drancy",
  630. [8] = "Aulnay-sous-Bois",
  631. [9] = "Sevran Livry | Vert-Galant",
  632. [10] = "Villeparisis",
  633. [11] = "Compans | Mitry-Claye",
  634. [12] = "Dammartin Juilly Saint-Mard | Thieux Nantouillet"},
  635. [52] =
  636. {[5] = "Stade de France-Saint-Denis",
  637. [6] = "Pierrefitte Stains",
  638. [7] = "Garges-Sarcelles",
  639. [8] = "Villiers-le-Bel (Gonesse - Arnouville)",
  640. [10] = "Goussainville | Les Noues | Louvres",
  641. [11] = "La Borne-Blanche | Survilliers-Fosses"},
  642. [53] =
  643. {[6] = "Deuil Montmagny",
  644. [7] = "Groslay",
  645. [8] = "Sarcelles Saint-Brice",
  646. [9] = "Domont | Ecouen Ezanville",
  647. [10] = "Bouffemont Moisselles | Montsoult Maffliers",
  648. [11] = "Belloy-Saint-Martin | Luzarches | Seugy | Viarmes | Villaines"},
  649. [54] =
  650. {[8] = "Cernay",
  651. [9] = "Franconville Plessis-Bouchard | Montigny-Beauchamp",
  652. [10] = "Pierrelaye",
  653. [11] = "Pontoise | Saint-Ouen-l'Aumone-Liesse",
  654. [12] = "Boissy-l'Aillerie | Osny",
  655. [15] = "Chars | Montgeroult Courcelles | Santeuil Le Perchay | Us"},
  656. [55] =
  657. {[0] =
  658. "Avenue Foch | Avenue Henri-Martin | Boulainvilliers | Kennedy Radio-France | Neuilly-Porte Maillot (Palais des congres)",
  659. [1] = "Pereire-Levallois",
  660. [2] = "Porte de Clichy",
  661. [3] = "Saint-Ouen",
  662. [4] = "Les Gresillons",
  663. [5] = "Gennevilliers",
  664. [6] = "Epinay-sur-Seine",
  665. [7] = "Saint-Gratien"},
  666. [56] = {[11] = "Auvers-sur-Oise | Chaponval | Epluches | Pont Petit"},
  667. [57] = {[11] = "Presles Courcelles", [12] = "Nointel Mours"},
  668. [60] =
  669. {[1] = "Gare Montparnasse",
  670. [4] = "Clamart | Vanves Malakoff",
  671. [5] = "Bellevue | Bievres | Meudon",
  672. [6] = "Chaville-Rive Gauche | Chaville-Velizy | Viroflay-Rive Gauche",
  673. [7] = "Versailles-Chantiers",
  674. [10] = "Saint-Cyr",
  675. [11] = "Saint-Quentin-en-Yvelines - Montigny le Bretonneux | Trappes",
  676. [12] = "Coignieres | La Verriere",
  677. [13] = "Les Essarts-le-Roi",
  678. [14] = "Le Perray | Rambouillet",
  679. [15] = "Gazeran"},
  680. [61] =
  681. {[10] = "Fontenay-le-Fleury",
  682. [11] = "Villepreux Les-Clayes",
  683. [12] = "Plaisir Grignon | Plaisir Les-Clayes",
  684. [13] = "Beynes | Mareil-sur-Mauldre | Maule | Nezel Aulnay",
  685. [15] =
  686. "Garancieres La-Queue | Montfort-l'Amaury Mere | Orgerus Behoust | Tacoigneres Richebourg | Villiers Neauphle Pontchartrain",
  687. [16] = "Houdan"},
  688. [63] = {[7] = "Porchefontaine | Versailles-Rive Gauche"},
  689. [64] =
  690. {[0] = "Invalides | Pont de l'alma",
  691. [1] = "Champ de Mars-Tour Eiffel",
  692. [2] = "Javel",
  693. [3] = "Boulevard Victor - Pont du Garigliano | Issy-Val de Seine | Issy",
  694. [5] = "Meudon-Val-Fleury"},
  695. [65] =
  696. {[8] = "Jouy-en-Josas | Petit-Jouy-les-Loges",
  697. [9] = "Vauboyen",
  698. [10] = "Igny",
  699. [11] = "Massy-Palaiseau",
  700. [12] = "Longjumeau",
  701. [13] = "Chilly-Mazarin",
  702. [14] = "Gravigny-Balizy | Petit-Vaux"},
  703. [70] =
  704. {[9] = "Parc des Expositions | Sevran-Beaudottes | Villepinte",
  705. [10] = "Aeroport Charles de Gaulle"},
  706. [72] = {[7] = "Sannois"},
  707. [73] = {[11] = "Eragny Neuville | Saint-Ouen-l'Aumone (Eglise)"},
  708. [75] =
  709. {[7] = "Les Saules | Orly-Ville",
  710. [9] = "Pont de Rungis Aeroport d'Orly | Rungis-La Fraternelle",
  711. [10] = "Chemin d'Antony",
  712. [12] = "Massy-Verrieres | Arpajon"},
  713. [76] =
  714. {[12] = "Egly | La Norville Saint-Germain-les-Arpajon",
  715. [13] = "Breuillet Bruyeres-le-Châtel | Breuillet-Village | Saint-Cheron",
  716. [14] = "Sermaise",
  717. [15] = "Dourdan | Dourdan-la-Foret"},
  718. };
  719. #endif // METRO_LIST_H