shopifydev 0.0.25 → 0.0.26

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1696 @@
1
+ require 'ffaker'
2
+ module ValidPostalCode
3
+ PROVINCES = {
4
+ "NL" => {
5
+ "A1B" => "ST. JOHN'S",
6
+ "A1C" => "ST. JOHN'S",
7
+ "A1E" => "ST. JOHN'S",
8
+ "A1G" => "ST. JOHN'S",
9
+ "A1H" => "ST. JOHN'S",
10
+ "A1K" => "TORBAY",
11
+ "A1L" => "PARADISE",
12
+ "A1M" => "PORTUGAL COVE-ST PHILIPS",
13
+ "A1N" => "ST. JOHN'S",
14
+ "A1S" => "GOULDS",
15
+ "A1V" => "GANDER",
16
+ "A1W" => "MANUELS",
17
+ "A1X" => "FOXTRAP",
18
+ "A1Y" => "CARBONEAR",
19
+ "A2A" => "GRAND FALLS-WINDSOR",
20
+ "A2B" => "GRAND FALLS-WINDSOR",
21
+ "A2H" => "CORNER BROOK",
22
+ "A2N" => "STEPHENVILLE",
23
+ "A2V" => "LABRADOR CITY",
24
+ "A5A" => "CLARENVILLE",
25
+ "A8A" => "DEER LAKE",
26
+ "A0A" => "ST. JOHN'S",
27
+ "A0B" => "ST. JOHN'S",
28
+ "A0C" => "CLARENVILLE",
29
+ "A0E" => "CLARENVILLE",
30
+ "A0G" => "GANDER",
31
+ "A0H" => "GRAND FALLS",
32
+ "A0J" => "GRAND FALLS",
33
+ "A0K" => "DEER LAKE",
34
+ "A0L" => "CORNER BROOK",
35
+ "A0M" => "PORT-AUX-BASQUES",
36
+ "A0N" => "STEPHENVILLE",
37
+ "A0P" => "H. VAL-GOOSE BAY",
38
+ "A0Z" => "STEPHENVILLE"
39
+ },
40
+ "QC" => {
41
+ "A0R" => "MONTREAL",
42
+ "G1A" => "QUEBEC",
43
+ "G1B" => "QUEBEC",
44
+ "G1C" => "QUEBEC",
45
+ "G1E" => "QUEBEC",
46
+ "G1G" => "QUEBEC",
47
+ "G1H" => "QUEBEC",
48
+ "G1J" => "QUEBEC",
49
+ "G1K" => "QUEBEC",
50
+ "G1L" => "QUEBEC",
51
+ "G1M" => "QUEBEC",
52
+ "G1N" => "QUEBEC",
53
+ "G1P" => "QUEBEC",
54
+ "G1R" => "QUEBEC",
55
+ "G1S" => "QUEBEC",
56
+ "G1T" => "QUEBEC",
57
+ "G1V" => "QUEBEC",
58
+ "G1W" => "QUEBEC",
59
+ "G1X" => "QUEBEC",
60
+ "G1Y" => "QUEBEC",
61
+ "G2A" => "QUEBEC",
62
+ "G2B" => "QUEBEC",
63
+ "G2C" => "QUEBEC",
64
+ "G2E" => "QUEBEC",
65
+ "G2G" => "QUEBEC",
66
+ "G2J" => "QUEBEC",
67
+ "G2K" => "QUEBEC",
68
+ "G2L" => "QUEBEC",
69
+ "G2M" => "QUEBEC",
70
+ "G2N" => "QUEBEC",
71
+ "G3A" => "SAINT-AUGUSTIN-DE-DESMAURES",
72
+ "G5J" => "AMQUI",
73
+ "G5L" => "RIMOUSKI",
74
+ "G5M" => "RIMOUSKI",
75
+ "G5N" => "RIMOUSKI",
76
+ "G5R" => "RIVIERE-DU-LOUP",
77
+ "G5T" => "DEGELIS",
78
+ "G8G" => "METABETCHOUAN-LAC-A-LA-CROIX",
79
+ "G8H" => "ROBERVAL",
80
+ "G8J" => "CHICOUTIMI",
81
+ "G8K" => "SAINT-FELICIEN",
82
+ "G8L" => "DOLBEAU-MISTASSINI",
83
+ "G8M" => "NORMANDIN",
84
+ "G8N" => "HEBERTVILLE",
85
+ "G8P" => "CHIBOUGAMAU",
86
+ "G8T" => "TROIS-RIVIERES",
87
+ "G8V" => "TROIS-RIVIERES",
88
+ "G8W" => "TROIS-RIVIERES",
89
+ "G8Y" => "TROIS-RIVIERES",
90
+ "G8Z" => "TROIS-RIVIERES",
91
+ "G9A" => "TROIS-RIVIERES",
92
+ "G9B" => "TROIS-RIVIERES",
93
+ "G3B" => "LAC-BEAUPORT",
94
+ "G3C" => "STONEHAM-ET-TEWKESBURY",
95
+ "G6T" => "VICTORIAVILLE",
96
+ "G3E" => "QUEBEC",
97
+ "G3G" => "QUEBEC",
98
+ "G3H" => "PONT-ROUGE",
99
+ "G3J" => "QUEBEC",
100
+ "G3K" => "QUEBEC",
101
+ "G3L" => "SAINT-RAYMOND",
102
+ "G3M" => "DONNACONA",
103
+ "G3N" => "STE-CATHERINE-DE-LA-J-CARTIER",
104
+ "G6V" => "LEVIS",
105
+ "G6W" => "LEVIS",
106
+ "G6X" => "LEVIS",
107
+ "G6Z" => "SAINT-JEAN-CHRYSOSTOME",
108
+ "G0C" => "MONT-JOLI # 1",
109
+ "G7A" => "SAINT-NICOLAS",
110
+ "G7B" => "CHICOUTIMI CITE",
111
+ "G7G" => "CHICOUTIMI CITE",
112
+ "G7H" => "CHICOUTIMI CITE",
113
+ "G7J" => "CHICOUTIMI CITE",
114
+ "G7K" => "CHICOUTIMI CITE",
115
+ "G7N" => "LATERRIERE",
116
+ "G7P" => "CHICOUTIMI",
117
+ "G7S" => "JONQUIERE CITE",
118
+ "G7T" => "JONQUIERE CITE",
119
+ "G7X" => "JONQUIERE CITE",
120
+ "G7Y" => "JONQUIERE CITE",
121
+ "G7Z" => "JONQUIERE CITE",
122
+ "G8A" => "JONQUIERE CITE",
123
+ "G8B" => "ALMA",
124
+ "G5V" => "MONTMAGNY",
125
+ "G5X" => "BEAUCEVILLE",
126
+ "G5Y" => "SAINT-GEORGES",
127
+ "G5Z" => "SAINT-GEORGES",
128
+ "G6A" => "SAINT-GEORGES",
129
+ "G6B" => "LAC-MEGANTIC",
130
+ "G6C" => "PINTENDRE",
131
+ "G6E" => "SAINTE-MARIE",
132
+ "G6G" => "THETFORD MINES",
133
+ "G6H" => "THETFORD MINES",
134
+ "G6J" => "SAINT-ETIENNE-DE-LAUZON",
135
+ "G9C" => "TROIS-RIVIERES",
136
+ "G6K" => "SAINT-REDEMPTEUR",
137
+ "G6L" => "PLESSISVILLE",
138
+ "G6P" => "VICTORIAVILLE",
139
+ "G6R" => "VICTORIAVILLE",
140
+ "G6S" => "VICTORIAVILLE",
141
+ "G9H" => "BECANCOUR",
142
+ "G9N" => "SHAWINIGAN",
143
+ "G9P" => "SHAWINIGAN",
144
+ "G9R" => "SHAWINIGAN",
145
+ "G9T" => "GRAND-MERE",
146
+ "G9X" => "LA TUQUE",
147
+ "G3Z" => "BAIE-SAINT-PAUL",
148
+ "G4A" => "CLERMONT",
149
+ "G4R" => "SEPT-ILES",
150
+ "G4S" => "SEPT-ILES",
151
+ "G4T" => "CAP-AUX-MEULES",
152
+ "G4V" => "SAINTE-ANNE-DES-MONTS",
153
+ "G4W" => "MATANE",
154
+ "G4X" => "GASPE",
155
+ "G4Z" => "BAIE-COMEAU",
156
+ "G5A" => "LA MALBAIE",
157
+ "G5B" => "PORT-CARTIER",
158
+ "G5C" => "BAIE-COMEAU",
159
+ "G5H" => "MONT-JOLI",
160
+ "G8C" => "ALMA",
161
+ "G8E" => "ALMA",
162
+ "G0N" => "THETFORD MINES",
163
+ "G0P" => "VICTORIAVILLE",
164
+ "G0R" => "QUEBEC # 2-A",
165
+ "G0S" => "QUEBEC # 2-B",
166
+ "G0T" => "QUEBEC # 1",
167
+ "G0V" => "CHICOUTIMI",
168
+ "G0W" => "CHICOUTIMI",
169
+ "G0X" => "TROIS-RIVIERES",
170
+ "G0Y" => "ST-GEORGES",
171
+ "G0Z" => "VICTORIAVILLE",
172
+ "G0A" => "QUEBEC # 1",
173
+ "G0B" => "RIMOUSKI # 1",
174
+ "G0E" => "MONT-JOLI # 1",
175
+ "G0G" => "SEPT-ILES",
176
+ "G0H" => "BAIE COMEAU",
177
+ "G0J" => "MONT-JOLI # 2",
178
+ "G0K" => "RIMOUSKI # 1",
179
+ "G0L" => "RIVIERE-DU-LOUP",
180
+ "G0M" => "ST-GEORGES",
181
+ "H1A" => "MONTREAL",
182
+ "H1B" => "MONTREAL",
183
+ "H1C" => "MONTREAL",
184
+ "H1E" => "MONTREAL",
185
+ "H1G" => "MONTREAL",
186
+ "H1H" => "MONTREAL",
187
+ "H1J" => "MONTREAL",
188
+ "H1K" => "MONTREAL",
189
+ "H1L" => "MONTREAL",
190
+ "H1M" => "MONTREAL",
191
+ "H1N" => "MONTREAL",
192
+ "H1P" => "MONTREAL",
193
+ "H1R" => "MONTREAL",
194
+ "H1S" => "MONTREAL",
195
+ "H1T" => "MONTREAL",
196
+ "H1V" => "MONTREAL",
197
+ "H1W" => "MONTREAL",
198
+ "H1X" => "MONTREAL",
199
+ "H1Y" => "MONTREAL",
200
+ "H1Z" => "MONTREAL",
201
+ "H2A" => "MONTREAL",
202
+ "H2B" => "MONTREAL",
203
+ "H2C" => "MONTREAL",
204
+ "H2E" => "MONTREAL",
205
+ "H2G" => "MONTREAL",
206
+ "H2H" => "MONTREAL",
207
+ "H2J" => "MONTREAL",
208
+ "H2K" => "MONTREAL",
209
+ "H2L" => "MONTREAL",
210
+ "H2M" => "MONTREAL",
211
+ "H2N" => "MONTREAL",
212
+ "H2P" => "MONTREAL",
213
+ "H2R" => "MONTREAL",
214
+ "H2S" => "MONTREAL",
215
+ "H2T" => "MONTREAL",
216
+ "H2V" => "MONTREAL",
217
+ "H2W" => "MONTREAL",
218
+ "H2X" => "MONTREAL",
219
+ "H2Y" => "MONTREAL",
220
+ "H2Z" => "MONTREAL",
221
+ "H3A" => "MONTREAL",
222
+ "H3B" => "MONTREAL",
223
+ "H3C" => "MONTREAL",
224
+ "H3E" => "MONTREAL",
225
+ "H3G" => "MONTREAL",
226
+ "H3H" => "MONTREAL",
227
+ "H3J" => "MONTREAL",
228
+ "H3K" => "MONTREAL",
229
+ "H3L" => "MONTREAL",
230
+ "H3M" => "MONTREAL",
231
+ "H3N" => "MONTREAL",
232
+ "H3P" => "MONTREAL",
233
+ "H3R" => "MONTREAL",
234
+ "H3S" => "MONTREAL",
235
+ "H3T" => "MONTREAL",
236
+ "H7L" => "LAVAL",
237
+ "H7M" => "LAVAL",
238
+ "H7N" => "LAVAL",
239
+ "H7P" => "LAVAL",
240
+ "H7R" => "LAVAL",
241
+ "H7S" => "LAVAL",
242
+ "H7T" => "LAVAL",
243
+ "H7V" => "LAVAL",
244
+ "H7W" => "LAVAL",
245
+ "H7X" => "LAVAL",
246
+ "H7Y" => "LAVAL",
247
+ "H8N" => "MONTREAL",
248
+ "H8P" => "MONTREAL",
249
+ "H8R" => "MONTREAL",
250
+ "H8S" => "MONTREAL",
251
+ "H8T" => "POINTE-CLAIRE",
252
+ "H8Y" => "MONTREAL",
253
+ "H3V" => "MONTREAL",
254
+ "H3W" => "MONTREAL",
255
+ "H3X" => "MONTREAL",
256
+ "H3Y" => "MONTREAL",
257
+ "H3Z" => "MONTREAL",
258
+ "H4A" => "MONTREAL",
259
+ "H4B" => "MONTREAL",
260
+ "H4C" => "MONTREAL",
261
+ "H4E" => "MONTREAL",
262
+ "H8Z" => "MONTREAL",
263
+ "H9A" => "MONTREAL",
264
+ "H9B" => "MONTREAL",
265
+ "H9C" => "MONTREAL",
266
+ "H9E" => "MONTREAL",
267
+ "H9G" => "POINTE-CLAIRE",
268
+ "H9H" => "MONTREAL",
269
+ "H9J" => "MONTREAL",
270
+ "H9K" => "MONTREAL",
271
+ "H9P" => "POINTE-CLAIRE",
272
+ "H9R" => "POINTE-CLAIRE",
273
+ "H9S" => "POINTE-CLAIRE",
274
+ "H9W" => "BEACONSFIELD",
275
+ "H9X" => "BEACONSFIELD",
276
+ "H4G" => "VERDUN",
277
+ "H4H" => "VERDUN",
278
+ "H4J" => "MONTREAL",
279
+ "H4K" => "MONTREAL",
280
+ "H4L" => "MONTREAL",
281
+ "H4M" => "MONTREAL",
282
+ "H4N" => "MONTREAL",
283
+ "H4P" => "MONTREAL",
284
+ "H4R" => "MONTREAL",
285
+ "H4S" => "MONTREAL",
286
+ "H4T" => "MONTREAL",
287
+ "H4V" => "MONTREAL",
288
+ "H4W" => "MONTREAL",
289
+ "H4X" => "MONTREAL",
290
+ "H4Y" => "POINTE-CLAIRE",
291
+ "H4Z" => "MONTREAL",
292
+ "H5A" => "MONTREAL",
293
+ "H0A" => "MONTREAL",
294
+ "H5B" => "MONTREAL",
295
+ "H7A" => "LAVAL",
296
+ "H7B" => "LAVAL",
297
+ "H7C" => "LAVAL",
298
+ "J1A" => "COATICOOK",
299
+ "J1C" => "SHERBROOKE",
300
+ "J1E" => "SHERBROOKE",
301
+ "J1G" => "SHERBROOKE",
302
+ "J1H" => "SHERBROOKE",
303
+ "J1J" => "SHERBROOKE",
304
+ "J1K" => "SHERBROOKE",
305
+ "H7E" => "LAVAL",
306
+ "H7G" => "LAVAL",
307
+ "H7H" => "LAVAL",
308
+ "H7J" => "LAVAL",
309
+ "H7K" => "LAVAL",
310
+ "J1L" => "SHERBROOKE",
311
+ "J1M" => "SHERBROOKE",
312
+ "J1N" => "SHERBROOKE",
313
+ "J1R" => "SHERBROOKE",
314
+ "J1S" => "WINDSOR",
315
+ "J1T" => "ASBESTOS",
316
+ "J1X" => "MAGOG",
317
+ "J1Z" => "SAINT-CYRILLE-DE-WENDOVER",
318
+ "J4B" => "BOUCHERVILLE",
319
+ "J4G" => "LONGUEUIL",
320
+ "J4H" => "LONGUEUIL",
321
+ "J4J" => "LONGUEUIL",
322
+ "J4K" => "LONGUEUIL",
323
+ "J4L" => "LONGUEUIL",
324
+ "J4M" => "LONGUEUIL",
325
+ "J4N" => "LONGUEUIL",
326
+ "J4P" => "BROSSARD",
327
+ "J6Z" => "ROSEMERE",
328
+ "J7A" => "ROSEMERE",
329
+ "J7B" => "BOISBRIAND",
330
+ "J7C" => "BOISBRIAND",
331
+ "J7E" => "BOISBRIAND",
332
+ "J7G" => "BOISBRIAND",
333
+ "J7H" => "BOISBRIAND",
334
+ "J7J" => "MIRABEL",
335
+ "J7K" => "TERREBONNE",
336
+ "J7L" => "TERREBONNE",
337
+ "J7M" => "TERREBONNE",
338
+ "J7N" => "MIRABEL",
339
+ "J7P" => "SAINT-EUSTACHE",
340
+ "J7R" => "SAINT-EUSTACHE",
341
+ "J7T" => "SAINT-LAZARE",
342
+ "J7V" => "VAUDREUIL-DORION",
343
+ "J7W" => "VAUDREUIL-DORION",
344
+ "J7X" => "SALABERRY-DE-VALLEYFIELD",
345
+ "J2A" => "DRUMMONDVILLE",
346
+ "J2B" => "DRUMMONDVILLE",
347
+ "J2C" => "DRUMMONDVILLE",
348
+ "J2E" => "DRUMMONDVILLE",
349
+ "J2G" => "GRANBY",
350
+ "J2H" => "GRANBY",
351
+ "J2J" => "GRANBY",
352
+ "J2K" => "COWANSVILLE",
353
+ "J2L" => "BROMONT",
354
+ "J2M" => "SHEFFORD",
355
+ "J2N" => "FARNHAM",
356
+ "J2R" => "SAINT-HYACINTHE",
357
+ "J2S" => "SAINT-HYACINTHE",
358
+ "J2T" => "SAINT-HYACINTHE",
359
+ "J2W" => "SAINT-JEAN-SUR-RICHELIEU",
360
+ "J5M" => "SAINT-LIN-LAURENTIDES",
361
+ "J8C" => "SAINTE-AGATHE-DES-MONTS",
362
+ "J2X" => "SAINT-JEAN-SUR-RICHELIEU",
363
+ "J2Y" => "SAINT-JEAN-SUR-RICHELIEU",
364
+ "J3A" => "SAINT-JEAN-SUR-RICHELIEU",
365
+ "J3B" => "SAINT-JEAN-SUR-RICHELIEU",
366
+ "J3E" => "SAINTE-JULIE",
367
+ "J3G" => "BELOEIL",
368
+ "J3H" => "BELOEIL",
369
+ "J3L" => "CHAMBLY",
370
+ "J5R" => "LA PRAIRIE",
371
+ "J5T" => "LAVALTRIE",
372
+ "J5V" => "LOUISEVILLE",
373
+ "J5W" => "L'ASSOMPTION",
374
+ "J5X" => "L'EPIPHANIE",
375
+ "J5Y" => "REPENTIGNY",
376
+ "J5Z" => "REPENTIGNY",
377
+ "J6A" => "REPENTIGNY",
378
+ "J6E" => "JOLIETTE",
379
+ "J6J" => "CHATEAUGUAY",
380
+ "J6K" => "CHATEAUGUAY",
381
+ "J6N" => "BEAUHARNOIS",
382
+ "J6R" => "MERCIER",
383
+ "J8E" => "MONT-TREMBLANT",
384
+ "J8G" => "BROWNSBURG-CHATHAM",
385
+ "J8H" => "LACHUTE",
386
+ "J8L" => "GATINEAU",
387
+ "J8M" => "GATINEAU",
388
+ "J8N" => "VAL-DES-MONTS",
389
+ "J8P" => "GATINEAU",
390
+ "J8R" => "GATINEAU",
391
+ "J8T" => "GATINEAU",
392
+ "J8V" => "GATINEAU",
393
+ "J8X" => "GATINEAU",
394
+ "J8Y" => "GATINEAU",
395
+ "J8Z" => "GATINEAU",
396
+ "J9A" => "GATINEAU",
397
+ "J9B" => "CHELSEA",
398
+ "J9E" => "MANIWAKI",
399
+ "J9H" => "GATINEAU",
400
+ "J9J" => "GATINEAU",
401
+ "J9L" => "MONT-LAURIER",
402
+ "J9P" => "VAL-D'OR",
403
+ "J9T" => "AMOS",
404
+ "J4R" => "BROSSARD",
405
+ "J4S" => "BROSSARD",
406
+ "J4T" => "SAINT-HUBERT",
407
+ "J4V" => "BROSSARD",
408
+ "J4W" => "BROSSARD",
409
+ "J4X" => "BROSSARD",
410
+ "J4Y" => "BROSSARD",
411
+ "J4Z" => "BROSSARD",
412
+ "J5A" => "SAINT-CONSTANT",
413
+ "J5B" => "DELSON",
414
+ "J7Y" => "SAINT-JEROME",
415
+ "J7Z" => "SAINT-JEROME",
416
+ "J8A" => "SAINT-HIPPOLYTE",
417
+ "J8B" => "SAINTE-ADELE",
418
+ "J5C" => "SAINTE-CATHERINE",
419
+ "J5J" => "SAINTE-SOPHIE",
420
+ "J5K" => "SAINT-COLOMBAN",
421
+ "J5L" => "SAINT-JEROME",
422
+ "J3M" => "MARIEVILLE",
423
+ "J3N" => "SAINT-BASILE-LE-GRAND",
424
+ "J3P" => "SOREL-TRACY",
425
+ "J3R" => "SOREL-TRACY",
426
+ "J3T" => "NICOLET",
427
+ "J3V" => "SAINT-BRUNO",
428
+ "J3X" => "VARENNES",
429
+ "J3Y" => "SAINT-HUBERT",
430
+ "J3Z" => "SAINT-HUBERT",
431
+ "J6S" => "SALABERRY-DE-VALLEYFIELD",
432
+ "J6T" => "SALABERRY-DE-VALLEYFIELD",
433
+ "J6V" => "TERREBONNE",
434
+ "J6W" => "TERREBONNE",
435
+ "J6X" => "TERREBONNE",
436
+ "J6Y" => "TERREBONNE",
437
+ "J9V" => "VILLE-MARIE",
438
+ "J9X" => "ROUYN-NORANDA",
439
+ "J9Y" => "ROUYN-NORANDA",
440
+ "J9Z" => "LA SARRE",
441
+ "J0A" => "SHERBROOKE",
442
+ "J0B" => "SHERBROOKE",
443
+ "J0C" => "DRUMMONDVILLE",
444
+ "J0E" => "GRANBY",
445
+ "J0G" => "SOREL",
446
+ "J0H" => "ST-HYACINTHE",
447
+ "J0J" => "ST-JEAN",
448
+ "J0K" => "JOLIETTE",
449
+ "J0L" => "MONTREAL",
450
+ "J0M" => "MTL (NV-QC)",
451
+ "J0N" => "MONTREAL",
452
+ "J0P" => "VALLEYFIELD",
453
+ "J0R" => "SAINT-JEROME",
454
+ "J0S" => "VALLEYFIELD",
455
+ "J0T" => "ST-AGATHE",
456
+ "J0V" => "SAINT-JEROME",
457
+ "J0W" => "MONT-LAURIER",
458
+ "J0X" => "HULL",
459
+ "J0Y" => "VAL D'OR",
460
+ "J0Z" => "ROUYN-NORANDA"
461
+ },
462
+ "NS" => {
463
+ "B1G" => "DOMINION",
464
+ "B1H" => "NEW WATERFORD",
465
+ "B1J" => "SYDNEY AREA",
466
+ "B1K" => "SYDNEY AREA",
467
+ "B1L" => "SYDNEY",
468
+ "B1M" => "SYDNEY",
469
+ "B1N" => "SYDNEY",
470
+ "B1P" => "SYDNEY",
471
+ "B1R" => "SYDNEY",
472
+ "B1S" => "SYDNEY",
473
+ "B1T" => "CHRISTMAS ISLAND",
474
+ "B1V" => "NORTH SYDNEY",
475
+ "B1W" => "ESKASONI",
476
+ "B1X" => "SYDNEY AREA",
477
+ "B1Y" => "SYDNEY AREA",
478
+ "B2A" => "NORTH SYDNEY",
479
+ "B2C" => "IONA",
480
+ "B2E" => "SYDNEY AREA",
481
+ "B2G" => "ANTIGONISH",
482
+ "B2H" => "NEW GLASGOW",
483
+ "B2J" => "SYDNEY AREA",
484
+ "B2N" => "TRURO",
485
+ "B2R" => "WAVERLEY",
486
+ "B2S" => "LANTZ",
487
+ "B2T" => "ENFIELD",
488
+ "B2V" => "DARTMOUTH",
489
+ "B2W" => "DARTMOUTH",
490
+ "B2X" => "DARTMOUTH",
491
+ "B2Y" => "DARTMOUTH",
492
+ "B2Z" => "DARTMOUTH",
493
+ "B3A" => "DARTMOUTH",
494
+ "B3B" => "DARTMOUTH",
495
+ "B3E" => "PORTERS LAKE",
496
+ "B3G" => "DARTMOUTH",
497
+ "B3H" => "HALIFAX",
498
+ "B3J" => "HALIFAX",
499
+ "B3K" => "HALIFAX",
500
+ "B3L" => "HALIFAX",
501
+ "B3M" => "HALIFAX",
502
+ "B3N" => "HALIFAX",
503
+ "B3P" => "HALIFAX",
504
+ "B3R" => "HALIFAX",
505
+ "B3S" => "HALIFAX",
506
+ "B3T" => "LAKESIDE",
507
+ "B3V" => "HALIFAX",
508
+ "B3Z" => "TANTALLON",
509
+ "B4A" => "DARTMOUTH",
510
+ "B4B" => "DARTMOUTH",
511
+ "B4C" => "DARTMOUTH",
512
+ "B4E" => "DARTMOUTH",
513
+ "B4G" => "DARTMOUTH",
514
+ "B4H" => "AMHERST",
515
+ "B4N" => "KENTVILLE",
516
+ "B4P" => "WOLFVILLE",
517
+ "B4R" => "COLDBROOK",
518
+ "B4V" => "BRIDGEWATER",
519
+ "B5A" => "YARMOUTH",
520
+ "B6L" => "TRURO",
521
+ "B9A" => "PORT HAWKESBURY",
522
+ "B0C" => "SYDNEY",
523
+ "B0E" => "PORT HAWKESBURY",
524
+ "B0H" => "ANTIGONISH",
525
+ "B0J" => "HALIFAX",
526
+ "B0K" => "NEW GLASGOW",
527
+ "B0L" => "AMHERST",
528
+ "B0M" => "TRURO",
529
+ "B0N" => "HALIFAX",
530
+ "B0P" => "KENTVILLE",
531
+ "B0R" => "BRIDGEWATER",
532
+ "B0S" => "MIDDLETON",
533
+ "B0T" => "LIVERPOOL",
534
+ "B0V" => "DIGBY",
535
+ "B0W" => "YARMOUTH",
536
+ "B1A" => "GLACE BAY",
537
+ "B1B" => "PORT MORIEN",
538
+ "B1C" => "LOUISBOURG"
539
+ },
540
+ "PE" => {
541
+ "C1A" => "CHARLOTTETOWN",
542
+ "C1B" => "CHARLOTTETOWN",
543
+ "C1C" => "CHARLOTTETOWN",
544
+ "C1E" => "CHARLOTTETOWN",
545
+ "C1N" => "SUMMERSIDE",
546
+ "C0A" => "CHARLOTTETOWN",
547
+ "C0B" => "SUMMERSIDE"
548
+ },
549
+ "NB" => {
550
+ "E1A" => "MONCTON",
551
+ "E1B" => "MONCTON",
552
+ "E1C" => "MONCTON",
553
+ "E1E" => "MONCTON",
554
+ "E1G" => "MONCTON",
555
+ "E1H" => "MONCTON",
556
+ "E1J" => "MONCTON",
557
+ "E1N" => "MIRAMICHI",
558
+ "E1V" => "MIRAMICHI",
559
+ "E1W" => "CARAQUET",
560
+ "E1X" => "TRACADIE-SHEILA",
561
+ "E2A" => "BATHURST",
562
+ "E2E" => "ROTHESAY",
563
+ "E2G" => "ROTHESAY",
564
+ "E2H" => "SAINT JOHN",
565
+ "E2J" => "SAINT JOHN",
566
+ "E2K" => "SAINT JOHN",
567
+ "E2L" => "SAINT JOHN",
568
+ "E2M" => "SAINT JOHN",
569
+ "E2N" => "SAINT JOHN",
570
+ "E2P" => "SAINT JOHN",
571
+ "E2R" => "SAINT JOHN",
572
+ "E2S" => "SAINT JOHN",
573
+ "E2V" => "OROMOCTO",
574
+ "E3A" => "FREDERICTON",
575
+ "E3B" => "FREDERICTON",
576
+ "E3C" => "FREDERICTON",
577
+ "E3E" => "FREDERICTON",
578
+ "E3G" => "FREDERICTON",
579
+ "E3L" => "ST STEPHEN",
580
+ "E3N" => "CAMPBELLTON",
581
+ "E3V" => "EDMUNDSTON",
582
+ "E3Y" => "GRAND FALLS/GRAND-SAULT",
583
+ "E3Z" => "GRAND FALLS/GRAND-SAULT",
584
+ "E4A" => "CHIPMAN",
585
+ "E4B" => "SUSSEX AREA",
586
+ "E4C" => "SUSSEX AREA",
587
+ "E4E" => "SUSSEX",
588
+ "E4G" => "SUSSEX",
589
+ "E4H" => "MONCTON AREA",
590
+ "E4J" => "SALISBURY",
591
+ "E4K" => "MONCTON AREA",
592
+ "E4L" => "SACKVILLE",
593
+ "E4M" => "MONCTON AREA",
594
+ "E4N" => "MONCTON AREA",
595
+ "E4P" => "MONCTON AREA",
596
+ "E4R" => "MONCTON AREA",
597
+ "E4S" => "MONCTON AREA",
598
+ "E4T" => "MONCTON AREA",
599
+ "E4V" => "MONCTON AREA",
600
+ "E4W" => "MONCTON AREA",
601
+ "E4X" => "MONCTON AREA",
602
+ "E4Y" => "ROGERSVILLE",
603
+ "E4Z" => "MONCTON AREA",
604
+ "E5A" => "MOORES MILLS",
605
+ "E5B" => "ST ANDREWS",
606
+ "E5C" => "SAINT JOHN AREA",
607
+ "E5E" => "SAINT JOHN AREA",
608
+ "E5G" => "SAINT JOHN AREA",
609
+ "E5H" => "SAINT JOHN AREA",
610
+ "E5J" => "SAINT JOHN AREA",
611
+ "E5K" => "SAINT JOHN AREA",
612
+ "E5L" => "SAINT JOHN AREA",
613
+ "E5M" => "SAINT JOHN AREA",
614
+ "E5N" => "HAMPTON",
615
+ "E5P" => "SAINT JOHN AREA",
616
+ "E5R" => "ST MARTINS",
617
+ "E5S" => "SAINT JOHN AREA",
618
+ "E5T" => "SAINT JOHN AREA",
619
+ "E5V" => "SAINT JOHN AREA",
620
+ "E6A" => "BOIESTOWN",
621
+ "E6B" => "STANLEY",
622
+ "E6C" => "FREDERICTON AREA",
623
+ "E6E" => "FREDERICTON AREA",
624
+ "E6G" => "FREDERICTON AREA",
625
+ "E6H" => "FREDERICTON AREA",
626
+ "E6J" => "MCADAM",
627
+ "E6K" => "FREDERICTON AREA",
628
+ "E6L" => "FREDERICTON AREA",
629
+ "E7A" => "EDMUNDSTON AREA",
630
+ "E7B" => "EDMUNDSTON",
631
+ "E7C" => "EDMUNDSTON AREA",
632
+ "E7E" => "EDMUNDSTON AREA",
633
+ "E7G" => "WOODSTOCK AREA",
634
+ "E7H" => "WOODSTOCK AREA",
635
+ "E7J" => "WOODSTOCK AREA",
636
+ "E7K" => "WOODSTOCK AREA",
637
+ "E7L" => "WOODSTOCK AREA",
638
+ "E7M" => "WOODSTOCK",
639
+ "E7N" => "WOODSTOCK AREA",
640
+ "E7P" => "HARTLAND",
641
+ "E8A" => "SAINT-QUENTIN",
642
+ "E8B" => "KEDGWICK",
643
+ "E8C" => "DALHOUSIE",
644
+ "E8E" => "BATHURST AREA",
645
+ "E8G" => "BATHURST AREA",
646
+ "E8J" => "BATHURST AREA",
647
+ "E8K" => "BATHURST AREA",
648
+ "E8L" => "ALLARDVILLE",
649
+ "E8M" => "SAINT-ISIDORE",
650
+ "E8N" => "BATHURST AREA",
651
+ "E8P" => "BATHURST AREA",
652
+ "E8R" => "PAQUETVILLE",
653
+ "E8S" => "BATHURST AREA",
654
+ "E8T" => "BATHURST AREA",
655
+ "E9A" => "MIRAMICHI AREA",
656
+ "E9B" => "MIRAMICHI AREA",
657
+ "E9C" => "MIRAMICHI AREA",
658
+ "E9E" => "MIRAMICHI AREA",
659
+ "E9G" => "MIRAMICHI AREA",
660
+ "E9H" => "MIRAMICHI AREA",
661
+ "E0A" => "MONCTON",
662
+ "E0B" => "BATHURST",
663
+ "E0C" => "MIRAMICHI",
664
+ "E0E" => "SUSSEX",
665
+ "E0G" => "SAINT JOHN",
666
+ "E0H" => "FREDERICTON",
667
+ "E0J" => "WOODSTOCK",
668
+ "E0K" => "CAMPBELLTON",
669
+ "E0L" => "EDMUNDSTON"
670
+ },
671
+ "ON" => {
672
+ "H0M" => "CORNWALL",
673
+ "K1A" => "OTTAWA",
674
+ "K1B" => "OTTAWA",
675
+ "K1C" => "ORLEANS",
676
+ "K1E" => "ORLEANS",
677
+ "K1G" => "OTTAWA",
678
+ "K1H" => "OTTAWA",
679
+ "K1J" => "OTTAWA",
680
+ "K1K" => "OTTAWA",
681
+ "K1L" => "OTTAWA",
682
+ "K1M" => "OTTAWA",
683
+ "K1N" => "OTTAWA",
684
+ "K1P" => "OTTAWA",
685
+ "K1R" => "OTTAWA",
686
+ "K1S" => "OTTAWA",
687
+ "K1T" => "OTTAWA",
688
+ "K1V" => "OTTAWA",
689
+ "K1W" => "ORLEANS",
690
+ "K1X" => "OTTAWA",
691
+ "K1Y" => "OTTAWA",
692
+ "K1Z" => "OTTAWA",
693
+ "K2A" => "OTTAWA",
694
+ "K2B" => "OTTAWA",
695
+ "K2C" => "NEPEAN",
696
+ "K2E" => "NEPEAN",
697
+ "K2G" => "NEPEAN",
698
+ "K2H" => "NEPEAN",
699
+ "K2J" => "NEPEAN",
700
+ "K2K" => "KANATA",
701
+ "K2L" => "KANATA",
702
+ "K2M" => "KANATA",
703
+ "K2P" => "OTTAWA",
704
+ "K2R" => "NEPEAN",
705
+ "K2S" => "STITTSVILLE",
706
+ "K2T" => "KANATA",
707
+ "K2V" => "KANATA",
708
+ "K2W" => "KANATA",
709
+ "K4A" => "ORLEANS",
710
+ "K4B" => "NAVAN",
711
+ "K4C" => "CUMBERLAND",
712
+ "K4K" => "ROCKLAND",
713
+ "K4M" => "MANOTICK",
714
+ "K4P" => "GREELY",
715
+ "K4R" => "RUSSELL",
716
+ "K6A" => "HAWKESBURY",
717
+ "K6H" => "CORNWALL",
718
+ "K6J" => "CORNWALL",
719
+ "K6K" => "CORNWALL",
720
+ "K6T" => "BROCKVILLE",
721
+ "K6V" => "BROCKVILLE",
722
+ "K7A" => "SMITHS FALLS",
723
+ "K7C" => "CARLETON PLACE",
724
+ "K7G" => "GANANOQUE",
725
+ "K7H" => "PERTH",
726
+ "K7K" => "KINGSTON",
727
+ "K7L" => "KINGSTON",
728
+ "K7M" => "KINGSTON",
729
+ "K7N" => "KINGSTON",
730
+ "K7P" => "KINGSTON",
731
+ "K7R" => "NAPANEE",
732
+ "K7S" => "ARNPRIOR",
733
+ "K7V" => "RENFREW",
734
+ "K8A" => "PEMBROKE",
735
+ "K8B" => "PEMBROKE",
736
+ "K8H" => "PETAWAWA",
737
+ "K8N" => "BELLEVILLE",
738
+ "K8P" => "BELLEVILLE",
739
+ "K8R" => "BELLEVILLE",
740
+ "K8V" => "TRENTON",
741
+ "K9A" => "COBOURG",
742
+ "K9H" => "PETERBOROUGH",
743
+ "K9J" => "PETERBOROUGH",
744
+ "K9K" => "PETERBOROUGH",
745
+ "K9L" => "PETERBOROUGH",
746
+ "K9V" => "LINDSAY",
747
+ "K0A" => "OTTAWA",
748
+ "K0B" => "HAWKESBURY",
749
+ "K0C" => "CORNWALL",
750
+ "K0E" => "BROCKVILLE",
751
+ "K0G" => "SMITHS FALLS",
752
+ "K0H" => "KINGSTON",
753
+ "K0J" => "PEMBROKE",
754
+ "K0K" => "BELLEVILLE",
755
+ "K0L" => "PETERBOROUGH",
756
+ "K0M" => "PETERBOROUGH",
757
+ "L1A" => "PORT HOPE",
758
+ "L1B" => "BOWMANVILLE",
759
+ "L1C" => "BOWMANVILLE",
760
+ "L1E" => "BOWMANVILLE",
761
+ "L1G" => "OSHAWA",
762
+ "L1H" => "OSHAWA",
763
+ "L1J" => "OSHAWA",
764
+ "L1K" => "OSHAWA",
765
+ "L1L" => "OSHAWA",
766
+ "L1M" => "WHITBY",
767
+ "L1N" => "OSHAWA",
768
+ "L1P" => "OSHAWA",
769
+ "L1R" => "OSHAWA",
770
+ "L1S" => "AJAX",
771
+ "L1T" => "AJAX",
772
+ "L1V" => "PICKERING",
773
+ "L1X" => "PICKERING",
774
+ "L1Y" => "PICKERING",
775
+ "L1Z" => "AJAX",
776
+ "L2A" => "FORT ERIE",
777
+ "L2E" => "NIAGARA FALLS",
778
+ "L2G" => "NIAGARA FALLS",
779
+ "L2H" => "NIAGARA FALLS",
780
+ "L2J" => "NIAGARA FALLS",
781
+ "L2M" => "ST CATHARINES",
782
+ "L2N" => "ST CATHARINES",
783
+ "L2P" => "ST CATHARINES",
784
+ "L2R" => "ST CATHARINES",
785
+ "L2S" => "ST CATHARINES",
786
+ "L2T" => "ST CATHARINES",
787
+ "L2V" => "ST CATHARINES",
788
+ "L2W" => "ST CATHARINES",
789
+ "L3B" => "WELLAND",
790
+ "L3C" => "WELLAND",
791
+ "L3K" => "PORT COLBORNE",
792
+ "L3M" => "GRIMSBY",
793
+ "L3P" => "MARKHAM",
794
+ "L3R" => "UNIONVILLE",
795
+ "L3S" => "UNIONVILLE",
796
+ "L3T" => "THORNHILL",
797
+ "L3V" => "ORILLIA",
798
+ "L3X" => "NEWMARKET",
799
+ "L3Y" => "NEWMARKET",
800
+ "L3Z" => "BRADFORD",
801
+ "L4A" => "STOUFFVILLE",
802
+ "L4B" => "RICHMOND HILL",
803
+ "L4C" => "RICHMOND HILL",
804
+ "L4E" => "RICHMOND HILL",
805
+ "L4G" => "AURORA",
806
+ "L4H" => "WOODBRIDGE",
807
+ "L4J" => "THORNHILL",
808
+ "L4K" => "CONCORD",
809
+ "L4L" => "WOODBRIDGE",
810
+ "L4M" => "BARRIE",
811
+ "L4N" => "BARRIE",
812
+ "L4P" => "KESWICK",
813
+ "L4R" => "MIDLAND",
814
+ "L4S" => "RICHMOND HILL",
815
+ "L4T" => "MISSISSAUGA",
816
+ "L4V" => "MISSISSAUGA",
817
+ "L4W" => "MISSISSAUGA",
818
+ "L4X" => "MISSISSAUGA",
819
+ "L4Y" => "MISSISSAUGA",
820
+ "L4Z" => "MISSISSAUGA",
821
+ "L5A" => "MISSISSAUGA",
822
+ "L5B" => "MISSISSAUGA",
823
+ "L5C" => "MISSISSAUGA",
824
+ "L5E" => "MISSISSAUGA",
825
+ "L5G" => "MISSISSAUGA",
826
+ "L5H" => "MISSISSAUGA",
827
+ "L5J" => "MISSISSAUGA",
828
+ "L5K" => "MISSISSAUGA",
829
+ "L7K" => "CALEDON",
830
+ "L7L" => "BURLINGTON",
831
+ "L7M" => "BURLINGTON",
832
+ "L7N" => "BURLINGTON",
833
+ "L7P" => "BURLINGTON",
834
+ "L7R" => "BURLINGTON",
835
+ "L7S" => "BURLINGTON",
836
+ "L7T" => "BURLINGTON",
837
+ "L8E" => "STONEY CREEK",
838
+ "L8G" => "STONEY CREEK",
839
+ "L5L" => "MISSISSAUGA",
840
+ "L5M" => "MISSISSAUGA",
841
+ "L5N" => "MISSISSAUGA",
842
+ "L5P" => "MISSISSAUGA",
843
+ "L5R" => "MISSISSAUGA",
844
+ "L5S" => "MISSISSAUGA",
845
+ "L5T" => "MISSISSAUGA",
846
+ "L5V" => "MISSISSAUGA",
847
+ "L5W" => "MISSISSAUGA",
848
+ "L6A" => "MAPLE",
849
+ "L6B" => "UNIONVILLE",
850
+ "L6C" => "UNIONVILLE",
851
+ "L6E" => "UNIONVILLE",
852
+ "L6G" => "UNIONVILLE",
853
+ "L6H" => "OAKVILLE",
854
+ "L6J" => "OAKVILLE",
855
+ "L6K" => "OAKVILLE",
856
+ "L6L" => "OAKVILLE",
857
+ "L6M" => "OAKVILLE",
858
+ "L6P" => "BRAMPTON",
859
+ "L6R" => "BRAMPTON",
860
+ "L6S" => "BRAMPTON",
861
+ "L6T" => "BRAMPTON",
862
+ "L6V" => "BRAMPTON",
863
+ "L6W" => "BRAMPTON",
864
+ "L6X" => "BRAMPTON",
865
+ "L6Y" => "BRAMPTON",
866
+ "L6Z" => "BRAMPTON",
867
+ "L7A" => "BRAMPTON",
868
+ "L7B" => "KING CITY",
869
+ "L7C" => "CALEDON",
870
+ "L7E" => "CALEDON",
871
+ "L7G" => "GEORGETOWN",
872
+ "L7J" => "ACTON",
873
+ "L8H" => "STONEY CREEK",
874
+ "L8J" => "HAMILTON",
875
+ "L8K" => "STONEY CREEK",
876
+ "L8L" => "HAMILTON",
877
+ "L8M" => "HAMILTON",
878
+ "L8N" => "HAMILTON",
879
+ "L8P" => "HAMILTON",
880
+ "L8R" => "HAMILTON",
881
+ "L8S" => "HAMILTON",
882
+ "L8T" => "HAMILTON",
883
+ "L8V" => "HAMILTON",
884
+ "L8W" => "HAMILTON",
885
+ "L9A" => "HAMILTON",
886
+ "L9B" => "HAMILTON",
887
+ "L9C" => "HAMILTON",
888
+ "L9G" => "HAMILTON",
889
+ "L9H" => "HAMILTON",
890
+ "L9J" => "BARRIE",
891
+ "L9K" => "HAMILTON",
892
+ "L9L" => "PORT PERRY",
893
+ "L9M" => "PENETANGUISHENE",
894
+ "L9N" => "EAST GWILLIMBURY",
895
+ "L9P" => "UXBRIDGE",
896
+ "L9R" => "ALLISTON",
897
+ "L9S" => "INNISFIL",
898
+ "L9T" => "MILTON",
899
+ "L9V" => "ORANGEVILLE",
900
+ "L9W" => "ORANGEVILLE",
901
+ "L9Y" => "COLLINGWOOD",
902
+ "L9Z" => "WASAGA BEACH",
903
+ "L0A" => "TORONTO WEST # 2",
904
+ "L0B" => "TORONTO WEST # 2",
905
+ "L0C" => "NEWMARKET",
906
+ "L0E" => "NEWMARKET",
907
+ "L0G" => "NEWMARKET",
908
+ "L0H" => "TORONTO WEST # 2",
909
+ "L0J" => "TORONTO WEST # 2",
910
+ "L0K" => "BARRIE",
911
+ "L0L" => "BARRIE",
912
+ "L0M" => "BARRIE",
913
+ "L0N" => "TORONTO WEST # 2",
914
+ "L0P" => "TORONTO WEST # 2",
915
+ "L0R" => "HAMILTON",
916
+ "L0S" => "HAMILTON",
917
+ "L0V" => "OTTAWA",
918
+ "M1B" => "TORONTO",
919
+ "M1C" => "TORONTO",
920
+ "M1E" => "TORONTO",
921
+ "M1G" => "SCARBOROUGH",
922
+ "M1H" => "SCARBOROUGH",
923
+ "M1J" => "SCARBOROUGH",
924
+ "M1K" => "SCARBOROUGH",
925
+ "M1L" => "SCARBOROUGH",
926
+ "M1M" => "SCARBOROUGH",
927
+ "M1N" => "SCARBOROUGH",
928
+ "M1P" => "SCARBOROUGH",
929
+ "M1R" => "SCARBOROUGH",
930
+ "M1S" => "TORONTO",
931
+ "M1T" => "SCARBOROUGH",
932
+ "M1V" => "TORONTO",
933
+ "M1W" => "SCARBOROUGH",
934
+ "M1X" => "TORONTO",
935
+ "M2H" => "WILLOWDALE",
936
+ "M2J" => "WILLOWDALE",
937
+ "M2K" => "WILLOWDALE",
938
+ "M2L" => "WILLOWDALE",
939
+ "M2M" => "WILLOWDALE",
940
+ "M2N" => "WILLOWDALE",
941
+ "M2P" => "NORTH YORK",
942
+ "M2R" => "WILLOWDALE",
943
+ "M3A" => "TORONTO",
944
+ "M3B" => "TORONTO",
945
+ "M3C" => "TORONTO",
946
+ "M3H" => "TORONTO",
947
+ "M3J" => "TORONTO",
948
+ "M3K" => "TORONTO",
949
+ "M3L" => "TORONTO",
950
+ "M3M" => "TORONTO",
951
+ "M3N" => "TORONTO",
952
+ "M4A" => "NORTH YORK",
953
+ "M4B" => "NORTH YORK",
954
+ "M4C" => "TORONTO",
955
+ "M4E" => "TORONTO",
956
+ "M4G" => "TORONTO",
957
+ "M4H" => "TORONTO",
958
+ "M4J" => "TORONTO",
959
+ "M4K" => "TORONTO",
960
+ "M4L" => "TORONTO",
961
+ "M4M" => "TORONTO",
962
+ "M4N" => "TORONTO",
963
+ "M4P" => "TORONTO",
964
+ "M4R" => "TORONTO",
965
+ "M4S" => "TORONTO",
966
+ "M4T" => "TORONTO",
967
+ "M4V" => "TORONTO",
968
+ "M4W" => "TORONTO",
969
+ "M4X" => "TORONTO",
970
+ "M4Y" => "TORONTO",
971
+ "M5A" => "TORONTO",
972
+ "M5B" => "TORONTO",
973
+ "M5C" => "TORONTO",
974
+ "M5E" => "TORONTO",
975
+ "M5G" => "TORONTO",
976
+ "M5H" => "TORONTO",
977
+ "M5J" => "TORONTO",
978
+ "M5K" => "TORONTO",
979
+ "M5L" => "TORONTO",
980
+ "M5M" => "TORONTO",
981
+ "M6G" => "TORONTO",
982
+ "M6H" => "TORONTO",
983
+ "M6J" => "TORONTO",
984
+ "M6K" => "TORONTO",
985
+ "M6L" => "NORTH YORK",
986
+ "M6M" => "NORTH YORK",
987
+ "M6N" => "TORONTO",
988
+ "M6P" => "TORONTO",
989
+ "M6R" => "TORONTO",
990
+ "M6S" => "TORONTO",
991
+ "M7A" => "TORONTO",
992
+ "M7R" => "MISSISSAUGA",
993
+ "M7Y" => "TORONTO",
994
+ "M8V" => "ETOBICOKE",
995
+ "M8W" => "ETOBICOKE",
996
+ "M8X" => "ETOBICOKE",
997
+ "M8Y" => "ETOBICOKE",
998
+ "M8Z" => "ETOBICOKE",
999
+ "M9A" => "ETOBICOKE",
1000
+ "M9B" => "ETOBICOKE",
1001
+ "M9C" => "ETOBICOKE",
1002
+ "M9L" => "TORONTO",
1003
+ "M9M" => "TORONTO",
1004
+ "M9N" => "YORK",
1005
+ "M9P" => "YORK",
1006
+ "M9R" => "YORK",
1007
+ "M9V" => "ETOBICOKE",
1008
+ "M9W" => "ETOBICOKE",
1009
+ "M0B" => "TORONTO",
1010
+ "M5N" => "TORONTO",
1011
+ "M5P" => "TORONTO",
1012
+ "M5R" => "TORONTO",
1013
+ "M5S" => "TORONTO",
1014
+ "M5T" => "TORONTO",
1015
+ "M5V" => "TORONTO",
1016
+ "M5W" => "TORONTO",
1017
+ "M5X" => "TORONTO",
1018
+ "M6A" => "TORONTO",
1019
+ "N1A" => "DUNNVILLE",
1020
+ "N1C" => "GUELPH",
1021
+ "N1E" => "GUELPH",
1022
+ "N1G" => "GUELPH",
1023
+ "N1H" => "GUELPH",
1024
+ "N1K" => "GUELPH",
1025
+ "N1L" => "GUELPH",
1026
+ "N1M" => "FERGUS",
1027
+ "N1P" => "KITCHENER",
1028
+ "N1R" => "KITCHENER",
1029
+ "N1S" => "KITCHENER",
1030
+ "M6B" => "TORONTO",
1031
+ "M6C" => "TORONTO",
1032
+ "M6E" => "TORONTO",
1033
+ "N1T" => "KITCHENER",
1034
+ "N2A" => "KITCHENER",
1035
+ "N2B" => "KITCHENER",
1036
+ "N2C" => "KITCHENER",
1037
+ "N2E" => "KITCHENER",
1038
+ "N2G" => "KITCHENER",
1039
+ "N2H" => "KITCHENER",
1040
+ "N2J" => "KITCHENER",
1041
+ "N2K" => "KITCHENER",
1042
+ "N2L" => "KITCHENER",
1043
+ "N2M" => "KITCHENER",
1044
+ "N2N" => "KITCHENER",
1045
+ "N2P" => "KITCHENER",
1046
+ "N2R" => "KITCHENER",
1047
+ "N2T" => "KITCHENER",
1048
+ "N2V" => "KITCHENER",
1049
+ "N2Z" => "KINCARDINE",
1050
+ "N3A" => "NEW HAMBURG",
1051
+ "N3B" => "ELMIRA",
1052
+ "N3C" => "KITCHENER",
1053
+ "N3E" => "KITCHENER",
1054
+ "N3H" => "KITCHENER",
1055
+ "N3L" => "BRANTFORD",
1056
+ "N3P" => "BRANTFORD",
1057
+ "N3R" => "BRANTFORD",
1058
+ "N3S" => "BRANTFORD",
1059
+ "N3T" => "BRANTFORD",
1060
+ "N3V" => "BRANTFORD",
1061
+ "N3W" => "CALEDONIA",
1062
+ "N3Y" => "SIMCOE",
1063
+ "N4B" => "DELHI",
1064
+ "N4G" => "TILLSONBURG",
1065
+ "N4K" => "OWEN SOUND",
1066
+ "N4L" => "MEAFORD",
1067
+ "N4N" => "HANOVER",
1068
+ "N4S" => "WOODSTOCK",
1069
+ "N4T" => "WOODSTOCK",
1070
+ "N4V" => "WOODSTOCK",
1071
+ "N4W" => "LISTOWEL",
1072
+ "N4X" => "ST MARYS",
1073
+ "N4Z" => "STRATFORD",
1074
+ "N5A" => "STRATFORD",
1075
+ "N5C" => "INGERSOLL",
1076
+ "N5H" => "AYLMER",
1077
+ "N5L" => "PORT STANLEY",
1078
+ "N5P" => "ST THOMAS",
1079
+ "N5R" => "ST THOMAS",
1080
+ "N5V" => "LONDON",
1081
+ "N5W" => "LONDON",
1082
+ "N5X" => "LONDON",
1083
+ "N5Y" => "LONDON",
1084
+ "N5Z" => "LONDON",
1085
+ "N6A" => "LONDON",
1086
+ "N6B" => "LONDON",
1087
+ "N6C" => "LONDON",
1088
+ "N6E" => "LONDON",
1089
+ "N6G" => "LONDON",
1090
+ "N6H" => "LONDON",
1091
+ "N6J" => "LONDON",
1092
+ "N6K" => "LONDON",
1093
+ "N6L" => "LONDON",
1094
+ "N6M" => "LONDON",
1095
+ "N6N" => "LONDON",
1096
+ "N6P" => "LONDON",
1097
+ "N7A" => "GODERICH",
1098
+ "N7G" => "STRATHROY",
1099
+ "N7L" => "CHATHAM",
1100
+ "N7M" => "CHATHAM",
1101
+ "N7S" => "SARNIA",
1102
+ "N7T" => "SARNIA",
1103
+ "N7V" => "SARNIA",
1104
+ "N7W" => "SARNIA",
1105
+ "N7X" => "SARNIA",
1106
+ "N8A" => "WALLACEBURG",
1107
+ "N8H" => "LEAMINGTON",
1108
+ "N8M" => "ESSEX",
1109
+ "N8N" => "WINDSOR",
1110
+ "N8P" => "WINDSOR",
1111
+ "N8R" => "WINDSOR",
1112
+ "N8S" => "WINDSOR",
1113
+ "N8T" => "WINDSOR",
1114
+ "N8V" => "WINDSOR",
1115
+ "N8W" => "WINDSOR",
1116
+ "N8X" => "WINDSOR",
1117
+ "N8Y" => "WINDSOR",
1118
+ "N9A" => "WINDSOR",
1119
+ "N9B" => "WINDSOR",
1120
+ "N9C" => "WINDSOR",
1121
+ "N9E" => "WINDSOR",
1122
+ "N9G" => "WINDSOR",
1123
+ "N9H" => "WINDSOR",
1124
+ "N9J" => "WINDSOR",
1125
+ "N9K" => "WINDSOR",
1126
+ "N9V" => "AMHERSTBURG",
1127
+ "N9Y" => "KINGSVILLE",
1128
+ "N0A" => "HAMILTON",
1129
+ "N0B" => "KITCHENER",
1130
+ "N0C" => "OWEN SOUND",
1131
+ "N0E" => "HAMILTON",
1132
+ "N0G" => "KITCHENER",
1133
+ "N0H" => "OWEN SOUND",
1134
+ "N0J" => "LONDON",
1135
+ "N0K" => "KITCHENER",
1136
+ "N0L" => "LONDON",
1137
+ "N0M" => "LONDON",
1138
+ "N0N" => "LONDON",
1139
+ "N0P" => "WINDSOR",
1140
+ "N0R" => "WINDSOR",
1141
+ "P1A" => "NORTH BAY",
1142
+ "P1B" => "NORTH BAY",
1143
+ "P1C" => "NORTH BAY",
1144
+ "P1H" => "HUNTSVILLE",
1145
+ "P1L" => "BRACEBRIDGE",
1146
+ "P1P" => "GRAVENHURST",
1147
+ "P2A" => "PARRY SOUND",
1148
+ "P2B" => "STURGEON FALLS",
1149
+ "P2N" => "KIRKLAND LAKE",
1150
+ "P3A" => "SUDBURY",
1151
+ "P3B" => "SUDBURY",
1152
+ "P3C" => "SUDBURY",
1153
+ "P3E" => "SUDBURY",
1154
+ "P3G" => "SUDBURY",
1155
+ "P3L" => "GARSON",
1156
+ "P3N" => "VAL CARON",
1157
+ "P3P" => "HANMER",
1158
+ "P3Y" => "LIVELY",
1159
+ "P4N" => "TIMMINS",
1160
+ "P4P" => "TIMMINS",
1161
+ "P4R" => "TIMMINS",
1162
+ "P5A" => "ELLIOT LAKE",
1163
+ "P5E" => "ESPANOLA",
1164
+ "P5N" => "KAPUSKASING",
1165
+ "P6A" => "SAULT STE. MARIE",
1166
+ "P6B" => "SAULT STE. MARIE",
1167
+ "P6C" => "SAULT STE. MARIE",
1168
+ "P7A" => "THUNDER BAY",
1169
+ "P7B" => "THUNDER BAY",
1170
+ "P7C" => "THUNDER BAY",
1171
+ "P7E" => "THUNDER BAY",
1172
+ "P7G" => "THUNDER BAY",
1173
+ "P7J" => "THUNDER BAY",
1174
+ "P7K" => "THUNDER BAY",
1175
+ "P7L" => "THUNDER BAY",
1176
+ "P8N" => "DRYDEN",
1177
+ "P8T" => "SIOUX LOOKOUT",
1178
+ "P9A" => "FORT FRANCES",
1179
+ "P9N" => "KENORA",
1180
+ "P0A" => "BARRIE",
1181
+ "P0B" => "BARRIE",
1182
+ "P0C" => "BARRIE",
1183
+ "P0E" => "BARRIE",
1184
+ "P0G" => "BARRIE",
1185
+ "P0H" => "NORTH BAY",
1186
+ "P0J" => "SUDBURY",
1187
+ "P0K" => "SUDBURY",
1188
+ "P0L" => "TIMMINS",
1189
+ "P0M" => "SUDBURY",
1190
+ "P0N" => "TIMMINS",
1191
+ "P0P" => "SUDBURY",
1192
+ "P0R" => "SUDBURY",
1193
+ "P0S" => "SAULT STE. MARIE",
1194
+ "P0T" => "THUNDER BAY",
1195
+ "P0V" => "DRYDEN",
1196
+ "P0W" => "DRYDEN",
1197
+ "P0X" => "DRYDEN"
1198
+ },
1199
+ "MB" => {
1200
+ "P0Y" => "WINNIPEG # 2",
1201
+ "R2C" => "WINNIPEG",
1202
+ "R2E" => "WINNIPEG",
1203
+ "R2G" => "WINNIPEG",
1204
+ "R2H" => "WINNIPEG",
1205
+ "R2J" => "WINNIPEG",
1206
+ "R2K" => "WINNIPEG",
1207
+ "R2L" => "WINNIPEG",
1208
+ "R2M" => "WINNIPEG",
1209
+ "R2N" => "WINNIPEG",
1210
+ "R2P" => "WINNIPEG",
1211
+ "R2R" => "WINNIPEG",
1212
+ "R2V" => "WINNIPEG",
1213
+ "R2W" => "WINNIPEG",
1214
+ "R2X" => "WINNIPEG",
1215
+ "R2Y" => "WINNIPEG",
1216
+ "R3A" => "WINNIPEG",
1217
+ "R3B" => "WINNIPEG",
1218
+ "R3C" => "WINNIPEG",
1219
+ "R3E" => "WINNIPEG",
1220
+ "R3G" => "WINNIPEG",
1221
+ "R3H" => "WINNIPEG",
1222
+ "R3J" => "WINNIPEG",
1223
+ "R3K" => "WINNIPEG",
1224
+ "R3L" => "WINNIPEG",
1225
+ "R3M" => "WINNIPEG",
1226
+ "R3N" => "WINNIPEG",
1227
+ "R3P" => "WINNIPEG",
1228
+ "R3R" => "WINNIPEG",
1229
+ "R3S" => "WINNIPEG",
1230
+ "R3T" => "WINNIPEG",
1231
+ "R3V" => "WINNIPEG",
1232
+ "R3W" => "WINNIPEG",
1233
+ "R3X" => "WINNIPEG",
1234
+ "R3Y" => "WINNIPEG",
1235
+ "R4A" => "WINNIPEG",
1236
+ "R4H" => "WINNIPEG",
1237
+ "R4J" => "WINNIPEG",
1238
+ "R4K" => "WINNIPEG",
1239
+ "R4L" => "WINNIPEG",
1240
+ "R5A" => "WINNIPEG",
1241
+ "R5G" => "STEINBACH",
1242
+ "R7B" => "BRANDON",
1243
+ "R7C" => "BRANDON",
1244
+ "R7N" => "DAUPHIN",
1245
+ "R8A" => "FLIN FLON",
1246
+ "R8N" => "THOMPSON",
1247
+ "R9A" => "THE PAS",
1248
+ "R0A" => "WINNIPEG # 5",
1249
+ "R0B" => "WINNIPEG # 4",
1250
+ "R0C" => "WINNIPEG # 1",
1251
+ "R0E" => "WINNIPEG # 2",
1252
+ "R0G" => "WINNIPEG # 3",
1253
+ "R0H" => "WINNIPEG # 6",
1254
+ "R0J" => "BRANDON # 2",
1255
+ "R0K" => "BRANDON # 1",
1256
+ "R0L" => "BRANDON # 3",
1257
+ "R0M" => "BRANDON # 4",
1258
+ "R1A" => "SELKIRK",
1259
+ "R1B" => "SELKIRK",
1260
+ "R1C" => "WINNIPEG",
1261
+ "R1N" => "PORTAGE LA PRAIRIE",
1262
+ "R5H" => "STE ANNE",
1263
+ "R6M" => "MORDEN",
1264
+ "R6W" => "WINKLER",
1265
+ "R7A" => "BRANDON",
1266
+ "S0P" => "WINNIPEG # 4"
1267
+ },
1268
+ "SK" => {
1269
+ "S2V" => "BUENA VISTA",
1270
+ "S3N" => "YORKTON",
1271
+ "S4A" => "ESTEVAN",
1272
+ "S4H" => "WEYBURN",
1273
+ "S4L" => "REGINA",
1274
+ "S4M" => "REGINA",
1275
+ "S4N" => "REGINA",
1276
+ "S4P" => "REGINA",
1277
+ "S4R" => "REGINA",
1278
+ "S4S" => "REGINA",
1279
+ "S4T" => "REGINA",
1280
+ "S4V" => "REGINA",
1281
+ "S4W" => "REGINA",
1282
+ "S4X" => "REGINA",
1283
+ "S4Y" => "REGINA",
1284
+ "S4Z" => "REGINA",
1285
+ "S6H" => "MOOSE JAW",
1286
+ "S6J" => "MOOSE JAW",
1287
+ "S6K" => "MOOSE JAW",
1288
+ "S6V" => "PRINCE ALBERT",
1289
+ "S6W" => "PRINCE ALBERT",
1290
+ "S6X" => "PRINCE ALBERT",
1291
+ "S7H" => "SASKATOON",
1292
+ "S7J" => "SASKATOON",
1293
+ "S7K" => "SASKATOON",
1294
+ "S7L" => "SASKATOON",
1295
+ "S7M" => "SASKATOON",
1296
+ "S7N" => "SASKATOON",
1297
+ "S7P" => "SASKATOON",
1298
+ "S7R" => "SASKATOON",
1299
+ "S7S" => "SASKATOON",
1300
+ "S7T" => "SASKATOON",
1301
+ "S7V" => "SASKATOON",
1302
+ "S7W" => "SASKATOON",
1303
+ "S9A" => "NORTH BATTLEFORD",
1304
+ "S9H" => "SWIFT CURRENT",
1305
+ "S9V" => "LLOYDMINSTER",
1306
+ "S9X" => "MEADOW LAKE",
1307
+ "S0A" => "YORKTON",
1308
+ "S0C" => "REGINA # 3",
1309
+ "S0E" => "SASKATOON # 5",
1310
+ "S0G" => "REGINA # 1",
1311
+ "S0H" => "REGINA # 2",
1312
+ "S0J" => "SASKATOON # 4",
1313
+ "S0K" => "SASKATOON # 1",
1314
+ "S0L" => "SASKATOON # 2",
1315
+ "S0M" => "SASKATOON # 3",
1316
+ "S0N" => "SWIFT CURRENT",
1317
+ "T9V" => "LLOYDMINSTER"
1318
+ },
1319
+ "AB" => {
1320
+ "T1A" => "MEDICINE HAT",
1321
+ "T1B" => "MEDICINE HAT",
1322
+ "T1C" => "MEDICINE HAT",
1323
+ "T1G" => "TABER",
1324
+ "T1H" => "LETHBRIDGE",
1325
+ "T1J" => "LETHBRIDGE",
1326
+ "T1K" => "LETHBRIDGE",
1327
+ "T1L" => "BANFF",
1328
+ "T1M" => "COALDALE",
1329
+ "T1P" => "STRATHMORE",
1330
+ "T1R" => "BROOKS",
1331
+ "T1S" => "OKOTOKS",
1332
+ "T1V" => "HIGH RIVER",
1333
+ "T1W" => "CANMORE",
1334
+ "T1X" => "CALGARY",
1335
+ "T1Y" => "CALGARY",
1336
+ "T1Z" => "CALGARY",
1337
+ "T2A" => "CALGARY",
1338
+ "T2B" => "CALGARY",
1339
+ "T2C" => "CALGARY",
1340
+ "T2E" => "CALGARY",
1341
+ "T2G" => "CALGARY",
1342
+ "T2H" => "CALGARY",
1343
+ "T2J" => "CALGARY",
1344
+ "T2K" => "CALGARY",
1345
+ "T2L" => "CALGARY",
1346
+ "T2M" => "CALGARY",
1347
+ "T2N" => "CALGARY",
1348
+ "T2P" => "CALGARY",
1349
+ "T2R" => "CALGARY",
1350
+ "T2S" => "CALGARY",
1351
+ "T2T" => "CALGARY",
1352
+ "T2V" => "CALGARY",
1353
+ "T2W" => "CALGARY",
1354
+ "T2X" => "CALGARY",
1355
+ "T2Y" => "CALGARY",
1356
+ "T2Z" => "CALGARY",
1357
+ "T3A" => "CALGARY",
1358
+ "T3B" => "CALGARY",
1359
+ "T3C" => "CALGARY",
1360
+ "T3E" => "CALGARY",
1361
+ "T3G" => "CALGARY",
1362
+ "T3H" => "CALGARY",
1363
+ "T3J" => "CALGARY",
1364
+ "T3K" => "CALGARY",
1365
+ "T3L" => "CALGARY",
1366
+ "T3M" => "CALGARY",
1367
+ "T3N" => "CALGARY",
1368
+ "T3P" => "CALGARY",
1369
+ "T3R" => "CALGARY",
1370
+ "T3S" => "CALGARY",
1371
+ "T3Z" => "CALGARY",
1372
+ "T4A" => "AIRDRIE",
1373
+ "T4B" => "AIRDRIE",
1374
+ "T4C" => "COCHRANE",
1375
+ "T4E" => "RED DEER COUNTY",
1376
+ "T4G" => "INNISFAIL",
1377
+ "T4H" => "OLDS",
1378
+ "T4J" => "PONOKA",
1379
+ "T4L" => "LACOMBE",
1380
+ "T4N" => "RED DEER",
1381
+ "T4P" => "RED DEER",
1382
+ "T4R" => "RED DEER",
1383
+ "T4S" => "RED DEER COUNTY",
1384
+ "T4T" => "ROCKY MOUNTAIN HOUSE",
1385
+ "T4V" => "CAMROSE",
1386
+ "T4X" => "NISKU",
1387
+ "T5A" => "EDMONTON",
1388
+ "T5B" => "EDMONTON",
1389
+ "T5C" => "EDMONTON",
1390
+ "T5E" => "EDMONTON",
1391
+ "T5G" => "EDMONTON",
1392
+ "T5H" => "EDMONTON",
1393
+ "T5J" => "EDMONTON",
1394
+ "T5K" => "EDMONTON",
1395
+ "T5L" => "EDMONTON",
1396
+ "T5M" => "EDMONTON",
1397
+ "T5N" => "EDMONTON",
1398
+ "T5P" => "EDMONTON",
1399
+ "T5R" => "EDMONTON",
1400
+ "T5S" => "EDMONTON",
1401
+ "T5T" => "EDMONTON",
1402
+ "T5V" => "EDMONTON",
1403
+ "T5W" => "EDMONTON",
1404
+ "T5X" => "EDMONTON",
1405
+ "T5Y" => "EDMONTON",
1406
+ "T5Z" => "EDMONTON",
1407
+ "T6A" => "EDMONTON",
1408
+ "T6B" => "EDMONTON",
1409
+ "T6C" => "EDMONTON",
1410
+ "T6E" => "EDMONTON",
1411
+ "T6G" => "EDMONTON",
1412
+ "T6H" => "EDMONTON",
1413
+ "T6J" => "EDMONTON",
1414
+ "T6K" => "EDMONTON",
1415
+ "T6L" => "EDMONTON",
1416
+ "T6M" => "EDMONTON",
1417
+ "T6N" => "EDMONTON",
1418
+ "T6P" => "EDMONTON",
1419
+ "T6R" => "EDMONTON",
1420
+ "T6S" => "EDMONTON",
1421
+ "T6T" => "EDMONTON",
1422
+ "T6V" => "EDMONTON",
1423
+ "T6W" => "EDMONTON",
1424
+ "T6X" => "EDMONTON",
1425
+ "T7A" => "DRAYTON VALLEY",
1426
+ "T7E" => "EDSON",
1427
+ "T7N" => "BARRHEAD",
1428
+ "T7P" => "WESTLOCK",
1429
+ "T7S" => "WHITECOURT",
1430
+ "T7V" => "HINTON",
1431
+ "T7X" => "SPRUCE GROVE",
1432
+ "T7Y" => "SPRUCE GROVE",
1433
+ "T7Z" => "STONY PLAIN",
1434
+ "T8A" => "SHERWOOD PARK",
1435
+ "T8B" => "SHERWOOD PARK",
1436
+ "T8C" => "SHERWOOD PARK",
1437
+ "T8E" => "SHERWOOD PARK",
1438
+ "T8G" => "SHERWOOD PARK",
1439
+ "T8H" => "SHERWOOD PARK",
1440
+ "T8L" => "FORT SASKATCHEWAN",
1441
+ "T8N" => "ST. ALBERT",
1442
+ "T8R" => "MORINVILLE",
1443
+ "T8S" => "PEACE RIVER",
1444
+ "T8T" => "ST. ALBERT",
1445
+ "T8V" => "GRANDE PRAIRIE",
1446
+ "T8W" => "GRANDE PRAIRIE",
1447
+ "T8X" => "GRANDE PRAIRIE",
1448
+ "T9A" => "WETASKIWIN",
1449
+ "T9C" => "VEGREVILLE",
1450
+ "T9E" => "NISKU",
1451
+ "T9G" => "DEVON",
1452
+ "T9H" => "FORT MCMURRAY",
1453
+ "T9J" => "FORT MCMURRAY",
1454
+ "T9K" => "FORT MCMURRAY",
1455
+ "T9M" => "COLD LAKE",
1456
+ "T9N" => "BONNYVILLE",
1457
+ "T9S" => "ATHABASCA",
1458
+ "T9W" => "WAINWRIGHT",
1459
+ "T9X" => "VERMILION",
1460
+ "T0L" => "CALGARY # 2",
1461
+ "T0M" => "CALGARY",
1462
+ "T0N" => "EDMONTON",
1463
+ "T0P" => "EDMONTON # 7",
1464
+ "T0T" => "EDMONTON",
1465
+ "T0V" => "EDMONTON",
1466
+ "T0A" => "EDMONTON # 1",
1467
+ "T0B" => "EDMONTON # 2",
1468
+ "T0C" => "EDMONTON # 6",
1469
+ "T0E" => "EDMONTON # 3",
1470
+ "T0G" => "EDMONTON # 4",
1471
+ "T0H" => "GRANDE PRAIRIE",
1472
+ "T0J" => "CALGARY # 3",
1473
+ "T0K" => "LETHBRIDGE"
1474
+ },
1475
+ "BC" => {
1476
+ "V1A" => "KIMBERLEY",
1477
+ "V1B" => "VERNON",
1478
+ "V1C" => "CRANBROOK",
1479
+ "V1E" => "SALMON ARM",
1480
+ "V1G" => "DAWSON CREEK",
1481
+ "V1H" => "VERNON",
1482
+ "V1J" => "FORT ST. JOHN",
1483
+ "V1K" => "MERRITT",
1484
+ "V1L" => "NELSON",
1485
+ "V1M" => "SURREY",
1486
+ "V1N" => "CASTLEGAR",
1487
+ "V1P" => "KELOWNA",
1488
+ "V1R" => "TRAIL",
1489
+ "V1S" => "KAMLOOPS",
1490
+ "V1T" => "VERNON",
1491
+ "V1V" => "KELOWNA",
1492
+ "V1W" => "KELOWNA",
1493
+ "V1X" => "KELOWNA",
1494
+ "V1Y" => "KELOWNA",
1495
+ "V1Z" => "KELOWNA",
1496
+ "V2A" => "PENTICTON",
1497
+ "V2B" => "KAMLOOPS",
1498
+ "V2C" => "KAMLOOPS",
1499
+ "V2E" => "KAMLOOPS",
1500
+ "V2G" => "WILLIAMS LAKE",
1501
+ "V2H" => "KAMLOOPS",
1502
+ "V2J" => "QUESNEL",
1503
+ "V2K" => "PRINCE GEORGE",
1504
+ "V2L" => "PRINCE GEORGE",
1505
+ "V2M" => "PRINCE GEORGE",
1506
+ "V2N" => "PRINCE GEORGE",
1507
+ "V2P" => "CHILLIWACK",
1508
+ "V2R" => "CHILLIWACK",
1509
+ "V2S" => "ABBOTSFORD",
1510
+ "V2T" => "ABBOTSFORD",
1511
+ "V2V" => "MISSION",
1512
+ "V2W" => "MAPLE RIDGE",
1513
+ "V2X" => "MAPLE RIDGE",
1514
+ "V2Y" => "LANGLEY",
1515
+ "V2Z" => "LANGLEY",
1516
+ "V3A" => "LANGLEY",
1517
+ "V3B" => "PORT COQUITLAM",
1518
+ "V3C" => "PORT COQUITLAM",
1519
+ "V3E" => "PORT COQUITLAM",
1520
+ "V3G" => "ABBOTSFORD",
1521
+ "V3H" => "PORT MOODY",
1522
+ "V3J" => "COQUITLAM",
1523
+ "V3K" => "COQUITLAM",
1524
+ "V3L" => "NEW WESTMINSTER",
1525
+ "V3M" => "NEW WESTMINSTER",
1526
+ "V3N" => "NEW WESTMINSTER",
1527
+ "V3R" => "SURREY",
1528
+ "V3S" => "SURREY",
1529
+ "V3T" => "SURREY",
1530
+ "V3V" => "SURREY",
1531
+ "V3W" => "SURREY",
1532
+ "V3X" => "SURREY",
1533
+ "V3Y" => "MAPLE RIDGE",
1534
+ "V4A" => "WHITE ROCK",
1535
+ "V4B" => "WHITE ROCK",
1536
+ "V4C" => "DELTA",
1537
+ "V4E" => "DELTA",
1538
+ "V4G" => "DELTA",
1539
+ "V4K" => "DELTA",
1540
+ "V4L" => "DELTA",
1541
+ "V4M" => "DELTA",
1542
+ "V4N" => "SURREY",
1543
+ "V4P" => "WHITE ROCK",
1544
+ "V4R" => "MAPLE RIDGE",
1545
+ "V4S" => "MISSION",
1546
+ "V4T" => "KELOWNA",
1547
+ "V4V" => "LAKE COUNTRY",
1548
+ "V4W" => "LANGLEY",
1549
+ "V4X" => "ABBOTSFORD",
1550
+ "V4Z" => "CHILLIWACK",
1551
+ "V5A" => "BURNABY",
1552
+ "V5B" => "BURNABY",
1553
+ "V5C" => "BURNABY",
1554
+ "V5E" => "NEW WESTMINSTER",
1555
+ "V5G" => "BURNABY",
1556
+ "V5H" => "BURNABY",
1557
+ "V5J" => "BURNABY",
1558
+ "V5K" => "VANCOUVER",
1559
+ "V5L" => "VANCOUVER",
1560
+ "V5M" => "VANCOUVER",
1561
+ "V5N" => "VANCOUVER",
1562
+ "V5P" => "VANCOUVER",
1563
+ "V5R" => "VANCOUVER",
1564
+ "V5S" => "VANCOUVER",
1565
+ "V5T" => "VANCOUVER",
1566
+ "V5V" => "VANCOUVER",
1567
+ "V5W" => "VANCOUVER",
1568
+ "V5X" => "VANCOUVER",
1569
+ "V5Y" => "VANCOUVER",
1570
+ "V5Z" => "VANCOUVER",
1571
+ "V6A" => "VANCOUVER",
1572
+ "V6B" => "VANCOUVER",
1573
+ "V6C" => "VANCOUVER",
1574
+ "V6E" => "VANCOUVER",
1575
+ "V6G" => "VANCOUVER",
1576
+ "V6H" => "VANCOUVER",
1577
+ "V6J" => "VANCOUVER",
1578
+ "V6K" => "VANCOUVER",
1579
+ "V6L" => "VANCOUVER",
1580
+ "V6M" => "VANCOUVER",
1581
+ "V6N" => "VANCOUVER",
1582
+ "V6P" => "VANCOUVER",
1583
+ "V6R" => "VANCOUVER",
1584
+ "V6S" => "VANCOUVER",
1585
+ "V6T" => "VANCOUVER",
1586
+ "V6V" => "RICHMOND",
1587
+ "V6W" => "RICHMOND",
1588
+ "V6X" => "RICHMOND",
1589
+ "V6Y" => "RICHMOND",
1590
+ "V6Z" => "VANCOUVER",
1591
+ "V7A" => "RICHMOND",
1592
+ "V7B" => "RICHMOND",
1593
+ "V7C" => "RICHMOND",
1594
+ "V7E" => "RICHMOND",
1595
+ "V7G" => "NORTH VANCOUVER",
1596
+ "V7H" => "NORTH VANCOUVER",
1597
+ "V7J" => "NORTH VANCOUVER",
1598
+ "V7K" => "NORTH VANCOUVER",
1599
+ "V7L" => "NORTH VANCOUVER",
1600
+ "V7M" => "NORTH VANCOUVER",
1601
+ "V7N" => "NORTH VANCOUVER",
1602
+ "V7P" => "NORTH VANCOUVER",
1603
+ "V7R" => "NORTH VANCOUVER",
1604
+ "V7S" => "WEST VANCOUVER",
1605
+ "V7T" => "WEST VANCOUVER",
1606
+ "V7V" => "WEST VANCOUVER",
1607
+ "V7W" => "WEST VANCOUVER",
1608
+ "V7X" => "VANCOUVER",
1609
+ "V7Y" => "VAN",
1610
+ "V8A" => "POWELL RIVER",
1611
+ "V8B" => "SQUAMISH",
1612
+ "V8C" => "KITIMAT",
1613
+ "V8G" => "TERRACE",
1614
+ "V8J" => "PRINCE RUPERT",
1615
+ "V8K" => "SALT SPRING ISLAND",
1616
+ "V8L" => "SIDNEY",
1617
+ "V8M" => "CENTRAL SAANICH",
1618
+ "V8N" => "VICTORIA",
1619
+ "V8P" => "VICTORIA",
1620
+ "V8R" => "VICTORIA",
1621
+ "V8S" => "VICTORIA",
1622
+ "V8T" => "VICTORIA",
1623
+ "V8V" => "VICTORIA",
1624
+ "V8W" => "VICTORIA",
1625
+ "V8X" => "VICTORIA",
1626
+ "V8Y" => "VICTORIA",
1627
+ "V8Z" => "VICTORIA",
1628
+ "V9A" => "VICTORIA",
1629
+ "V9B" => "VICTORIA",
1630
+ "V9C" => "VICTORIA",
1631
+ "V9E" => "VICTORIA",
1632
+ "V9G" => "LADYSMITH",
1633
+ "V9H" => "CAMPBELL RIVER",
1634
+ "V9J" => "COURTENAY",
1635
+ "V9K" => "QUALICUM BEACH",
1636
+ "V9L" => "DUNCAN",
1637
+ "V9M" => "COURTENAY",
1638
+ "V9N" => "COURTENAY",
1639
+ "V9P" => "PARKSVILLE",
1640
+ "V9R" => "NANAIMO",
1641
+ "V9S" => "NANAIMO",
1642
+ "V9T" => "NANAIMO",
1643
+ "V9V" => "NANAIMO",
1644
+ "V9W" => "CAMPBELL RIVER",
1645
+ "V9X" => "NANAIMO",
1646
+ "V9Y" => "PORT ALBERNI",
1647
+ "V9Z" => "SOOKE",
1648
+ "V0A" => "KAMLOOPS",
1649
+ "V0B" => "CRANBROOK",
1650
+ "V0C" => "DAWSON CREEK",
1651
+ "V0E" => "KAMLOOPS",
1652
+ "V0G" => "CASTLEGAR",
1653
+ "V0H" => "KELOWNA",
1654
+ "V0J" => "PRINCE GEORGE",
1655
+ "V0K" => "KAMLOOPS",
1656
+ "V0L" => "WILLIAMS LAKE",
1657
+ "V0M" => "VANCOUVER # 2",
1658
+ "V0N" => "VANCOUVER # 1",
1659
+ "V0P" => "CAMPBELL RIVER",
1660
+ "V0R" => "VICTORIA",
1661
+ "V0S" => "VICTORIA",
1662
+ "V0T" => "VANCOUVER # 1",
1663
+ "V0V" => "PRINCE RUPERT",
1664
+ "V0X" => "VANCOUVER # 2",
1665
+ "Y0A" => "DAWSON CREEK"
1666
+ },
1667
+ "YT" => {
1668
+ "V0W" => "WHITEHORSE",
1669
+ "Y1A" => "WHITEHORSE",
1670
+ "Y0B" => "WHITEHORSE"
1671
+ },
1672
+ "NT" => {
1673
+ "X1A" => "YELLOWKNIFE",
1674
+ "X0E" => "EDMONTON AB #5",
1675
+ "X0G" => "FT NELSON (BC)"
1676
+ },
1677
+ "NU" => {
1678
+ "X0A" => "MONTREAL (QC)",
1679
+ "X0B" => "EDMONTON AB #6",
1680
+ "X0C" => "WINNIPEG (MB)"
1681
+ }
1682
+ }
1683
+
1684
+
1685
+ def self.valid_fsa
1686
+ province = ValidPostalCode::PROVINCES.keys.sample
1687
+ fsa = ValidPostalCode::PROVINCES[province].keys.sample
1688
+ city = ValidPostalCode::PROVINCES[province][fsa]
1689
+ {province: province, fsa: fsa, city: city}
1690
+ end
1691
+ def self.valid_place
1692
+ place = valid_fsa
1693
+ place[:postal_code] = place.delete(:fsa) + " " + ::Faker.bothify('#?#').upcase
1694
+ place
1695
+ end
1696
+ end