Updating JS project to Java version to r60. Patch submitted by tronikos.
authorlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>
Fri, 29 Oct 2010 21:59:26 +0000 (21:59 +0000)
committerlararennie@google.com <lararennie@google.com@ee073f10-1060-11df-b6a4-87a95322a99c>
Fri, 29 Oct 2010 21:59:26 +0000 (21:59 +0000)
git-svn-id: http://libphonenumber.googlecode.com/svn/trunk@61 ee073f10-1060-11df-b6a4-87a95322a99c

java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java
javascript/README
javascript/i18n/phonenumbers/asyoutypeformatter.js
javascript/i18n/phonenumbers/metadata.js
javascript/i18n/phonenumbers/metadatafortesting.js
javascript/i18n/phonenumbers/metadatalite.js
javascript/i18n/phonenumbers/phonemetadata.pb.js
javascript/i18n/phonenumbers/phonenumberutil.js
javascript/i18n/phonenumbers/phonenumberutil_test.js

index 95952a7..277a2ed 100644 (file)
@@ -296,7 +296,6 @@ public class BuildMetadataJsonFromXml {
     } else {
       jsArrayBuilder.append(null);
     }
-
     // required string id = 9;
     jsArrayBuilder.append(metadata.getId());
     // required int32 country_code = 10;
@@ -364,8 +363,12 @@ public class BuildMetadataJsonFromXml {
     } else {
       jsArrayBuilder.append(null);
     }
-    // missing 21
-    jsArrayBuilder.append(null);
+    // required PhoneNumberDesc pager = 21;
+    if (metadata.hasPager()) {
+      toJsArray(metadata.getPager(), jsArrayBuilder);
+    } else {
+      jsArrayBuilder.append(null);
+    }
     // optional bool main_country_for_code = 22 [default=false];
     if (metadata.getMainCountryForCode()) {
       jsArrayBuilder.append(1);
index 619a278..0c7e976 100644 (file)
@@ -25,7 +25,7 @@ pages with your web browser:
 
 How to update:
 ==============
-The JavaScript library is ported from the Java implementation (revision 53).
+The JavaScript library is ported from the Java implementation (revision 60).
 When the Java project gets updated follow these steps to update the JavaScript
 project:
 
index 1a94428..248e945 100644 (file)
@@ -538,7 +538,10 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.getRememberedPosition =
       this.accruedInputWithoutFormatting_.toString();
   /** @type {string} */
   var currentOutput = this.currentOutput_.toString();
-  while (accruedInputIndex < this.positionToRemember_) {
+  /** @type {number} */
+  var currentOutputLength = currentOutput.length;
+  while (accruedInputIndex < this.positionToRemember_ &&
+         currentOutputIndex < currentOutputLength) {
     if (accruedInputWithoutFormatting.charAt(accruedInputIndex) ==
         currentOutput.charAt(currentOutputIndex)) {
       accruedInputIndex++;
index 5c59612..2fd9871 100644 (file)
@@ -255,6 +255,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(180[02])(\\d{4})","$1 $2",["1"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AE":[,[,,"[2-79]\\d{7,8}|800\\d{2,9}","\\d{5,12}"]
 ,[,,"(?:[2-4679][2-8]\\d|600[25])\\d{5}","\\d{7,9}",,,"22345678"]
@@ -269,13 +270,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5[056])(\\d{3})(\\d{4})","$1 $2 $3",["5"]
 ,"0$1",""]
 ,[,"([4679]00)(\\d)(\\d{5})","$1 $2 $3",["[4679]0"]
-,"0$1",""]
-,[,"(800)(\\d{2})(\\d{0,7})","$1 $2 $3",["8"]
-,"0$1",""]
+,"$1",""]
+,[,"(800)(\\d{2,9})","$1 $2",["8"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"AF":[,[,,"[2-7]\\d{8}","\\d{9}"]
-,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{9}",,,"234567890"]
+,"AF":[,[,,"[2-7]\\d{8}","\\d{7,9}"]
+,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{7,9}",,,"234567890"]
 ,[,,"7[057-9]\\d{7}","\\d{9}",,,"701234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -284,6 +286,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AF",93,"00","0",,,"0",,,,[[,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"268(?:4(?:6[0-3]|84)|56[0-2])\\d{4}","\\d{7,10}",,,"2684601234"]
@@ -293,7 +296,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"26848[01]\\d{4}","\\d{10}",,,"2684801234"]
-,"AG",1,"011","1",,,"1",,,,,,,,"268"]
+,"AG",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"268"]
 ,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}",,,"2644612345"]
 ,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}",,,"2642351234"]
@@ -302,7 +306,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AI",1,"011","1",,,"1",,,,,,,,"264"]
+,"AI",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"264"]
 ,"AL":[,[,,"[2-57]\\d{7}|6\\d{8}|8\\d{5,7}|9\\d{5}","\\d{5,9}"]
 ,[,,"(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}","\\d{5,8}",,,"22345678"]
 ,[,,"6[6-9]\\d{7}","\\d{9}",,,"661234567"]
@@ -320,6 +325,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,5})","$1 $2",["[235][16-9]|8[016-9]|[79]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
 ,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}",,,"10123456"]
@@ -336,6 +342,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"]
 ,"0 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AN":[,[,,"[13-79]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:318|5(?:25|4\\d|8[239])|7(?:1[578]|50)|9(?:[48]\\d{2}|50\\d|7(?:2[0-2]|[34]\\d|6[35-7]|77)))\\d{4}|416[0239]\\d{3}","\\d{7,8}",,,"7151234"]
@@ -350,6 +357,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
 ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",,,"222123456"]
@@ -361,6 +369,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AR":[,[,,"[1-9]\\d{9,11}","\\d{6,12}"]
 ,[,,"[1-9]\\d{9}","\\d{6,10}",,,"1123456789"]
@@ -400,6 +409,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}",,,"6846221234"]
@@ -409,7 +419,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AS",1,"011","1",,,"1",,,,,,,,"684"]
+,"AS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"684"]
 ,"AT":[,[,,"\\d{4,13}","\\d{3,13}"]
 ,[,,"1\\d{3,12}|(?:2(?:1[467]|2[134-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|8[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:1[27]|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}|5(?:0[1-9]|[79]\\d)\\d{2,10}|720\\d{6,10}","\\d{3,13}",,,"1234567890"]
 ,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}",,,"644123456"]
@@ -425,6 +436,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{3,9})","$1 $2",["2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-35-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[57-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"]
 ,[,,"[2378]\\d{8}","\\d{8,9}",,,"212345678"]
@@ -447,6 +459,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(13)(\\d{2})(\\d{2})","$1 $2 $3",["13[1-9]"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AW":[,[,,"[5-9]\\d{6}","\\d{7}"]
 ,[,,"5(?:2\\d{2}|8(?:[2-7]\\d|8[0-79]|9[48]))\\d{3}","\\d{7}",,,"5212345"]
@@ -458,6 +471,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{8,9}"]
 ,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[0236-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{8,9}",,,"123123456"]
@@ -472,6 +486,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([12]\\d{2})(\\d{5})","$1 $2",["1[013-79]|2[013-9]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BA":[,[,,"[3-689]\\d{7}","\\d{6,8}"]
 ,[,,"(?:[35]\\d|49|81)\\d{6}","\\d{6,8}",,,"30123456"]
@@ -483,6 +498,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BA",387,"00","0",,,"0",,,,[[,"([3-689]\\d)(\\d{3})(\\d{3})","$1 $2-$3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"246[2-9]\\d{6}","\\d{7,10}",,,"2462345678"]
@@ -492,7 +508,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BB",1,"011","1",,,"1",,,,,,,,"246"]
+,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"246"]
 ,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
 ,[,,"2(?:7\\d1|8(?:[026]1|[1379][1-5]|8[1-8])|9(?:0[0-2]|1[1-4]|3[3-5]|5[56]|6[67]|71|8[078]))\\d{4}|3(?:[6-8]1|(?:0[23]|[25][12]|82|416)\\d|(?:31|12?[5-7])\\d{2})\\d{3}|4(?:(?:02|[49]6|[68]1)|(?:0[13]|21\\d?|[23]2|[457][12]|6[28])\\d|(?:23|[39]1)\\d{2}|1\\d{3})\\d{3}|5(?:(?:[457-9]1|62)|(?:1\\d?|2[12]|3[1-3]|52)\\d|61{2})|6(?:[45]1|(?:11|2[15]|[39]1)\\d|(?:[06-8]1|62)\\d{2})|7(?:(?:32|91)|(?:02|31|[67][12])\\d|[458]1\\d{2}|21\\d{3})\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}","\\d{6,9}",,,"27111234"]
 ,[,,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}","\\d{10}",,,"1812345678"]
@@ -510,6 +527,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{6})","$1 $2",["1"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"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-79]\\d)\\d{5}","\\d{8}",,,"12345678"]
@@ -528,10 +546,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BF":[,[,,"[2457]\\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"]
-,[,,"7(?:[024-6]\\d|1[0-489]|8[013-9]|90)\\d{5}","\\d{8}",,,"70123456"]
+,[,,"7(?:[024-6]\\d|1[0-489]|3[01]|8[013-9]|9[012])\\d{5}","\\d{8}",,,"70123456"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -539,6 +558,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BG":[,[,,"[1-9]\\d{6,8}","\\d{7,9}"]
 ,[,,"2\\d{6,7}|(?:[367]\\d|4[124-7]|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|43[1-6]\\d{4,5}","\\d{7,8}",,,"2123456"]
@@ -557,6 +577,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["48|8[7-9]|9[08]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
 ,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}",,,"17001234"]
@@ -568,6 +589,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BI":[,[,,"[27]\\d{7}","\\d{8}"]
 ,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}",,,"22201234"]
@@ -579,6 +601,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BI",257,"00",,,,,,,,[[,"([27]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BJ":[,[,,"[2689]\\d{7}|7\\d{3}","\\d{4,8}"]
 ,[,,"2(?:02|1[037]|2[45]|3[68])\\d{5}","\\d{8}",,,"20211234"]
@@ -590,6 +613,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"857[58]\\d{4}","\\d{8}",,,"85751234"]
 ,"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BL":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:2[7-9]|5[12]|87)\\d{4}","\\d{9}",,,"590271234"]
@@ -599,7 +623,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BL",590,"00","0",,,"0"]
+,"BL",590,"00","0",,,"0",,,,,,[,,"NA","NA"]
+]
 ,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"]
 ,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}",,,"4412345678"]
 ,[,,"441(?:[37]\\d|5[0-39])\\d{5}","\\d{10}",,,"4413701234"]
@@ -608,7 +633,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BM",1,"011","1",,,"1",,,,,,,,"441"]
+,"BM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"441"]
 ,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"]
 ,[,,"[2-5]\\d{6}","\\d{7}",,,"2345678"]
 ,[,,"[78]\\d{6}","\\d{7}",,,"7123456"]
@@ -619,16 +645,23 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BN",673,"00","0",,,"0",,,,[[,"([2-578]\\d{2})(\\d{4})","$1 $2",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"BO":[,[]
-,[]
-,[]
+,"BO":[,[,,"[23467]\\d{7}","\\d{7,8}"]
+,[,,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}","\\d{7,8}",,,"22123456"]
+,[,,"[67]\\d{7}","\\d{8}",,,"71234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BO",591,"001[0-3]","0",,,"0",,,1]
+,"BO",591,"00(1\\d)?","0",,,"0(1\\d)?",,,,[[,"([234])(\\d{7})","$1 $2",["[234]"]
+,"",""]
+,[,"([67]\\d{7})","$1",["[67]"]
+,"",""]
+]
+,,[,,"NA","NA"]
+]
 ,"BR":[,[,,"[1-9]\\d{7,9}","\\d{8,10}"]
 ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}","\\d{8,10}",,,"1123456789"]
 ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[6-9]\\d{7}","\\d{10}",,,"1161234567"]
@@ -644,6 +677,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}",,,"2423456789"]
@@ -653,7 +687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BS",1,"011","1",,,"1",,,,,,,,"242"]
+,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"242"]
 ,"BT":[,[,,"(?:17|[2-8])\\d{6}","\\d{6,8}"]
 ,[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}","\\d{6,7}",,,"2345678"]
 ,[,,"17\\d{6}","\\d{8}",,,"17123456"]
@@ -667,6 +702,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([2-8])(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BW":[,[,,"[2-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0235-9]|55|6\\d|7[01]|9[0-57])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}","\\d{7}",,,"2401234"]
@@ -681,6 +717,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(90)(\\d{5})","$1 $2",["9"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BY":[,[,,"[12-4]\\d{8}|[89]\\d{9}","\\d{7,10}"]
 ,[,,"(?:1(?:5(?:1[1-5]|2\\d|6[1-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:2\\d|3[02-79]|4[024-7]|5[0-7])))\\d{5}","\\d{7,9}",,,"152450911"]
@@ -695,6 +732,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BZ":[,[]
 ,[]
@@ -704,7 +742,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BZ",501,"00","0",,,"0",,,1]
+,"BZ",501,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
 ,[,,"(?:2(?:04|26|50|89)|306|4(03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"2042345678"]
 ,[,,"(?:2(?:04|26|50|89)|306|4(03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67)|9(?:02|05))[2-9]\\d{6}","\\d{7,10}",,,"2042345678"]
@@ -713,7 +752,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CA",1,"011","1",,,"1"]
+,"CA",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+]
 ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
 ,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"]
 ,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}",,,"991234567"]
@@ -727,6 +767,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([1-6]\\d)(\\d{5})","$1 $2",["[1-6]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CF":[,[,,"[278]\\d{7}","\\d{8}"]
 ,[,,"2[12]\\d{6}","\\d{8}",,,"21612345"]
@@ -738,6 +779,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CG":[,[,,"[24-68]\\d{6}","\\d{7}"]
 ,[,,"(?:2[1-589]|8\\d)\\d{5}","\\d{7}",,,"2123456"]
@@ -749,6 +791,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CG",242,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"]
 ,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}",,,"212345678"]
@@ -763,6 +806,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CI":[,[,,"[02-5]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}","\\d{8}",,,"21234567"]
@@ -774,6 +818,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CK":[,[]
 ,[]
@@ -783,7 +828,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CK",682,"00","00",,,"00",,,1]
+,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"]
+]
 ,"CL":[,[,,"(?:[2-9]|600|123)\\d{7,8}","\\d{6,11}"]
 ,[,,"(?:2|32|41)\\d{7}|(?:3[3-5]|4[235]|5[1-3578]|6[13-57]|7[1-35])\\d{6,7}","\\d{6,9}",,,"21234567"]
 ,[,,"9[6-9]\\d{7}","\\d{8,9}",,,"961234567"]
@@ -807,6 +853,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["1"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CM":[,[,,"[237-9]\\d{7}","\\d{8}"]
 ,[,,"(?:22|33)\\d{6}","\\d{8}",,,"22123456"]
@@ -821,6 +868,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{2})(\\d{3})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CN":[,[,,"[1-79]\\d{7,11}|8[0-357-9]\\d{6,9}","\\d{4,12}"]
 ,[,,"21\\d{8,10}|(?:10|2[02-57-9]|3(?:11|7[159])|4[135]1|5(?:1\\d|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898)\\d{8}|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7[0-46-9]|8[23])|5(?:3[03-9]|4[36]|5\\d|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))\\d{7}|80(?:29|6[03578]|7[018]|81)\\d{4}","\\d{4,12}",,,"1012345678"]
@@ -866,6 +914,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"CO":[,[]
 ,[]
@@ -875,7 +924,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1]
+,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CR":[,[,,"[28]\\d{7}","\\d{8}"]
 ,[,,"2[24-7]\\d{6}","\\d{8}",,,"22123456"]
 ,[,,"8[38]\\d{6}","\\d{8}",,,"83123456"]
@@ -886,6 +936,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CR",506,"00",,,,,,,,[[,"([28]\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CU":[,[]
 ,[]
@@ -895,7 +946,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CU",53,"119","0",,,"0",,,1]
+,"CU",53,"119","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CV":[,[,,"[259]\\d{6}","\\d{7}"]
 ,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}",,,"2211234"]
 ,[,,"(?:9\\d|59)\\d{5}","\\d{7}",,,"9911234"]
@@ -906,6 +958,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"]
 ,[,,"2[2-6]\\d{6}","\\d{8}",,,"22345678"]
@@ -917,6 +970,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"]
 ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}",,,"212345678"]
@@ -928,6 +982,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DE":[,[,,"(?:4[0-8]|[1-35-9]\\d)\\d{4,12}|49(?:4[1-8]|[0-35-7]\\d)\\d{2,7}","\\d{2,14}"]
 ,[,,"(?:[246]\\d{2}|3[02-9]\\d|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])|[789](?:[1-9]\\d|0[2-9]))\\d{3,10}","\\d{2,14}",,,"30123456"]
@@ -952,6 +1007,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DJ":[,[,,"[2-8]\\d{5}","\\d{6}"]
 ,[,,"(?:25|3[0-6]|42)\\d{4}","\\d{6}",,,"251234"]
@@ -963,6 +1019,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"DJ",253,"00",,,,,,,,[[,"([2-8]\\d)(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DK":[,[,,"[1-9]\\d{7}","\\d{8}"]
 ,[,,"(?:3[2-9]|4[3-9]|5[4-9]|6[2-9]|7[02-9]|8[26-9]|9[6-9])\\d{6}","\\d{8}",,,"32123456"]
@@ -974,6 +1031,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"DK",45,"00",,,,,,,,[[,"([1-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"]
 ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}",,,"7674201234"]
@@ -983,7 +1041,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"DM",1,"011","1",,,"1",,,,,,,,"767"]
+,"DM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"767"]
 ,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
 ,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
@@ -992,7 +1051,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"DO",1,"011","1",,,"1",,,1,,,,,"8[024]9"]
+,"DO",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"8[024]9"]
 ,"DZ":[,[,,"(?:[1-4]|[5-9]\\d)\\d{7}","\\d{8,9}"]
 ,[,,"(?:1\\d|2[014-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}","\\d{8,9}",,,"12345678"]
 ,[,,"(?:5[56]|6[69]|7[79])\\d{7}","\\d{9}",,,"551234567"]
@@ -1008,6 +1068,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"EC":[,[]
 ,[]
@@ -1017,7 +1078,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"EC",593,"00","0",,,"0",,,1]
+,"EC",593,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
 ,[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}","\\d{7}",,,"3212345"]
 ,[,,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}","\\d{7,8}",,,"51234567"]
@@ -1033,6 +1095,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{3})(\\d{3,4})","$1 $2",["5|8(?:00|[1-5])","5|8(?:00[1-9]|[1-5])"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"EG":[,[,,"1\\d{4,9}|[2-689]\\d{7,9}","\\d{5,10}"]
 ,[,,"(?:1[35][23]|2[23]\\d|3\\d|4(?:0[2-4]|[578][23]|64)|5(?:0[234]|[57][23])|6[24-689]3|8(?:[28][2-4]|42|6[23])|9(?:[25]2|3[24]|6[23]|7[2-4]))\\d{6}|1[69]\\d{3}","\\d{5,9}",,,"234567890"]
@@ -1049,6 +1112,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ER":[,[,,"[178]\\d{6}","\\d{6,7}"]
 ,[,,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}","\\d{6,7}",,,"8370362"]
@@ -1060,6 +1124,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"]
 ,[,,"[89][1-8]\\d{7}","\\d{9}",,,"812345678"]
@@ -1067,10 +1132,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"[89]00\\d{6}","\\d{9}",,,"800123456"]
 ,[,,"80[367]\\d{6}","\\d{9}",,,"803123456"]
 ,[,,"90[12]\\d{6}","\\d{9}",,,"901123456"]
-,[,,"70\\d{7}","\\d{9}",,,"701234567"]
+,[,,"(?:51|70)\\d{7}","\\d{9}",,,"701234567"]
 ,[,,"NA","NA"]
 ,"ES",34,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"]
 ,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}",,,"111112345"]
@@ -1082,6 +1148,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ET",251,"00","0",,,"0",,,,[[,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"]
 ,[,,"1(?:0[1-9]\\d{3,7}|[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|[1-8]\\d{3,9}|9\\d{4,8})|3(?:0[1-9]\\d{3,7}|[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,12}",,,"1312345678"]
@@ -1098,6 +1165,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([6-8]00)(\\d{4,7})","$1 $2",["[6-8]0"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"FJ":[,[]
 ,[]
@@ -1107,7 +1175,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FJ",679,"00",,,,,,,1]
+,"FJ",679,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FK":[,[]
 ,[]
 ,[]
@@ -1116,7 +1185,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FK",500,"00","0",,,"0",,,1]
+,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"FM":[,[]
 ,[]
 ,[]
@@ -1125,7 +1195,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FM",691,"00",,,,,,,1]
+,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FO":[,[]
 ,[]
 ,[]
@@ -1134,7 +1205,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FO",298,"00",,,,,,,1]
+,"FO",298,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"]
 ,[,,"[1-5]\\d{8}","\\d{9}",,,"123456789"]
 ,[,,"6\\d{8}|7[5-9]\\d{7}","\\d{9}",,,"612345678"]
@@ -1148,6 +1220,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
 ,"0 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GA":[,[,,"[4-9]\\d{5}|0\\d{7}","\\d{6,8}"]
 ,[,,"(?:4(?:[04-8]\\d|2[04])|(?:5[04-689]|6[024-9]|7\\d|8[236]|9[02368])\\d)\\d{3}","\\d{6}",,,"441234"]
@@ -1162,33 +1235,39 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(0\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"GB":[,[,,"\\d{7,10}","\\d{6,10}"]
-,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[0-35689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}",,,"1212345678"]
-,[,,"7(?:4[0-26]\\d|5(?:[013-9]\\d|2[0-35-9])|7(?:0[1-9]|8[02-9]|9[0-689]|[1-7]\\d)|8(?:[014-9]\\d|[23][0-8])|9(?:1[02-9]|2[0135-9]|3[0-689]|[04-9]\\d))\\d{6}","\\d{10}",,,"7400123456"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}",,,"8012345678"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}",,,"9012345678"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}",,,"8431234567"]
+,"GB":[,[,,"\\d{7,10}","\\d{4,10}"]
+,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|2[02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-5789])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|3[013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|(?:3[0347]|55)\\d{8}","\\d{4,10}",,,"1212345678"]
+,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}",,,"7400123456"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"]
 ,[,,"70\\d{8}","\\d{10}",,,"7012345678"]
 ,[,,"56\\d{8}","\\d{10}",,,"5612345678"]
-,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[23]|5[56]|9[018]"]
+,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7[06]"]
+,"0$1",""]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:1|\\d1)|3|9[018]"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:1|\\d1)|500"]
+,[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:387|5(?:24|39)|697|768|946)","1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)"]
 ,"0$1",""]
-,[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:387|5(?:24|39)|697|768|946)","1(?:3873|5(?:242|39[4-6])|697[347]|768[347]|9467)"]
+,[,"(1\\d{3})(\\d{5,6})","$1 $2",["1"]
 ,"0$1",""]
-,[,"(1\\d{3})(\\d{4,6})","$1 $2",["1"]
+,[,"(7\\d{3})(\\d{6})","$1 $2",["7[1-5789]"]
 ,"0$1",""]
-,[,"(7\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7[1-9]"]
+,[,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"]
 ,"0$1",""]
-,[,"(70\\d{2})(\\d{6})","$1 $2",["70"]
+,[,"(845)(46)(4\\d)","$1 $2 $3",["845","8454","84546","845464"]
 ,"0$1",""]
-,[,"(800)(1111)","$1 $2",["800","8001"]
+,[,"(8\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:4[2-5]|7[0-3])"]
 ,"0$1",""]
-,[,"(8\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["8(?:0|4[3-5]|7[01])"]
+,[,"(80\\d)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
+,"0$1",""]
+,[,"([58]00)(\\d{6})","$1 $2",["[58]00"]
 ,"0$1",""]
 ]
-,,,1]
+,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"]
+,1]
 ,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"]
 ,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:08|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}",,,"4732691234"]
 ,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}",,,"4734031234"]
@@ -1197,7 +1276,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GD",1,"011","1",,,"1",,,,,,,,"473"]
+,"GD",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"473"]
 ,"GE":[,[,,"[1-3579]\\d{7}|8\\d{8}","\\d{3,9}"]
 ,[,,"(?:122|2(?:22|36|5[03])|3(?:1[0-35-8]|[24-6]\\d|3[1-35679]|7[0-39]|9[1-35-7])|44[2-6])\\d{5}","\\d{3,8}",,,"32123456"]
 ,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}",,,"55123456"]
@@ -1217,6 +1297,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GF":[,[]
 ,[]
@@ -1226,16 +1307,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GF",594,"00",,,,,,,1]
-,"GG":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
-,[,,"1481\\d{6}","\\d{6,10}",,,"1481123456"]
+,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"]
+]
+,"GG":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
+,[,,"1481\\d{6}","\\d{6,10}",,,"1481456789"]
 ,[,,"7(?:781|839|911)\\d{6}","\\d{10}",,,"7781123456"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}",,,"8012345678"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}",,,"9012345678"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}",,,"8431234567"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"]
 ,[,,"70\\d{8}","\\d{10}",,,"7012345678"]
 ,[,,"56\\d{8}","\\d{10}",,,"5612345678"]
-,"GG",44,"00","0"," x",,"0"]
+,"GG",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"]
+]
 ,"GH":[,[,,"[235]\\d{6,8}","\\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((?:[47]\\d|08)\\d{6}|[368]\\d{7})|54\\d{7}","\\d{9}",,,"231234567"]
@@ -1246,6 +1329,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GH",233,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GI":[,[]
 ,[]
@@ -1255,7 +1339,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GI",350,"00",,,,,,,1]
+,"GI",350,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
 ,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}",,,"321000"]
 ,[,,"[245][2-9]\\d{4}","\\d{6}",,,"221234"]
@@ -1266,6 +1351,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"3[89]\\d{4}","\\d{6}",,,"381234"]
 ,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GM":[,[,,"[3-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"]
@@ -1277,10 +1363,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"GN":[,[,,"[367]\\d{7}","\\d{8}"]
+,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
 ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}",,,"30241234"]
-,[,,"6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}",,,"60201234"]
+,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}",,,"60201234"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -1288,6 +1375,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GP":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:1[12]|2[0-68]|3[28]|4[126-8]|5[067]|6[018]|[89]\\d)\\d{4}","\\d{9}",,,"590201234"]
@@ -1299,7 +1387,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GP",590,"00","0",,,"0",,,,[[,"([56]90)(\\d{2})(\\d{4})","$1 $2-$3",,"0$1",""]
 ]
-,,,1]
+,,[,,"NA","NA"]
+,1]
 ,"GQ":[,[,,"[23589]\\d{8}","\\d{6,9}"]
 ,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{6,9}",,,"333091234"]
 ,[,,"(?:222|551)\\d{6}","\\d{6,9}",,,"222123456"]
@@ -1313,6 +1402,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{6})","$1 $2",["[89]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GR":[,[,,"[26-9]\\d{9}","\\d{10}"]
 ,[,,"2(?:1\\d{2}|2(?:3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[289][1-9])|3(?:1\\d|2[1-5]|3[1-4]|[45][1-3]|7[1-7]|8[1-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|2[1-3]|4[124]|5[1-6]|[39][1-4])|6(?:1\\d|3[24]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-35])|7(?:1\\d|[23][1-5]|4[1-7]|5[1-57]|6[134]|9[15-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-7]))\\d{6}","\\d{10}",,,"2123456789"]
@@ -1329,6 +1419,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(2\\d{3})(\\d{6})","$1 $2",["2[2-9][02-9]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GT":[,[]
 ,[]
@@ -1338,7 +1429,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GT",502,"00",,,,,,,1]
+,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}",,,"6713123456"]
 ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}",,,"6713123456"]
@@ -1347,7 +1439,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GU",1,"011","1",,,"1",,,1,,,,,"671"]
+,"GU",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"671"]
 ,"GW":[,[,,"[3567]\\d{6}","\\d{7}"]
 ,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}",,,"3201234"]
 ,[,,"[5-7]\\d{6}","\\d{7}",,,"5012345"]
@@ -1358,6 +1451,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GY":[,[]
 ,[]
@@ -1367,7 +1461,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GY",592,"001","0",,,"0",,,1]
+,"GY",592,"001","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HK":[,[,,"[235-7]\\d{7}|8\\d{7,8}|9\\d{7,10}","\\d{8,11}"]
 ,[,,"[23]\\d{7}","\\d{8}",,,"21234567"]
 ,[,,"[5-79]\\d{7}","\\d{8}",,,"51234567"]
@@ -1383,6 +1478,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(900)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["900"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"HN":[,[]
 ,[]
@@ -1392,7 +1488,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"HN",504,"00","0",,,"0",,,1]
+,"HN",504,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"]
 ,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}",,,"12345678"]
 ,[,,"9[12589]\\d{6,10}","\\d{8,12}",,,"912345678"]
@@ -1420,6 +1517,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(80[01])(\\d{3,4})(\\d{3})","$1 $2 $3",["8"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"HT":[,[]
 ,[]
@@ -1429,7 +1527,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"HT",509,"00","0",,,"0",,,1]
+,"HT",509,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HU":[,[,,"\\d{8,9}","\\d{6,9}"]
 ,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}",,,"12345678"]
 ,[,,"(?:[237]0|31)\\d{7}","\\d{9}",,,"201234567"]
@@ -1443,6 +1542,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"]
 ,"($1)",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"]
 ,[,,"2[124]\\d{7,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|2[1-578]|3[1-68]|4[1-3]|5[1-8]|6[1-3568]|7[0-46]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[1246-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-469]|4[1-6])|7(?:1[1-46-9]|2[14-9]|[36]\\d|4[1-8]|5[1-9]|7[0-36-9])|9(?:0[12]|1[0134-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,10}",,,"612345678"]
@@ -1465,6 +1565,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(809)(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["809"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"]
 ,[,,"1\\d{7,8}|(?:2[24-9]|4(?:0[24]|7)|5(?:0[45]|8)|6[237-9]|9[3-9])\\d{5}|(?:45|[569]1|818)\\d{6}|(?:4[12469]|5[3679]|6[56]|7[14]|9[04])\\d{7}|21\\d{6,7}|(?:23|4[34]|52|64)\\d{5,7}|48\\d{8}","\\d{5,10}",,,"2212345"]
@@ -1493,6 +1594,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:8[059]|5)","1(?:8[059]0|5)"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IL":[,[,,"[1-57-9]\\d{6,9}","\\d{7,10}"]
 ,[,,"(?:[2-489]|7[2-46-8])\\d{7}","\\d{7,9}",,,"21234567"]
@@ -1515,16 +1617,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"IM":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
-,[,,"1624\\d{6}","\\d{6,10}",,,"1624123456"]
-,[,,"7[69]24\\d{6}","\\d{6,10}",,,"7624123456"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}",,,"8012345678"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}",,,"9012345678"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}",,,"8431234567"]
+,"IM":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
+,[,,"1624\\d{6}","\\d{6,10}",,,"1624456789"]
+,[,,"7[569]24\\d{6}","\\d{10}",,,"7924123456"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"]
 ,[,,"70\\d{8}","\\d{10}",,,"7012345678"]
 ,[,,"56\\d{8}","\\d{10}",,,"5612345678"]
-,"IM",44,"00","0"," x",,"0"]
+,"IM",44,"00","0"," x",,"0",,,,,,[,,"7624\\d{6}","\\d{10}",,,"7624123456"]
+]
 ,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"]
 ,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|5[14]|6[014]|7[1257]|8[01346]|9[14])|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(?:1[25]|22|3[25]|4[28]|5[12]|6[25]|[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-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|5[0235-9]|6[235-9]|7[34689]|8[257-9]|9[0235-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(?:1[146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|6[146-9]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|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-6]\\d{5}","\\d{6,10}",,,"1123456789"]
 ,[,,"(?:7(?:39[89]|5(?:50|6[6-8]|79|[89][7-9])|6(?:0[027]|20|3[19]|54|65|7[67]|9[6-9])|7(?:0[89]|3[589]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]))\\d|9\\d{4}|8(?:0[01589]\\d|1[024]\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}",,,"9123456789"]
@@ -1560,6 +1664,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1800)(\\d{2,3})(\\d{4})","$1 $2 $3",["180","1800"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IO":[,[]
 ,[]
@@ -1569,7 +1674,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"IO",246,"00",,,,,,,1]
+,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"IQ":[,[,,"[1-7]\\d{7,9}","\\d{6,10}"]
 ,[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}","\\d{6,9}",,,"12345678"]
 ,[,,"7[5-9]\\d{8}","\\d{10}",,,"7912345678"]
@@ -1585,6 +1691,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[5-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["7"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IR":[,[,,"[1-9]\\d{9}","\\d{7,10}"]
 ,[,,"[1-8]\\d{9}","\\d{7,10}",,,"2123456789"]
@@ -1599,17 +1706,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[13-89]|2[02-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"IS":[,[,,"[4-9]\\d{6}","\\d{7}"]
+,"IS":[,[,,"[4-9]\\d{6}|38\\d{7}","\\d{7,9}"]
 ,[,,"(?:4(?:1[0-245]|2[0-7]|[37][0-8]|4[0245]|5[0-356]|6\\d|8[0-46-8]|9[013-79])|5(?:05|[156]\\d|2[02578]|3[013-6]|4[03-6]|7[0-2578]|8[0-25-9]|9[013-689])|87[23])\\d{4}","\\d{7}",,,"4101234"]
-,[,,"(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7}",,,"6101234"]
+,[,,"38[59]\\d{6}|(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7,9}",,,"6101234"]
 ,[,,"800\\d{4}","\\d{7}",,,"8001234"]
 ,[,,"90\\d{5}","\\d{7}",,,"9011234"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"49[013-79]\\d{4}","\\d{7}",,,"4931234"]
-,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
+,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[4-9]"]
+,"",""]
+,[,"(3\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["3"]
+,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"]
 ,[,,"0\\d{7,10}","\\d{8,11}",,,"0212345678"]
@@ -1638,16 +1750,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,6})","$1 $2",["8(?:03|9)"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"JE":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
-,[,,"1534\\d{6}","\\d{6,10}",,,"1534123456"]
-,[,,"7(?:7(?:00|97)|829|937)\\d{6}","\\d{10}",,,"7797123456"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}",,,"8012345678"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}",,,"9012345678"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}",,,"8431234567"]
-,[,,"70\\d{8}","\\d{10}",,,"7012345678"]
+,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
+,[,,"1534\\d{6}","\\d{6,10}",,,"1534456789"]
+,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}",,,"7797123456"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"]
+,[,,"701511\\d{4}","\\d{10}",,,"7015115678"]
 ,[,,"56\\d{8}","\\d{10}",,,"5612345678"]
-,"JE",44,"00","0"," x",,"0"]
+,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"]
+]
 ,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}",,,"8765123456"]
 ,[,,"876(?:(?:21|[348]\\d|5[78]|77)\\d|7(?:0[07]|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}",,,"8762101234"]
@@ -1656,7 +1770,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"JM",1,"011","1",,,"1",,,,,,,,"876"]
+,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"876"]
 ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
 ,[,,"[2356][2-8]\\d{6}","\\d{7,8}",,,"62345678"]
 ,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}",,,"790123456"]
@@ -1672,6 +1787,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{5,6})","$1 $2",["70|[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
 ,[,,"(?:1[1-9][1-9]|9(?:[3-9][1-9]|2\\d)|(?:[36][1-9]|[24578][2-9])\\d)\\d{6}","\\d{9}",,,"312345678"]
@@ -1681,23 +1797,24 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"60\\d{7}","\\d{9}",,,"601234567"]
 ,[,,"50\\d{8}","\\d{10}",,,"5012345678"]
-,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:12|99)0"]
+,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|99)0"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[57-9]0"]
+,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57-9]0"]
 ,"0$1",""]
-,[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"]
+,[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[034-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-56]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"]
+,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[034-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-56]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"]
+,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"]
+,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"]
 ,"0$1",""]
-,[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[36]|4(?:2[09]|7[01])"]
+,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2479]"]
+,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"]
 ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}",,,"202012345"]
@@ -1712,6 +1829,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{6,7})","$1 $2",["[78]|90"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KG":[,[,,"[356-8]\\d{8}","\\d{5,9}"]
 ,[,,"(?:3(?:1(?:2\\d|3[1-9]|52|6[1-8])|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6[0-4])|5(?:22|3[4-7]|59|6[0-5])|6(?:22|5[35-7]|6[0-3])|7(?:22|3[468]|4[1-8]|59|6\\d|7[5-7])|9(?:22|4[1-7]|6[0-8]))|6(?:09|12|2[2-4])\\d)\\d{5}","\\d{5,9}",,,"312123456"]
@@ -1726,6 +1844,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{5})","$1 $2",["3(?:1[36]|[2-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KH":[,[,,"[1-9]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[2-47-9]\\d{5}","\\d{6,8}",,,"23456789"]
@@ -1740,6 +1859,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[89]0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KI":[,[]
 ,[]
@@ -1749,7 +1869,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KI",686,"00","0",,,"0",,,1]
+,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"KM":[,[,,"[37]\\d{6}","\\d{7}"]
 ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}",,,"7712345"]
 ,[,,"3[23]\\d{5}","\\d{7}",,,"3212345"]
@@ -1760,6 +1881,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"KM",269,"00",,,,,,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}",,,"8692361234"]
@@ -1769,7 +1891,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KN",1,"011","1",,,"1",,,,,,,,"869"]
+,"KN",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"869"]
 ,"KP":[,[]
 ,[]
 ,[]
@@ -1778,9 +1901,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KP",850,"00","0",,,"0",,,1]
+,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"]
-,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"]
+,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}|(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"]
 ,[,,"1[0-25-9]\\d{7,8}","\\d{9,10}",,,"1023456789"]
 ,[,,"80\\d{7}","\\d{9}",,,"801234567"]
 ,[,,"60[2-9]\\d{6}","\\d{9}",,,"602345678"]
@@ -1807,10 +1931,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(\\d{2})(\\d{3,4})","$1-$2",["[3-9][1-9]1","[3-9][1-9]1(?:[0-46-9])"]
 ,"0$1",""]
+,[,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[46-9]|6[04678])","1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
-,[,,"(?:18|2[2-5]\\d)\\d{5}","\\d{7,8}",,,"22345678"]
+,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}",,,"22345678"]
 ,[,,"(?:5[05]|6[05-7]|9[0479])\\d{6}","\\d{8}",,,"50012345"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -1822,6 +1949,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5[05]\\d)(\\d{5})","$1 $2",["5"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"]
 ,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}",,,"3452221234"]
@@ -1831,16 +1959,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KY",1,"011","1",,,"1",,,,,,,,"345"]
+,"KY",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"345"]
 ,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
 ,[,,"7(?:1\\d[2-7]|2(?:[0-689][2-7]|75[279]))\\d{6}","\\d{10}",,,"7123456789"]
-,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\{9}","\\d{10}",,,"7129012345"]
+,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\d{9}","\\d{10}",,,"7129012345"]
 ,[,,"800\\d{7}","\\d{10}",,,"8001234567"]
 ,[,,"809\\d{7}","\\d{10}",,,"8091234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KZ",7,"8~10","8",,,"8"]
+,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"]
+]
 ,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}",,,"21212862"]
 ,[,,"20(?:[23]|5[4-6]|77|9[89])\\d{6}","\\d{9,10}",,,"202345678"]
@@ -1856,6 +1986,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([2-57]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["21|[3-57]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:[14-6]\\d|[7-9][2-9])\\d{5}","\\d{7}",,,"1123456"]
@@ -1872,6 +2003,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([7-9][2-9])(\\d{2})(\\d{3})","$1 $2 $3",["[7-9][2-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"]
 ,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}",,,"7582345678"]
@@ -1881,7 +2013,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LC",1,"011","1",,,"1",,,,,,,,"758"]
+,"LC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"758"]
 ,"LI":[,[,,"(?:66|80|90)\\d{7}|[237-9]\\d{6}","\\d{7,9}"]
 ,[,,"(?:2(?:17|3\\d|6[02-58]|96)|3(?:02|7[01357]|8[048]|9[0269])|870)\\d{4}","\\d{7}",,,"2345678"]
 ,[,,"66(?:[0178][0-4]|2[025-9]|[36]\\d|4[129]|5[45]|9[019])\\d{5}|7(?:4[2-59]|56|[6-9]\\d)\\d{4}","\\d{7,9}",,,"661234567"]
@@ -1899,6 +2032,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]0\\d)(\\d{2})(\\d{2})(\\d{2})","0$1 $2 $3 $4",["[89]0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LK":[,[]
 ,[]
@@ -1908,7 +2042,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LK",94,"00","0",,,"0",,,1]
+,"LK",94,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"LR":[,[,,"(?:[27]\\d|[4-6])\\d{6}","\\d{7,8}"]
 ,[,,"2\\d{7}","\\d{8}",,,"21234567"]
 ,[,,"(?:4[67]|5\\d|7\\d{2}|6[4-8])\\d{5}","\\d{7,8}",,,"4612345"]
@@ -1922,6 +2057,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LS":[,[,,"[2568]\\d{7}","\\d{8}"]
 ,[,,"2\\d{7}","\\d{8}",,,"22123456"]
@@ -1933,6 +2069,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LT":[,[,,"[3-9]\\d{7}","\\d{8}"]
 ,[,,"(?:3[1478]|4[124-6]|52)\\d{6}","\\d{8}",,,"31234567"]
@@ -1949,6 +2086,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5)(2[0-79]\\d)(\\d{4})","$1 $2 $3",["52[0-79]"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LU":[,[]
 ,[]
@@ -1958,7 +2096,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LU",352,"00",,,,,,,1]
+,"LU",352,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"LV":[,[,,"[2689]\\d{7}","\\d{8}"]
 ,[,,"6\\d{7}","\\d{8}",,,"61234567"]
 ,[,,"2\\d{7}","\\d{8}",,,"21234567"]
@@ -1969,6 +2108,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"LV",371,"00",,,,,,,,[[,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LY":[,[]
 ,[]
@@ -1978,7 +2118,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LY",218,"00","0",,,"0",,,1]
+,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MA":[,[,,"[5689]\\d{8}","\\d{9}"]
 ,[,,"5(?:2(?:[015-7]\\d{2}|(?:[28][2-9]|3[2-7]|4[2-8])\\d|9(?:0\\d|[89]0))|3(?:[0-4]\\d{2}|(?:[57][2-9]|6[2-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}",,,"520123456"]
 ,[,,"6(?:00|33|[15-7]\\d|4[0-8]|99)\\d{6}","\\d{9}",,,"650123456"]
@@ -1996,6 +2137,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8[09])(\\d{7})","$1-$2",["8(?:0|9[013-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MC":[,[]
 ,[]
@@ -2005,7 +2147,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MC",377,"00","0",,,"0",,,1]
+,"MC",377,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MD":[,[,,"[256-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"]
 ,[,,"(?:6(?:50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}",,,"65012345"]
@@ -2021,6 +2164,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{5})","$1 $2",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ME":[,[]
 ,[]
@@ -2030,7 +2174,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"ME",382,"99","0",,,"0",,,1]
+,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"]
 ,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}",,,"202123456"]
 ,[,,"3[02-4]\\d{7}","\\d{9}",,,"301234567"]
@@ -2041,6 +2186,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MG",261,"00","0",,,"0",,,,[[,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MF":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:10|2[79]|5[128]|[78]7)\\d{4}","\\d{9}",,,"590271234"]
@@ -2050,7 +2196,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MF",590,"00","0",,,"0"]
+,"MF",590,"00","0",,,"0",,,,,,[,,"NA","NA"]
+]
 ,"MH":[,[]
 ,[]
 ,[]
@@ -2059,7 +2206,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MH",692,"011","1",,,"1",,,1]
+,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+]
 ,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"]
 ,[,,"(?:2\\d|3[1-4]|4[2-8])\\d{6}","\\d{6,8}",,,"22212345"]
 ,[,,"7\\d{7}","\\d{8}",,,"72345678"]
@@ -2075,6 +2223,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{2})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ML":[,[,,"[246-8]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:0(?:2[0-589]|7[027-9])|1(?:2[5-7]|[3-689]\\d))|442\\d)\\d{4}","\\d{8}",,,"20212345"]
@@ -2086,6 +2235,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ML",223,"00","0",,,"0",,,,[[,"([246-8]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MM":[,[,,"[124-8]\\d{5,7}|9\\d{7,8}","\\d{5,9}"]
 ,[,,"(?:1\\d|2|4[2-6]|5[2-9]|6\\d|7[0-5]|8[1-6])\\d{5}|1333\\d{4}","\\d{5,8}",,,"1234567"]
@@ -2108,6 +2258,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9)([25689]\\d{2})(\\d{4})","$1 $2 $3",["9[25689]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MN":[,[,,"[127-9]\\d{7}","\\d{8}"]
 ,[,,"(?:[12](?:1\\d|2[1-37]|3[2-8]|4[2-68]|5[1-4689])|70)\\d{6}","\\d{8}",,,"70123456"]
@@ -2126,6 +2277,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([12]\\d{4})(\\d{3})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MO":[,[,,"[268]\\d{7}","\\d{8}"]
 ,[,,"(?:28[2-57-9]|8[2-57-9]\\d)\\d{5}","\\d{8}",,,"28212345"]
@@ -2137,6 +2289,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MO",853,"00",,,,,,,,[[,"([268]\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}",,,"6702345678"]
@@ -2146,7 +2299,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MP",1,"011","1",,,"1",,,1,,,,,"670"]
+,"MP",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"670"]
 ,"MQ":[,[]
 ,[]
 ,[]
@@ -2155,7 +2309,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MQ",596,"00","0",,,"0",,,1]
+,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MR":[,[,,"[2-7]\\d{6}","\\d{7}"]
 ,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}","\\d{7}",,,"5131234"]
 ,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}","\\d{7}",,,"3123456"]
@@ -2166,6 +2321,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MR",222,"00",,,,,,,,[[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"664491\\d{4}","\\d{7,10}",,,"6644912345"]
@@ -2175,7 +2331,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MS",1,"011","1",,,"1",,,,,,,,"664"]
+,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"664"]
 ,"MT":[,[]
 ,[]
 ,[]
@@ -2184,7 +2341,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MT",356,"00","21",,,"21",,,1]
+,"MT",356,"00","21",,,"21",,,1,,,[,,"NA","NA"]
+]
 ,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}",,,"2012345"]
 ,[,,"(?:25\\d|4(?:2[12389]|9\\d)|7\\d{2}|87[15-7]|9[1-8]\\d)\\d{4}","\\d{7}",,,"2512345"]
@@ -2195,6 +2353,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MU",230,"020",,,,,,,,[[,"([2-9]\\d{2})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MV":[,[]
 ,[]
@@ -2204,7 +2363,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MV",960,"020","0",,,"0",,,1]
+,"MV",960,"020","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"]
 ,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}",,,"1234567"]
 ,[,,"(?:[3-5]|77|8(?:8\\d)?|9(?:9\\d)?)\\d{6}","\\d{7,9}",,,"991234567"]
@@ -2222,6 +2382,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d)(\\d{3,4})(\\d{3,4})","$1 $2 $3",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"]
 ,[,,"(?:33|55|81)\\d{8}|(?:2(?:2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-58]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}","\\d{7,10}",,,"2221234567"]
@@ -2249,6 +2410,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"MY":[,[,,"[13-9]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:3\\d{2}|[4-79]\\d|8[2-9])\\d{6}","\\d{6,9}",,,"312345678"]
@@ -2269,6 +2431,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(154)(\\d{3})(\\d{4})","$1-$2 $3",["15"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MZ":[,[,,"[28]\\d{7,8}","\\d{8,9}"]
 ,[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}","\\d{8}",,,"21123456"]
@@ -2283,6 +2446,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(80\\d)(\\d{3})(\\d{3})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NA":[,[,,"[68]\\d{5,9}","\\d{4,10}"]
 ,[,,"6(?:1(?:[136]|2\\d?)\\d|2(?:[25]\\d?|[134678])\\d|3(?:2\\d{0,3}|4\\d{1,2}|[135-8]\\d?)|4(?:[13-8]\\d|2\\d{1,2})|(?:5(?:[16-7]\\d|[3-58]\\d?|2\\d{1,2}))|6\\d{0,4}|7\\d{0,3})\\d{4}","\\d{4,10}",,,"612012345"]
@@ -2307,6 +2471,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NC":[,[]
 ,[]
@@ -2316,7 +2481,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NC",687,"00","0",,,"0",,,1]
+,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NE":[,[,,"[029]\\d{7}","\\d{8}"]
 ,[,,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}","\\d{8}",,,"20201234"]
 ,[,,"9[03467]\\d{6}","\\d{8}",,,"93123456"]
@@ -2330,6 +2496,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(08)(\\d{3})(\\d{3})","$1 $2 $3",["08"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NF":[,[]
 ,[]
@@ -2339,7 +2506,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NF",672,"00",,,,,,,1]
+,"NF",672,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"NG":[,[,,"[1-69]\\d{5,8}|[78]\\d{5,13}","\\d{5,14}"]
 ,[,,"[12]\\d{6,7}|9\\d{7}|(?:4[023568]|5[02368]|6[02-469]|7[569]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}","\\d{5,9}",,,"12345678"]
 ,[,,"(?:70[3-9]|8(?:0[2-9]|1[23]))\\d{7}|(?:702[1-9]|819[01])\\d{6}","\\d{10}",,,"8021234567"]
@@ -2363,6 +2531,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(78)(\\d{2})(\\d{3})","$1 $2 $3",["78"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NI":[,[]
 ,[]
@@ -2372,7 +2541,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NI",505,"00","0",,,"0",,,1]
+,"NI",505,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NL":[,[,,"[1-9]\\d{6,9}","\\d{7,10}"]
 ,[,,"(?:1[0135-8]|2[02-69]|3[0-68]|4[0135-9]|[57]\\d|8[478])\\d{7}","\\d{9}",,,"101234567"]
 ,[,,"6[1-58]\\d{7}","\\d{9}",,,"612345678"]
@@ -2390,6 +2560,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]0\\d)(\\d{4,7})","$1 $2",["80|9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"21234567"]
@@ -2404,6 +2575,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"]
 ,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}",,,"14567890"]
@@ -2420,6 +2592,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(98[45])(\\d{3})(\\d{4})","$1 $2 $3",["98"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NR":[,[]
 ,[]
@@ -2429,7 +2602,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NR",674,"00","0",,,"0",,,1]
+,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NU":[,[]
 ,[]
 ,[]
@@ -2438,7 +2612,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NU",683,"00","0",,,"0",,,1]
+,"NU",683,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"]
 ,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}",,,"32345678"]
 ,[,,"2(?:[027]\\d{7}|9\\d{6,7}|1(?:0\\d{5,7}|[12]\\d{5,6}|[3-9]\\d{5})|4[1-9]\\d{6}|8\\d{7,8})","\\d{8,10}",,,"211234567"]
@@ -2458,6 +2633,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(24099)(\\d{3})","$1 $2",["240","2409","24099"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"OM":[,[,,"(?:2[3-6]|5|9[2-9])\\d{6}|800\\d{5,6}","\\d{7,9}"]
 ,[,,"2[3-6]\\d{6}","\\d{8}",,,"23123456"]
@@ -2474,6 +2650,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]00)(\\d{4,6})","$1 $2",["[58]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PA":[,[]
 ,[]
@@ -2483,24 +2660,24 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PA",507,"00","0",,,"0",,,1]
-,"PE":[,[,,"[146-8]\\d{7,10}|5\\d{7}(?:\\d{3})?","\\d{7,11}"]
-,[,,"(?:1\\d{2}|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{7,9}",,,"112345678"]
-,[,,"(?:1|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])9\\d{8}","\\d{10,11}",,,"54951234567"]
+,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
+,"PE":[,[,,"[14-9]\\d{7,8}","\\d{6,9}"]
+,[,,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{6,8}",,,"11234567"]
+,[,,"9\\d{8}","\\d{9}",,,"912345678"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PE",51,"00","0"," Anexo ",,"0",,,,[[,"(1)(9\\d{2})(\\d{6})","$1 $2 $3",["19"]
+,"PE",51,"00","0"," Anexo ",,"0",,,,[[,"(1)(\\d{7})","$1 $2",["1"]
 ,"($1)",""]
-,[,"(1)(\\d{8})","$1 $2",["1[0-8]"]
-,"($1)",""]
-,[,"([4-8]\\d)(\\d{6})","$1 $2",["[4-8]\\d[0-8]"]
-,"($1)",""]
-,[,"([4-8]\\d)(9\\d{2})(\\d{6})","$1 $2 $3",["[4-8]\\d9"]
+,[,"([4-8]\\d)(\\d{6})","$1 $2",["[4-8]"]
 ,"($1)",""]
+,[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PF":[,[]
 ,[]
@@ -2510,7 +2687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PF",689,"00",,,,,,,1]
+,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}",,,"3123456"]
 ,[,,"(?:68|7(?:[126]\\d|3[34689]))\\d{5}","\\d{7,8}",,,"6812345"]
@@ -2524,6 +2702,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[1-36]\\d)(\\d{2})(\\d{3})","$1 $2 $3",["7[1-36]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PH":[,[,,"[2-9]\\d{7,9}|1800\\d{7,9}","\\d{7,13}"]
 ,[,,"(?:2|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}","\\d{7,9}",,,"21234567"]
@@ -2548,6 +2727,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1800)(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]
 ,"",""]
 ]
+,,[,,"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"]
@@ -2574,6 +2754,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{3})(\\d{2})","$1 $2 $3",["[89]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"]
 ,[,,"(?:1[2-8]|2[2-59]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}","\\d{9}",,,"123456789"]
@@ -2588,6 +2769,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|5[013]|6[069]|7[0289]|8[08]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PM":[,[]
 ,[]
@@ -2597,7 +2779,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PM",508,"00","0",,,"0",,,1]
+,"PM",508,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"]
 ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}",,,"7872345678"]
 ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}",,,"7872345678"]
@@ -2606,7 +2789,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PR",1,"011","1",,,"1",,,1,,,,,"787|939"]
+,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"787|939"]
 ,"PS":[,[]
 ,[]
 ,[]
@@ -2615,17 +2799,19 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PS",970,"00","0",,,"0",,,1]
+,"PS",970,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"]
 ,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}",,,"212345678"]
 ,[,,"9(?:[136]\\d{2}|2[25-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}",,,"912345678"]
 ,[,,"4\\d{8}|80[02]\\d{6}","\\d{9}",,,"800123456"]
 ,[,,"71\\d{7}","\\d{9}",,,"712345678"]
-,[,,"NA","NA"]
+,[,,"808\\d{6}","\\d{9}",,,"808123456"]
 ,[,,"NA","NA"]
 ,[,,"30\\d{7}","\\d{9}",,,"301234567"]
 ,"PT",351,"00",,,,,,,,[[,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PW":[,[]
 ,[]
@@ -2635,7 +2821,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PW",680,"011",,,,,,,1]
+,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"PY":[,[]
 ,[]
 ,[]
@@ -2644,7 +2831,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PY",595,"002","0",,,"0",,,1]
+,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"]
 ,[,,"44\\d{6}","\\d{7,8}",,,"44123456"]
 ,[,,"(?:33|55|66|77)\\d{6}","\\d{7,8}",,,"33123456"]
@@ -2658,6 +2846,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3-7]\\d{3})(\\d{4})","$1 $2",["[3-7]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RE":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"262\\d{6}","\\d{9}",,,"262161234"]
@@ -2669,7 +2858,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
-,,,1,"262|6[49]|8"]
+,,[,,"NA","NA"]
+,1,"262|6[49]|8"]
 ,"RO":[,[,,"[237-9]\\d{8}","\\d{9}"]
 ,[,,"[23][13-6]\\d{7}","\\d{9}",,,"211234567"]
 ,[,,"7[1-8]\\d{7}","\\d{9}",,,"712345678"]
@@ -2683,6 +2873,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23][02-9]|[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RS":[,[,,"[1-46-9]\\d{4,11}","\\d{5,12}"]
 ,[,,"[1-3]\\d{6,9}","\\d{5,10}",,,"1012345"]
@@ -2698,9 +2889,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(6[0-689])(\\d{3,10})","$1 $2",["6"]
 ,"0$1",""]
-,[,"([89]0\\d)(\\d{3,6})","$1 $2",["[89]"]
+,[,"([89]\\d{2})(\\d{3,6})","$1 $2",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RU":[,[,,"[3489]\\d{9}","\\d{10}"]
 ,[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-7]|7[1-37-9]))\\d{7}","\\d{10}",,,"3011234567"]
@@ -2710,12 +2902,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"RU",7,"8~10","8",,,"8",,,,[[,"([34689]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
+,"RU",7,"8~10","8",,,"8",,,,[[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
 ,"8 ($1)",""]
-,[,"([7]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
+,[,"([67]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[67]"]
 ,"8 ($1)",""]
 ]
-,,,1]
+,,[,,"NA","NA"]
+,1]
 ,"RW":[,[,,"[27-9]\\d{8}","\\d{9}"]
 ,[,,"25\\d{7}","\\d{9}",,,"250123456"]
 ,[,,"7[258]\\d{7}","\\d{9}",,,"720123456"]
@@ -2729,6 +2922,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([7-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SA":[,[,,"[1-9]\\d{7,10}","\\d{7,11}"]
 ,[,,"(?:1[24-7]|2[24-8]|3[35-8]|4[34-68]|6[2-5]|7[235-7])\\d{6}","\\d{7,8}",,,"12345678"]
@@ -2749,6 +2943,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8111)(\\d{3})(\\d{3})","$1 $2 $3",["81"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SB":[,[]
 ,[]
@@ -2758,7 +2953,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SB",677,"00",,,,,,,1]
+,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"SC":[,[,,"[2-8]\\d{5}","\\d{6}"]
 ,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}",,,"217123"]
 ,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}",,,"510123"]
@@ -2769,6 +2965,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"4[1-37]\\d{4}","\\d{6}",,,"410123"]
 ,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SD":[,[]
 ,[]
@@ -2778,13 +2975,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SD",249,"00","0",,,"0",,,1]
+,"SD",249,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"SE":[,[,,"\\d{7,10}","\\d{5,10}"]
 ,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}",,,"8123456"]
 ,[,,"7[02-46]\\d{7}","\\d{9}",,,"701234567"]
 ,[,,"20\\d{4,7}","\\d{6,9}",,,"201234567"]
 ,[,,"9(?:00|39|44)\\d{7}","\\d{10}",,,"9001234567"]
-,[,,"NA","NA"]
+,[,,"77\\d{7}","\\d{9}",,,"771234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"]
@@ -2797,13 +2995,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])"]
 ,"0$1",""]
-,[,"(7[02-46])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-46]"]
+,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"]
 ,"0$1",""]
 ,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"]
 ,"0$1",""]
 ,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
 ,[,,"[36]\\d{7}","\\d{8}",,,"31234567"]
@@ -2820,6 +3019,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SH":[,[]
 ,[]
@@ -2829,7 +3029,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SH",290,"00",,,,,,,1]
+,"SH",290,"00",,,,,,,1,,,[,,"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"]
@@ -2847,6 +3048,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{2})(\\d{5})","$1 $2",["59|8[1-3]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
 ,[,,"[2-5]\\d{8}","\\d{9}",,,"212345678"]
@@ -2863,6 +3065,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SL":[,[,,"[2-578]\\d{7}","\\d{6,8}"]
 ,[,,"[235]2[2-4][2-9]\\d{4}","\\d{6,8}",,,"22221234"]
@@ -2874,6 +3077,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"(0$1)",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SM":[,[]
 ,[]
@@ -2883,7 +3087,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SM",378,"00","0",,,"0",,,1]
+,"SM",378,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"SN":[,[,,"[37]\\d{8}","\\d{9}"]
 ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}",,,"301012345"]
 ,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}",,,"701012345"]
@@ -2894,6 +3099,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"33301\\d{4}","\\d{9}",,,"333011234"]
 ,"SN",221,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SO":[,[,,"[13-59]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:5[57-9]|[134]\\d)\\d{5}","\\d{7}",,,"5522010"]
@@ -2908,6 +3114,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([19]\\d)(\\d{6})","$1 $2",["[19]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SR":[,[]
 ,[]
@@ -2917,7 +3124,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SR",597,"00",,,,,,,1]
+,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"ST":[,[,,"[29]\\d{6}","\\d{7}"]
 ,[,,"22\\d{5}","\\d{7}",,,"2221234"]
 ,[,,"9[89]\\d{5}","\\d{7}",,,"9812345"]
@@ -2928,6 +3136,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SV":[,[]
 ,[]
@@ -2937,7 +3146,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SV",503,"00",,,,,,,1]
+,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"]
 ,[,,"(?:1(?:|1\\d?|4\\d|[2356])|2[1-35]|3(?:1\\d|[34])|4[13]|5[1-3])\\d{6}","\\d{6,9}",,,"112345678"]
 ,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[19])\\d{6}","\\d{9}",,,"944567890"]
@@ -2951,6 +3161,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9[3-689])(\\d{4})(\\d{3})","$1 $2 $3",["9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SZ":[,[,,"[2-7]\\d{6,7}","\\d{7,8}"]
 ,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}",,,"2171234"]
@@ -2965,6 +3176,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{4})","$1 $2",["7"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}",,,"6497121234"]
@@ -2974,7 +3186,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"64971[01]\\d{4}","\\d{10}",,,"6497101234"]
-,"TC",1,"011","1",,,"1",,,,,,,,"649"]
+,"TC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"649"]
 ,"TD":[,[,,"[2679]\\d{7}","\\d{8}"]
 ,[,,"22(?:[3789]0|5[0-5]|6[89])\\d{4}","\\d{8}",,,"22501234"]
 ,[,,"(?:6(?:3[0-7]|6\\d)|77\\d|9(?:5[0-4]|9\\d))\\d{5}","\\d{8}",,,"63012345"]
@@ -2985,6 +3198,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TF":[,[]
 ,[]
@@ -2994,7 +3208,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TF",262,"00","0",,,"0",,,1]
+,"TF",262,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"TG":[,[,,"[02-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2[2-7]|3[23]|44|55|66|77)\\d{5}","\\d{7}",,,"2212345"]
 ,[,,"(?:0[1-9]|7[56]|8[1-7]|9\\d)\\d{5}","\\d{7}",,,"0112345"]
@@ -3005,6 +3220,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TG",228,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"]
 ,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}",,,"21234567"]
@@ -3023,6 +3239,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TJ":[,[,,"[349]\\d{8}","\\d{3,9}"]
 ,[,,"(?:3(?:1[3-5]|2[245]|31|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}","\\d{3,9}",,,"372123456"]
@@ -3041,6 +3258,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]","3(?:[1245]|3(?:[02-9]|1[0-589]))"]
 ,"8$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TK":[,[]
 ,[]
@@ -3050,7 +3268,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TK",690,"00",,,,,,,1]
+,"TK",690,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TL":[,[,,"[2-47-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}","\\d{7}",,,"2112345"]
 ,[,,"7[2-4]\\d{5}","\\d{7}",,,"7212345"]
@@ -3061,6 +3280,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TM":[,[,,"[1-6]\\d{7}","\\d{8}"]
 ,[,,"(?:12\\d|243|[3-5]22)\\d{5}","\\d{8}",,,"12345678"]
@@ -3072,6 +3292,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TM",993,"8~10","8",,,"8",,,,[[,"([1-6]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"]
 ,[,,"7\\d{7}","\\d{8}",,,"71234567"]
@@ -3083,6 +3304,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TN",216,"00",,,,,,,,[[,"([247-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TO":[,[]
 ,[]
@@ -3092,7 +3314,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TO",676,"00",,,,,,,1]
+,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TR":[,[,,"[2-589]\\d{9}","\\d{10}"]
 ,[,,"[2-4]\\d{9}|850\\d{7}","\\d{10}",,,"2123456789"]
 ,[,,"5\\d{9}","\\d{10}",,,"5123456789"]
@@ -3103,16 +3326,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TR",90,"00","0",,,"0",,,,[[,"([2-589]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"]
-,[,,"868(?:22[1-4]|6(?:1[4-6]|[2-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}",,,"8682211234"]
+,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}",,,"8682211234"]
 ,[,,"868(?:29\\d|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4([679]\\d|8[0-4])|6(?:20|78|8\\d)|7(?:1[02-9]|[2-9]\\d))\\d{4}","\\d{10}",,,"8682911234"]
 ,[,,"8(?:00|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
 ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TT",1,"011","1",,,"1",,,,,,,,"868"]
+,"TT",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"868"]
 ,"TV":[,[]
 ,[]
 ,[]
@@ -3121,7 +3346,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TV",688,"00",,,,,,,1]
+,"TV",688,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TW":[,[,,"[2-9]\\d{7,8}","\\d{8,9}"]
 ,[,,"[2-8]\\d{7,8}","\\d{8,9}",,,"21234567"]
 ,[,,"9\\d{8}","\\d{9}",,,"912345678"]
@@ -3135,6 +3361,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["80|9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TZ":[,[,,"\\d{9}","\\d{7,9}"]
 ,[,,"2[2-8]\\d{7}","\\d{7,9}",,,"222345678"]
@@ -3151,6 +3378,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"UA":[,[,,"[3-689]\\d{8}","\\d{5,9}"]
 ,[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}","\\d{5,9}",,,"311234567"]
@@ -3167,6 +3395,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3-6]\\d{3})(\\d{5})","$1 $2",["3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])","3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6(?:3[02389]|[015689])|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"UG":[,[,,"\\d{9}","\\d{5,9}"]
 ,[,,"3\\d{8}|4(?:[1-6]\\d|7[136]|8[1356]|96)\\d{6}|20(?:0\\d|24)\\d{5}","\\d{5,9}",,,"312345678"]
@@ -3183,6 +3412,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(2024)(\\d{5})","$1 $2",["202"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"]
 ,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"]
@@ -3197,7 +3427,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ]
 ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""]
 ]
-,,1]
+,[,,"NA","NA"]
+,1]
 ,"UY":[,[]
 ,[]
 ,[]
@@ -3206,7 +3437,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"UY",598,"00","0",,,"0",,,1]
+,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"]
 ,[,,"(?:6[125679]|7[0-69])\\d{7}","\\d{7,9}",,,"612345678"]
 ,[,,"9[0-57-9]\\d{7}","\\d{7,9}",,,"912345678"]
@@ -3217,6 +3449,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"UZ",998,"8~10","8",,,"8",,,,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VA":[,[,,"06\\d{8}","\\d{10}"]
 ,[,,"06698\\d{5}","\\d{10}",,,"0669812345"]
@@ -3228,6 +3461,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"VA",379,"00",,,,,,,,[[,"(06)(\\d{4})(\\d{4})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}",,,"7842661234"]
@@ -3237,7 +3471,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VC",1,"011","1",,,"1",,,,,,,,"784"]
+,"VC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"784"]
 ,"VE":[,[,,"[24589]\\d{9}","\\d{7,10}"]
 ,[,,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}","\\d{7,10}",,,"2121234567"]
 ,[,,"4(?:1[24-8]|2[46])\\d{7}","\\d{10}",,,"4121234567"]
@@ -3248,6 +3483,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"VE",58,"00","0",,,"1\\d{2}|0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}",,,"2842291234"]
@@ -3257,7 +3493,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VG",1,"011","1",,,"1",,,,,,,,"284"]
+,"VG",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"284"]
 ,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
 ,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
@@ -3266,7 +3503,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VI",1,"011","1",,,"1",,,1,,,,,"340"]
+,"VI",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"340"]
 ,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
 ,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}",,,"2101234567"]
 ,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}",,,"912345678"]
@@ -3292,6 +3530,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{4,6})","$1 $2",["1(?:8|90)"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VU":[,[]
 ,[]
@@ -3301,7 +3540,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VU",678,"00",,,,,,,1]
+,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"WF":[,[]
 ,[]
 ,[]
@@ -3310,7 +3550,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"WF",681,"19",,,,,,,1]
+,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"WS":[,[,,"[2-8]\\d{4,6}","\\d{5,7}"]
 ,[,,"(?:[2-5]\\d|6[1-9]|840\\d)\\d{3}","\\d{5,7}",,,"22123"]
 ,[,,"(?:60|7[25-7]\\d)\\d{4}","\\d{6,7}",,,"601234"]
@@ -3324,6 +3565,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[25-7])(\\d{5})","$1 $2",["7[25-7]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"YE":[,[,,"[1-7]\\d{6,8}","\\d{6,9}"]
 ,[,,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}","\\d{6,8}",,,"1234567"]
@@ -3338,6 +3580,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[137]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["7[137]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"YT":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"2696[0-4]\\d{4}","\\d{9}",,,"269601234"]
@@ -3347,7 +3590,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"YT",262,"00","0",,,"0",,,,,,,,"269|63"]
+,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"]
+,,"269|63"]
 ,"ZA":[,[,,"\\d{9}","\\d{8,9}"]
 ,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}",,,"101234567"]
 ,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}",,,"711234567"]
@@ -3358,6 +3602,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"87\\d{7}","\\d{9}",,,"871234567"]
 ,"ZA",27,"00","0",,,"0",,,,[[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"]
 ,[,,"21[1-8]\\d{6}","\\d{9}",,,"211234567"]
@@ -3372,18 +3617,19 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["8"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"ZW":[,[,,"(?:[19]1|23)\\d{3,8}|[1-69]\\d{4,8}","\\d{3,10}"]
-,[,,"(?:1[346-8]|2(?:0[45]|2[28]|48|58[23]|[69]|7[2-46-8]|8[13-9])|3(?:08?|17?|3[78]|[45]|7[1569]|8[379])|5(?:18|483|[57-9])|6(?:37?|[459]|88)|848)\\d{3,6}|(?:2(?:27|5|7[159]|82)|39|5[346]|6[16-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:9[2-8]|4\\d)\\d{4,7}","\\d{3,10}",,,"1312345"]
-,[,,"(?:[19]1|73)\\d{3,8}","\\d{3,10}",,,"11123456"]
-,[,,"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"]
+,[,,"(?:[19]1|7[13])\\d{6,7}","\\d{8,9}",,,"911234567"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
+,[,,"86(?:1[12]|22|30|44|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",""]
-,[,"([179]\\d)(\\d{3})(\\d{3,5})","$1 $2 $3",["[19]1|7"]
+,[,"([179]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[19]1|7"]
 ,"0$1",""]
 ,[,"([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",""]
@@ -3397,6 +3643,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"([25]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:25|54)8","258[23]|5483"]
 ,"0$1",""]
+,[,"(8\\d{3})(\\d{6})","$1 $2",["8"]
+,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 };
index 5fb2be2..511f3d1 100644 (file)
@@ -61,7 +61,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AD",376,"00",,,,,,,1]
+,"AD",376,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"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"]
@@ -72,6 +73,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AO",244,"00","0~0",,,"0~0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AR":[,[,,"[1-3689]\\d{9,10}","\\d{6,11}"]
 ,[,,"[1-3]\\d{9}","\\d{6,10}"]
@@ -103,6 +105,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"AU":[,[,,"[1-578]\\d{4,14}","\\d{5,15}"]
 ,[,,"[2378]\\d{8}","\\d{9}"]
@@ -117,6 +120,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{1})(\\d{4})(\\d{4})","$1 $2 $3",["[2-478]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BS":[,[,,"(242|8(00|66|77|88)|900)\\d{7}","\\d{7,10}"]
 ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3-57]|9[2-5])|4(?:2[237]|51|64|77)|502|636|702)\\d{4}","\\d{7,10}"]
@@ -126,7 +130,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BS",1,"011","1",,,"1"]
+,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+]
 ,"DE":[,[,,"\\d{4,14}","\\d{2,14}"]
 ,[,,"(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:[1-9]\\d|0[2-9]))\\d{3,8}","\\d{2,14}",,,"30123456"]
 ,[,,"1(5\\d{9}|7\\d{8}|6[02]\\d{8}|63\\d{7})","\\d{10,11}"]
@@ -146,6 +151,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,4})(\\d{4})","$1 $2 $3",["900"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GB":[,[,,"\\d{10}","\\d{6,10}"]
 ,[,,"[1-6]\\d{9}","\\d{6,10}"]
@@ -164,6 +170,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8[47]"]
 ,"(0$1)",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IT":[,[,,"[0389]\\d{5,10}","\\d{6,11}"]
 ,[,,"0\\d{9,10}","\\d{10,11}"]
@@ -182,6 +189,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,6})","$1 $2",["8"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"JP":[,[]
 ,[]
@@ -200,6 +208,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["[23]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"]
 ,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"]
@@ -234,6 +243,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{2})(\\d{4})","$1-$2",["[3-9][1-9]1","[3-9][1-9]1[36]","[3-9][1-9]1(?:3[035-9]|6[03-578])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"]
 ,[,,"[2-9]\\d{9}","\\d{7,10}"]
@@ -265,6 +275,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"]
 ,[,,"24099\\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}","\\d{7,8}"]
@@ -281,6 +292,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"]
 ,[,,"[1-9]\\d{8}","\\d{9}"]
@@ -292,6 +304,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"PL",48,"0~0","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RE":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"262\\d{6}","\\d{9}",,,"262161234"]
@@ -303,7 +316,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
-,,,,"262|6(?:9[23]|47)|8"]
+,,[,,"NA","NA"]
+,,"262|6(?:9[23]|47)|8"]
 ,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
 ,[,,"[36]\\d{7}","\\d{8}"]
 ,[,,"[89]\\d{7}","\\d{8}"]
@@ -319,6 +333,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["800"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"US":[,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"]
 ,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"]
@@ -333,7 +348,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ]
 ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",,,""]
 ]
-,,1]
+,[,,"NA","NA"]
+,1]
 ,"YT":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"2696[0-4]\\d{4}","\\d{9}",,,"269601234"]
 ,[,,"639\\d{6}","\\d{9}",,,"639123456"]
@@ -342,5 +358,6 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"YT",262,"00","0",,,"0",,,,,,,,"269|639"]
+,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"]
+,,"269|639"]
 };
index f1d9af3..341db84 100644 (file)
@@ -255,6 +255,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(180[02])(\\d{4})","$1 $2",["1"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AE":[,[,,"[2-79]\\d{7,8}|800\\d{2,9}","\\d{5,12}"]
 ,[,,"(?:[2-4679][2-8]\\d|600[25])\\d{5}","\\d{7,9}"]
@@ -269,13 +270,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5[056])(\\d{3})(\\d{4})","$1 $2 $3",["5"]
 ,"0$1",""]
 ,[,"([4679]00)(\\d)(\\d{5})","$1 $2 $3",["[4679]0"]
-,"0$1",""]
-,[,"(800)(\\d{2})(\\d{0,7})","$1 $2 $3",["8"]
-,"0$1",""]
+,"$1",""]
+,[,"(800)(\\d{2,9})","$1 $2",["8"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"AF":[,[,,"[2-7]\\d{8}","\\d{9}"]
-,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{9}"]
+,"AF":[,[,,"[2-7]\\d{8}","\\d{7,9}"]
+,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{7,9}"]
 ,[,,"7[057-9]\\d{7}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -284,6 +286,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AF",93,"00","0",,,"0",,,,[[,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"268(?:4(?:6[0-3]|84)|56[0-2])\\d{4}","\\d{7,10}"]
@@ -293,7 +296,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"26848[01]\\d{4}","\\d{10}"]
-,"AG",1,"011","1",,,"1",,,,,,,,"268"]
+,"AG",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"268"]
 ,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}"]
 ,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}"]
@@ -302,7 +306,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AI",1,"011","1",,,"1",,,,,,,,"264"]
+,"AI",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"264"]
 ,"AL":[,[,,"[2-57]\\d{7}|6\\d{8}|8\\d{5,7}|9\\d{5}","\\d{5,9}"]
 ,[,,"(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}","\\d{5,8}"]
 ,[,,"6[6-9]\\d{7}","\\d{9}"]
@@ -320,6 +325,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,5})","$1 $2",["[235][16-9]|8[016-9]|[79]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
 ,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}"]
@@ -336,6 +342,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"]
 ,"0 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AN":[,[,,"[13-79]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:318|5(?:25|4\\d|8[239])|7(?:1[578]|50)|9(?:[48]\\d{2}|50\\d|7(?:2[0-2]|[34]\\d|6[35-7]|77)))\\d{4}|416[0239]\\d{3}","\\d{7,8}"]
@@ -350,6 +357,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
 ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}"]
@@ -361,6 +369,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AR":[,[,,"[1-9]\\d{9,11}","\\d{6,12}"]
 ,[,,"[1-9]\\d{9}","\\d{6,10}"]
@@ -400,6 +409,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}"]
@@ -409,7 +419,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"AS",1,"011","1",,,"1",,,,,,,,"684"]
+,"AS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"684"]
 ,"AT":[,[,,"\\d{4,13}","\\d{3,13}"]
 ,[,,"1\\d{3,12}|(?:2(?:1[467]|2[134-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|8[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:1[27]|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}|5(?:0[1-9]|[79]\\d)\\d{2,10}|720\\d{6,10}","\\d{3,13}"]
 ,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}"]
@@ -425,6 +436,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{3,9})","$1 $2",["2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-35-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[57-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"]
 ,[,,"[2378]\\d{8}","\\d{8,9}"]
@@ -447,6 +459,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(13)(\\d{2})(\\d{2})","$1 $2 $3",["13[1-9]"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AW":[,[,,"[5-9]\\d{6}","\\d{7}"]
 ,[,,"5(?:2\\d{2}|8(?:[2-7]\\d|8[0-79]|9[48]))\\d{3}","\\d{7}"]
@@ -458,6 +471,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{8,9}"]
 ,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[0236-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{8,9}"]
@@ -472,6 +486,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([12]\\d{2})(\\d{5})","$1 $2",["1[013-79]|2[013-9]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BA":[,[,,"[3-689]\\d{7}","\\d{6,8}"]
 ,[,,"(?:[35]\\d|49|81)\\d{6}","\\d{6,8}"]
@@ -483,6 +498,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BA",387,"00","0",,,"0",,,,[[,"([3-689]\\d)(\\d{3})(\\d{3})","$1 $2-$3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"246[2-9]\\d{6}","\\d{7,10}"]
@@ -492,7 +508,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BB",1,"011","1",,,"1",,,,,,,,"246"]
+,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"246"]
 ,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
 ,[,,"2(?:7\\d1|8(?:[026]1|[1379][1-5]|8[1-8])|9(?:0[0-2]|1[1-4]|3[3-5]|5[56]|6[67]|71|8[078]))\\d{4}|3(?:[6-8]1|(?:0[23]|[25][12]|82|416)\\d|(?:31|12?[5-7])\\d{2})\\d{3}|4(?:(?:02|[49]6|[68]1)|(?:0[13]|21\\d?|[23]2|[457][12]|6[28])\\d|(?:23|[39]1)\\d{2}|1\\d{3})\\d{3}|5(?:(?:[457-9]1|62)|(?:1\\d?|2[12]|3[1-3]|52)\\d|61{2})|6(?:[45]1|(?:11|2[15]|[39]1)\\d|(?:[06-8]1|62)\\d{2})|7(?:(?:32|91)|(?:02|31|[67][12])\\d|[458]1\\d{2}|21\\d{3})\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}","\\d{6,9}"]
 ,[,,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}","\\d{10}"]
@@ -510,6 +527,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{6})","$1 $2",["1"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"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-79]\\d)\\d{5}","\\d{8}"]
@@ -528,10 +546,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["(?:80|9)0"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BF":[,[,,"[2457]\\d{7}","\\d{8}"]
 ,[,,"(?:20(?:49|5[23]|9[016-9])|40(?:4[569]|55|7[0179])|50[34]\\d)\\d{4}","\\d{8}"]
-,[,,"7(?:[024-6]\\d|1[0-489]|8[013-9]|90)\\d{5}","\\d{8}"]
+,[,,"7(?:[024-6]\\d|1[0-489]|3[01]|8[013-9]|9[012])\\d{5}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -539,6 +558,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BG":[,[,,"[1-9]\\d{6,8}","\\d{7,9}"]
 ,[,,"2\\d{6,7}|(?:[367]\\d|4[124-7]|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|43[1-6]\\d{4,5}","\\d{7,8}"]
@@ -557,6 +577,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["48|8[7-9]|9[08]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
 ,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}"]
@@ -568,6 +589,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BI":[,[,,"[27]\\d{7}","\\d{8}"]
 ,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}"]
@@ -579,6 +601,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BI",257,"00",,,,,,,,[[,"([27]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BJ":[,[,,"[2689]\\d{7}|7\\d{3}","\\d{4,8}"]
 ,[,,"2(?:02|1[037]|2[45]|3[68])\\d{5}","\\d{8}"]
@@ -590,6 +613,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"857[58]\\d{4}","\\d{8}"]
 ,"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BL":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:2[7-9]|5[12]|87)\\d{4}","\\d{9}"]
@@ -599,7 +623,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BL",590,"00","0",,,"0"]
+,"BL",590,"00","0",,,"0",,,,,,[,,"NA","NA"]
+]
 ,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"]
 ,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}"]
 ,[,,"441(?:[37]\\d|5[0-39])\\d{5}","\\d{10}"]
@@ -608,7 +633,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BM",1,"011","1",,,"1",,,,,,,,"441"]
+,"BM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"441"]
 ,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"]
 ,[,,"[2-5]\\d{6}","\\d{7}"]
 ,[,,"[78]\\d{6}","\\d{7}"]
@@ -619,16 +645,23 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"BN",673,"00","0",,,"0",,,,[[,"([2-578]\\d{2})(\\d{4})","$1 $2",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"BO":[,[]
-,[]
-,[]
+,"BO":[,[,,"[23467]\\d{7}","\\d{7,8}"]
+,[,,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}","\\d{7,8}"]
+,[,,"[67]\\d{7}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BO",591,"001[0-3]","0",,,"0",,,1]
+,"BO",591,"00(1\\d)?","0",,,"0(1\\d)?",,,,[[,"([234])(\\d{7})","$1 $2",["[234]"]
+,"",""]
+,[,"([67]\\d{7})","$1",["[67]"]
+,"",""]
+]
+,,[,,"NA","NA"]
+]
 ,"BR":[,[,,"[1-9]\\d{7,9}","\\d{8,10}"]
 ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}","\\d{8,10}"]
 ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[6-9]\\d{7}","\\d{10}"]
@@ -644,6 +677,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"]
 ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}"]
@@ -653,7 +687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BS",1,"011","1",,,"1",,,,,,,,"242"]
+,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"242"]
 ,"BT":[,[,,"(?:17|[2-8])\\d{6}","\\d{6,8}"]
 ,[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}","\\d{6,7}"]
 ,[,,"17\\d{6}","\\d{8}"]
@@ -667,6 +702,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([2-8])(\\d{3})(\\d{3})","$1 $2 $3",["[2-8]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BW":[,[,,"[2-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0235-9]|55|6\\d|7[01]|9[0-57])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}","\\d{7}"]
@@ -681,6 +717,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(90)(\\d{5})","$1 $2",["9"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BY":[,[,,"[12-4]\\d{8}|[89]\\d{9}","\\d{7,10}"]
 ,[,,"(?:1(?:5(?:1[1-5]|2\\d|6[1-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:2\\d|3[02-79]|4[024-7]|5[0-7])))\\d{5}","\\d{7,9}"]
@@ -695,6 +732,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[89]"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"BZ":[,[]
 ,[]
@@ -704,7 +742,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"BZ",501,"00","0",,,"0",,,1]
+,"BZ",501,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"]
 ,[,,"(?:2(?:04|26|50|89)|306|4(03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}"]
 ,[,,"(?:2(?:04|26|50|89)|306|4(03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67)|9(?:02|05))[2-9]\\d{6}","\\d{7,10}"]
@@ -713,7 +752,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CA",1,"011","1",,,"1"]
+,"CA",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+]
 ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
 ,[,,"[1-6]\\d{6}","\\d{7}"]
 ,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}"]
@@ -727,6 +767,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([1-6]\\d)(\\d{5})","$1 $2",["[1-6]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CF":[,[,,"[278]\\d{7}","\\d{8}"]
 ,[,,"2[12]\\d{6}","\\d{8}"]
@@ -738,6 +779,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CG":[,[,,"[24-68]\\d{6}","\\d{7}"]
 ,[,,"(?:2[1-589]|8\\d)\\d{5}","\\d{7}"]
@@ -749,6 +791,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CG",242,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"]
 ,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}"]
@@ -763,6 +806,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8[047]|90"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CI":[,[,,"[02-5]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}","\\d{8}"]
@@ -774,6 +818,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CK":[,[]
 ,[]
@@ -783,7 +828,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CK",682,"00","00",,,"00",,,1]
+,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"]
+]
 ,"CL":[,[,,"(?:[2-9]|600|123)\\d{7,8}","\\d{6,11}"]
 ,[,,"(?:2|32|41)\\d{7}|(?:3[3-5]|4[235]|5[1-3578]|6[13-57]|7[1-35])\\d{6,7}","\\d{6,9}"]
 ,[,,"9[6-9]\\d{7}","\\d{8,9}"]
@@ -807,6 +853,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1230)(\\d{3})(\\d{4})","$1 $2 $3",["1"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CM":[,[,,"[237-9]\\d{7}","\\d{8}"]
 ,[,,"(?:22|33)\\d{6}","\\d{8}"]
@@ -821,6 +868,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{2})(\\d{3})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CN":[,[,,"[1-79]\\d{7,11}|8[0-357-9]\\d{6,9}","\\d{4,12}"]
 ,[,,"21\\d{8,10}|(?:10|2[02-57-9]|3(?:11|7[159])|4[135]1|5(?:1\\d|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898)\\d{8}|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7[0-46-9]|8[23])|5(?:3[03-9]|4[36]|5\\d|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))\\d{7}|80(?:29|6[03578]|7[018]|81)\\d{4}","\\d{4,12}"]
@@ -866,6 +914,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"CO":[,[]
 ,[]
@@ -875,7 +924,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1]
+,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CR":[,[,,"[28]\\d{7}","\\d{8}"]
 ,[,,"2[24-7]\\d{6}","\\d{8}"]
 ,[,,"8[38]\\d{6}","\\d{8}"]
@@ -886,6 +936,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CR",506,"00",,,,,,,,[[,"([28]\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CU":[,[]
 ,[]
@@ -895,7 +946,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"CU",53,"119","0",,,"0",,,1]
+,"CU",53,"119","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"CV":[,[,,"[259]\\d{6}","\\d{7}"]
 ,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}"]
 ,[,,"(?:9\\d|59)\\d{5}","\\d{7}"]
@@ -906,6 +958,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"]
 ,[,,"2[2-6]\\d{6}","\\d{8}"]
@@ -917,6 +970,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"]
 ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}"]
@@ -928,6 +982,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DE":[,[,,"(?:4[0-8]|[1-35-9]\\d)\\d{4,12}|49(?:4[1-8]|[0-35-7]\\d)\\d{2,7}","\\d{2,14}"]
 ,[,,"(?:[246]\\d{2}|3[02-9]\\d|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])|[789](?:[1-9]\\d|0[2-9]))\\d{3,10}","\\d{2,14}"]
@@ -952,6 +1007,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(700)(\\d{4})(\\d{4})","$1 $2 $3",["700"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DJ":[,[,,"[2-8]\\d{5}","\\d{6}"]
 ,[,,"(?:25|3[0-6]|42)\\d{4}","\\d{6}"]
@@ -963,6 +1019,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"DJ",253,"00",,,,,,,,[[,"([2-8]\\d)(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DK":[,[,,"[1-9]\\d{7}","\\d{8}"]
 ,[,,"(?:3[2-9]|4[3-9]|5[4-9]|6[2-9]|7[02-9]|8[26-9]|9[6-9])\\d{6}","\\d{8}"]
@@ -974,6 +1031,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"DK",45,"00",,,,,,,,[[,"([1-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"]
 ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}"]
@@ -983,7 +1041,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"DM",1,"011","1",,,"1",,,,,,,,"767"]
+,"DM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"767"]
 ,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
@@ -992,7 +1051,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"DO",1,"011","1",,,"1",,,1,,,,,"8[024]9"]
+,"DO",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"8[024]9"]
 ,"DZ":[,[,,"(?:[1-4]|[5-9]\\d)\\d{7}","\\d{8,9}"]
 ,[,,"(?:1\\d|2[014-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}","\\d{8,9}"]
 ,[,,"(?:5[56]|6[69]|7[79])\\d{7}","\\d{9}"]
@@ -1008,6 +1068,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"EC":[,[]
 ,[]
@@ -1017,7 +1078,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"EC",593,"00","0",,,"0",,,1]
+,"EC",593,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"]
 ,[,,"(?:3[23589]|4[3-8]|6\\d|7[1-9]|88)\\d{5}","\\d{7}"]
 ,[,,"(?:5\\d|8[1-5])\\d{6}|5(?:[02]\\d{2}|1(?:[0-8]\\d|95)|5[0-478]\\d|64[0-4]|65[1-589])\\d{3}","\\d{7,8}"]
@@ -1033,6 +1095,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{3})(\\d{3,4})","$1 $2",["5|8(?:00|[1-5])","5|8(?:00[1-9]|[1-5])"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"EG":[,[,,"1\\d{4,9}|[2-689]\\d{7,9}","\\d{5,10}"]
 ,[,,"(?:1[35][23]|2[23]\\d|3\\d|4(?:0[2-4]|[578][23]|64)|5(?:0[234]|[57][23])|6[24-689]3|8(?:[28][2-4]|42|6[23])|9(?:[25]2|3[24]|6[23]|7[2-4]))\\d{6}|1[69]\\d{3}","\\d{5,9}"]
@@ -1049,6 +1112,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ER":[,[,,"[178]\\d{6}","\\d{6,7}"]
 ,[,,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}","\\d{6,7}"]
@@ -1060,6 +1124,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"]
 ,[,,"[89][1-8]\\d{7}","\\d{9}"]
@@ -1067,10 +1132,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"[89]00\\d{6}","\\d{9}"]
 ,[,,"80[367]\\d{6}","\\d{9}"]
 ,[,,"90[12]\\d{6}","\\d{9}"]
-,[,,"70\\d{7}","\\d{9}"]
+,[,,"(?:51|70)\\d{7}","\\d{9}"]
 ,[,,"NA","NA"]
 ,"ES",34,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"]
 ,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}"]
@@ -1082,6 +1148,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ET",251,"00","0",,,"0",,,,[[,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"]
 ,[,,"1(?:0[1-9]\\d{3,7}|[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|[1-8]\\d{3,9}|9\\d{4,8})|3(?:0[1-9]\\d{3,7}|[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,12}"]
@@ -1098,6 +1165,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([6-8]00)(\\d{4,7})","$1 $2",["[6-8]0"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"FJ":[,[]
 ,[]
@@ -1107,7 +1175,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FJ",679,"00",,,,,,,1]
+,"FJ",679,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FK":[,[]
 ,[]
 ,[]
@@ -1116,7 +1185,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FK",500,"00","0",,,"0",,,1]
+,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"FM":[,[]
 ,[]
 ,[]
@@ -1125,7 +1195,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FM",691,"00",,,,,,,1]
+,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FO":[,[]
 ,[]
 ,[]
@@ -1134,7 +1205,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"FO",298,"00",,,,,,,1]
+,"FO",298,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"]
 ,[,,"[1-5]\\d{8}","\\d{9}"]
 ,[,,"6\\d{8}|7[5-9]\\d{7}","\\d{9}"]
@@ -1148,6 +1220,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
 ,"0 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GA":[,[,,"[4-9]\\d{5}|0\\d{7}","\\d{6,8}"]
 ,[,,"(?:4(?:[04-8]\\d|2[04])|(?:5[04-689]|6[024-9]|7\\d|8[236]|9[02368])\\d)\\d{3}","\\d{6}"]
@@ -1162,33 +1235,39 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(0\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"GB":[,[,,"\\d{7,10}","\\d{6,10}"]
-,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[0-35689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}"]
-,[,,"7(?:4[0-26]\\d|5(?:[013-9]\\d|2[0-35-9])|7(?:0[1-9]|8[02-9]|9[0-689]|[1-7]\\d)|8(?:[014-9]\\d|[23][0-8])|9(?:1[02-9]|2[0135-9]|3[0-689]|[04-9]\\d))\\d{6}","\\d{10}"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}"]
+,"GB":[,[,,"\\d{7,10}","\\d{4,10}"]
+,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|2[02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-5789])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|3[013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|(?:3[0347]|55)\\d{8}","\\d{4,10}"]
+,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"]
 ,[,,"70\\d{8}","\\d{10}"]
 ,[,,"56\\d{8}","\\d{10}"]
-,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[23]|5[56]|9[018]"]
+,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7[06]"]
+,"0$1",""]
+,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:1|\\d1)|3|9[018]"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["1(?:1|\\d1)|500"]
+,[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:387|5(?:24|39)|697|768|946)","1(?:3873|5(?:242|39[456])|697[347]|768[347]|9467)"]
 ,"0$1",""]
-,[,"(\\d{5})(\\d{4,5})","$1 $2",["1(?:38|5[23]|69|76|94)","1(?:387|5(?:24|39)|697|768|946)","1(?:3873|5(?:242|39[4-6])|697[347]|768[347]|9467)"]
+,[,"(1\\d{3})(\\d{5,6})","$1 $2",["1"]
 ,"0$1",""]
-,[,"(1\\d{3})(\\d{4,6})","$1 $2",["1"]
+,[,"(7\\d{3})(\\d{6})","$1 $2",["7[1-5789]"]
 ,"0$1",""]
-,[,"(7\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["7[1-9]"]
+,[,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"]
 ,"0$1",""]
-,[,"(70\\d{2})(\\d{6})","$1 $2",["70"]
+,[,"(845)(46)(4\\d)","$1 $2 $3",["845","8454","84546","845464"]
 ,"0$1",""]
-,[,"(800)(1111)","$1 $2",["800","8001"]
+,[,"(8\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:4[2-5]|7[0-3])"]
 ,"0$1",""]
-,[,"(8\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["8(?:0|4[3-5]|7[01])"]
+,[,"(80\\d)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
+,"0$1",""]
+,[,"([58]00)(\\d{6})","$1 $2",["[58]00"]
 ,"0$1",""]
 ]
-,,,1]
+,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"]
+,1]
 ,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"]
 ,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:08|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}"]
 ,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}"]
@@ -1197,7 +1276,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GD",1,"011","1",,,"1",,,,,,,,"473"]
+,"GD",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"473"]
 ,"GE":[,[,,"[1-3579]\\d{7}|8\\d{8}","\\d{3,9}"]
 ,[,,"(?:122|2(?:22|36|5[03])|3(?:1[0-35-8]|[24-6]\\d|3[1-35679]|7[0-39]|9[1-35-7])|44[2-6])\\d{5}","\\d{3,8}"]
 ,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}"]
@@ -1217,6 +1297,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["8"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GF":[,[]
 ,[]
@@ -1226,16 +1307,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GF",594,"00",,,,,,,1]
-,"GG":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
+,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"]
+]
+,"GG":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
 ,[,,"1481\\d{6}","\\d{6,10}"]
 ,[,,"7(?:781|839|911)\\d{6}","\\d{10}"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"]
 ,[,,"70\\d{8}","\\d{10}"]
 ,[,,"56\\d{8}","\\d{10}"]
-,"GG",44,"00","0"," x",,"0"]
+,"GG",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"]
+]
 ,"GH":[,[,,"[235]\\d{6,8}","\\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((?:[47]\\d|08)\\d{6}|[368]\\d{7})|54\\d{7}","\\d{9}"]
@@ -1246,6 +1329,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GH",233,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GI":[,[]
 ,[]
@@ -1255,7 +1339,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GI",350,"00",,,,,,,1]
+,"GI",350,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
 ,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}"]
 ,[,,"[245][2-9]\\d{4}","\\d{6}"]
@@ -1266,6 +1351,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"3[89]\\d{4}","\\d{6}"]
 ,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GM":[,[,,"[3-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}"]
@@ -1277,10 +1363,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"GN":[,[,,"[367]\\d{7}","\\d{8}"]
+,"GN":[,[,,"[3567]\\d{7}","\\d{8}"]
 ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}"]
-,[,,"6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}"]
+,[,,"55\\d{6}|6(?:0(?:2\\d|3[3467]|5[2457-9])|[2457]\\d{2}|3(?:[14]0|35))\\d{4}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -1288,6 +1375,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GP":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:1[12]|2[0-68]|3[28]|4[126-8]|5[067]|6[018]|[89]\\d)\\d{4}","\\d{9}"]
@@ -1299,7 +1387,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GP",590,"00","0",,,"0",,,,[[,"([56]90)(\\d{2})(\\d{4})","$1 $2-$3",,"0$1",""]
 ]
-,,,1]
+,,[,,"NA","NA"]
+,1]
 ,"GQ":[,[,,"[23589]\\d{8}","\\d{6,9}"]
 ,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{6,9}"]
 ,[,,"(?:222|551)\\d{6}","\\d{6,9}"]
@@ -1313,6 +1402,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{6})","$1 $2",["[89]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GR":[,[,,"[26-9]\\d{9}","\\d{10}"]
 ,[,,"2(?:1\\d{2}|2(?:3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[289][1-9])|3(?:1\\d|2[1-5]|3[1-4]|[45][1-3]|7[1-7]|8[1-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|2[1-3]|4[124]|5[1-6]|[39][1-4])|6(?:1\\d|3[24]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-35])|7(?:1\\d|[23][1-5]|4[1-7]|5[1-57]|6[134]|9[15-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-7]))\\d{6}","\\d{10}"]
@@ -1329,6 +1419,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(2\\d{3})(\\d{6})","$1 $2",["2[2-9][02-9]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GT":[,[]
 ,[]
@@ -1338,7 +1429,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GT",502,"00",,,,,,,1]
+,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}"]
 ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}"]
@@ -1347,7 +1439,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GU",1,"011","1",,,"1",,,1,,,,,"671"]
+,"GU",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"671"]
 ,"GW":[,[,,"[3567]\\d{6}","\\d{7}"]
 ,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}"]
 ,[,,"[5-7]\\d{6}","\\d{7}"]
@@ -1358,6 +1451,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"GY":[,[]
 ,[]
@@ -1367,7 +1461,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"GY",592,"001","0",,,"0",,,1]
+,"GY",592,"001","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HK":[,[,,"[235-7]\\d{7}|8\\d{7,8}|9\\d{7,10}","\\d{8,11}"]
 ,[,,"[23]\\d{7}","\\d{8}"]
 ,[,,"[5-79]\\d{7}","\\d{8}"]
@@ -1383,6 +1478,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(900)(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3 $4",["900"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"HN":[,[]
 ,[]
@@ -1392,7 +1488,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"HN",504,"00","0",,,"0",,,1]
+,"HN",504,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"]
 ,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}"]
 ,[,,"9[12589]\\d{6,10}","\\d{8,12}"]
@@ -1420,6 +1517,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(80[01])(\\d{3,4})(\\d{3})","$1 $2 $3",["8"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"HT":[,[]
 ,[]
@@ -1429,7 +1527,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"HT",509,"00","0",,,"0",,,1]
+,"HT",509,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"HU":[,[,,"\\d{8,9}","\\d{6,9}"]
 ,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}"]
 ,[,,"(?:[237]0|31)\\d{7}","\\d{9}"]
@@ -1443,6 +1542,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["[2-9]"]
 ,"($1)",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"]
 ,[,,"2[124]\\d{7,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|2[1-578]|3[1-68]|4[1-3]|5[1-8]|6[1-3568]|7[0-46]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[1246-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-469]|4[1-6])|7(?:1[1-46-9]|2[14-9]|[36]\\d|4[1-8]|5[1-9]|7[0-36-9])|9(?:0[12]|1[0134-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,10}"]
@@ -1465,6 +1565,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(809)(\\d)(\\d{3})(\\d{3})","$1 $2 $3 $4",["809"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"]
 ,[,,"1\\d{7,8}|(?:2[24-9]|4(?:0[24]|7)|5(?:0[45]|8)|6[237-9]|9[3-9])\\d{5}|(?:45|[569]1|818)\\d{6}|(?:4[12469]|5[3679]|6[56]|7[14]|9[04])\\d{7}|21\\d{6,7}|(?:23|4[34]|52|64)\\d{5,7}|48\\d{8}","\\d{5,10}"]
@@ -1493,6 +1594,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{3})(\\d{3})","$1 $2 $3",["1(?:8[059]|5)","1(?:8[059]0|5)"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IL":[,[,,"[1-57-9]\\d{6,9}","\\d{7,10}"]
 ,[,,"(?:[2-489]|7[2-46-8])\\d{7}","\\d{7,9}"]
@@ -1515,16 +1617,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"IM":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
+,"IM":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
 ,[,,"1624\\d{6}","\\d{6,10}"]
-,[,,"7[69]24\\d{6}","\\d{6,10}"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}"]
+,[,,"7[569]24\\d{6}","\\d{10}"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"]
 ,[,,"70\\d{8}","\\d{10}"]
 ,[,,"56\\d{8}","\\d{10}"]
-,"IM",44,"00","0"," x",,"0"]
+,"IM",44,"00","0"," x",,"0",,,,,,[,,"7624\\d{6}","\\d{10}"]
+]
 ,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"]
 ,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|5[14]|6[014]|7[1257]|8[01346]|9[14])|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(?:1[25]|22|3[25]|4[28]|5[12]|6[25]|[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-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|5[0235-9]|6[235-9]|7[34689]|8[257-9]|9[0235-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(?:1[146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|6[146-9]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|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-6]\\d{5}","\\d{6,10}"]
 ,[,,"(?:7(?:39[89]|5(?:50|6[6-8]|79|[89][7-9])|6(?:0[027]|20|3[19]|54|65|7[67]|9[6-9])|7(?:0[89]|3[589]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]))\\d|9\\d{4}|8(?:0[01589]\\d|1[024]\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}"]
@@ -1560,6 +1664,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1800)(\\d{2,3})(\\d{4})","$1 $2 $3",["180","1800"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IO":[,[]
 ,[]
@@ -1569,7 +1674,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"IO",246,"00",,,,,,,1]
+,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"IQ":[,[,,"[1-7]\\d{7,9}","\\d{6,10}"]
 ,[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}","\\d{6,9}"]
 ,[,,"7[5-9]\\d{8}","\\d{10}"]
@@ -1585,6 +1691,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[5-9]\\d)(\\d{3})(\\d{4})","$1 $2 $3",["7"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IR":[,[,,"[1-9]\\d{9}","\\d{7,10}"]
 ,[,,"[1-8]\\d{9}","\\d{7,10}"]
@@ -1599,17 +1706,22 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[13-89]|2[02-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"IS":[,[,,"[4-9]\\d{6}","\\d{7}"]
+,"IS":[,[,,"[4-9]\\d{6}|38\\d{7}","\\d{7,9}"]
 ,[,,"(?:4(?:1[0-245]|2[0-7]|[37][0-8]|4[0245]|5[0-356]|6\\d|8[0-46-8]|9[013-79])|5(?:05|[156]\\d|2[02578]|3[013-6]|4[03-6]|7[0-2578]|8[0-25-9]|9[013-689])|87[23])\\d{4}","\\d{7}"]
-,[,,"(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7}"]
+,[,,"38[59]\\d{6}|(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7,9}"]
 ,[,,"800\\d{4}","\\d{7}"]
 ,[,,"90\\d{5}","\\d{7}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"49[013-79]\\d{4}","\\d{7}"]
-,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
+,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[4-9]"]
+,"",""]
+,[,"(3\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["3"]
+,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"]
 ,[,,"0\\d{7,10}","\\d{8,11}"]
@@ -1638,16 +1750,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3,6})","$1 $2",["8(?:03|9)"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"JE":[,[,,"[157-9]\\d{6,9}","\\d{6,10}"]
+,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"]
 ,[,,"1534\\d{6}","\\d{6,10}"]
-,[,,"7(?:7(?:00|97)|829|937)\\d{6}","\\d{10}"]
-,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}"]
-,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}"]
-,[,,"8(?:4[3-5]|70)\\d{7}","\\d{10}"]
-,[,,"70\\d{8}","\\d{10}"]
+,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}"]
+,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"]
+,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"]
+,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"]
+,[,,"701511\\d{4}","\\d{10}"]
 ,[,,"56\\d{8}","\\d{10}"]
-,"JE",44,"00","0"," x",,"0"]
+,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"]
+]
 ,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}"]
 ,[,,"876(?:(?:21|[348]\\d|5[78]|77)\\d|7(?:0[07]|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}"]
@@ -1656,7 +1770,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"JM",1,"011","1",,,"1",,,,,,,,"876"]
+,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"876"]
 ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
 ,[,,"[2356][2-8]\\d{6}","\\d{7,8}"]
 ,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}"]
@@ -1672,6 +1787,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{5,6})","$1 $2",["70|[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"]
 ,[,,"(?:1[1-9][1-9]|9(?:[3-9][1-9]|2\\d)|(?:[36][1-9]|[24578][2-9])\\d)\\d{6}","\\d{9}"]
@@ -1681,23 +1797,24 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"60\\d{7}","\\d{9}"]
 ,[,,"50\\d{8}","\\d{10}"]
-,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:12|99)0"]
+,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|99)0"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["[57-9]0"]
+,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57-9]0"]
 ,"0$1",""]
-,[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"]
+,[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[034-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-56]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"]
+,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[034-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-56]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))","1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"]
+,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"]
 ,"0$1",""]
-,[,"(\\d{3})(\\d{2})(\\d{4})","$1 $2 $3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"]
+,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"]
 ,"0$1",""]
-,[,"(\\d)(\\d{4})(\\d{4})","$1 $2 $3",["[36]|4(?:2[09]|7[01])"]
+,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])"]
 ,"0$1",""]
-,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[2479]"]
+,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"]
 ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}"]
@@ -1712,6 +1829,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{6,7})","$1 $2",["[78]|90"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KG":[,[,,"[356-8]\\d{8}","\\d{5,9}"]
 ,[,,"(?:3(?:1(?:2\\d|3[1-9]|52|6[1-8])|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6[0-4])|5(?:22|3[4-7]|59|6[0-5])|6(?:22|5[35-7]|6[0-3])|7(?:22|3[468]|4[1-8]|59|6\\d|7[5-7])|9(?:22|4[1-7]|6[0-8]))|6(?:09|12|2[2-4])\\d)\\d{5}","\\d{5,9}"]
@@ -1726,6 +1844,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{5})","$1 $2",["3(?:1[36]|[2-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KH":[,[,,"[1-9]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[2-47-9]\\d{5}","\\d{6,8}"]
@@ -1740,6 +1859,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1[89]0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KI":[,[]
 ,[]
@@ -1749,7 +1869,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KI",686,"00","0",,,"0",,,1]
+,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"KM":[,[,,"[37]\\d{6}","\\d{7}"]
 ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}"]
 ,[,,"3[23]\\d{5}","\\d{7}"]
@@ -1760,6 +1881,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"KM",269,"00",,,,,,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"]
 ,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}"]
@@ -1769,7 +1891,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KN",1,"011","1",,,"1",,,,,,,,"869"]
+,"KN",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"869"]
 ,"KP":[,[]
 ,[]
 ,[]
@@ -1778,9 +1901,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KP",850,"00","0",,,"0",,,1]
+,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"]
-,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}"]
+,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}|(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}"]
 ,[,,"1[0-25-9]\\d{7,8}","\\d{9,10}"]
 ,[,,"80\\d{7}","\\d{9}"]
 ,[,,"60[2-9]\\d{6}","\\d{9}"]
@@ -1807,10 +1931,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(\\d{2})(\\d{3,4})","$1-$2",["[3-9][1-9]1","[3-9][1-9]1(?:[0-46-9])"]
 ,"0$1",""]
+,[,"(\\d{4})(\\d{4})","$1-$2",["1(?:5[46-9]|6[04678])","1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
-,[,,"(?:18|2[2-5]\\d)\\d{5}","\\d{7,8}"]
+,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}"]
 ,[,,"(?:5[05]|6[05-7]|9[0479])\\d{6}","\\d{8}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
@@ -1822,6 +1949,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5[05]\\d)(\\d{5})","$1 $2",["5"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"]
 ,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}"]
@@ -1831,16 +1959,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KY",1,"011","1",,,"1",,,,,,,,"345"]
+,"KY",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"345"]
 ,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
 ,[,,"7(?:1\\d[2-7]|2(?:[0-689][2-7]|75[279]))\\d{6}","\\d{10}"]
-,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\{9}","\\d{10}"]
+,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\d{9}","\\d{10}"]
 ,[,,"800\\d{7}","\\d{10}"]
 ,[,,"809\\d{7}","\\d{10}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"KZ",7,"8~10","8",,,"8"]
+,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"]
+]
 ,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}"]
 ,[,,"20(?:[23]|5[4-6]|77|9[89])\\d{6}","\\d{9,10}"]
@@ -1856,6 +1986,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([2-57]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["21|[3-57]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:[14-6]\\d|[7-9][2-9])\\d{5}","\\d{7}"]
@@ -1872,6 +2003,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([7-9][2-9])(\\d{2})(\\d{3})","$1 $2 $3",["[7-9][2-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"]
 ,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}"]
@@ -1881,7 +2013,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LC",1,"011","1",,,"1",,,,,,,,"758"]
+,"LC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"758"]
 ,"LI":[,[,,"(?:66|80|90)\\d{7}|[237-9]\\d{6}","\\d{7,9}"]
 ,[,,"(?:2(?:17|3\\d|6[02-58]|96)|3(?:02|7[01357]|8[048]|9[0269])|870)\\d{4}","\\d{7}"]
 ,[,,"66(?:[0178][0-4]|2[025-9]|[36]\\d|4[129]|5[45]|9[019])\\d{5}|7(?:4[2-59]|56|[6-9]\\d)\\d{4}","\\d{7,9}"]
@@ -1899,6 +2032,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]0\\d)(\\d{2})(\\d{2})(\\d{2})","0$1 $2 $3 $4",["[89]0"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LK":[,[]
 ,[]
@@ -1908,7 +2042,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LK",94,"00","0",,,"0",,,1]
+,"LK",94,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"LR":[,[,,"(?:[27]\\d|[4-6])\\d{6}","\\d{7,8}"]
 ,[,,"2\\d{7}","\\d{8}"]
 ,[,,"(?:4[67]|5\\d|7\\d{2}|6[4-8])\\d{5}","\\d{7,8}"]
@@ -1922,6 +2057,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LS":[,[,,"[2568]\\d{7}","\\d{8}"]
 ,[,,"2\\d{7}","\\d{8}"]
@@ -1933,6 +2069,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LT":[,[,,"[3-9]\\d{7}","\\d{8}"]
 ,[,,"(?:3[1478]|4[124-6]|52)\\d{6}","\\d{8}"]
@@ -1949,6 +2086,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(5)(2[0-79]\\d)(\\d{4})","$1 $2 $3",["52[0-79]"]
 ,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LU":[,[]
 ,[]
@@ -1958,7 +2096,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LU",352,"00",,,,,,,1]
+,"LU",352,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"LV":[,[,,"[2689]\\d{7}","\\d{8}"]
 ,[,,"6\\d{7}","\\d{8}"]
 ,[,,"2\\d{7}","\\d{8}"]
@@ -1969,6 +2108,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"LV",371,"00",,,,,,,,[[,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"LY":[,[]
 ,[]
@@ -1978,7 +2118,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"LY",218,"00","0",,,"0",,,1]
+,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MA":[,[,,"[5689]\\d{8}","\\d{9}"]
 ,[,,"5(?:2(?:[015-7]\\d{2}|(?:[28][2-9]|3[2-7]|4[2-8])\\d|9(?:0\\d|[89]0))|3(?:[0-4]\\d{2}|(?:[57][2-9]|6[2-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}"]
 ,[,,"6(?:00|33|[15-7]\\d|4[0-8]|99)\\d{6}","\\d{9}"]
@@ -1996,6 +2137,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8[09])(\\d{7})","$1-$2",["8(?:0|9[013-9])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MC":[,[]
 ,[]
@@ -2005,7 +2147,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MC",377,"00","0",,,"0",,,1]
+,"MC",377,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MD":[,[,,"[256-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}"]
 ,[,,"(?:6(?:50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}"]
@@ -2021,6 +2164,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{5})","$1 $2",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ME":[,[]
 ,[]
@@ -2030,7 +2174,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"ME",382,"99","0",,,"0",,,1]
+,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"]
 ,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}"]
 ,[,,"3[02-4]\\d{7}","\\d{9}"]
@@ -2041,6 +2186,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MG",261,"00","0",,,"0",,,,[[,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MF":[,[,,"[56]\\d{8}","\\d{9}"]
 ,[,,"590(?:10|2[79]|5[128]|[78]7)\\d{4}","\\d{9}"]
@@ -2050,7 +2196,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MF",590,"00","0",,,"0"]
+,"MF",590,"00","0",,,"0",,,,,,[,,"NA","NA"]
+]
 ,"MH":[,[]
 ,[]
 ,[]
@@ -2059,7 +2206,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MH",692,"011","1",,,"1",,,1]
+,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+]
 ,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"]
 ,[,,"(?:2\\d|3[1-4]|4[2-8])\\d{6}","\\d{6,8}"]
 ,[,,"7\\d{7}","\\d{8}"]
@@ -2075,6 +2223,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{2})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["[58]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ML":[,[,,"[246-8]\\d{7}","\\d{8}"]
 ,[,,"(?:2(?:0(?:2[0-589]|7[027-9])|1(?:2[5-7]|[3-689]\\d))|442\\d)\\d{4}","\\d{8}"]
@@ -2086,6 +2235,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ML",223,"00","0",,,"0",,,,[[,"([246-8]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MM":[,[,,"[124-8]\\d{5,7}|9\\d{7,8}","\\d{5,9}"]
 ,[,,"(?:1\\d|2|4[2-6]|5[2-9]|6\\d|7[0-5]|8[1-6])\\d{5}|1333\\d{4}","\\d{5,8}"]
@@ -2108,6 +2258,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9)([25689]\\d{2})(\\d{4})","$1 $2 $3",["9[25689]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MN":[,[,,"[127-9]\\d{7}","\\d{8}"]
 ,[,,"(?:[12](?:1\\d|2[1-37]|3[2-8]|4[2-68]|5[1-4689])|70)\\d{6}","\\d{8}"]
@@ -2126,6 +2277,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([12]\\d{4})(\\d{3})","$1 $2",["[12](?:27|[3-5])","[12](?:27|[3-5]\\d)[4-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MO":[,[,,"[268]\\d{7}","\\d{8}"]
 ,[,,"(?:28[2-57-9]|8[2-57-9]\\d)\\d{5}","\\d{8}"]
@@ -2137,6 +2289,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MO",853,"00",,,,,,,,[[,"([268]\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}"]
@@ -2146,7 +2299,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MP",1,"011","1",,,"1",,,1,,,,,"670"]
+,"MP",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"670"]
 ,"MQ":[,[]
 ,[]
 ,[]
@@ -2155,7 +2309,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MQ",596,"00","0",,,"0",,,1]
+,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MR":[,[,,"[2-7]\\d{6}","\\d{7}"]
 ,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}","\\d{7}"]
 ,[,,"(?:[23][0-4]|4[3-5]|6\\d|7[0-7])\\d{5}","\\d{7}"]
@@ -2166,6 +2321,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MR",222,"00",,,,,,,,[[,"([2-7]\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"664491\\d{4}","\\d{7,10}"]
@@ -2175,7 +2331,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MS",1,"011","1",,,"1",,,,,,,,"664"]
+,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"664"]
 ,"MT":[,[]
 ,[]
 ,[]
@@ -2184,7 +2341,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MT",356,"00","21",,,"21",,,1]
+,"MT",356,"00","21",,,"21",,,1,,,[,,"NA","NA"]
+]
 ,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}"]
 ,[,,"(?:25\\d|4(?:2[12389]|9\\d)|7\\d{2}|87[15-7]|9[1-8]\\d)\\d{4}","\\d{7}"]
@@ -2195,6 +2353,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"MU",230,"020",,,,,,,,[[,"([2-9]\\d{2})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MV":[,[]
 ,[]
@@ -2204,7 +2363,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"MV",960,"020","0",,,"0",,,1]
+,"MV",960,"020","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"]
 ,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}"]
 ,[,,"(?:[3-5]|77|8(?:8\\d)?|9(?:9\\d)?)\\d{6}","\\d{7,9}"]
@@ -2222,6 +2382,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d)(\\d{3,4})(\\d{3,4})","$1 $2 $3",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"]
 ,[,,"(?:33|55|81)\\d{8}|(?:2(?:2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-58]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}","\\d{7,10}"]
@@ -2249,6 +2410,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"]
 ,,""]
 ]
+,[,,"NA","NA"]
 ]
 ,"MY":[,[,,"[13-9]\\d{7,9}","\\d{6,10}"]
 ,[,,"(?:3\\d{2}|[4-79]\\d|8[2-9])\\d{6}","\\d{6,9}"]
@@ -2269,6 +2431,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(154)(\\d{3})(\\d{4})","$1-$2 $3",["15"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"MZ":[,[,,"[28]\\d{7,8}","\\d{8,9}"]
 ,[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}","\\d{8}"]
@@ -2283,6 +2446,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(80\\d)(\\d{3})(\\d{3})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NA":[,[,,"[68]\\d{5,9}","\\d{4,10}"]
 ,[,,"6(?:1(?:[136]|2\\d?)\\d|2(?:[25]\\d?|[134678])\\d|3(?:2\\d{0,3}|4\\d{1,2}|[135-8]\\d?)|4(?:[13-8]\\d|2\\d{1,2})|(?:5(?:[16-7]\\d|[3-58]\\d?|2\\d{1,2}))|6\\d{0,4}|7\\d{0,3})\\d{4}","\\d{4,10}"]
@@ -2307,6 +2471,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(88)(\\d{3})(\\d{3})","$1 $2 $3",["88"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NC":[,[]
 ,[]
@@ -2316,7 +2481,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NC",687,"00","0",,,"0",,,1]
+,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NE":[,[,,"[029]\\d{7}","\\d{8}"]
 ,[,,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}","\\d{8}"]
 ,[,,"9[03467]\\d{6}","\\d{8}"]
@@ -2330,6 +2496,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(08)(\\d{3})(\\d{3})","$1 $2 $3",["08"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NF":[,[]
 ,[]
@@ -2339,7 +2506,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NF",672,"00",,,,,,,1]
+,"NF",672,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"NG":[,[,,"[1-69]\\d{5,8}|[78]\\d{5,13}","\\d{5,14}"]
 ,[,,"[12]\\d{6,7}|9\\d{7}|(?:4[023568]|5[02368]|6[02-469]|7[569]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}","\\d{5,9}"]
 ,[,,"(?:70[3-9]|8(?:0[2-9]|1[23]))\\d{7}|(?:702[1-9]|819[01])\\d{6}","\\d{10}"]
@@ -2363,6 +2531,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(78)(\\d{2})(\\d{3})","$1 $2 $3",["78"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NI":[,[]
 ,[]
@@ -2372,7 +2541,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NI",505,"00","0",,,"0",,,1]
+,"NI",505,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NL":[,[,,"[1-9]\\d{6,9}","\\d{7,10}"]
 ,[,,"(?:1[0135-8]|2[02-69]|3[0-68]|4[0135-9]|[57]\\d|8[478])\\d{7}","\\d{9}"]
 ,[,,"6[1-58]\\d{7}","\\d{9}"]
@@ -2390,6 +2560,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]0\\d)(\\d{4,7})","$1 $2",["80|9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"]
 ,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"]
@@ -2404,6 +2575,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([235-7]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[235-7]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"]
 ,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}"]
@@ -2420,6 +2592,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(98[45])(\\d{3})(\\d{4})","$1 $2 $3",["98"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"NR":[,[]
 ,[]
@@ -2429,7 +2602,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NR",674,"00","0",,,"0",,,1]
+,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NU":[,[]
 ,[]
 ,[]
@@ -2438,7 +2612,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"NU",683,"00","0",,,"0",,,1]
+,"NU",683,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"]
 ,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}"]
 ,[,,"2(?:[027]\\d{7}|9\\d{6,7}|1(?:0\\d{5,7}|[12]\\d{5,6}|[3-9]\\d{5})|4[1-9]\\d{6}|8\\d{7,8})","\\d{8,10}"]
@@ -2458,6 +2633,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(24099)(\\d{3})","$1 $2",["240","2409","24099"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"OM":[,[,,"(?:2[3-6]|5|9[2-9])\\d{6}|800\\d{5,6}","\\d{7,9}"]
 ,[,,"2[3-6]\\d{6}","\\d{8}"]
@@ -2474,6 +2650,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]00)(\\d{4,6})","$1 $2",["[58]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PA":[,[]
 ,[]
@@ -2483,24 +2660,24 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PA",507,"00","0",,,"0",,,1]
-,"PE":[,[,,"[146-8]\\d{7,10}|5\\d{7}(?:\\d{3})?","\\d{7,11}"]
-,[,,"(?:1\\d{2}|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{7,9}"]
-,[,,"(?:1|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])9\\d{8}","\\d{10,11}"]
+,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
+,"PE":[,[,,"[14-9]\\d{7,8}","\\d{6,9}"]
+,[,,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{6,8}"]
+,[,,"9\\d{8}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PE",51,"00","0"," Anexo ",,"0",,,,[[,"(1)(9\\d{2})(\\d{6})","$1 $2 $3",["19"]
+,"PE",51,"00","0"," Anexo ",,"0",,,,[[,"(1)(\\d{7})","$1 $2",["1"]
 ,"($1)",""]
-,[,"(1)(\\d{8})","$1 $2",["1[0-8]"]
-,"($1)",""]
-,[,"([4-8]\\d)(\\d{6})","$1 $2",["[4-8]\\d[0-8]"]
-,"($1)",""]
-,[,"([4-8]\\d)(9\\d{2})(\\d{6})","$1 $2 $3",["[4-8]\\d9"]
+,[,"([4-8]\\d)(\\d{6})","$1 $2",["[4-8]"]
 ,"($1)",""]
+,[,"(9\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9"]
+,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PF":[,[]
 ,[]
@@ -2510,7 +2687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PF",689,"00",,,,,,,1]
+,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}"]
 ,[,,"(?:68|7(?:[126]\\d|3[34689]))\\d{5}","\\d{7,8}"]
@@ -2524,6 +2702,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[1-36]\\d)(\\d{2})(\\d{3})","$1 $2 $3",["7[1-36]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PH":[,[,,"[2-9]\\d{7,9}|1800\\d{7,9}","\\d{7,13}"]
 ,[,,"(?:2|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}","\\d{7,9}"]
@@ -2548,6 +2727,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1800)(\\d{1,2})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1"]
 ,"",""]
 ]
+,,[,,"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}"]
@@ -2574,6 +2754,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]00)(\\d{3})(\\d{2})","$1 $2 $3",["[89]00"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"]
 ,[,,"(?:1[2-8]|2[2-59]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}","\\d{9}"]
@@ -2588,6 +2769,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["39|5[013]|6[069]|7[0289]|8[08]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PM":[,[]
 ,[]
@@ -2597,7 +2779,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PM",508,"00","0",,,"0",,,1]
+,"PM",508,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"]
 ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}"]
@@ -2606,7 +2789,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PR",1,"011","1",,,"1",,,1,,,,,"787|939"]
+,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"787|939"]
 ,"PS":[,[]
 ,[]
 ,[]
@@ -2615,17 +2799,19 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PS",970,"00","0",,,"0",,,1]
+,"PS",970,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"]
 ,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}"]
 ,[,,"9(?:[136]\\d{2}|2[25-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}"]
 ,[,,"4\\d{8}|80[02]\\d{6}","\\d{9}"]
 ,[,,"71\\d{7}","\\d{9}"]
-,[,,"NA","NA"]
+,[,,"808\\d{6}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"30\\d{7}","\\d{9}"]
 ,"PT",351,"00",,,,,,,,[[,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"PW":[,[]
 ,[]
@@ -2635,7 +2821,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PW",680,"011",,,,,,,1]
+,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"PY":[,[]
 ,[]
 ,[]
@@ -2644,7 +2831,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"PY",595,"002","0",,,"0",,,1]
+,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"]
 ,[,,"44\\d{6}","\\d{7,8}"]
 ,[,,"(?:33|55|66|77)\\d{6}","\\d{7,8}"]
@@ -2658,6 +2846,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3-7]\\d{3})(\\d{4})","$1 $2",["[3-7]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RE":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"262\\d{6}","\\d{9}"]
@@ -2669,7 +2858,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
 ]
-,,,1,"262|6[49]|8"]
+,,[,,"NA","NA"]
+,1,"262|6[49]|8"]
 ,"RO":[,[,,"[237-9]\\d{8}","\\d{9}"]
 ,[,,"[23][13-6]\\d{7}","\\d{9}"]
 ,[,,"7[1-8]\\d{7}","\\d{9}"]
@@ -2683,6 +2873,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[23][02-9]|[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RS":[,[,,"[1-46-9]\\d{4,11}","\\d{5,12}"]
 ,[,,"[1-3]\\d{6,9}","\\d{5,10}"]
@@ -2698,9 +2889,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(6[0-689])(\\d{3,10})","$1 $2",["6"]
 ,"0$1",""]
-,[,"([89]0\\d)(\\d{3,6})","$1 $2",["[89]"]
+,[,"([89]\\d{2})(\\d{3,6})","$1 $2",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"RU":[,[,,"[3489]\\d{9}","\\d{10}"]
 ,[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-7]|7[1-37-9]))\\d{7}","\\d{10}"]
@@ -2710,12 +2902,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"RU",7,"8~10","8",,,"8",,,,[[,"([34689]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
+,"RU",7,"8~10","8",,,"8",,,,[[,"([3489]\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2-$3-$4",["[34689]"]
 ,"8 ($1)",""]
-,[,"([7]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["7"]
+,[,"([67]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[67]"]
 ,"8 ($1)",""]
 ]
-,,,1]
+,,[,,"NA","NA"]
+,1]
 ,"RW":[,[,,"[27-9]\\d{8}","\\d{9}"]
 ,[,,"25\\d{7}","\\d{9}"]
 ,[,,"7[258]\\d{7}","\\d{9}"]
@@ -2729,6 +2922,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([7-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[7-9]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SA":[,[,,"[1-9]\\d{7,10}","\\d{7,11}"]
 ,[,,"(?:1[24-7]|2[24-8]|3[35-8]|4[34-68]|6[2-5]|7[235-7])\\d{6}","\\d{7,8}"]
@@ -2749,6 +2943,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(8111)(\\d{3})(\\d{3})","$1 $2 $3",["81"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SB":[,[]
 ,[]
@@ -2758,7 +2953,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SB",677,"00",,,,,,,1]
+,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"SC":[,[,,"[2-8]\\d{5}","\\d{6}"]
 ,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}"]
 ,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}"]
@@ -2769,6 +2965,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"4[1-37]\\d{4}","\\d{6}"]
 ,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SD":[,[]
 ,[]
@@ -2778,13 +2975,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SD",249,"00","0",,,"0",,,1]
+,"SD",249,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"SE":[,[,,"\\d{7,10}","\\d{5,10}"]
 ,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}"]
 ,[,,"7[02-46]\\d{7}","\\d{9}"]
 ,[,,"20\\d{4,7}","\\d{6,9}"]
 ,[,,"9(?:00|39|44)\\d{7}","\\d{10}"]
-,[,,"NA","NA"]
+,[,,"77\\d{7}","\\d{9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"]
@@ -2797,13 +2995,14 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])"]
 ,"0$1",""]
-,[,"(7[02-46])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-46]"]
+,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"]
 ,"0$1",""]
 ,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"]
 ,"0$1",""]
 ,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"]
 ,[,,"[36]\\d{7}","\\d{8}"]
@@ -2820,6 +3019,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{3})(\\d{4})","$1 $2 $3",["80"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SH":[,[]
 ,[]
@@ -2829,7 +3029,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SH",290,"00",,,,,,,1]
+,"SH",290,"00",,,,,,,1,,,[,,"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}"]
@@ -2847,6 +3048,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([58]\\d{2})(\\d{5})","$1 $2",["59|8[1-3]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"]
 ,[,,"[2-5]\\d{8}","\\d{9}"]
@@ -2863,6 +3065,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([689]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[689]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SL":[,[,,"[2-578]\\d{7}","\\d{6,8}"]
 ,[,,"[235]2[2-4][2-9]\\d{4}","\\d{6,8}"]
@@ -2874,6 +3077,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"(0$1)",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SM":[,[]
 ,[]
@@ -2883,7 +3087,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SM",378,"00","0",,,"0",,,1]
+,"SM",378,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"SN":[,[,,"[37]\\d{8}","\\d{9}"]
 ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}"]
 ,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}"]
@@ -2894,6 +3099,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"33301\\d{4}","\\d{9}"]
 ,"SN",221,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SO":[,[,,"[13-59]\\d{6,7}","\\d{7,8}"]
 ,[,,"(?:5[57-9]|[134]\\d)\\d{5}","\\d{7}"]
@@ -2908,6 +3114,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([19]\\d)(\\d{6})","$1 $2",["[19]"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SR":[,[]
 ,[]
@@ -2917,7 +3124,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SR",597,"00",,,,,,,1]
+,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"ST":[,[,,"[29]\\d{6}","\\d{7}"]
 ,[,,"22\\d{5}","\\d{7}"]
 ,[,,"9[89]\\d{5}","\\d{7}"]
@@ -2928,6 +3136,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SV":[,[]
 ,[]
@@ -2937,7 +3146,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"SV",503,"00",,,,,,,1]
+,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"]
 ,[,,"(?:1(?:|1\\d?|4\\d|[2356])|2[1-35]|3(?:1\\d|[34])|4[13]|5[1-3])\\d{6}","\\d{6,9}"]
 ,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[19])\\d{6}","\\d{9}"]
@@ -2951,6 +3161,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(9[3-689])(\\d{4})(\\d{3})","$1 $2 $3",["9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"SZ":[,[,,"[2-7]\\d{6,7}","\\d{7,8}"]
 ,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}"]
@@ -2965,6 +3176,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d{4})","$1 $2",["7"]
 ,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"]
 ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}"]
@@ -2974,7 +3186,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"64971[01]\\d{4}","\\d{10}"]
-,"TC",1,"011","1",,,"1",,,,,,,,"649"]
+,"TC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"649"]
 ,"TD":[,[,,"[2679]\\d{7}","\\d{8}"]
 ,[,,"22(?:[3789]0|5[0-5]|6[89])\\d{4}","\\d{8}"]
 ,[,,"(?:6(?:3[0-7]|6\\d)|77\\d|9(?:5[0-4]|9\\d))\\d{5}","\\d{8}"]
@@ -2985,6 +3198,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TF":[,[]
 ,[]
@@ -2994,7 +3208,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TF",262,"00","0",,,"0",,,1]
+,"TF",262,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"TG":[,[,,"[02-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2[2-7]|3[23]|44|55|66|77)\\d{5}","\\d{7}"]
 ,[,,"(?:0[1-9]|7[56]|8[1-7]|9\\d)\\d{5}","\\d{7}"]
@@ -3005,6 +3220,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TG",228,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"]
 ,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}"]
@@ -3023,6 +3239,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{3})(\\d{3})","$1 $2 $3",["1"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TJ":[,[,,"[349]\\d{8}","\\d{3,9}"]
 ,[,,"(?:3(?:1[3-5]|2[245]|31|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}","\\d{3,9}"]
@@ -3041,6 +3258,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(\\d{4})(\\d)(\\d{4})","$1 $2 $3",["3[1-5]","3(?:[1245]|3(?:[02-9]|1[0-589]))"]
 ,"8$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TK":[,[]
 ,[]
@@ -3050,7 +3268,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TK",690,"00",,,,,,,1]
+,"TK",690,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TL":[,[,,"[2-47-9]\\d{6}","\\d{7}"]
 ,[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}","\\d{7}"]
 ,[,,"7[2-4]\\d{5}","\\d{7}"]
@@ -3061,6 +3280,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TM":[,[,,"[1-6]\\d{7}","\\d{8}"]
 ,[,,"(?:12\\d|243|[3-5]22)\\d{5}","\\d{8}"]
@@ -3072,6 +3292,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TM",993,"8~10","8",,,"8",,,,[[,"([1-6]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8 $1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"]
 ,[,,"7\\d{7}","\\d{8}"]
@@ -3083,6 +3304,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TN",216,"00",,,,,,,,[[,"([247-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TO":[,[]
 ,[]
@@ -3092,7 +3314,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TO",676,"00",,,,,,,1]
+,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TR":[,[,,"[2-589]\\d{9}","\\d{10}"]
 ,[,,"[2-4]\\d{9}|850\\d{7}","\\d{10}"]
 ,[,,"5\\d{9}","\\d{10}"]
@@ -3103,16 +3326,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"TR",90,"00","0",,,"0",,,,[[,"([2-589]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"]
-,[,,"868(?:22[1-4]|6(?:1[4-6]|[2-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}"]
+,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}"]
 ,[,,"868(?:29\\d|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4([679]\\d|8[0-4])|6(?:20|78|8\\d)|7(?:1[02-9]|[2-9]\\d))\\d{4}","\\d{10}"]
 ,[,,"8(?:00|66|77|88)[2-9]\\d{6}","\\d{10}"]
 ,[,,"900[2-9]\\d{6}","\\d{10}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TT",1,"011","1",,,"1",,,,,,,,"868"]
+,"TT",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"868"]
 ,"TV":[,[]
 ,[]
 ,[]
@@ -3121,7 +3346,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"TV",688,"00",,,,,,,1]
+,"TV",688,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"TW":[,[,,"[2-9]\\d{7,8}","\\d{8,9}"]
 ,[,,"[2-8]\\d{7,8}","\\d{8,9}"]
 ,[,,"9\\d{8}","\\d{9}"]
@@ -3135,6 +3361,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["80|9"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"TZ":[,[,,"\\d{9}","\\d{7,9}"]
 ,[,,"2[2-8]\\d{7}","\\d{7,9}"]
@@ -3151,6 +3378,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([89]\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",["[89]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"UA":[,[,,"[3-689]\\d{8}","\\d{5,9}"]
 ,[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}","\\d{5,9}"]
@@ -3167,6 +3395,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"([3-6]\\d{3})(\\d{5})","$1 $2",["3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])","3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6(?:3[02389]|[015689])|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"UG":[,[,,"\\d{9}","\\d{5,9}"]
 ,[,,"3\\d{8}|4(?:[1-6]\\d|7[136]|8[1356]|96)\\d{6}|20(?:0\\d|24)\\d{5}","\\d{5,9}"]
@@ -3183,6 +3412,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(2024)(\\d{5})","$1 $2",["202"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"]
 ,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"]
@@ -3197,7 +3427,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ]
 ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""]
 ]
-,,1]
+,[,,"NA","NA"]
+,1]
 ,"UY":[,[]
 ,[]
 ,[]
@@ -3206,7 +3437,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"UY",598,"00","0",,,"0",,,1]
+,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"]
+]
 ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"]
 ,[,,"(?:6[125679]|7[0-69])\\d{7}","\\d{7,9}"]
 ,[,,"9[0-57-9]\\d{7}","\\d{7,9}"]
@@ -3217,6 +3449,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"UZ",998,"8~10","8",,,"8",,,,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VA":[,[,,"06\\d{8}","\\d{10}"]
 ,[,,"06698\\d{5}","\\d{10}"]
@@ -3228,6 +3461,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"VA",379,"00",,,,,,,,[[,"(06)(\\d{4})(\\d{4})","$1 $2 $3",,"",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}"]
@@ -3237,7 +3471,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VC",1,"011","1",,,"1",,,,,,,,"784"]
+,"VC",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"784"]
 ,"VE":[,[,,"[24589]\\d{9}","\\d{7,10}"]
 ,[,,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}","\\d{7,10}"]
 ,[,,"4(?:1[24-8]|2[46])\\d{7}","\\d{10}"]
@@ -3248,6 +3483,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,"VE",58,"00","0",,,"1\\d{2}|0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}"]
@@ -3257,7 +3493,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VG",1,"011","1",,,"1",,,,,,,,"284"]
+,"VG",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
+,,"284"]
 ,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
 ,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
@@ -3266,7 +3503,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VI",1,"011","1",,,"1",,,1,,,,,"340"]
+,"VI",1,"011","1",,,"1",,,1,,,[,,"NA","NA"]
+,,"340"]
 ,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
 ,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}"]
 ,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}"]
@@ -3292,6 +3530,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(1[89]00)(\\d{4,6})","$1 $2",["1(?:8|90)"]
 ,"$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"VU":[,[]
 ,[]
@@ -3301,7 +3540,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"VU",678,"00",,,,,,,1]
+,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"WF":[,[]
 ,[]
 ,[]
@@ -3310,7 +3550,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"WF",681,"19",,,,,,,1]
+,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"]
+]
 ,"WS":[,[,,"[2-8]\\d{4,6}","\\d{5,7}"]
 ,[,,"(?:[2-5]\\d|6[1-9]|840\\d)\\d{3}","\\d{5,7}"]
 ,[,,"(?:60|7[25-7]\\d)\\d{4}","\\d{6,7}"]
@@ -3324,6 +3565,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[25-7])(\\d{5})","$1 $2",["7[25-7]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"YE":[,[,,"[1-7]\\d{6,8}","\\d{6,9}"]
 ,[,,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}","\\d{6,8}"]
@@ -3338,6 +3580,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(7[137]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["7[137]"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"YT":[,[,,"[268]\\d{8}","\\d{9}"]
 ,[,,"2696[0-4]\\d{4}","\\d{9}"]
@@ -3347,7 +3590,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
-,"YT",262,"00","0",,,"0",,,,,,,,"269|63"]
+,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"]
+,,"269|63"]
 ,"ZA":[,[,,"\\d{9}","\\d{8,9}"]
 ,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}"]
 ,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}"]
@@ -3358,6 +3602,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,,"87\\d{7}","\\d{9}"]
 ,"ZA",27,"00","0",,,"0",,,,[[,"([1-578]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"]
 ,[,,"21[1-8]\\d{6}","\\d{9}"]
@@ -3372,18 +3617,19 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,[,"(800)(\\d{3})(\\d{3})","$1 $2 $3",["8"]
 ,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
-,"ZW":[,[,,"(?:[19]1|23)\\d{3,8}|[1-69]\\d{4,8}","\\d{3,10}"]
-,[,,"(?:1[346-8]|2(?:0[45]|2[28]|48|58[23]|[69]|7[2-46-8]|8[13-9])|3(?:08?|17?|3[78]|[45]|7[1569]|8[379])|5(?:18|483|[57-9])|6(?:37?|[459]|88)|848)\\d{3,6}|(?:2(?:27|5|7[159]|82)|39|5[346]|6[16-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:9[2-8]|4\\d)\\d{4,7}","\\d{3,10}"]
-,[,,"(?:[19]1|73)\\d{3,8}","\\d{3,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}"]
+,[,,"(?:[19]1|7[13])\\d{6,7}","\\d{8,9}"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
 ,[,,"NA","NA"]
+,[,,"86(?:1[12]|22|30|44|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",""]
-,[,"([179]\\d)(\\d{3})(\\d{3,5})","$1 $2 $3",["[19]1|7"]
+,[,"([179]\\d)(\\d{3})(\\d{3,4})","$1 $2 $3",["[19]1|7"]
 ,"0$1",""]
 ,[,"([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",""]
@@ -3397,6 +3643,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
 ,"0$1",""]
 ,[,"([25]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["(?:25|54)8","258[23]|5483"]
 ,"0$1",""]
+,[,"(8\\d{3})(\\d{6})","$1 $2",["8"]
+,"0$1",""]
 ]
+,,[,,"NA","NA"]
 ]
 };
index f87ed3e..918536a 100644 (file)
@@ -923,6 +923,59 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearVoip = function() {
 
 
 /**
+ * Gets the value of the pager field.
+ * @return {?i18n.phonenumbers.PhoneNumberDesc} The value.
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.getPager = function() {
+  return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(21));
+};
+
+
+/**
+ * Gets the value of the pager field or the default value if not set.
+ * @return {i18n.phonenumbers.PhoneNumberDesc} The value.
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.getPagerOrDefault = function() {
+  return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(21));
+};
+
+
+/**
+ * Sets the value of the pager field.
+ * @param {i18n.phonenumbers.PhoneNumberDesc} value The value.
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.setPager = function(value) {
+  this.set$Value(21, /** @type {Object} */ (value));
+};
+
+
+/**
+ * Returns whether the pager field has a value.
+ * @return {boolean} true if the field has a value.
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.hasPager = function() {
+  return this.has$Value(21);
+};
+
+
+/**
+ * Gets the number of values in the pager field.
+ * @return {number}
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.pagerCount = function() {
+  return this.count$Values(21);
+};
+
+
+/**
+ * Clears the values in the pager field.
+ */
+i18n.phonenumbers.PhoneMetadata.prototype.clearPager = function() {
+  this.clear$Field(21);
+};
+
+
+/**
  * Gets the value of the id field.
  * @return {?string} The value.
  */
@@ -1880,6 +1933,12 @@ goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneMetadata, {
     fieldType: goog.proto2.Message.FieldType.MESSAGE,
     type: i18n.phonenumbers.NumberFormat
   },
+  '21' : {
+    name: 'pager',
+    required: true,
+    fieldType: goog.proto2.Message.FieldType.MESSAGE,
+    type: i18n.phonenumbers.PhoneNumberDesc
+  },
   '22' : {
     name: 'main_country_for_code',
     fieldType: goog.proto2.Message.FieldType.BOOL,
index 02e9502..8fae068 100644 (file)
@@ -327,6 +327,14 @@ i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_ = '+\uFF0B';
  * @type {RegExp}
  * @private
  */
+i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN_ =
+    new RegExp('^[' + i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_ + ']+');
+
+/**
+ * @const
+ * @type {RegExp}
+ * @private
+ */
 i18n.phonenumbers.PhoneNumberUtil.CAPTURING_DIGIT_PATTERN_ =
     new RegExp('([' + i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_ + '])');
 
@@ -392,15 +400,16 @@ i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_PHONE_PATTERN_ =
  * alpha characters and digits in the phone number. Does not include extension
  * data. The symbol 'x' is allowed here as valid punctuation since it is often
  * used as a placeholder for carrier codes, for example in Brazilian phone
- * numbers. Corresponds to the following:
- * plus_sign?([punctuation]*[digits]){3,}([punctuation]|[digits]|[alpha])*
+ * numbers. We also allow multiple '+' characters at the start.
+ * Corresponds to the following:
+ * plus_sign*([punctuation]*[digits]){3,}([punctuation]|[digits]|[alpha])*
  *
  * @const
  * @type {string}
  * @private
  */
 i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_ =
-    '[' + i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_ + ']?(?:[' +
+    '[' + i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_ + ']*(?:[' +
     i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION_ + ']*[' +
     i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_ + ']){3,}[' +
     i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_ +
@@ -537,9 +546,10 @@ i18n.phonenumbers.PhoneNumberType = {
   // to either a MOBILE or FIXED_LINE number. Some more information can be found
   // here: http://en.wikipedia.org/wiki/Personal_Numbers
   PERSONAL_NUMBER: 7,
+  PAGER: 8,
   // A phone number is of type UNKNOWN when it does not fit any of the known
   // patterns for a specific country.
-  UNKNOWN: 8
+  UNKNOWN: 9
 };
 
 /**
@@ -1435,6 +1445,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberDescByType_ =
     return metadata.getVoip();
   case i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER:
     return metadata.getPersonalNumber();
+  case i18n.phonenumbers.PhoneNumberType.PAGER:
+    return metadata.getPager();
   default:
     return metadata.getGeneralDesc();
   }
@@ -1494,6 +1506,10 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberTypeHelper_ =
                                  metadata.getPersonalNumber())) {
     return i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER;
   }
+  if (this.isNumberMatchingDesc_(nationalNumber,
+                                 metadata.getPager())) {
+    return i18n.phonenumbers.PhoneNumberType.PAGER;
+  }
 
   /** @type {boolean} */
   var isFixedLine = this.isNumberMatchingDesc_(nationalNumber, metadata
@@ -2182,12 +2198,14 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.
   if (numberStr.length == 0) {
     return i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_DEFAULT_COUNTRY;
   }
-  if (numberStr.charAt(0) == i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN) {
+  // Check to see if the number begins with one or more plus signs.
+  if (i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN_.test(numberStr)) {
+    numberStr = numberStr.replace(
+        i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN_, '');
     // Can now normalize the rest of the number since we've consumed the "+"
     // sign at the start.
     number.clear();
-    number.append(
-        i18n.phonenumbers.PhoneNumberUtil.normalize(numberStr.substring(1)));
+    number.append(i18n.phonenumbers.PhoneNumberUtil.normalize(numberStr));
     return i18n.phonenumbers.PhoneNumber.CountryCodeSource
         .FROM_NUMBER_WITH_PLUS_SIGN;
   }
@@ -2324,7 +2342,7 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.maybeStripExtension =
 i18n.phonenumbers.PhoneNumberUtil.prototype.parse = function(numberToParse,
                                                              defaultCountry) {
   if (!this.isValidRegionCode_(defaultCountry)) {
-    if (numberToParse.charAt(0) !=
+    if (numberToParse.length > 0 && numberToParse.charAt(0) !=
         i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN) {
       throw i18n.phonenumbers.Error.INVALID_COUNTRY_CODE;
     }
@@ -2355,7 +2373,7 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.parseAndKeepRawInput =
   function(numberToParse, defaultCountry) {
 
   if (!this.isValidRegionCode_(defaultCountry)) {
-    if (numberToParse.charAt(0) !=
+    if (numberToParse.length > 0 && numberToParse.charAt(0) !=
         i18n.phonenumbers.PhoneNumberUtil.PLUS_SIGN) {
       throw i18n.phonenumbers.Error.INVALID_COUNTRY_CODE;
     }
index 37be8d7..021b4db 100644 (file)
@@ -1565,6 +1565,18 @@ function testParseWithInternationalPrefixes() {
   // Calling the US number from Poland
   assertTrue(usNumber.exactlySameAs(
       phoneUtil.parse('0~01-650-333-6000', 'PL')));
+  // Using '++' at the start.
+  assertTrue(usNumber.exactlySameAs(
+      phoneUtil.parse('++1 (650) 333-6000', 'PL')));
+  // Using a full-width plus sign.
+  assertTrue(usNumber.exactlySameAs(
+      phoneUtil.parse('\uFF0B1 (650) 333-6000', 'SG')));
+  // The whole number, including punctuation, is here represented in full-width
+  // form.
+  assertTrue(usNumber.exactlySameAs(
+      phoneUtil.parse('\uFF0B\uFF11\u3000\uFF08\uFF16\uFF15\uFF10\uFF09' +
+                      '\u3000\uFF13\uFF13\uFF13\uFF0D\uFF16\uFF10\uFF10\uFF10',
+                      'SG')));
 }
 
 function testParseWithLeadingZero() {
@@ -1799,6 +1811,18 @@ function testFailedParseOnInvalidNumbers() {
                  i18n.phonenumbers.Error.TOO_SHORT_AFTER_IDD,
                  e);
   }
+  try {
+    /** @type {string} */
+    var emptyNumber = '';
+    // Invalid region.
+    phoneUtil.parse(emptyNumber, 'ZZ');
+    fail('Empty string - should fail.');
+  } catch (e) {
+    // Expected this exception.
+    assertEquals('Wrong error type stored in exception.',
+                 i18n.phonenumbers.Error.NOT_A_NUMBER,
+                 e);
+  }
 }
 
 function testParseNumbersWithPlusWithNoRegion() {