Commits

Patrick Mézard committed 345e050 Merge

Merge with r442

Comments (0)

Files changed (6)

csharp/PhoneNumbers/Properties/AssemblyInfo.cs

 //
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
-// [assembly: AssemblyVersion("4.7.0.19")]
-[assembly: AssemblyVersion("4.7.0.19")]
-[assembly: AssemblyFileVersion("4.7.0.19")]
+// [assembly: AssemblyVersion("4.7.0.20")]
+[assembly: AssemblyVersion("4.7.0.20")]
+[assembly: AssemblyFileVersion("4.7.0.20")]

javascript/README

 
 How to update:
 ==============
-The JavaScript library is ported from the Java implementation (revision 435).
+The JavaScript library is ported from the Java implementation (revision 441).
 When the Java project gets updated follow these steps to update the JavaScript
 project:
 

javascript/i18n/phonenumbers/metadata.js

 ,[,,"90[016]\\d{5}","\\d{8}",,,"90012345"]
 ,[,,"80[1-4]\\d{5}","\\d{8}",,,"80112345"]
 ,[,,"NA","NA"]
-,[,,"6027\\d{4}","\\d{8}",,,"60271234"]
+,[,,"60[2-6]\\d{5}","\\d{8}",,,"60271234"]
 ,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["1|47"]
 ,"(0$1)","",0]
 ,[,"(\\d{2})(\\d{6})","$1 $2",["[5-7]|9[1-9]"]
 ]
 ,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
 ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",,,"222123456"]
-,[,,"9[1-3]\\d{7}","\\d{9}",,,"923123456"]
+,[,,"9[1-4]\\d{7}","\\d{9}",,,"923123456"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"AR":[,[,,"[1-368]\\d{9}|9\\d{10}","\\d{6,11}"]
-,[,,"11\\d{8}|(?:2(?:2(?:[0139]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6])|3(?:1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|[067]\\d)|47[3-8]|6(?:[013-6]\\d|2[2-7])|80\\d|9(?:[0124789]\\d|3[1-6]|5[234]|6[2-46]))|3(?:3(?:2[79]|8[2578])|4(?:[78]\\d|0[0124-9]|[1-356]\\d|4[24-7]|9[123678])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[124689]\\d|3[1245]|5[14-8]|7[2-57])|8(?:[123578]\\d|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}","\\d{6,10}",,,"1123456789"]
-,[,,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})","\\d{6,11}",,,"91123456789"]
+,[,,"11\\d{8}|(?:2(?:2(?:[0139]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6])|3(?:1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|[067]\\d)|4(?:7[3-8]|9\\d)|6(?:[01346]\\d|2[24-6]|5[15-8])|80\\d|9(?:[0124789]\\d|3[1-6]|5[234]|6[2-46]))|3(?:3(?:2[79]|6\\d|8[2578])|4(?:[78]\\d|0[0124-9]|[1-356]\\d|4[24-7]|9[123678])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[01469]\\d|2[013-9]|3[145]|5[14-8]|7[2-57]|8[0-24-9])|8(?:[0-3578]\\d|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}","\\d{6,10}",,,"1123456789"]
+,[,,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})","\\d{6,11}",,,"91123456789"]
 ,[,,"800\\d{7}","\\d{10}",,,"8001234567"]
 ,[,,"60[04579]\\d{7}","\\d{10}",,,"6001234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:[0136]|2[2-7]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[024-68]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-47]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[14-8]|[69]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
+,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2?|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:1[15-8]|2[15]|3[145]|4[13]|5[14-8]|[069]|7[2-57]|8[126])|8(?:[01]|2[125-7]|3[23578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
 ,"0$1","",0]
 ,[,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"]
 ,"0$1","",0]
-,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[23689]|3[4-8])","9(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))","9(?:2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79])))"]
+,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79])))"]
 ,"0$1","",0]
 ,[,"(9)(\\d{4})(\\d{3})(\\d{3})","$2 15-$3-$4",["93[58]","9(?:3(?:53|8[78]))","9(?:3(?:537|8(?:73|88)))"]
 ,"0$1","",0]
 ,"0$1","",0]
 ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"]
 ,"0$1","",0]
-,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578])","2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79]))"]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578])","2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79]))"]
 ,"0$1","",0]
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2-$3",["3(?:53|8[78])","3(?:537|8(?:73|88))"]
 ,"0$1","",0]
 ]
 ,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"]
 ]
-,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[23689]|3[4-8])","9(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))","9(?:2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79])))"]
+,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79])))"]
 ]
 ,[,"(9)(\\d{4})(\\d{3})(\\d{3})","$2 15-$3-$4",["93[58]","9(?:3(?:53|8[78]))","9(?:3(?:537|8(?:73|88)))"]
 ]
 ]
 ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"]
 ]
-,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578])","2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79]))"]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578])","2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79]))"]
 ]
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2-$3",["3(?:53|8[78])","3(?:537|8(?:73|88))"]
 ]
 ]
 ,"BE":[,[,,"[1-9]\\d{7,8}","\\d{8,9}"]
 ,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-69]\\d)\\d{5}","\\d{8}",,,"12345678"]
-,[,,"4(?:[67]\\d|8[3-9]|9[1-9])\\d{6}","\\d{9}",,,"470123456"]
+,[,,"4(?:[679]\\d|8[3-9])\\d{6}","\\d{9}",,,"470123456"]
 ,[,,"800\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"(?:90|7[07])\\d{6}","\\d{8}",,,"90123456"]
 ,[,,"87\\d{6}","\\d{8}",,,"87123456"]
 ]
 ,"BF":[,[,,"[24-7]\\d{7}","\\d{8}"]
 ,[,,"(?:20(?:49|5[23]|9[016-9])|40(?:4[569]|55|7[0179])|50[34]\\d)\\d{4}","\\d{8}",,,"20491234"]
-,[,,"(?:6(?:0[0-3]|8\\d)|7(?:[02-68]\\d|1[0-4689]|7[0-69]|9[0-689]))\\d{5}","\\d{8}",,,"70123456"]
+,[,,"(?:6(?:0[0-5]|[68]0)|7(?:[02-68]\\d|1[0-4689]|7[0-69]|9[0-689]))\\d{5}","\\d{8}",,,"70123456"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"000|112","\\d{3}",,,"112"]
 ,[,,"NA","NA"]
 ]
-,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
+,"CD":[,[,,"[1-6]\\d{6}|8\\d{6,8}|9\\d{8}","\\d{7,9}"]
 ,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"]
-,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}",,,"991234567"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,"CD",243,"00","0",,,"0",,,,[[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
-,"0$1","",0]
-,[,"([1-6]\\d)(\\d{5})","$1 $2",["[1-6]"]
+,[,,"8(?:[0-259]\\d{2}|[48])\\d{5}|9[7-9]\\d{7}","\\d{7,9}",,,"991234567"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,"CD",243,"00","0",,,"0",,,,[[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[0-259]|9"]
+,"0$1","",0]
+,[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["8[48]"]
+,"0$1","",0]
+,[,"(\\d{2})(\\d{5})","$1 $2",["[1-6]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]
 ]
 ,"EG":[,[,,"1\\d{4,9}|[2456]\\d{8}|3\\d{7}|[89]\\d{8,9}","\\d{5,10}"]
 ,[,,"(?:1(3[23]\\d|5[23])|2[2-4]\\d{2}|3\\d{2}|4(?:0[2-5]|[578][23]|64)\\d|5(?:0[2-7]|[57][23])\\d|6[24-689]3\\d|8(?:2[2-57]|4[26]|6[237]|8[2-4])\\d|9(?:2[27]|3[24]|52|6[2356]|7[2-4])\\d)\\d{5}|1[69]\\d{3}","\\d{5,9}",,,"234567890"]
-,[,,"1(?:[0-246-9]|5[0-2])\\d{7}|1(?:0[0169]|1[124]|2[0-278])\\d{7}","\\d{9,10}",,,"1001234567"]
+,[,,"1(?:0[0169]|1[124]|2[0-278])\\d{7}","\\d{10}",,,"1001234567"]
 ,[,,"800\\d{7}","\\d{10}",,,"8001234567"]
 ,[,,"900\\d{7}","\\d{10}",,,"9001234567"]
 ,[,,"NA","NA"]
 ,"0$1","",0]
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:0[0169]|1[124]|2[0-278]|5[0-2])|[89]00"]
 ,"0$1","",0]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[0-246-9]|5[3-9])"]
-,"0$1","",0]
 ,[,"(\\d{2})(\\d{6,7})","$1 $2",["1(?:3|5[23])|[4-6]|[89][2-9]"]
 ,"0$1","",0]
 ]
 ,[,,"NA","NA"]
 ]
 ,"GH":[,[,,"[235]\\d{8}|8\\d{7}","\\d{7,9}"]
-,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-37]|7\\d)|4(?:[27]\\d|30)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}",,,"302345678"]
-,[,,"(?:2[034678]|5[47])\\d{7}","\\d{9}",,,"231234567"]
+,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-3]|7\\d)|4(?:2[013-9]|3[01]|7\\d)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}",,,"302345678"]
+,[,,"(?:2[034678]|5[047])\\d{7}","\\d{9}",,,"231234567"]
 ,[,,"800\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"112","\\d{3}",,,"112"]
 ,[,,"NA","NA"]
 ]
-,"GM":[,[,,"[3-9]\\d{6}","\\d{7}"]
+,"GM":[,[,,"[2-9]\\d{6}","\\d{7}"]
 ,[,,"(?:4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}","\\d{7}",,,"5661234"]
-,[,,"[3679]\\d{6}","\\d{7}",,,"3012345"]
+,[,,"(?:2[0-2]|[3679]\\d)\\d{5}","\\d{7}",,,"3012345"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"1?1[678]","\\d{2,3}",,,"117"]
 ,[,,"NA","NA"]
 ]
-,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
+,"GN":[,[,,"[23567]\\d{7,8}","\\d{8,9}"]
 ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}",,,"30241234"]
-,[,,"55\\d{6}|6(?:0(?:2[0-35-9]|3[3467]|5[2457-9])|[24578]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}",,,"60201234"]
+,[,,"(?:24|55)\\d{6}|6(?:0(?:2[0-35-9]|3[3467]|5[2457-9])|2\\d{2,3}|[4-9]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8,9}",,,"60201234"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"78\\d{6}","\\d{8}",,,"78123456"]
-,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"","",0]
+,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23567]"]
+,"","",0]
+,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["62"]
+,"","",0]
 ]
 ,,[,,"NA","NA"]
 ,,,[,,"NA","NA"]
 ]
 ,"IN":[,[,,"1\\d{7,12}|[2-9]\\d{9,10}","\\d{6,13}"]
 ,[,,"(?:11|2[02]|33|4[04]|79)[2-7]\\d{7}|80[2-467]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|[57][2-689]|6[24-58]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}","\\d{6,10}",,,"1123456789"]
-,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1245789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0(?:[01589]\\d|66)|1(?:[024]\\d|1[56]|30|7[19]|97)|2(?:[2369]\\d|52|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[079]|11|2\\d|30|4[47]|53|7[45]|85|9[015])|6(?:[0589]\\d|7[09])|7(?:1[24]|33|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[019]|4[036-8]|6[0-46-9]))|9\\d{3})\\d{6}","\\d{10}",,,"9123456789"]
+,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1-5789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0(?:[01589]\\d|66)|1(?:[024]\\d|1[56]|30|7[19]|97)|2(?:[2369]\\d|52|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[07-9]|11|[26]\\d|30|4[47]|5[39]|7[45]|85|9[015])|6(?:[0589]\\d|49|7[0-59])|7(?:1[24]|33|49|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[019]|4[036-8]|6[0-46-9]))|9\\d{3})\\d{6}","\\d{10}",,,"9123456789"]
 ,[,,"1(?:600\\d{6}|80(?:0\\d{4,8}|3\\d{9}))","\\d{8,13}",,,"1800123456"]
 ,[,,"186[12]\\d{9}","\\d{13}",,,"1861123456789"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5[0-57-9]6[05789]7[123569]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1245789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|1[56]|30|7[19]|97)|2(?:[2369]|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[079]|11|2|30|4[47]|53|85|7[45]|9[015])|6(?:[0589]|70)|7(?:1[24]|33|[2569])|8(?:[07-9]|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]|2[35-9]|3[019]|4[03678]|6[0-46-9]))|9"]
+,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5|6[045789]|7[1-69]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1-5789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|1[56]|30|7[19]|97)|2(?:[2369]|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[07-9]|11|[26]|30|4[47]|5[39]|85|7[45]|9[015])|6(?:[0589]|49|7[0-5])|7(?:1[24]|33|49|[2569])|8(?:[07-9]|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]|2[35-9]|3[019]|4[03678]|6[0-46-9]))|9"]
 ,"0$1","",1]
 ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-46]"]
 ,"0$1","",1]
 ]
 ,"IR":[,[,,"[2-6]\\d{4,9}|9(?:[134]\\d{8}|9\\d{2,8})|[178]\\d{9}","\\d{4,10}"]
 ,[,,"2(?:1[2-9]\\d{2,7}|51\\d{3,7})|(?:241|3(?:11|51)|441|5[14]1)\\d{4,7}|(?:3(?:34|41)|6(?:11|52))\\d{6,7}|(?:1(?:[134589][12]|[27][1-4])|2(?:2[189]|[3689][12]|42|5[256]|7[34])|3(?:12|2[1-4]|3[125]|4[24-9]|5[23]|[6-9][12])|4(?:[135-9][12]|2[1-467]|4[2-4])|5(?:12|2[89]|3[1-5]|4[2-8]|[5-7][12]|8[1245])|6(?:12|[347-9][12]|51|6[1-6])|7(?:[13589][12]|2[1289]|4[1-4]|6[1-6]|7[1-3])|8(?:[145][12]|3[124578]|6[1256]|7[1245]))\\d{7}","\\d{5,10}",,,"2123456789"]
-,[,,"9(?:1\\d|3[124-9])\\d{7}","\\d{10}",,,"9123456789"]
+,[,,"9(?:1(?:[039]\\d|1[1-36-9]|2[1-8]|4[01346-9]|5[13-9]|6[1-35-9]|7[1-9]|8[1346-9])|3(?:13|2[1-579]|47|[5-9]\\d))\\d{6}","\\d{10}",,,"9123456789"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"","",0]
 ]
 ,,[,,"NA","NA"]
-,,,[,,"NA","NA"]
+,,,[,,"848\\d{6,7}","\\d{9,10}",,,"8481234567"]
 ,[,,"NA","NA"]
 ,1,[,,"11[2358]","\\d{3}",,,"112"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
-,[,,"(?:2[67]|32|53|6[2-5]|87)\\d{6}","\\d{7,8}",,,"62001234"]
+,[,,"(?:2(?:6(?:2[0-35-9]|3[0-57-8]|4[24-7]|5[0-24-8]|[6-9][02])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|[457][02]|60)|53(?:[013][02]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[50]0|300|4(?:0[0125]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[17-8]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[02-39])|)|87(?:[02]0|7[08]|9[09]))\\d{4}","\\d{7,8}",,,"62001234"]
 ,[,,"7(?:45|5\\d|7[2-79]|8[5-8]|9[035-9])\\d{6}","\\d{9}",,,"790123456"]
 ,[,,"80\\d{6}","\\d{8}",,,"80012345"]
 ,[,,"900\\d{5}","\\d{8}",,,"90012345"]
 ,,[,,"1(?:0[123]|12)","\\d{3}",,,"112"]
 ,[,,"NA","NA"]
 ]
-,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
-,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}",,,"21212862"]
+,"LA":[,[,,"[2-8]\\d{7,9}","\\d{6,10}"]
+,[,,"(?:2[13]|[35-7][14]|41|8[1468])\\d{6}","\\d{6,8}",,,"21212862"]
 ,[,,"20(?:2[23]|5[4-68]|7[78]|9[7-9])\\d{6}","\\d{10}",,,"2023123456"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"LA",856,"00","0",,,"0",,,,[[,"(20)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["20"]
 ,"0$1","",0]
-,[,"([2-57]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["21|[3-57]"]
+,[,"([2-8]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|[3-8]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"LC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
-,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7}(?:\\d{3})?",,,"7582345678"]
-,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-4]))\\d{4}","\\d{10}",,,"7582845678"]
+,[,,"758(?:234|4(?:30|5[0-9]|6[2-9]|8[0-2])|572|638|758)\\d{4}","\\d{7}(?:\\d{3})?",,,"7582345678"]
+,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-6]))\\d{4}","\\d{10}",,,"7582845678"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
 ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
 ,[,,"NA","NA"]
 ]
 ,"MD":[,[,,"[25-9]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:1[0569]|2\\d|3[015-7]|4[1-46-9]|5[0-24689]|6[2-589]|7[1-37]|9[1347-9])|5(?:33|5[257]))\\d{5}","\\d{5,8}",,,"22212345"]
-,[,,"(?:562|6(?:50|7[1-4]|[089]\\d)|7(?:7[47-9]|[89]\\d))\\d{5}","\\d{8}",,,"65012345"]
+,[,,"(?:562|6(?:50|7[1-5]|[089]\\d)|7(?:7[47-9]|[89]\\d))\\d{5}","\\d{8}",,,"65012345"]
 ,[,,"800\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"90[056]\\d{5}","\\d{8}",,,"90012345"]
 ,[,,"808\\d{5}","\\d{8}",,,"80812345"]
 ]
 ,"MS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
 ,[,,"664491\\d{4}","\\d{7}(?:\\d{3})?",,,"6644912345"]
-,[,,"664492\\d{4}","\\d{10}",,,"6644923456"]
+,[,,"66449[2-6]\\d{4}","\\d{10}",,,"6644923456"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
 ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
 ,[,,"NA","NA"]
 ]
 ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}","\\d{8}",,,"21234567"]
-,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
+,[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
 ,[,,"80[01]\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"82[09]\\d{5}","\\d{8}",,,"82012345"]
 ,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}",,,"81021234"]
 ,[,,"880\\d{5}","\\d{8}",,,"88012345"]
-,[,,"NA","NA"]
+,[,,"85[0-5]\\d{5}","\\d{8}",,,"85012345"]
 ,"NO",47,"00",,,,,,,,[[,"([489]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]
 ,"","",0]
 ,[,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]
 ,1,,[,,"NA","NA"]
 ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"01234"]
 ,1,[,,"11[023]","\\d{3}",,,"112"]
-,[,,"NA","NA"]
+,[,,"81[23]\\d{5}","\\d{8}",,,"81212345"]
 ]
 ,"NP":[,[,,"[1-8]\\d{7}|9(?:[1-69]\\d{6}|7[2-6]\\d{5,7}|8\\d{8})","\\d{6,10}"]
 ,[,,"(?:1[0124-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])\\d{6}","\\d{6,8}",,,"14567890"]
 ,[,,"NA","NA"]
 ]
 ,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
-,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|5[57]|65|7[016-8]|8[58]|9[1-49])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9[0-79])|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:09|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89]|99)|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",,,"2001234"]
-,[,,"(?:161|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-8]\\d|1[0-5]|2[0-4]|3[7-9]|9[0-8])\\d{5}","\\d{7,8}",,,"60012345"]
+,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|57|65|7[016-8]|8[58]|9[134])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9\\d)|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89])|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",,,"2001234"]
+,[,,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-9]\\d|1[0-5]|2[0-6]|3[6-9])\\d{5}","\\d{7,8}",,,"60012345"]
 ,[,,"80[09]\\d{4}","\\d{7}",,,"8001234"]
 ,[,,"(?:779|8(?:2[235]|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}",,,"8601234"]
 ,[,,"NA","NA"]
 ]
 ,"PK":[,[,,"1\\d{8}|[2-8]\\d{5,11}|9(?:[013-9]\\d{4,9}|2\\d(?:111\\d{6}|\\d{3,7}))","\\d{6,12}"]
 ,[,,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}","\\d{6,10}",,,"2123456789"]
-,[,,"3(?:0\\d|1[2-5]|2[1-5]|3[1-6]|4[1-7]|64)\\d{7}","\\d{10}",,,"3012345678"]
+,[,,"3(?:0\\d|[12][1-5]|3[1-6]|4[1-7]|55|64)\\d{7}","\\d{10}",,,"3012345678"]
 ,[,,"800\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"900\\d{5}","\\d{8}",,,"90012345"]
 ,[,,"NA","NA"]
 ]
 ,"SI":[,[,,"[1-7]\\d{6,7}|[89]\\d{4,7}","\\d{5,8}"]
 ,[,,"(?:1\\d|2[2-8]|3[4-8]|4[24-8]|[57][3-8])\\d{6}","\\d{7,8}",,,"11234567"]
-,[,,"(?:[37][01]|4[019]|51|64)\\d{6}","\\d{8}",,,"31234567"]
+,[,,"(?:[37][01]|4[019]|51|6[48])\\d{6}","\\d{8}",,,"31234567"]
 ,[,,"80\\d{4,6}","\\d{6,8}",,,"80123456"]
 ,[,,"90\\d{4,6}|89[1-3]\\d{2,5}","\\d{5,8}",,,"90123456"]
 ,[,,"NA","NA"]
 ,[,,"(?:59|8[1-3])\\d{6}","\\d{8}",,,"59012345"]
 ,"SI",386,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|3[4-8]|4[24-8]|5[3-8]|7[3-8]"]
 ,"(0$1)","",0]
-,[,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[019]|51|64"]
+,[,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[019]|51|6"]
 ,"0$1","",0]
 ,[,"([89][09])(\\d{3,6})","$1 $2",["[89][09]"]
 ,"0$1","",0]
 ]
 ,"SJ":[,[,,"0\\d{4}|[4789]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"79\\d{6}","\\d{8}",,,"79123456"]
-,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
+,[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}","\\d{8}",,,"41234567"]
 ,[,,"80[01]\\d{5}","\\d{8}",,,"80012345"]
 ,[,,"82[09]\\d{5}","\\d{8}",,,"82012345"]
 ,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}",,,"81021234"]
 ,[,,"880\\d{5}","\\d{8}",,,"88012345"]
-,[,,"NA","NA"]
+,[,,"85[0-5]\\d{5}","\\d{8}",,,"85012345"]
 ,"SJ",47,"00",,,,,,,,,,[,,"NA","NA"]
 ,,,[,,"NA","NA"]
 ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"01234"]
 ,1,[,,"11[023]","\\d{3}",,,"112"]
-,[,,"NA","NA"]
+,[,,"81[23]\\d{5}","\\d{8}",,,"81212345"]
 ]
 ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
 ,[,,"[2-5]\\d{8}","\\d{9}",,,"212345678"]
 ,[,,"NA","NA"]
 ]
 ,"SO":[,[,,"[1-79]\\d{6,8}","\\d{7,9}"]
-,[,,"(?:5[57-9]|[1-4]\\d)\\d{5}","\\d{7}",,,"5522010"]
-,[,,"(?:15|24|6[179]?\\d|7\\d|9[01])\\d{6}","\\d{8,9}",,,"90792024"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,"SO",252,"00","0",,,"0",,,,[[,"(\\d)(\\d{6})","$1 $2",["[1-5]"]
+,[,,"(?:[134]\\d|2[0-79]|5[57-9])\\d{5}","\\d{7}",,,"5522010"]
+,[,,"(?:15\\d|2(?:4\\d|8)|6[17-9]?\\d{2}|7\\d{2}|9[01]\\d)\\d{5}","\\d{7,9}",,,"90792024"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,"SO",252,"00","0",,,"0",,,,[[,"(\\d)(\\d{6})","$1 $2",["2[0-79]|[13-5]"]
 ,"","",0]
-,[,"(\\d)(\\d{7})","$1 $2",["[267]"]
+,[,"(\\d)(\\d{7})","$1 $2",["24|[67]"]
 ,"","",0]
-,[,"([19]\\d)(\\d{6})","$1 $2",["15|9"]
-,"","",0]
-,[,"(6\\d)(\\d{7})","$1 $2",["6[17]"]
+,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[178]|9"]
 ,"","",0]
 ,[,"(69\\d)(\\d{6})","$1 $2",["69"]
 ,"","",0]
 ]
 ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"]
 ,[,,"(?:1(?:1\\d?|4\\d|[2356])|2[1-35]|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}","\\d{6,9}",,,"112345678"]
-,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[1-49])\\d{6}","\\d{9}",,,"944567890"]
+,[,,"9(?:22|3[1-356]|4\\d|5[024-7]|6[26-9]|88|9[0-489])\\d{6}","\\d{9}",,,"944567890"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"SY",963,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"]
 ,"0$1","",1]
-,[,"(9[3-689])(\\d{4})(\\d{3})","$1 $2 $3",["9"]
+,[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"]
 ,"0$1","",1]
 ]
 ,,[,,"NA","NA"]
 ]
 ,"TC":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
 ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7}(?:\\d{3})?",,,"6497121234"]
-,[,,"649(?:2(?:3[12]|4[1-5])|3(?:3[1-39]|4[1-57])|4[34][12])\\d{4}","\\d{10}",,,"6492311234"]
+,[,,"649(?:2(?:3[12]|4[1-7])|3(?:3[1-39]|4[1-7])|4[34][12])\\d{4}","\\d{10}",,,"6492311234"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
 ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
 ,[,,"NA","NA"]
 ,,[,,"0[1-3]","\\d{2}",,,"03"]
 ,[,,"NA","NA"]
 ]
-,"TN":[,[,,"[2457-9]\\d{7}","\\d{8}"]
-,[,,"7\\d{7}","\\d{8}",,,"71234567"]
-,[,,"(?:[29]\\d|4[01]|5[01258]|)\\d{6}","\\d{8}",,,"20123456"]
-,[,,"NA","NA"]
-,[,,"8[028]\\d{6}","\\d{8}",,,"80123456"]
+,"TN":[,[,,"[2-57-9]\\d{7}","\\d{8}"]
+,[,,"(?:3[012]|7\\d)\\d{6}","\\d{8}",,,"71234567"]
+,[,,"(?:[259]\\d|4[01])\\d{6}","\\d{8}",,,"20123456"]
+,[,,"NA","NA"]
+,[,,"8[0128]\\d{6}","\\d{8}",,,"80123456"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"]
-,[,,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69]|)|9(?:4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}","\\d{7,9}",,,"662345678"]
+,[,,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69]|)|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}","\\d{7,9}",,,"662345678"]
 ,[,,"6(?:1(?:2(?:98|2[01])|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:11\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4])|7\\d{2})|5(?:19[01]|2(?:27|9[26])|30\\d|59\\d|7\\d{2})|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|3[79]\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79])|9[0-3]\\d)|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(2(?:1[1267]|5\\d|3[01]|7[0-4])|5[67]\\d|6(?:2[0-26]|8\\d)|7\\d{2}))\\d{4}|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|33\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078])|9[4-6]\\d)|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0127]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[05629]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))\\d{4}|9[0-57-9]\\d{7}","\\d{7,9}",,,"912345678"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"VN":[,[,,"[17]\\d{6,9}|[2-69]\\d{7,9}|8\\d{6,8}","\\d{7,10}"]
 ,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|4\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01])|8[1-9])\\d{7}","\\d{9,10}",,,"2101234567"]
-,[,,"(?:9\\d|1(?:2\\d|6[3-9]|8[68]|99))\\d{7}","\\d{9,10}",,,"912345678"]
+,[,,"(?:9\\d|1(?:2\\d|6[2-9]|8[68]|99))\\d{7}","\\d{9,10}",,,"912345678"]
 ,[,,"1800\\d{4,6}","\\d{8,10}",,,"1800123456"]
 ,[,,"1900\\d{4,6}","\\d{8,10}",,,"1900123456"]
 ,[,,"NA","NA"]
 ]
 ,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"]
 ,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}",,,"1312345"]
-,[,,"7[137]\\d{7}","\\d{9}",,,"711234567"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"86(?:1[12]|22|30|44|8[367]|99)\\d{6}","\\d{10}",,,"8686123456"]
+,[,,"7[137]\\d{7}|86(?:22|44)\\d{6}","\\d{9,10}",,,"711234567"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"86(?:1[12]|30|8[367]|99)\\d{6}","\\d{10}",,,"8686123456"]
 ,"ZW",263,"00","0",,,"0",,,,[[,"([49])(\\d{3})(\\d{2,5})","$1 $2 $3",["4|9[2-9]"]
 ,"0$1","",0]
 ,[,"([179]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[19]1|7"]
 ,"0$1","",0]
+,[,"(86\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["86[24]"]
+,"0$1","",0]
 ,[,"([1-356]\\d)(\\d{3,5})","$1 $2",["1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"]
 ,"0$1","",0]
 ,[,"([1-356]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"]
 ,"0$1","",0]
 ,[,"([25]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:25|54)8","258[23]|5483"]
 ,"0$1","",0]
-,[,"(8\\d{3})(\\d{6})","$1 $2",["8"]
+,[,"(8\\d{3})(\\d{6})","$1 $2",["86[1389]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]

javascript/i18n/phonenumbers/metadatalite.js

 ,[,,"90[016]\\d{5}","\\d{8}"]
 ,[,,"80[1-4]\\d{5}","\\d{8}"]
 ,[,,"NA","NA"]
-,[,,"6027\\d{4}","\\d{8}"]
+,[,,"60[2-6]\\d{5}","\\d{8}"]
 ,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["1|47"]
 ,"(0$1)","",0]
 ,[,"(\\d{2})(\\d{6})","$1 $2",["[5-7]|9[1-9]"]
 ]
 ,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
 ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}"]
-,[,,"9[1-3]\\d{7}","\\d{9}"]
+,[,,"9[1-4]\\d{7}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"AR":[,[,,"[1-368]\\d{9}|9\\d{10}","\\d{6,11}"]
-,[,,"11\\d{8}|(?:2(?:2(?:[0139]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6])|3(?:1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|[067]\\d)|47[3-8]|6(?:[013-6]\\d|2[2-7])|80\\d|9(?:[0124789]\\d|3[1-6]|5[234]|6[2-46]))|3(?:3(?:2[79]|8[2578])|4(?:[78]\\d|0[0124-9]|[1-356]\\d|4[24-7]|9[123678])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[124689]\\d|3[1245]|5[14-8]|7[2-57])|8(?:[123578]\\d|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}","\\d{6,10}"]
-,[,,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})","\\d{6,11}"]
+,[,,"11\\d{8}|(?:2(?:2(?:[0139]\\d|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6])|3(?:1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|[067]\\d)|4(?:7[3-8]|9\\d)|6(?:[01346]\\d|2[24-6]|5[15-8])|80\\d|9(?:[0124789]\\d|3[1-6]|5[234]|6[2-46]))|3(?:3(?:2[79]|6\\d|8[2578])|4(?:[78]\\d|0[0124-9]|[1-356]\\d|4[24-7]|9[123678])|5(?:[138]\\d|2[1245]|4[1-9]|6[2-4]|7[1-6])|6[24]\\d|7(?:[01469]\\d|2[013-9]|3[145]|5[14-8]|7[2-57]|8[0-24-9])|8(?:[0-3578]\\d|4[13-6]|6[1-357-9]|9[124]))|670\\d)\\d{6}","\\d{6,10}"]
+,[,,"675\\d{7}|9(?:11[2-9]\\d{7}|(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))[2-9]\\d{6}|\\d{4}[2-9]\\d{5})","\\d{6,11}"]
 ,[,,"800\\d{7}","\\d{10}"]
 ,[,,"60[04579]\\d{7}","\\d{10}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:[0136]|2[2-7]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[024-68]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-47]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[14-8]|[69]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
+,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2?|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:1[15-8]|2[15]|3[145]|4[13]|5[14-8]|[069]|7[2-57]|8[126])|8(?:[01]|2[125-7]|3[23578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
 ,"0$1","",0]
 ,[,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"]
 ,"0$1","",0]
-,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[23689]|3[4-8])","9(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))","9(?:2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79])))"]
+,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79])))"]
 ,"0$1","",0]
 ,[,"(9)(\\d{4})(\\d{3})(\\d{3})","$2 15-$3-$4",["93[58]","9(?:3(?:53|8[78]))","9(?:3(?:537|8(?:73|88)))"]
 ,"0$1","",0]
 ,"0$1","",0]
 ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"]
 ,"0$1","",0]
-,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578])","2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79]))"]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578])","2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79]))"]
 ,"0$1","",0]
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2-$3",["3(?:53|8[78])","3(?:537|8(?:73|88))"]
 ,"0$1","",0]
 ]
 ,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"]
 ]
-,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[23689]|3[4-8])","9(?:2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578]))","9(?:2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79])))"]
+,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[234689]|3[3-8])","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578]))","9(?:2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79])))"]
 ]
 ,[,"(9)(\\d{4})(\\d{3})(\\d{3})","$2 15-$3-$4",["93[58]","9(?:3(?:53|8[78]))","9(?:3(?:537|8(?:73|88)))"]
 ]
 ]
 ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"]
 ]
-,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[01346]|80|9[147-9])|3(?:4[1235]|5[138]|6[24]|7[69]|8[1578])","2(?:2[013]|37|6[01346]|80|9(?:[17-9]|4[1379]))|3(?:4[1235]|5(?:[18]|3[0-35689])|6[24]|7[69]|8(?:[15]|7[0-24-9]|8[0-79]))"]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|3[067]|49|6[01346]|80|9[147-9])|3(?:36|4[12358]|5[138]|6[24]|7[069]|8[013578])","2(?:2[013]|3[067]|49|6[01346]|80|9(?:[17-9]|4[13479]))|3(?:36|4[12358]|5(?:[18]|3[0-689])|6[24]|7[069]|8(?:[015]|3[0-2479]|7[0-24-9]|8[0-79]))"]
 ]
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2-$3",["3(?:53|8[78])","3(?:537|8(?:73|88))"]
 ]
 ]
 ,"BE":[,[,,"[1-9]\\d{7,8}","\\d{8,9}"]
 ,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-69]\\d)\\d{5}","\\d{8}"]
-,[,,"4(?:[67]\\d|8[3-9]|9[1-9])\\d{6}","\\d{9}"]
+,[,,"4(?:[679]\\d|8[3-9])\\d{6}","\\d{9}"]
 ,[,,"800\\d{5}","\\d{8}"]
 ,[,,"(?:90|7[07])\\d{6}","\\d{8}"]
 ,[,,"87\\d{6}","\\d{8}"]
 ]
 ,"BF":[,[,,"[24-7]\\d{7}","\\d{8}"]
 ,[,,"(?:20(?:49|5[23]|9[016-9])|40(?:4[569]|55|7[0179])|50[34]\\d)\\d{4}","\\d{8}"]
-,[,,"(?:6(?:0[0-3]|8\\d)|7(?:[02-68]\\d|1[0-4689]|7[0-69]|9[0-689]))\\d{5}","\\d{8}"]
+,[,,"(?:6(?:0[0-5]|[68]0)|7(?:[02-68]\\d|1[0-4689]|7[0-69]|9[0-689]))\\d{5}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"000|112","\\d{3}"]
 ,[,,"NA","NA"]
 ]
-,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
+,"CD":[,[,,"[1-6]\\d{6}|8\\d{6,8}|9\\d{8}","\\d{7,9}"]
 ,[,,"[1-6]\\d{6}","\\d{7}"]
-,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,"CD",243,"00","0",,,"0",,,,[[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"]
-,"0$1","",0]
-,[,"([1-6]\\d)(\\d{5})","$1 $2",["[1-6]"]
+,[,,"8(?:[0-259]\\d{2}|[48])\\d{5}|9[7-9]\\d{7}","\\d{7,9}"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,"CD",243,"00","0",,,"0",,,,[[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[0-259]|9"]
+,"0$1","",0]
+,[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["8[48]"]
+,"0$1","",0]
+,[,"(\\d{2})(\\d{5})","$1 $2",["[1-6]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]
 ]
 ,"EG":[,[,,"1\\d{4,9}|[2456]\\d{8}|3\\d{7}|[89]\\d{8,9}","\\d{5,10}"]
 ,[,,"(?:1(3[23]\\d|5[23])|2[2-4]\\d{2}|3\\d{2}|4(?:0[2-5]|[578][23]|64)\\d|5(?:0[2-7]|[57][23])\\d|6[24-689]3\\d|8(?:2[2-57]|4[26]|6[237]|8[2-4])\\d|9(?:2[27]|3[24]|52|6[2356]|7[2-4])\\d)\\d{5}|1[69]\\d{3}","\\d{5,9}"]
-,[,,"1(?:[0-246-9]|5[0-2])\\d{7}|1(?:0[0169]|1[124]|2[0-278])\\d{7}","\\d{9,10}"]
+,[,,"1(?:0[0169]|1[124]|2[0-278])\\d{7}","\\d{10}"]
 ,[,,"800\\d{7}","\\d{10}"]
 ,[,,"900\\d{7}","\\d{10}"]
 ,[,,"NA","NA"]
 ,"0$1","",0]
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:0[0169]|1[124]|2[0-278]|5[0-2])|[89]00"]
 ,"0$1","",0]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:[0-246-9]|5[3-9])"]
-,"0$1","",0]
 ,[,"(\\d{2})(\\d{6,7})","$1 $2",["1(?:3|5[23])|[4-6]|[89][2-9]"]
 ,"0$1","",0]
 ]
 ,[,,"NA","NA"]
 ]
 ,"GH":[,[,,"[235]\\d{8}|8\\d{7}","\\d{7,9}"]
-,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-37]|7\\d)|4(?:[27]\\d|30)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}"]
-,[,,"(?:2[034678]|5[47])\\d{7}","\\d{9}"]
+,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-3]|7\\d)|4(?:2[013-9]|3[01]|7\\d)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}"]
+,[,,"(?:2[034678]|5[047])\\d{7}","\\d{9}"]
 ,[,,"800\\d{5}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"112","\\d{3}"]
 ,[,,"NA","NA"]
 ]
-,"GM":[,[,,"[3-9]\\d{6}","\\d{7}"]
+,"GM":[,[,,"[2-9]\\d{6}","\\d{7}"]
 ,[,,"(?:4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}","\\d{7}"]
-,[,,"[3679]\\d{6}","\\d{7}"]
+,[,,"(?:2[0-2]|[3679]\\d)\\d{5}","\\d{7}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,,[,,"1?1[678]","\\d{2,3}"]
 ,[,,"NA","NA"]
 ]
-,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
+,"GN":[,[,,"[23567]\\d{7,8}","\\d{8,9}"]
 ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}"]
-,[,,"55\\d{6}|6(?:0(?:2[0-35-9]|3[3467]|5[2457-9])|[24578]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}"]
+,[,,"(?:24|55)\\d{6}|6(?:0(?:2[0-35-9]|3[3467]|5[2457-9])|2\\d{2,3}|[4-9]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8,9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"78\\d{6}","\\d{8}"]
-,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"","",0]
+,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[23567]"]
+,"","",0]
+,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["62"]
+,"","",0]
 ]
 ,,[,,"NA","NA"]
 ,,,[,,"NA","NA"]
 ]
 ,"IN":[,[,,"1\\d{7,12}|[2-9]\\d{9,10}","\\d{6,13}"]
 ,[,,"(?:11|2[02]|33|4[04]|79)[2-7]\\d{7}|80[2-467]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-7]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|[57][2-689]|6[24-58]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-7]\\d{5}","\\d{6,10}"]
-,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1245789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0(?:[01589]\\d|66)|1(?:[024]\\d|1[56]|30|7[19]|97)|2(?:[2369]\\d|52|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[079]|11|2\\d|30|4[47]|53|7[45]|85|9[015])|6(?:[0589]\\d|7[09])|7(?:1[24]|33|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[019]|4[036-8]|6[0-46-9]))|9\\d{3})\\d{6}","\\d{10}"]
+,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1-5789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0(?:[01589]\\d|66)|1(?:[024]\\d|1[56]|30|7[19]|97)|2(?:[2369]\\d|52|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[07-9]|11|[26]\\d|30|4[47]|5[39]|7[45]|85|9[015])|6(?:[0589]\\d|49|7[0-59])|7(?:1[24]|33|49|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[019]|4[036-8]|6[0-46-9]))|9\\d{3})\\d{6}","\\d{10}"]
 ,[,,"1(?:600\\d{6}|80(?:0\\d{4,8}|3\\d{9}))","\\d{8,13}"]
 ,[,,"186[12]\\d{9}","\\d{13}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5[0-57-9]6[05789]7[123569]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1245789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|1[56]|30|7[19]|97)|2(?:[2369]|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[079]|11|2|30|4[47]|53|85|7[45]|9[015])|6(?:[0589]|70)|7(?:1[24]|33|[2569])|8(?:[07-9]|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]|2[35-9]|3[019]|4[03678]|6[0-46-9]))|9"]
+,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5|6[045789]|7[1-69]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[13-9]|5[0-4789]|7[3679]|8[1-9]|9[689])|4(?:0[1-5789]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|1[56]|30|7[19]|97)|2(?:[2369]|7[01357]|8[567])|3(?:0[0235-8]|4[14789]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[07-9]|11|[26]|30|4[47]|5[39]|85|7[45]|9[015])|6(?:[0589]|49|7[0-5])|7(?:1[24]|33|49|[2569])|8(?:[07-9]|17|2[024-8]|44|5[3589]|6[0167])|9(?:[057-9]|2[35-9]|3[019]|4[03678]|6[0-46-9]))|9"]
 ,"0$1","",1]
 ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-46]"]
 ,"0$1","",1]
 ]
 ,"IR":[,[,,"[2-6]\\d{4,9}|9(?:[134]\\d{8}|9\\d{2,8})|[178]\\d{9}","\\d{4,10}"]
 ,[,,"2(?:1[2-9]\\d{2,7}|51\\d{3,7})|(?:241|3(?:11|51)|441|5[14]1)\\d{4,7}|(?:3(?:34|41)|6(?:11|52))\\d{6,7}|(?:1(?:[134589][12]|[27][1-4])|2(?:2[189]|[3689][12]|42|5[256]|7[34])|3(?:12|2[1-4]|3[125]|4[24-9]|5[23]|[6-9][12])|4(?:[135-9][12]|2[1-467]|4[2-4])|5(?:12|2[89]|3[1-5]|4[2-8]|[5-7][12]|8[1245])|6(?:12|[347-9][12]|51|6[1-6])|7(?:[13589][12]|2[1289]|4[1-4]|6[1-6]|7[1-3])|8(?:[145][12]|3[124578]|6[1256]|7[1245]))\\d{7}","\\d{5,10}"]
-,[,,"9(?:1\\d|3[124-9])\\d{7}","\\d{10}"]
+,[,,"9(?:1(?:[039]\\d|1[1-36-9]|2[1-8]|4[01346-9]|5[13-9]|6[1-35-9]|7[1-9]|8[1346-9])|3(?:13|2[1-579]|47|[5-9]\\d))\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"","",0]
 ]
 ,,[,,"NA","NA"]
-,,,[,,"NA","NA"]
+,,,[,,"848\\d{6,7}","\\d{9,10}"]
 ,[,,"NA","NA"]
 ,1,[,,"11[2358]","\\d{3}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
-,[,,"(?:2[67]|32|53|6[2-5]|87)\\d{6}","\\d{7,8}"]
+,[,,"(?:2(?:6(?:2[0-35-9]|3[0-57-8]|4[24-7]|5[0-24-8]|[6-9][02])|7(?:0[1-79]|10|2[014-7]|3[0-689]|4[019]|5[0-3578]))|32(?:0[1-69]|1[1-35-7]|2[024-7]|3\\d|[457][02]|60)|53(?:[013][02]|2[0-59]|49|5[0-35-9]|6[15]|7[45]|8[1-6]|9[0-36-9])|6(?:2[50]0|300|4(?:0[0125]|1[2-7]|2[0569]|[38][07-9]|4[025689]|6[0-589]|7\\d|9[0-2])|5(?:[01][056]|2[034]|3[0-57-9]|4[17-8]|5[0-69]|6[0-35-9]|7[1-379]|8[0-68]|9[02-39])|)|87(?:[02]0|7[08]|9[09]))\\d{4}","\\d{7,8}"]
 ,[,,"7(?:45|5\\d|7[2-79]|8[5-8]|9[035-9])\\d{6}","\\d{9}"]
 ,[,,"80\\d{6}","\\d{8}"]
 ,[,,"900\\d{5}","\\d{8}"]
 ,,[,,"1(?:0[123]|12)","\\d{3}"]
 ,[,,"NA","NA"]
 ]
-,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
-,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}"]
+,"LA":[,[,,"[2-8]\\d{7,9}","\\d{6,10}"]
+,[,,"(?:2[13]|[35-7][14]|41|8[1468])\\d{6}","\\d{6,8}"]
 ,[,,"20(?:2[23]|5[4-68]|7[78]|9[7-9])\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"LA",856,"00","0",,,"0",,,,[[,"(20)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["20"]
 ,"0$1","",0]
-,[,"([2-57]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["21|[3-57]"]
+,[,"([2-8]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[13]|[3-8]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"LC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"]
-,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7}(?:\\d{3})?"]
-,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-4]))\\d{4}","\\d{10}"]
+,[,,"758(?:234|4(?:30|5[0-9]|6[2-9]|8[0-2])|572|638|758)\\d{4}","\\d{7}(?:\\d{3})?"]
+,[,,"758(?:28[4-7]|384|4(?:6[01]|8[4-9])|5(?:1[89]|20|84)|7(?:1[2-9]|2[0-6]))\\d{4}","\\d{10}"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
 ,[,,"900[2-9]\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ]
 ,"MD":[,[,,"[25-9]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:1[0569]|2\\d|3[015-7]|4[1-46-9]|5[0-24689]|6[2-589]|7[1-37]|9[1347-9])|5(?:33|5[257]))\\d{5}","\\d{5,8}"]
-,[,,"(?:562|6(?:50|7[1-4]|[089]\\d)|7(?:7[47-9]|[89]\\d))\\d{5}","\\d{8}"]
+,[,,"(?:562|6(?:50|7[1-5]|[089]\\d)|7(?:7[47-9]|[89]\\d))\\d{5}","\\d{8}"]
 ,[,,"800\\d{5}","\\d{8}"]
 ,[,,"90[056]\\d{5}","\\d{8}"]
 ,[,,"808\\d{5}","\\d{8}"]
 ]
 ,"MS":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
 ,[,,"664491\\d{4}","\\d{7}(?:\\d{3})?"]
-,[,,"664492\\d{4}","\\d{10}"]
+,[,,"66449[2-6]\\d{4}","\\d{10}"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
 ,[,,"900[2-9]\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ]
 ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7[0-8])\\d{6}","\\d{8}"]
-,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}"]
+,[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}","\\d{8}"]
 ,[,,"80[01]\\d{5}","\\d{8}"]
 ,[,,"82[09]\\d{5}","\\d{8}"]
 ,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}"]
 ,[,,"880\\d{5}","\\d{8}"]
-,[,,"NA","NA"]
+,[,,"85[0-5]\\d{5}","\\d{8}"]
 ,"NO",47,"00",,,,,,,,[[,"([489]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["[489]"]
 ,"","",0]
 ,[,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]
 ,1,,[,,"NA","NA"]
 ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
 ,1,[,,"11[023]","\\d{3}"]
-,[,,"NA","NA"]
+,[,,"81[23]\\d{5}","\\d{8}"]
 ]
 ,"NP":[,[,,"[1-8]\\d{7}|9(?:[1-69]\\d{6}|7[2-6]\\d{5,7}|8\\d{8})","\\d{6,10}"]
 ,[,,"(?:1[0124-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])\\d{6}","\\d{6,8}"]
 ,[,,"NA","NA"]
 ]
 ,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
-,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|5[57]|65|7[016-8]|8[58]|9[1-49])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9[0-79])|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:09|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89]|99)|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}"]
-,[,,"(?:161|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-8]\\d|1[0-5]|2[0-4]|3[7-9]|9[0-8])\\d{5}","\\d{7,8}"]
+,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|57|65|7[016-8]|8[58]|9[134])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9\\d)|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89])|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}"]
+,[,,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-9]\\d|1[0-5]|2[0-6]|3[6-9])\\d{5}","\\d{7,8}"]
 ,[,,"80[09]\\d{4}","\\d{7}"]
 ,[,,"(?:779|8(?:2[235]|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}"]
 ,[,,"NA","NA"]
 ]
 ,"PK":[,[,,"1\\d{8}|[2-8]\\d{5,11}|9(?:[013-9]\\d{4,9}|2\\d(?:111\\d{6}|\\d{3,7}))","\\d{6,12}"]
 ,[,,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}","\\d{6,10}"]
-,[,,"3(?:0\\d|1[2-5]|2[1-5]|3[1-6]|4[1-7]|64)\\d{7}","\\d{10}"]
+,[,,"3(?:0\\d|[12][1-5]|3[1-6]|4[1-7]|55|64)\\d{7}","\\d{10}"]
 ,[,,"800\\d{5}","\\d{8}"]
 ,[,,"900\\d{5}","\\d{8}"]
 ,[,,"NA","NA"]
 ]
 ,"SI":[,[,,"[1-7]\\d{6,7}|[89]\\d{4,7}","\\d{5,8}"]
 ,[,,"(?:1\\d|2[2-8]|3[4-8]|4[24-8]|[57][3-8])\\d{6}","\\d{7,8}"]
-,[,,"(?:[37][01]|4[019]|51|64)\\d{6}","\\d{8}"]
+,[,,"(?:[37][01]|4[019]|51|6[48])\\d{6}","\\d{8}"]
 ,[,,"80\\d{4,6}","\\d{6,8}"]
 ,[,,"90\\d{4,6}|89[1-3]\\d{2,5}","\\d{5,8}"]
 ,[,,"NA","NA"]
 ,[,,"(?:59|8[1-3])\\d{6}","\\d{8}"]
 ,"SI",386,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[12]|3[4-8]|4[24-8]|5[3-8]|7[3-8]"]
 ,"(0$1)","",0]
-,[,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[019]|51|64"]
+,[,"([3-7]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[37][01]|4[019]|51|6"]
 ,"0$1","",0]
 ,[,"([89][09])(\\d{3,6})","$1 $2",["[89][09]"]
 ,"0$1","",0]
 ]
 ,"SJ":[,[,,"0\\d{4}|[4789]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"79\\d{6}","\\d{8}"]
-,[,,"(?:4[015-8]|9\\d)\\d{6}","\\d{8}"]
+,[,,"(?:4[015-8]|5[89]|9\\d)\\d{6}","\\d{8}"]
 ,[,,"80[01]\\d{5}","\\d{8}"]
 ,[,,"82[09]\\d{5}","\\d{8}"]
 ,[,,"810(?:0[0-6]|[2-8]\\d)\\d{3}","\\d{8}"]
 ,[,,"880\\d{5}","\\d{8}"]
-,[,,"NA","NA"]
+,[,,"85[0-5]\\d{5}","\\d{8}"]
 ,"SJ",47,"00",,,,,,,,,,[,,"NA","NA"]
 ,,,[,,"NA","NA"]
 ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
 ,1,[,,"11[023]","\\d{3}"]
-,[,,"NA","NA"]
+,[,,"81[23]\\d{5}","\\d{8}"]
 ]
 ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
 ,[,,"[2-5]\\d{8}","\\d{9}"]
 ,[,,"NA","NA"]
 ]
 ,"SO":[,[,,"[1-79]\\d{6,8}","\\d{7,9}"]
-,[,,"(?:5[57-9]|[1-4]\\d)\\d{5}","\\d{7}"]
-,[,,"(?:15|24|6[179]?\\d|7\\d|9[01])\\d{6}","\\d{8,9}"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,"SO",252,"00","0",,,"0",,,,[[,"(\\d)(\\d{6})","$1 $2",["[1-5]"]
+,[,,"(?:[134]\\d|2[0-79]|5[57-9])\\d{5}","\\d{7}"]
+,[,,"(?:15\\d|2(?:4\\d|8)|6[17-9]?\\d{2}|7\\d{2}|9[01]\\d)\\d{5}","\\d{7,9}"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,"SO",252,"00","0",,,"0",,,,[[,"(\\d)(\\d{6})","$1 $2",["2[0-79]|[13-5]"]
 ,"","",0]
-,[,"(\\d)(\\d{7})","$1 $2",["[267]"]
+,[,"(\\d)(\\d{7})","$1 $2",["24|[67]"]
 ,"","",0]
-,[,"([19]\\d)(\\d{6})","$1 $2",["15|9"]
-,"","",0]
-,[,"(6\\d)(\\d{7})","$1 $2",["6[17]"]
+,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[178]|9"]
 ,"","",0]
 ,[,"(69\\d)(\\d{6})","$1 $2",["69"]
 ,"","",0]
 ]
 ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"]
 ,[,,"(?:1(?:1\\d?|4\\d|[2356])|2[1-35]|3(?:[13]\\d|4)|4[13]|5[1-3])\\d{6}","\\d{6,9}"]
-,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[1-49])\\d{6}","\\d{9}"]
+,[,,"9(?:22|3[1-356]|4\\d|5[024-7]|6[26-9]|88|9[0-489])\\d{6}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"SY",963,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[1-5]"]
 ,"0$1","",1]
-,[,"(9[3-689])(\\d{4})(\\d{3})","$1 $2 $3",["9"]
+,[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"]
 ,"0$1","",1]
 ]
 ,,[,,"NA","NA"]
 ]
 ,"TC":[,[,,"[5689]\\d{9}","\\d{7}(?:\\d{3})?"]
 ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7}(?:\\d{3})?"]
-,[,,"649(?:2(?:3[12]|4[1-5])|3(?:3[1-39]|4[1-57])|4[34][12])\\d{4}","\\d{10}"]
+,[,,"649(?:2(?:3[12]|4[1-7])|3(?:3[1-39]|4[1-7])|4[34][12])\\d{4}","\\d{10}"]
 ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
 ,[,,"900[2-9]\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ,,[,,"0[1-3]","\\d{2}"]
 ,[,,"NA","NA"]
 ]
-,"TN":[,[,,"[2457-9]\\d{7}","\\d{8}"]
-,[,,"7\\d{7}","\\d{8}"]
-,[,,"(?:[29]\\d|4[01]|5[01258]|)\\d{6}","\\d{8}"]
-,[,,"NA","NA"]
-,[,,"8[028]\\d{6}","\\d{8}"]
+,"TN":[,[,,"[2-57-9]\\d{7}","\\d{8}"]
+,[,,"(?:3[012]|7\\d)\\d{6}","\\d{8}"]
+,[,,"(?:[259]\\d|4[01])\\d{6}","\\d{8}"]
+,[,,"NA","NA"]
+,[,,"8[0128]\\d{6}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"]
-,[,,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69]|)|9(?:4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}","\\d{7,9}"]
+,[,,"(?:6(?:1(?:22|3[124]|4[1-4]|5[123578]|64)|2(?:22|3[0-57-9]|41)|5(?:22|3[3-7]|5[024-8])|6\\d{2}|7(?:[23]\\d|7[69]|)|9(?:22|4[1-8]|6[135]))|7(?:0(?:5[4-9]|6[0146]|7[12456]|9[135-8])|1[12]\\d|2(?:22|3[1345789]|4[123579]|5[14])|3(?:2\\d|3[1578]|4[1-35-7]|5[1-57]|61)|4(?:2\\d|3[1-579]|7[1-79])|5(?:22|5[1-9]|6[1457])|6(?:22|3[12457]|4[13-8])|9(?:22|5[1-9])))\\d{5}","\\d{7,9}"]
 ,[,,"6(?:1(?:2(?:98|2[01])|35[0-4]|50\\d|61[23]|7(?:[01][017]|4\\d|55|9[5-9]))|2(?:11\\d|2(?:[12]1|9[01379])|5(?:[126]\\d|3[0-4])|7\\d{2})|5(?:19[01]|2(?:27|9[26])|30\\d|59\\d|7\\d{2})|6(?:2(?:1[5-9]|2[0367]|38|41|52|60)|3[79]\\d|4(?:56|83)|7(?:[07]\\d|1[017]|3[07]|4[047]|5[057]|67|8[0178]|9[79])|9[0-3]\\d)|7(?:2(?:24|3[237]|4[5-9]|7[15-8])|5(?:7[12]|8[0589])|7(?:0\\d|[39][07])|9(?:0\\d|7[079]))|9(2(?:1[1267]|5\\d|3[01]|7[0-4])|5[67]\\d|6(?:2[0-26]|8\\d)|7\\d{2}))\\d{4}|7(?:0\\d{3}|1(?:13[01]|6(?:0[47]|1[67]|66)|71[3-69]|98\\d)|2(?:2(?:2[79]|95)|3(?:2[5-9]|6[0-6])|57\\d|7(?:0\\d|1[17]|2[27]|3[37]|44|5[057]|66|88))|3(?:2(?:1[0-6]|21|3[469]|7[159])|33\\d|5(?:0[0-4]|5[579]|9\\d)|7(?:[0-3579]\\d|4[0467]|6[67]|8[078])|9[4-6]\\d)|4(?:2(?:29|5[0257]|6[0-7]|7[1-57])|5(?:1[0-4]|8\\d|9[5-9])|7(?:0\\d|1[024589]|2[0127]|3[0137]|[46][07]|5[01]|7[5-9]|9[079])|9(?:7[015-9]|[89]\\d))|5(?:112|2(?:0\\d|2[29]|[49]4)|3[1568]\\d|52[6-9]|7(?:0[01578]|1[017]|[23]7|4[047]|[5-7]\\d|8[78]|9[079]))|6(?:2(?:2[1245]|4[2-4])|39\\d|41[179]|5(?:[349]\\d|5[0-2])|7(?:0[017]|[13]\\d|22|44|55|67|88))|9(?:22[128]|3(?:2[0-4]|7\\d)|57[05629]|7(?:2[05-9]|3[37]|4\\d|60|7[2579]|87|9[07])))\\d{4}|9[0-57-9]\\d{7}","\\d{7,9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ]
 ,"VN":[,[,,"[17]\\d{6,9}|[2-69]\\d{7,9}|8\\d{6,8}","\\d{7,10}"]
 ,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|4\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01])|8[1-9])\\d{7}","\\d{9,10}"]
-,[,,"(?:9\\d|1(?:2\\d|6[3-9]|8[68]|99))\\d{7}","\\d{9,10}"]
+,[,,"(?:9\\d|1(?:2\\d|6[2-9]|8[68]|99))\\d{7}","\\d{9,10}"]
 ,[,,"1800\\d{4,6}","\\d{8,10}"]
 ,[,,"1900\\d{4,6}","\\d{8,10}"]
 ,[,,"NA","NA"]
 ]
 ,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"]
 ,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}"]
-,[,,"7[137]\\d{7}","\\d{9}"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"NA","NA"]
-,[,,"86(?:1[12]|22|30|44|8[367]|99)\\d{6}","\\d{10}"]
+,[,,"7[137]\\d{7}|86(?:22|44)\\d{6}","\\d{9,10}"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"NA","NA"]
+,[,,"86(?:1[12]|30|8[367]|99)\\d{6}","\\d{10}"]
 ,"ZW",263,"00","0",,,"0",,,,[[,"([49])(\\d{3})(\\d{2,5})","$1 $2 $3",["4|9[2-9]"]
 ,"0$1","",0]
 ,[,"([179]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[19]1|7"]
 ,"0$1","",0]
+,[,"(86\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["86[24]"]
+,"0$1","",0]
 ,[,"([1-356]\\d)(\\d{3,5})","$1 $2",["1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"]
 ,"0$1","",0]
 ,[,"([1-356]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"]
 ,"0$1","",0]
 ,[,"([25]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:25|54)8","258[23]|5483"]
 ,"0$1","",0]
-,[,"(8\\d{3})(\\d{6})","$1 $2",["8"]
+,[,"(8\\d{3})(\\d{6})","$1 $2",["86[1389]"]
 ,"0$1","",0]
 ]
 ,,[,,"NA","NA"]

javascript/i18n/phonenumbers/phonenumberutil.js

 
 
 /**
+ * @const
+ * @type {string}
+ * @private
+ */
+i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_ = 'tel:';
+
+
+/**
+ * We include the "+" here since RFC3966 format specifies that the context must
+ * be specified in international format.
+ *
+ * @const
+ * @type {string}
+ * @private
+ */
+i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_ = ';phone-context=+';
+
+
+/**
  * These mappings map a character (key) to a specific digit that should replace
  * it for normalization purposes. Non-European digits that may be used in phone
  * numbers are mapped to a European equivalent.
 
 /**
  * INTERNATIONAL and NATIONAL formats are consistent with the definition in
- * ITU-T Recommendation E. 123. For example, the number of the Google
- * Switzerland office will be written as '+41 44 668 1800' in INTERNATIONAL
- * format, and as '044 668 1800' in NATIONAL format. E164 format is as per
- * INTERNATIONAL format but with no formatting applied, e.g. +41446681800.
- * RFC3966 is as per INTERNATIONAL format, but with all spaces and other
- * separating symbols replaced with a hyphen, and with any phone number
- * extension appended with ';ext='.
+ * ITU-T Recommendation E123. For example, the number of the Google Switzerland
+ * office will be written as '+41 44 668 1800' in INTERNATIONAL format, and as
+ * '044 668 1800' in NATIONAL format. E164 format is as per INTERNATIONAL format
+ * but with no formatting applied, e.g. '+41446681800'. RFC3966 is as per
+ * INTERNATIONAL format, but with all spaces and other separating symbols
+ * replaced with a hyphen, and with any phone number extension appended with
+ * ';ext='. It also will have a prefix of 'tel:' added, e.g.
+ * 'tel:+41-44-668-1800'.
  *
  * Note: If you are considering storing the number in a neutral format, you are
  * highly advised to use the PhoneNumber class.
 
 
 /**
- * Gets the length of the geographical area code in the {@code national_number}
- * field of the PhoneNumber object passed in, so that clients could use it to
- * split a national significant number into geographical area code and
- * subscriber number. It works in such a way that the resultant subscriber
- * number should be diallable, at least on some devices. An example of how this
- * could be used:
+ * Gets the length of the geographical area code from the
+ * {@code national_number} field of the PhoneNumber object passed in, so that
+ * clients could use it to split a national significant number into geographical
+ * area code and subscriber number. It works in such a way that the resultant
+ * subscriber number should be diallable, at least on some devices. An example
+ * of how this could be used:
  *
  * <pre>
  * var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance();
   }
   /** @type {i18n.phonenumbers.PhoneMetadata} */
   var metadata = this.getMetadataForRegion(regionCode);
-  if (!metadata.hasNationalPrefix()) {
+  // If a country doesn't use a national prefix, and this number doesn't have an
+  // Italian leading zero, we assume it is a closed dialling plan with no area
+  // codes.
+  if (!metadata.hasNationalPrefix() && !number.hasItalianLeadingZero()) {
     return 0;
   }
 
       return i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN + countryCallingCode +
           ' ' + formattedNationalNumber + formattedExtension;
     case i18n.phonenumbers.PhoneNumberFormat.RFC3966:
-      return i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN + countryCallingCode +
+      return i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_ +
+          i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN + countryCallingCode +
           '-' + formattedNationalNumber + formattedExtension;
     case i18n.phonenumbers.PhoneNumberFormat.NATIONAL:
     default:
       i18n.phonenumbers.PhoneNumberUtil.MAX_INPUT_STRING_LENGTH_) {
     throw 'The string supplied was too long to parse';
   }
-  // Extract a possible number from the string passed in (this strips leading
-  // characters that could not be the start of a phone number.)
-  /** @type {string} */
-  var number =
-      i18n.phonenumbers.PhoneNumberUtil.extractPossibleNumber(numberToParse);
-  if (!i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber(number)) {
+
+  /** @type {number} */
+  var indexOfPhoneContext = numberToParse.indexOf(
+      i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_);
+  /** @type {!goog.string.StringBuffer} */
+  var nationalNumber = new goog.string.StringBuffer();
+  if (indexOfPhoneContext > 0) {
+    // Prefix the number with the phone context. The offset here is because the
+    // context we are expecting to match should start with a "+" sign, and we
+    // want to include this at the start of the number.
+    nationalNumber.append(numberToParse.substring(
+        indexOfPhoneContext +
+        i18n.phonenumbers.PhoneNumberUtil.RFC3966_PHONE_CONTEXT_.length - 1));
+    // Now append everything between the "tel:" prefix and the phone-context.
+    nationalNumber.append(numberToParse.substring(
+        numberToParse.indexOf(
+            i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_) +
+        i18n.phonenumbers.PhoneNumberUtil.RFC3966_PREFIX_.length,
+        indexOfPhoneContext));
+    // Note that phone-contexts that are URLs will not be parsed -
+    // isViablePhoneNumber will throw an exception below.
+  } else {
+    // Extract a possible number from the string passed in (this strips leading
+    // characters that could not be the start of a phone number.)
+    nationalNumber.append(
+        i18n.phonenumbers.PhoneNumberUtil.extractPossibleNumber(numberToParse));
+  }
+
+  if (!i18n.phonenumbers.PhoneNumberUtil.isViablePhoneNumber(
+      nationalNumber.toString())) {
     throw i18n.phonenumbers.Error.NOT_A_NUMBER;
   }
 
   // Check the region supplied is valid, or that the extracted number starts
   // with some sort of + sign so the number's region can be determined.
-  if (checkRegion && !this.checkRegionForParsing_(number, defaultRegion)) {
+  if (checkRegion &&
+      !this.checkRegionForParsing_(nationalNumber.toString(), defaultRegion)) {
     throw i18n.phonenumbers.Error.INVALID_COUNTRY_CODE;
   }
 
   if (keepRawInput) {
     phoneNumber.setRawInput(numberToParse);
   }
-  /** @type {!goog.string.StringBuffer} */
-  var nationalNumber = new goog.string.StringBuffer(number);
   // Attempt to parse extension first, since it doesn't require region-specific
   // data and we want to have the non-normalised number here.
   /** @type {string} */

javascript/i18n/phonenumbers/phonenumberutil_test.js

   // Google Sydney, which has area code '2'.
   assertEquals(1, phoneUtil.getLengthOfGeographicalAreaCode(AU_NUMBER));
 
+  // Italian numbers - there is no national prefix, but it still has an area
+  // code.
+  assertEquals(2, phoneUtil.getLengthOfGeographicalAreaCode(IT_NUMBER));
+
   // Google Singapore. Singapore has no area code and no national prefix.
   assertEquals(0, phoneUtil.getLengthOfGeographicalAreaCode(SG_NUMBER));
 
                phoneUtil.format(US_PREMIUM, PNF.NATIONAL));
   assertEquals('+1 900 253 0000',
                phoneUtil.format(US_PREMIUM, PNF.INTERNATIONAL));
-  assertEquals('+1-900-253-0000',
+  assertEquals('tel:+1-900-253-0000',
                phoneUtil.format(US_PREMIUM, PNF.RFC3966));
   // Numbers with all zeros in the national number part will be formatted by
   // using the raw_input if that is available no matter which format is
                phoneUtil.format(deNumber, PNF.NATIONAL));
   assertEquals('+49 30/1234',
                phoneUtil.format(deNumber, PNF.INTERNATIONAL));
-  assertEquals('+49-30-1234',
+  assertEquals('tel:+49-30-1234',
                phoneUtil.format(deNumber, PNF.RFC3966));
 
   deNumber = new i18n.phonenumbers.PhoneNumber();
                phoneUtil.formatByPattern(US_NUMBER,
                                          PNF.INTERNATIONAL,
                                          [newNumFormat]));
-  assertEquals('+1-650-253-0000',
+  assertEquals('tel:+1-650-253-0000',
                phoneUtil.formatByPattern(US_NUMBER,
                                          PNF.RFC3966,
                                          [newNumFormat]));
   assertEquals('03-331 6005 ext. 1234',
                phoneUtil.format(nzNumber, PNF.NATIONAL));
   // Uses RFC 3966 syntax.
-  assertEquals('+64-3-331-6005;ext=1234',
+  assertEquals('tel:+64-3-331-6005;ext=1234',
                phoneUtil.format(nzNumber, PNF.RFC3966));
   // Extension prefix overridden in the territory information for the US:
   /** @type {i18n.phonenumbers.PhoneNumber} */
   // National prefix attached and some formatting present.
   assertTrue(NZ_NUMBER.equals(phoneUtil.parse('03-331 6005', RegionCode.NZ)));
   assertTrue(NZ_NUMBER.equals(phoneUtil.parse('03 331 6005', RegionCode.NZ)));
+  // Test parsing RFC3966 format with a phone context.
+  assertTrue(NZ_NUMBER.equals(
+      phoneUtil.parse('tel:03-331-6005;phone-context=+64', RegionCode.NZ)));
+  assertTrue(NZ_NUMBER.equals(
+      phoneUtil.parse('tel:331-6005;phone-context=+64-3', RegionCode.NZ)));
+  assertTrue(NZ_NUMBER.equals(
+      phoneUtil.parse('tel:331-6005;phone-context=+64-3', RegionCode.US)));
 
   // Testing international prefixes.
   // Should strip country calling code.
   // Test star numbers. Although this is not strictly valid, we would like to
   // make sure we can parse the output we produce when formatting the number.
   assertTrue(
-      JP_STAR_NUMBER.equals(phoneUtil.parse("+81 *2345", RegionCode.JP)));
+      JP_STAR_NUMBER.equals(phoneUtil.parse('+81 *2345', RegionCode.JP)));
 }
 
 function testParseNumberWithAlphaCharacters() {
                  i18n.phonenumbers.Error.NOT_A_NUMBER,
                  e);
   }
+  try {
+    /** @type {string} */
+    var domainRfcPhoneContext = 'tel:555-1234;phone-context:www.google.com';
+    phoneUtil.parse(domainRfcPhoneContext, RegionCode.US);
+    fail('Domain provided for phone context - should fail.');
+  } catch (e) {
+    // Expected this exception.
+    assertEquals('Wrong error type stored in exception.',
+                 i18n.phonenumbers.Error.NOT_A_NUMBER,
+                 e);
+  }
+  try {
+    // This is invalid because no '+' sign is present as part of phone-context.
+    // This should not succeed in being parsed.
+    /** @type {string} */
+    var invalidRfcPhoneContext = 'tel:555-1234;phone-context:1-331';
+    phoneUtil.parse(invalidRfcPhoneContext, RegionCode.US);
+    fail('No leading plus provided in phone context - should fail.');
+  } catch (e) {
+    // Expected this exception.
+    assertEquals('Wrong error type stored in exception.',
+                 i18n.phonenumbers.Error.NOT_A_NUMBER,
+                 e);
+  }
 }
 
 function testParseNumbersWithPlusWithNoRegion() {
   assertTrue(
       INTERNATIONAL_TOLL_FREE.equals(phoneUtil.parse('+800 1234 5678', null)));
 
+  // Test parsing RFC3966 format with a phone context.
+  assertTrue(NZ_NUMBER.equals(
+      phoneUtil.parse('tel:03-331-6005;phone-context=+64', RegionCode.ZZ)));
+  assertTrue(NZ_NUMBER.equals(
+      phoneUtil.parse('  tel:03-331-6005;phone-context=+64', RegionCode.ZZ)));
+
   // It is important that we set the carrier code to an empty string, since we
   // used ParseAndKeepRawInput and no carrier code was found.
   /** @type {i18n.phonenumbers.PhoneNumber} */
       phoneUtil.parse('+44 2034567890  X 456', RegionCode.GB)));
   assertTrue(ukNumber.equals(
       phoneUtil.parse('+44-2034567890;ext=456', RegionCode.GB)));
+  assertTrue(ukNumber.equals(
+      phoneUtil.parse('tel:2034567890;ext=456;phone-context=+44',
+                      RegionCode.ZZ)));
   // Full-width extension, 'extn' only.
   assertTrue(ukNumber.equals(
       phoneUtil.parse('+442034567890\uFF45\uFF58\uFF54\uFF4E456',