File Coverage

blib/lib/Number/Phone/StubCountry/GR.pm
Criterion Covered Total %
statement 17 17 100.0
branch 2 2 100.0
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 25 25 100.0


line stmt bran cond sub pod time code
1             # automatically generated file, don't edit
2              
3              
4              
5             # Copyright 2023 David Cantrell, derived from data from libphonenumber
6             # http://code.google.com/p/libphonenumber/
7             #
8             # Licensed under the Apache License, Version 2.0 (the "License");
9             # you may not use this file except in compliance with the License.
10             # You may obtain a copy of the License at
11             #
12             # http://www.apache.org/licenses/LICENSE-2.0
13             #
14             # Unless required by applicable law or agreed to in writing, software
15             # distributed under the License is distributed on an "AS IS" BASIS,
16             # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17             # See the License for the specific language governing permissions and
18             # limitations under the License.
19             package Number::Phone::StubCountry::GR;
20 2     2   1189 use base qw(Number::Phone::StubCountry);
  2         4  
  2         220  
21              
22 2     2   15 use strict;
  2         5  
  2         103  
23 2     2   13 use warnings;
  2         5  
  2         57  
24 2     2   11 use utf8;
  2         4  
  2         14  
25             our $VERSION = 1.20230614174403;
26              
27             my $formatters = [
28             {
29             'format' => '$1 $2 $3',
30             'leading_digits' => '
31             21|
32             7
33             ',
34             'pattern' => '(\\d{2})(\\d{4})(\\d{4})'
35             },
36             {
37             'format' => '$1 $2',
38             'leading_digits' => '
39             2(?:
40             2|
41             3[2-57-9]|
42             4[2-469]|
43             5[2-59]|
44             6[2-9]|
45             7[2-69]|
46             8[2-49]
47             )|
48             5
49             ',
50             'pattern' => '(\\d{4})(\\d{6})'
51             },
52             {
53             'format' => '$1 $2 $3',
54             'leading_digits' => '[2689]',
55             'pattern' => '(\\d{3})(\\d{3})(\\d{4})'
56             },
57             {
58             'format' => '$1 $2 $3',
59             'leading_digits' => '8',
60             'pattern' => '(\\d{3})(\\d{3,4})(\\d{5})'
61             }
62             ];
63              
64             my $validators = {
65             'fixed_line' => '
66             2(?:
67             1\\d\\d|
68             2(?:
69             2[1-46-9]|
70             [36][1-8]|
71             4[1-7]|
72             5[1-4]|
73             7[1-5]|
74             [89][1-9]
75             )|
76             3(?:
77             1\\d|
78             2[1-57]|
79             [35][1-3]|
80             4[13]|
81             7[1-7]|
82             8[124-6]|
83             9[1-79]
84             )|
85             4(?:
86             1\\d|
87             2[1-8]|
88             3[1-4]|
89             4[13-5]|
90             6[1-578]|
91             9[1-5]
92             )|
93             5(?:
94             1\\d|
95             [29][1-4]|
96             3[1-5]|
97             4[124]|
98             5[1-6]
99             )|
100             6(?:
101             1\\d|
102             [269][1-6]|
103             3[1245]|
104             4[1-7]|
105             5[13-9]|
106             7[14]|
107             8[1-5]
108             )|
109             7(?:
110             1\\d|
111             2[1-5]|
112             3[1-6]|
113             4[1-7]|
114             5[1-57]|
115             6[135]|
116             9[125-7]
117             )|
118             8(?:
119             1\\d|
120             2[1-5]|
121             [34][1-4]|
122             9[1-57]
123             )
124             )\\d{6}
125             ',
126             'geographic' => '
127             2(?:
128             1\\d\\d|
129             2(?:
130             2[1-46-9]|
131             [36][1-8]|
132             4[1-7]|
133             5[1-4]|
134             7[1-5]|
135             [89][1-9]
136             )|
137             3(?:
138             1\\d|
139             2[1-57]|
140             [35][1-3]|
141             4[13]|
142             7[1-7]|
143             8[124-6]|
144             9[1-79]
145             )|
146             4(?:
147             1\\d|
148             2[1-8]|
149             3[1-4]|
150             4[13-5]|
151             6[1-578]|
152             9[1-5]
153             )|
154             5(?:
155             1\\d|
156             [29][1-4]|
157             3[1-5]|
158             4[124]|
159             5[1-6]
160             )|
161             6(?:
162             1\\d|
163             [269][1-6]|
164             3[1245]|
165             4[1-7]|
166             5[13-9]|
167             7[14]|
168             8[1-5]
169             )|
170             7(?:
171             1\\d|
172             2[1-5]|
173             3[1-6]|
174             4[1-7]|
175             5[1-57]|
176             6[135]|
177             9[125-7]
178             )|
179             8(?:
180             1\\d|
181             2[1-5]|
182             [34][1-4]|
183             9[1-57]
184             )
185             )\\d{6}
186             ',
187             'mobile' => '
188             68[57-9]\\d{7}|
189             (?:
190             69|
191             94
192             )\\d{8}
193             ',
194             'pager' => '',
195             'personal_number' => '70\\d{8}',
196             'specialrate' => '(
197             8(?:
198             0[16]|
199             12|
200             [27]5|
201             50
202             )\\d{7}
203             )|(90[19]\\d{7})|(5005000\\d{3})',
204             'toll_free' => '800\\d{7,9}',
205             'voip' => ''
206             };
207             my %areanames = ();
208             $areanames{en} = {"302755", "Astros",
209             "302742", "Kiato",
210             "302735", "Molaoi",
211             "302224", "Karystos",
212             "302741", "Corinth",
213             "30231", "Thessaloniki",
214             "302243", "Kalymnos",
215             "302433", "Farkadona",
216             "302542", "Stavroupoli",
217             "302535", "Nea\ Kallisti",
218             "302491", "Farsala",
219             "302295", "Afidnes",
220             "302555", "Feres\,\ Evros",
221             "302541", "Xanthi",
222             "302492", "Tyrnavos",
223             "302327", "Rodopoli",
224             "302283", "Tinos",
225             "302386", "Amyntaio",
226             "302231", "Lamia",
227             "302591", "Chrysoupoli",
228             "302626", "Andritsaina",
229             "302251", "Mytilene",
230             "302464", "Servia",
231             "302232", "Domokos",
232             "302245", "Karpathos",
233             "302252", "Agiasos\/Plomari",
234             "302592", "Eleftheroupoli",
235             "302441", "Karditsa",
236             "302671", "Argostoli",
237             "302733", "Gytheio",
238             "302753", "Lygourio",
239             "302791", "Megalopolis",
240             "302647", "Fyteies",
241             "302792", "Kastri\ Kynourias",
242             "302268", "Aliartos",
243             "302285", "Naxos",
244             "302553", "Didymoteicho",
245             "302396", "Vasilika",
246             "302293", "Agia\ Sotira",
247             "302533", "Xylagani",
248             "302723", "Pylos",
249             "302263", "Vilia",
250             "302373", "Nea\ Moudania",
251             "302221", "Chalcis",
252             "30281", "Heraklion",
253             "302761", "Kyparissia",
254             "302656", "Metsovo",
255             "302425", "Feres\,\ Magnesia",
256             "302744", "Loutraki",
257             "302298", "Troezen\/Poros\/Hydra\/Spetses",
258             "302222", "Kymi",
259             "302523", "Kato\ Nevrokopi",
260             "302544", "Echinos",
261             "302494", "Agia",
262             "302674", "Sami\,\ Cephalonia",
263             "302423", "Kala\ Nera",
264             "302461", "Kozani",
265             "302375", "Nikiti",
266             "302265", "Amfissa",
267             "302725", "Koroni",
268             "302288", "Kea",
269             "302444", "Palamas",
270             "302234", "Amfikleia",
271             "302462", "Grevena",
272             "302594", "Nea\ Peramos\,\ Kavala",
273             "302254", "Agios\ Efstratios",
274             "30261", "Patras",
275             "302754", "Kranidi",
276             "302422", "Almyros",
277             "302734", "Neapoli\,\ Voies",
278             "302765", "Kopanaki",
279             "302399", "Kallikrateia",
280             "302421", "Volos",
281             "302463", "Ptolemaida",
282             "302397", "Asprovalta",
283             "302534", "Iasmos",
284             "302554", "Soufli",
285             "302294", "Rafina",
286             "302372", "Arnaia",
287             "302262", "Thebes",
288             "302722", "Messene",
289             "302434", "Pyli",
290             "302244", "Archangelos\,\ Rhodes",
291             "302371", "Polygyros",
292             "302465", "Siatista",
293             "302721", "Kalamata",
294             "302261", "Livadeia",
295             "302223", "Aliveri",
296             "302763", "Gargalianoi",
297             "302522", "Prosotsani",
298             "302238", "Stylida",
299             "302284", "Paros",
300             "302696", "Akrata",
301             "302521", "Drama",
302             "302593", "Thasos",
303             "302253", "Kalloni\,\ Lesbos",
304             "302233", "Atalanta",
305             "302443", "Sofades",
306             "302752", "Nafplio",
307             "302424", "Skopelos",
308             "302732", "Molaoi",
309             "302751", "Argos",
310             "302666", "Paramythia",
311             "302897", "Limenas\ Chersonisou",
312             "302731", "Sparti",
313             "302532", "Sapes",
314             "302292", "Lavrio",
315             "302228", "Messapia",
316             "302552", "Orestiada",
317             "302495", "Gonnoi\/Makrychori",
318             "302531", "Komotini",
319             "302551", "Alexandroupoli",
320             "302291", "Lagonisi",
321             "302743", "Xylokastro",
322             "302374", "Kassandreia",
323             "302241", "Rhodes",
324             "302432", "Kalabaka",
325             "302724", "Meligalas",
326             "302445", "Mouzaki",
327             "302264", "Thisvi",
328             "302242", "Kos",
329             "302235", "Kamena\ Vourla",
330             "302431", "Trikala",
331             "302659", "Kalentzi",
332             "302493", "Elassona",
333             "302281", "Ano\ Syros",
334             "302524", "Paranesti",
335             "302657", "Delvinaki",
336             "302468", "Neapoli",
337             "302795", "Vytina",
338             "302282", "Andros",
339             "302427", "Skiathos",
340             "302894", "Agia\ Varvara",
341             "302796", "Levidi",
342             "302391", "Chalkidona",
343             "302392", "Peraia\,\ Thessaloniki",
344             "30241", "Larissa",
345             "302825", "Vamos",
346             "302622", "Amaliada",
347             "302236", "Makrakomi",
348             "302333", "Alexandria",
349             "302353", "Aiginio",
350             "302621", "Burgas",
351             "302663", "Corfu\ Island",
352             "302267", "Distomo",
353             "30251", "Kavala",
354             "302377", "Ierissos\/Mount\ Athos",
355             "302382", "Giannitsa",
356             "302381", "Edessa",
357             "30271", "Tripoli",
358             "302746", "Nemea",
359             "302844", "Tzermadio",
360             "302634", "Nafpaktos",
361             "302665", "Igoumenitsa",
362             "302823", "Kandanos",
363             "302274", "Psara\,\ Chios",
364             "302341", "Kilkis",
365             "302394", "Lagkadas",
366             "302683", "Filippiada",
367             "302891", "Arkalochori",
368             "302757", "Leonidio",
369             "302695", "Zakynthos",
370             "302892", "Moires\,\ Heraklion",
371             "302325", "Irakleia\,\ Serres",
372             "302299", "Markopoulo\ Mesogaias",
373             "302833", "Amari\,\ Rethymno",
374             "302643", "Vonitsa",
375             "302297", "Aegina",
376             "302624", "Olympia",
377             "302693", "Kato\ Achaia",
378             "302384", "Aridaia",
379             "302685", "Athamania",
380             "302247", "Leros",
381             "302271", "Chios",
382             "302289", "Mykonos",
383             "302272", "Kardamyla",
384             "302842", "Ierapetra",
385             "302645", "Lefkada",
386             "302632", "Aitoliko",
387             "302651", "Ioannina",
388             "302226", "Aidipsos",
389             "302323", "Sidirokastro",
390             "302287", "Milos",
391             "302631", "Messolonghi",
392             "302841", "Agios\ Nikolaos",
393             "302691", "Aigio",
394             "302747", "Stymfalia",
395             "302692", "Kalavryta",
396             "302895", "Ano\ Viannos",
397             "3021", "Athens\/Piraeus\/Salamina",
398             "302376", "Stratoni",
399             "302273", "Samos",
400             "302266", "Lidoriki",
401             "302824", "Kolymvari",
402             "302322", "Nigrita",
403             "302843", "Sitia",
404             "302653", "Asprangeli",
405             "302321", "Serres",
406             "302682", "Preveza",
407             "302237", "Karpenisi",
408             "302681", "Arta",
409             "302893", "Pyrgos\,\ Crete",
410             "302655", "Konitsa",
411             "302642", "Amfilochia",
412             "302832", "Spyli",
413             "302635", "Mataranga",
414             "302426", "Zagora",
415             "302664", "Filiates",
416             "302797", "Tropaia",
417             "302831", "Rethymno",
418             "302641", "Agrinio",
419             "302275", "Agios\ Kirykos",
420             "302395", "Sochos",
421             "302229", "Eretria",
422             "302694", "Chalandritsa",
423             "302286", "Santorini",
424             "302227", "Kireas",
425             "302324", "Nea\ Zichni",
426             "302625", "Krestena",
427             "302822", "Kissamos",
428             "302343", "Polykastro",
429             "302246", "Salakos\,\ Rhodes",
430             "302821", "Chania",
431             "302385", "Florina",
432             "302393", "Lagkadikia",
433             "302296", "Megara",
434             "302684", "Kanalaki",
435             "302556", "Kyprinos",
436             "302467", "Kastoria",
437             "302658", "Zitsa",
438             "302352", "Litochoro",
439             "302332", "Naousa\,\ Imathia",
440             "302351", "Korinos",
441             "302623", "Lechaina",
442             "302331", "Veria",
443             "302661", "Corfu",
444             "302644", "Thermo",
445             "302834", "Perama\ Mylopotamou",
446             "302736", "Kythera",
447             "302662", "Lefkimmi",};
448             $areanames{el} = {"302521", "Δράμα",
449             "302696", "Ακράτα",
450             "302284", "Πάρος",
451             "302238", "Στυλίδα",
452             "302522", "Προσοτσάνη",
453             "302763", "Γαργαλιάνοι",
454             "302223", "Αλιβέρι",
455             "302261", "Λειβαδιά",
456             "302721", "Καλαμάτα",
457             "302465", "Σιάτιστα",
458             "302371", "Πολύγυρος",
459             "302244", "Αρχάγγελος",
460             "302722", "Μεσσήνη",
461             "302434", "Πύλη",
462             "302262", "Θήβα",
463             "302372", "Αρναία",
464             "302294", "Ραφήνα",
465             "302554", "Σουφλί",
466             "302534", "Ίασμος",
467             "302397", "Ασπροβάλτα",
468             "302463", "Πτολεμαΐδα",
469             "302421", "Βόλος",
470             "302399", "Καλλικράτεια",
471             "302765", "Κοπανάκι",
472             "302734", "Νεάπολη",
473             "302422", "Αλμυρός",
474             "302754", "Κρανίδι",
475             "30261", "Πάτρα",
476             "302282", "Άνδρος",
477             "302795", "Βυτίνα",
478             "302468", "Νεάπολη",
479             "302657", "Δελβινάκι",
480             "302524", "Παρανέστι",
481             "302281", "Σύρος",
482             "302493", "Ελασσόνα",
483             "302659", "Καλέντζι\ Δωδώνης",
484             "302431", "Τρίκαλα",
485             "302242", "Κως",
486             "302235", "Καμμένα\ Βούρλα",
487             "302264", "Δόμβραινα",
488             "302445", "Μουζάκι",
489             "302724", "Μελιγαλάς",
490             "302432", "Καλαμπάκα",
491             "302241", "Ρόδος",
492             "302374", "Κασσάνδρεια",
493             "302743", "Ξυλόκαστρο",
494             "302291", "Λαγονήσι",
495             "302551", "Αλεξανδρούπολη",
496             "302495", "Γόννοι\/Μακρυχώρι",
497             "302531", "Κομοτηνή",
498             "302228", "Ψαχνά",
499             "302552", "Ορεστιάδα",
500             "302292", "Λαύριο",
501             "302532", "Σάπες",
502             "302731", "Σπάρτη",
503             "302897", "Λιμένας\ Χερσονήσου",
504             "302666", "Παραμυθιά",
505             "302751", "Άργος",
506             "302732", "Μολάοι",
507             "302424", "Σκόπελος",
508             "302752", "Ναύπλιο",
509             "302443", "Σοφάδες",
510             "302233", "Αταλάντη",
511             "302253", "Καλλονή\/Μήθυμνα",
512             "302593", "Θάσος",
513             "302533", "Ξυλαγανή",
514             "302396", "Βασιλικά",
515             "302293", "Άγιος\ Σωτήρας",
516             "302553", "Διδυμότειχο",
517             "302285", "Νάξος",
518             "302792", "Καστρί\ Κυνουρίας",
519             "302268", "Αλίαρτος",
520             "302791", "Μεγαλόπολη",
521             "302647", "Νέο\ Χαλκιόπουλο\/Φυτείες",
522             "302753", "Λυγουριό",
523             "302671", "Αργοστόλι",
524             "302733", "Γύθειο",
525             "302441", "Καρδίτσα",
526             "302592", "Ελευθερούπολη",
527             "302252", "Αγιάσος\/Πλωμάρι",
528             "302232", "Δομοκός",
529             "302245", "Κάρπαθος",
530             "302464", "Σέρβια",
531             "302251", "Μυτιλήνη",
532             "302591", "Χρυσούπολη",
533             "302626", "Ανδρίτσαινα",
534             "302231", "Λαμία",
535             "302283", "Τήνος",
536             "302386", "Αμύνταιο",
537             "302327", "Ροδόπολη\,\ Σερρών",
538             "302541", "Ξάνθη",
539             "302492", "Τύρναβος",
540             "302555", "Φέρες",
541             "302295", "Αφίδναι",
542             "302491", "Φάρσαλα",
543             "302535", "Νέα\ Καλλίστη",
544             "302542", "Σταυρούπολη",
545             "302433", "Φαρκαδόνα",
546             "302243", "Κάλυμνος",
547             "30231", "Θεσσαλονίκη",
548             "302741", "Κόρινθος",
549             "302224", "Κάρυστος",
550             "302742", "Κιάτο",
551             "302735", "Σκάλα",
552             "302755", "Άστρος",
553             "302254", "Άγιος\ Ευστράτιος\/Μούδρος\/Μύρινα",
554             "302594", "Νέα\ Πέραμος\ Καβάλας",
555             "302462", "Γρεβενά",
556             "302234", "Αμφίκλεια",
557             "302725", "Κορώνη\ Πυλίας",
558             "302444", "Παλαμάς",
559             "302288", "Κέα",
560             "302265", "Άμφισσα",
561             "302375", "Νικήτη",
562             "302461", "Κοζάνη",
563             "302423", "Καλά\ Νερά",
564             "302674", "Σάμη",
565             "302494", "Αγιά",
566             "302544", "Εχίνος",
567             "302523", "Κάτω\ Νευροκόπι",
568             "302222", "Κύμη",
569             "302298", "Μέθανα\/Πόρος\/Σπέτσες",
570             "302425", "Βελεστίνο",
571             "302744", "Λουτράκι",
572             "302761", "Κυπαρισσία",
573             "302656", "Μέτσοβο",
574             "302221", "Χαλκίδα",
575             "30281", "Ηράκλειο",
576             "302373", "Νέα\ Μουδανιά",
577             "302263", "Βίλια",
578             "302723", "Πύλος",
579             "302275", "Άγιος\ Κήρυκος",
580             "302797", "Τροπαία",
581             "302831", "Ρέθυμνο",
582             "302641", "Αγρίνιο",
583             "302664", "Φιλιάτες",
584             "302642", "Αμφιλοχία",
585             "302832", "Σπήλι",
586             "302635", "Ματαράγκα",
587             "302426", "Ζαγορά",
588             "302655", "Κόνιτσα\/Πέρδικα\ Δωδώνης",
589             "302893", "Πύργος\,\ Κρήτη",
590             "302681", "Άρτα",
591             "302237", "Καρπενήσι",
592             "302682", "Πρέβεζα",
593             "302321", "Σέρρες",
594             "302653", "Καρυές\ Ασπραγγέλων",
595             "302843", "Σητεία",
596             "302322", "Νιγρίτα",
597             "302824", "Κολυμβάρι",
598             "302266", "Λιδορίκι",
599             "302376", "Στρατώνι",
600             "302273", "Σάμος",
601             "3021", "Αθήνα\/Πειραιάς\/Σαλαμίνα",
602             "302895", "Άνω\ Βιάννος",
603             "302692", "Καλάβρυτα",
604             "302747", "Καλιανοί",
605             "302691", "Αίγιο",
606             "302662", "Λευκίμμη",
607             "302834", "Πέραμα\ Μυλοποτάμου",
608             "302644", "Θερμό",
609             "302736", "Κύθηρα",
610             "302661", "Κέρκυρα",
611             "302331", "Βέροια",
612             "302623", "Λεχαινά",
613             "302351", "Κατερίνη",
614             "302332", "Νάουσα",
615             "302352", "Λιτόχωρο",
616             "302658", "Ζίτσα",
617             "302467", "Καστοριά",
618             "302556", "Κυπρίνος",
619             "302684", "Καναλλάκι",
620             "302393", "Λαγκαδίκια",
621             "302296", "Μέγαρα\/Νέα\ Πέραμος",
622             "302385", "Φλώρινα",
623             "302821", "Χανιά",
624             "302246", "Τήλος\/Σύμη\/Χάλκη\/Μεγίστη",
625             "302343", "Πολύκαστρο",
626             "302625", "Κρέστενα",
627             "302822", "Κίσσαμος",
628             "302324", "Νέα\ Ζίχνη",
629             "302227", "Μαντούδι",
630             "302286", "Θήρα",
631             "302694", "Χαλανδρίτσα",
632             "302395", "Σοχός",
633             "302229", "Ερέτρια",
634             "302274", "Βολισσός",
635             "302341", "Κιλκίς",
636             "302823", "Κάντανος",
637             "302665", "Ηγουμενίτσα",
638             "302746", "Νεμέα",
639             "302844", "Τζερμιάδο",
640             "302634", "Ναύπακτος",
641             "30271", "Τρίπολη",
642             "302381", "Έδεσσα",
643             "302382", "Γιαννιτσά",
644             "30251", "Καβάλα",
645             "302377", "Άγιον\ Όρος\/Ιερισσός",
646             "302267", "Δίστομο",
647             "302663", "Σκριπερό",
648             "302621", "Πύργος",
649             "302353", "Αιγίνιο",
650             "302333", "Αλεξάνδρεια",
651             "302236", "Μακρακώμη",
652             "302622", "Αμαλιάδα",
653             "302825", "Βάμος",
654             "30241", "Λάρισα",
655             "302392", "Περαία",
656             "302391", "Χαλκηδόνα",
657             "302796", "Λεβίδι",
658             "302894", "Αγία\ Βαρβάρα\,\ Ηράκλειο\ Κρήτης",
659             "302427", "Σκιάθος",
660             "302631", "Μεσολόγγι",
661             "302841", "Άγιος\ Νικόλαος",
662             "302287", "Μήλος",
663             "302323", "Σιδηρόκαστρο",
664             "302226", "Αιδηψός",
665             "302651", "Ιωάννινα",
666             "302842", "Ιεράπετρα",
667             "302645", "Λευκάδα",
668             "302632", "Αιτωλικό",
669             "302272", "Καρδάμυλα",
670             "302289", "Μύκονος",
671             "302271", "Χίος",
672             "302247", "Λέρος",
673             "302685", "Βουργαρέλι",
674             "302384", "Αριδαία",
675             "302693", "Κάτω\ Αχαΐα",
676             "302624", "Αρχαία\ Ολυμπία",
677             "302297", "Αίγινα",
678             "302643", "Βόνιτσα",
679             "302833", "Αμάρι",
680             "302299", "Μαρκόπουλο",
681             "302325", "Ηράκλεια\,\ Σερρών",
682             "302892", "Μοίρες\,\ Ηράκλειο",
683             "302695", "Ζάκυνθος",
684             "302757", "Λεωνίδιο",
685             "302891", "Αρκαλοχώρι",
686             "302683", "Φιλιππιάδα",
687             "302394", "Λαγκαδάς",};
688              
689             sub new {
690 22     22 1 45 my $class = shift;
691 22         43 my $number = shift;
692 22         140 $number =~ s/(^\+30|\D)//g;
693 22         149 my $self = bless({ country_code => '30', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
694 22 100       115 return $self->is_valid() ? $self : undef;
695             }
696             1;