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   1261 use base qw(Number::Phone::StubCountry);
  2         7  
  2         222  
21              
22 2     2   14 use strict;
  2         7  
  2         48  
23 2     2   12 use warnings;
  2         7  
  2         48  
24 2     2   20 use utf8;
  2         8  
  2         13  
25             our $VERSION = 1.20230307181420;
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{el} = {"302744", "Λουτράκι",
209             "302433", "Φαρκαδόνα",
210             "302751", "Άργος",
211             "302736", "Κύθηρα",
212             "302431", "Τρίκαλα",
213             "302753", "Λυγουριό",
214             "302445", "Μουζάκι",
215             "302722", "Μεσσήνη",
216             "302724", "Μελιγαλάς",
217             "302391", "Χαλκηδόνα",
218             "302671", "Αργοστόλι",
219             "302231", "Λαμία",
220             "302245", "Κάρπαθος",
221             "302666", "Παραμυθιά",
222             "302286", "Θήρα",
223             "302233", "Αταλάντη",
224             "302393", "Λαγκαδίκια",
225             "302797", "Τροπαία",
226             "302659", "Καλέντζι\ Δωδώνης",
227             "302742", "Κιάτο",
228             "302696", "Ακράτα",
229             "302299", "Μαρκόπουλο",
230             "302425", "Βελεστίνο",
231             "302376", "Στρατώνι",
232             "302647", "Νέο\ Χαλκιόπουλο\/Φυτείες",
233             "302252", "Αγιάσος\/Πλωμάρι",
234             "302746", "Νεμέα",
235             "302223", "Αλιβέρι",
236             "302692", "Καλάβρυτα",
237             "302372", "Αρναία",
238             "302282", "Άνδρος",
239             "302441", "Καρδίτσα",
240             "302755", "Άστρος",
241             "302734", "Νεάπολη",
242             "302443", "Σοφάδες",
243             "302662", "Λευκίμμη",
244             "302892", "Μοίρες\,\ Ηράκλειο",
245             "302592", "Ελευθερούπολη",
246             "302221", "Χαλκίδα",
247             "30241", "Λάρισα",
248             "302594", "Νέα\ Πέραμος\ Καβάλας",
249             "302243", "Κάλυμνος",
250             "302421", "Βόλος",
251             "302664", "Φιλιάτες",
252             "302894", "Αγία\ Βαρβάρα\,\ Ηράκλειο\ Κρήτης",
253             "302732", "Μολάοι",
254             "302284", "Πάρος",
255             "302423", "Καλά\ Νερά",
256             "302241", "Ρόδος",
257             "302694", "Χαλανδρίτσα",
258             "302374", "Κασσάνδρεια",
259             "302395", "Σοχός",
260             "302235", "Καμμένα\ Βούρλα",
261             "302254", "Άγιος\ Ευστράτιος\/Μούδρος\/Μύρινα",
262             "302222", "Κύμη",
263             "302693", "Κάτω\ Αχαΐα",
264             "302591", "Χρυσούπολη",
265             "302373", "Νέα\ Μουδανιά",
266             "302467", "Καστοριά",
267             "302468", "Νεάπολη",
268             "302253", "Καλλονή\/Μήθυμνα",
269             "302236", "Μακρακώμη",
270             "302396", "Βασιλικά",
271             "302283", "Τήνος",
272             "302891", "Αρκαλοχώρι",
273             "302424", "Σκόπελος",
274             "302661", "Κέρκυρα",
275             "302725", "Κορώνη\ Πυλίας",
276             "302663", "Σκριπερό",
277             "302281", "Σύρος",
278             "302893", "Πύργος\,\ Κρήτη",
279             "302251", "Μυτιλήνη",
280             "302593", "Θάσος",
281             "302371", "Πολύγυρος",
282             "302691", "Αίγιο",
283             "302244", "Αρχάγγελος",
284             "302657", "Δελβινάκι",
285             "302242", "Κως",
286             "302658", "Ζίτσα",
287             "302298", "Μέθανα\/Πόρος\/Σπέτσες",
288             "302297", "Αίγινα",
289             "302733", "Γύθειο",
290             "302444", "Παλαμάς",
291             "302422", "Αλμυρός",
292             "302731", "Σπάρτη",
293             "302268", "Αλίαρτος",
294             "302267", "Δίστομο",
295             "302224", "Κάρυστος",
296             "302432", "Καλαμπάκα",
297             "302721", "Καλαμάτα",
298             "302285", "Νάξος",
299             "302375", "Νικήτη",
300             "302695", "Ζάκυνθος",
301             "302426", "Ζαγορά",
302             "302674", "Σάμη",
303             "302234", "Αμφίκλεια",
304             "302394", "Λαγκαδάς",
305             "302327", "Ροδόπολη\,\ Σερρών",
306             "302895", "Άνω\ Βιάννος",
307             "302665", "Ηγουμενίτσα",
308             "302246", "Τήλος\/Σύμη\/Χάλκη\/Μεγίστη",
309             "302723", "Πύλος",
310             "302752", "Ναύπλιο",
311             "302735", "Σκάλα",
312             "302754", "Κρανίδι",
313             "302741", "Κόρινθος",
314             "302232", "Δομοκός",
315             "302392", "Περαία",
316             "30271", "Τρίπολη",
317             "3021", "Αθήνα\/Πειραιάς\/Σαλαμίνα",
318             "302226", "Αιδηψός",
319             "302743", "Ξυλόκαστρο",
320             "302434", "Πύλη",
321             "302832", "Σπήλι",
322             "302465", "Σιάτιστα",
323             "302532", "Σάπες",
324             "302321", "Σέρρες",
325             "302323", "Σιδηρόκαστρο",
326             "302632", "Αιτωλικό",
327             "302272", "Καρδάμυλα",
328             "302352", "Λιτόχωρο",
329             "302495", "Γόννοι\/Μακρυχώρι",
330             "302626", "Ανδρίτσαινα",
331             "302229", "Ερέτρια",
332             "302382", "Γιαννιτσά",
333             "302384", "Αριδαία",
334             "302685", "Βουργαρέλι",
335             "302295", "Αφίδναι",
336             "302341", "Κιλκίς",
337             "302274", "Βολισσός",
338             "302655", "Κόνιτσα\/Πέρδικα\ Δωδώνης",
339             "302634", "Ναύπακτος",
340             "302534", "Ίασμος",
341             "302555", "Φέρες",
342             "302343", "Πολύκαστρο",
343             "302792", "Καστρί\ Κυνουρίας",
344             "302265", "Άμφισσα",
345             "30231", "Θεσσαλονίκη",
346             "302834", "Πέραμα\ Μυλοποτάμου",
347             "302747", "Καλιανοί",
348             "302796", "Λεβίδι",
349             "302642", "Αμφιλοχία",
350             "302463", "Πτολεμαΐδα",
351             "302524", "Παρανέστι",
352             "302377", "Άγιον\ Όρος\/Ιερισσός",
353             "302287", "Μήλος",
354             "302288", "Κέα",
355             "302824", "Κολυμβάρι",
356             "302491", "Φάρσαλα",
357             "302493", "Ελασσόνα",
358             "302842", "Ιεράπετρα",
359             "302897", "Λιμένας\ Χερσονήσου",
360             "302325", "Ηράκλεια\,\ Σερρών",
361             "302542", "Σταυρούπολη",
362             "302624", "Αρχαία\ Ολυμπία",
363             "302461", "Κοζάνη",
364             "302333", "Αλεξάνδρεια",
365             "302544", "Εχίνος",
366             "302622", "Αμαλιάδα",
367             "302293", "Άγιος\ Σωτήρας",
368             "302386", "Αμύνταιο",
369             "302653", "Καρυές\ Ασπραγγέλων",
370             "302551", "Αλεξανδρούπολη",
371             "302399", "Καλλικράτεια",
372             "302261", "Λειβαδιά",
373             "302844", "Τζερμιάδο",
374             "302683", "Φιλιππιάδα",
375             "302822", "Κίσσαμος",
376             "302681", "Άρτα",
377             "302263", "Βίλια",
378             "302553", "Διδυμότειχο",
379             "302651", "Ιωάννινα",
380             "302644", "Θερμό",
381             "302291", "Λαγονήσι",
382             "302331", "Βέροια",
383             "302522", "Προσοτσάνη",
384             "302554", "Σουφλί",
385             "302535", "Νέα\ Καλλίστη",
386             "302227", "Μαντούδι",
387             "302228", "Ψαχνά",
388             "302643", "Βόνιτσα",
389             "302462", "Γρεβενά",
390             "302541", "Ξάνθη",
391             "302841", "Άγιος\ Νικόλαος",
392             "302264", "Δόμβραινα",
393             "30261", "Πάτρα",
394             "30251", "Καβάλα",
395             "302385", "Φλώρινα",
396             "302492", "Τύρναβος",
397             "302843", "Σητεία",
398             "302684", "Καναλλάκι",
399             "302641", "Αγρίνιο",
400             "302294", "Ραφήνα",
401             "302275", "Άγιος\ Κήρυκος",
402             "302635", "Ματαράγκα",
403             "30281", "Ηράκλειο",
404             "302247", "Λέρος",
405             "302332", "Νάουσα",
406             "302521", "Δράμα",
407             "302623", "Λεχαινά",
408             "302292", "Λαύριο",
409             "302765", "Κοπανάκι",
410             "302494", "Αγιά",
411             "302821", "Χανιά",
412             "302682", "Πρέβεζα",
413             "302427", "Σκιάθος",
414             "302823", "Κάντανος",
415             "302262", "Θήβα",
416             "302795", "Βυτίνα",
417             "302621", "Πύργος",
418             "302464", "Σέρβια",
419             "302523", "Κάτω\ Νευροκόπι",
420             "302552", "Ορεστιάδα",
421             "302833", "Αμάρι",
422             "302556", "Κυπρίνος",
423             "302381", "Έδεσσα",
424             "302271", "Χίος",
425             "302631", "Μεσολόγγι",
426             "302533", "Ξυλαγανή",
427             "302351", "Κατερίνη",
428             "302266", "Λιδορίκι",
429             "302645", "Λευκάδα",
430             "302289", "Μύκονος",
431             "302353", "Αιγίνιο",
432             "302531", "Κομοτηνή",
433             "302322", "Νιγρίτα",
434             "302273", "Σάμος",
435             "302656", "Μέτσοβο",
436             "302831", "Ρέθυμνο",
437             "302757", "Λεωνίδιο",
438             "302296", "Μέγαρα\/Νέα\ Πέραμος",
439             "302791", "Μεγαλόπολη",
440             "302324", "Νέα\ Ζίχνη",
441             "302763", "Γαργαλιάνοι",
442             "302625", "Κρέστενα",
443             "302237", "Καρπενήσι",
444             "302761", "Κυπαρισσία",
445             "302397", "Ασπροβάλτα",
446             "302238", "Στυλίδα",
447             "302825", "Βάμος",};
448             $areanames{en} = {"302381", "Edessa",
449             "302556", "Kyprinos",
450             "302833", "Amari\,\ Rethymno",
451             "302645", "Lefkada",
452             "302266", "Lidoriki",
453             "302351", "Korinos",
454             "302533", "Xylagani",
455             "302631", "Messolonghi",
456             "302271", "Chios",
457             "302273", "Samos",
458             "302322", "Nigrita",
459             "302531", "Komotini",
460             "302353", "Aiginio",
461             "302289", "Mykonos",
462             "302296", "Megara",
463             "302757", "Leonidio",
464             "302831", "Rethymno",
465             "302656", "Metsovo",
466             "302791", "Megalopolis",
467             "302625", "Krestena",
468             "302763", "Gargalianoi",
469             "302324", "Nea\ Zichni",
470             "302238", "Stylida",
471             "302761", "Kyparissia",
472             "302397", "Asprovalta",
473             "302237", "Karpenisi",
474             "302825", "Vamos",
475             "302541", "Xanthi",
476             "302462", "Grevena",
477             "302643", "Vonitsa",
478             "302228", "Messapia",
479             "302554", "Soufli",
480             "302535", "Nea\ Kallisti",
481             "302227", "Kireas",
482             "30261", "Patras",
483             "302264", "Thisvi",
484             "302841", "Agios\ Nikolaos",
485             "302843", "Sitia",
486             "302684", "Kanalaki",
487             "302492", "Tyrnavos",
488             "30251", "Kavala",
489             "302385", "Florina",
490             "30281", "Heraklion",
491             "302635", "Mataranga",
492             "302275", "Agios\ Kirykos",
493             "302294", "Rafina",
494             "302641", "Agrinio",
495             "302765", "Kopanaki",
496             "302623", "Lechaina",
497             "302292", "Lavrio",
498             "302521", "Drama",
499             "302332", "Naousa\,\ Imathia",
500             "302247", "Leros",
501             "302821", "Chania",
502             "302682", "Preveza",
503             "302494", "Agia",
504             "302795", "Vytina",
505             "302262", "Thebes",
506             "302823", "Kandanos",
507             "302427", "Skiathos",
508             "302552", "Orestiada",
509             "302523", "Kato\ Nevrokopi",
510             "302464", "Servia",
511             "302621", "Burgas",
512             "302377", "Ierissos\/Mount\ Athos",
513             "302524", "Paranesti",
514             "302463", "Ptolemaida",
515             "302642", "Amfilochia",
516             "302796", "Levidi",
517             "302491", "Farsala",
518             "302824", "Kolymvari",
519             "302288", "Kea",
520             "302287", "Milos",
521             "302897", "Limenas\ Chersonisou",
522             "302842", "Ierapetra",
523             "302493", "Elassona",
524             "302461", "Kozani",
525             "302624", "Olympia",
526             "302542", "Stavroupoli",
527             "302325", "Irakleia\,\ Serres",
528             "302551", "Alexandroupoli",
529             "302386", "Amyntaio",
530             "302653", "Asprangeli",
531             "302622", "Amaliada",
532             "302293", "Agia\ Sotira",
533             "302544", "Echinos",
534             "302333", "Alexandria",
535             "302844", "Tzermadio",
536             "302683", "Filippiada",
537             "302261", "Livadeia",
538             "302399", "Kallikrateia",
539             "302263", "Vilia",
540             "302681", "Arta",
541             "302822", "Kissamos",
542             "302522", "Prosotsani",
543             "302331", "Veria",
544             "302644", "Thermo",
545             "302291", "Lagonisi",
546             "302651", "Ioannina",
547             "302553", "Didymoteicho",
548             "302832", "Spyli",
549             "302321", "Serres",
550             "302532", "Sapes",
551             "302465", "Siatista",
552             "302352", "Litochoro",
553             "302632", "Aitoliko",
554             "302272", "Kardamyla",
555             "302323", "Sidirokastro",
556             "302382", "Giannitsa",
557             "302626", "Andritsaina",
558             "302229", "Eretria",
559             "302495", "Gonnoi\/Makrychori",
560             "302685", "Athamania",
561             "302384", "Aridaia",
562             "302274", "Psara\,\ Chios",
563             "302655", "Konitsa",
564             "302634", "Nafpaktos",
565             "302341", "Kilkis",
566             "302295", "Afidnes",
567             "302343", "Polykastro",
568             "302555", "Feres\,\ Evros",
569             "302534", "Iasmos",
570             "302747", "Stymfalia",
571             "302834", "Perama\ Mylopotamou",
572             "302265", "Amfissa",
573             "30231", "Thessaloniki",
574             "302792", "Kastri\ Kynourias",
575             "302285", "Naxos",
576             "302721", "Kalamata",
577             "302432", "Kalabaka",
578             "302394", "Lagkadas",
579             "302234", "Amfikleia",
580             "302674", "Sami\,\ Cephalonia",
581             "302426", "Zagora",
582             "302695", "Zakynthos",
583             "302375", "Nikiti",
584             "302327", "Rodopoli",
585             "302752", "Nafplio",
586             "302723", "Pylos",
587             "302246", "Salakos\,\ Rhodes",
588             "302665", "Igoumenitsa",
589             "302895", "Ano\ Viannos",
590             "302741", "Corinth",
591             "302754", "Kranidi",
592             "302735", "Molaoi",
593             "3021", "Athens\/Piraeus\/Salamina",
594             "30271", "Tripoli",
595             "302392", "Peraia\,\ Thessaloniki",
596             "302232", "Domokos",
597             "302434", "Pyli",
598             "302226", "Aidipsos",
599             "302743", "Xylokastro",
600             "302253", "Kalloni\,\ Lesbos",
601             "302468", "Neapoli",
602             "302467", "Kastoria",
603             "302373", "Nea\ Moudania",
604             "302591", "Chrysoupoli",
605             "302222", "Kymi",
606             "302693", "Kato\ Achaia",
607             "302661", "Corfu",
608             "302424", "Skopelos",
609             "302283", "Tinos",
610             "302891", "Arkalochori",
611             "302396", "Vasilika",
612             "302236", "Makrakomi",
613             "302893", "Pyrgos\,\ Crete",
614             "302281", "Ano\ Syros",
615             "302663", "Corfu\ Island",
616             "302725", "Koroni",
617             "302691", "Aigio",
618             "302244", "Archangelos\,\ Rhodes",
619             "302371", "Polygyros",
620             "302593", "Thasos",
621             "302251", "Mytilene",
622             "302297", "Aegina",
623             "302298", "Troezen\/Poros\/Hydra\/Spetses",
624             "302242", "Kos",
625             "302658", "Zitsa",
626             "302657", "Delvinaki",
627             "302444", "Palamas",
628             "302733", "Gytheio",
629             "302267", "Distomo",
630             "302268", "Aliartos",
631             "302731", "Sparti",
632             "302422", "Almyros",
633             "302224", "Karystos",
634             "302372", "Arnaia",
635             "302223", "Aliveri",
636             "302746", "Nemea",
637             "302692", "Kalavryta",
638             "302252", "Agiasos\/Plomari",
639             "302647", "Fyteies",
640             "302441", "Karditsa",
641             "302282", "Andros",
642             "302892", "Moires\,\ Heraklion",
643             "302662", "Lefkimmi",
644             "302443", "Sofades",
645             "302734", "Neapoli\,\ Voies",
646             "302755", "Astros",
647             "30241", "Larissa",
648             "302221", "Chalcis",
649             "302592", "Eleftheroupoli",
650             "302243", "Kalymnos",
651             "302594", "Nea\ Peramos\,\ Kavala",
652             "302732", "Molaoi",
653             "302894", "Agia\ Varvara",
654             "302664", "Filiates",
655             "302421", "Volos",
656             "302423", "Kala\ Nera",
657             "302284", "Paros",
658             "302254", "Agios\ Efstratios",
659             "302235", "Kamena\ Vourla",
660             "302395", "Sochos",
661             "302374", "Kassandreia",
662             "302241", "Rhodes",
663             "302694", "Chalandritsa",
664             "302433", "Farkadona",
665             "302751", "Argos",
666             "302744", "Loutraki",
667             "302736", "Kythera",
668             "302722", "Messene",
669             "302445", "Mouzaki",
670             "302431", "Trikala",
671             "302753", "Lygourio",
672             "302724", "Meligalas",
673             "302666", "Paramythia",
674             "302245", "Karpathos",
675             "302231", "Lamia",
676             "302671", "Argostoli",
677             "302391", "Chalkidona",
678             "302393", "Lagkadikia",
679             "302233", "Atalanta",
680             "302286", "Santorini",
681             "302376", "Stratoni",
682             "302299", "Markopoulo\ Mesogaias",
683             "302742", "Kiato",
684             "302696", "Akrata",
685             "302425", "Feres\,\ Magnesia",
686             "302659", "Kalentzi",
687             "302797", "Tropaia",};
688              
689             sub new {
690 22     22 1 62 my $class = shift;
691 22         41 my $number = shift;
692 22         148 $number =~ s/(^\+30|\D)//g;
693 22         154 my $self = bless({ country_code => '30', number => $number, formatters => $formatters, validators => $validators, areanames => \%areanames}, $class);
694 22 100       105 return $self->is_valid() ? $self : undef;
695             }
696             1;