CLEANUP: move shared resources out of java to resources/

git-svn-id: http://libphonenumber.googlecode.com/svn/trunk/resources@146 ee073f10-1060-11df-b6a4-87a95322a99c
diff --git a/PhoneNumberMetaData.xml b/PhoneNumberMetaData.xml
new file mode 100644
index 0000000..e4fd71f
--- /dev/null
+++ b/PhoneNumberMetaData.xml
@@ -0,0 +1,18625 @@
+<!-- Copyright (C) 2009 Google Inc.
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+
+     @author: Shaopeng Jia
+     @author: Lara Rennie
+
+     MetaData on Phone Number Plan and formatting rules
+     Note: Territories are in alphabetical order by their IDs, which are based on ISO 3166-1
+           two-letter country codes. The country names in the comments are the official short names
+           in English according to ISO 3166-1.
+
+     For more information on what each element represents, see
+     java/com/google/i18n/phonenumbers/phonemetadata.proto
+
+     Note that if you want to add validation metadata, the generalDesc nationalNumberPattern and
+     possibleNumberPattern must be provided. If this is missing, then the country will be
+     considered to have no more specific phone-number type metadata (fixedLine, mobile etc) and
+     hence only basic validation rules (numbers should be between 3 and 15 digits long) will be
+     applied.
+
+     Country code, international and national prefix information main source:
+     http://www.itu.int/publ/T-SP-E.164C-2010/en
+-->
+
+<!DOCTYPE phoneNumberMetadata [
+    <!ELEMENT phoneNumberMetadata (territories)>
+    <!ELEMENT territories (territory+)>
+    <!ELEMENT territory (availableFormats?, generalDesc?, noInternationalDialling?,
+        areaCodeOptional?, fixedLine?, mobile?, pager?, tollFree?, premiumRate?,
+        sharedCost?, personalNumber?, voip?, uan?, shortCode?)>
+    <!ELEMENT generalDesc (nationalNumberPattern, possibleNumberPattern)>
+    <!ELEMENT noInternationalDialling (nationalNumberPattern, possibleNumberPattern,
+        exampleNumber?)>
+    <!ELEMENT areaCodeOptional (nationalNumberPattern, possibleNumberPattern, exampleNumber?)>
+    <!ELEMENT fixedLine (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT mobile (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT pager (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT tollFree (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT premiumRate (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT sharedCost (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT personalNumber (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT voip (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT uan (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT shortCode (nationalNumberPattern?, possibleNumberPattern?, exampleNumber?)>
+    <!ELEMENT availableFormats (numberFormat+, intlNumberFormat*)>
+    <!ELEMENT nationalNumberPattern (#PCDATA)>
+    <!ELEMENT possibleNumberPattern (#PCDATA)>
+    <!ELEMENT exampleNumber (#PCDATA)>
+    <!ELEMENT numberFormat (leadingDigits*, format)>
+    <!ELEMENT intlNumberFormat (leadingDigits*, format)>
+    <!ELEMENT format (#PCDATA)>
+    <!ELEMENT leadingDigits (#PCDATA)>
+
+    <!ATTLIST territory id CDATA #REQUIRED>
+    <!ATTLIST territory countryCode CDATA #REQUIRED>
+    <!ATTLIST territory leadingDigits CDATA #IMPLIED>
+    <!ATTLIST territory preferredInternationalPrefix CDATA #IMPLIED>
+    <!ATTLIST territory internationalPrefix CDATA #REQUIRED>
+    <!ATTLIST territory nationalPrefix CDATA #IMPLIED>
+    <!ATTLIST territory nationalPrefixForParsing CDATA #IMPLIED>
+    <!ATTLIST territory nationalPrefixTransformRule CDATA #IMPLIED>
+    <!ATTLIST territory preferredExtnPrefix CDATA #IMPLIED>
+    <!ATTLIST territory nationalPrefixFormattingRule CDATA #IMPLIED>
+    <!ATTLIST territory mainCountryForCode (true) #IMPLIED>
+    <!ATTLIST territory leadingZeroPossible (true) #IMPLIED>
+    <!ATTLIST territory carrierCodeFormattingRule CDATA #IMPLIED>
+    <!ATTLIST numberFormat nationalPrefixFormattingRule CDATA #IMPLIED>
+    <!ATTLIST numberFormat carrierCodeFormattingRule CDATA #IMPLIED>
+    <!ATTLIST numberFormat pattern CDATA #REQUIRED>
+    <!ATTLIST intlNumberFormat pattern CDATA #REQUIRED>
+    <!ATTLIST intlNumberFormat carrierCodeFormattingRule CDATA #IMPLIED>
+]>
+
+<phoneNumberMetadata>
+  <territories>
+    <!-- Ascension Island -->
+    <!-- www.itu.int/oth/T02020000AF -->
+    <territory id="AC" countryCode="247" internationalPrefix="00">
+      <!-- Formatted as a block. -->
+      <generalDesc>
+        <nationalNumberPattern>[2-46]\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3[0-5]|
+            4[4-6]|
+            [26]\d
+          )\d{2}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+        <exampleNumber>6889</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>NA</nationalNumberPattern>
+        <possibleNumberPattern>NA</possibleNumberPattern>
+      </mobile>
+    </territory>
+
+    <!-- Andorra -->
+    <!-- http://www.itu.int/oth/T0202000005/en -->
+    <territory id="AD" countryCode="376" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})">
+          <leadingDigits>[346-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(180[02])(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [346-9]|
+            180
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[78]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>712345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[346]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>312345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Note that the definitions of 1800 and 1802 numbers differ in the plan and on the
+             Andorran www.sta.ad website, but we consider both to be freephone here. -->
+        <nationalNumberPattern>180[02]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>18001234</exampleNumber>
+      </tollFree>
+      <!-- The national numbering plan says that numbers beginning with 9 are reserved for special
+           services, so we assume they are premium rate here, although we cannot find examples
+           online. -->
+      <premiumRate>
+        <nationalNumberPattern>9\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>912345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!--  United Arab Emirates -->
+    <!-- http://www.itu.int/oth/T02020000DC/en -->
+    <territory id="AE" countryCode="971" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([2-4679])(\d{3})(\d{4})">
+          <leadingDigits>[2-4679][2-8]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(5[056])(\d{3})(\d{4})">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([4679]00)(\d)(\d{5})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>[4679]0</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{2,9})" nationalPrefixFormattingRule="$FG">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-79]\d{7,8}|
+          800\d{2,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [2-4679][2-8]\d|
+            600[25]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>22345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>5[056]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>501234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          400\d{6}|
+          800\d{2,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[02]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>900234567</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>700[05]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>700012345</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Afghanistan -->
+    <!-- http://www.itu.int/oth/T0202000001/en -->
+    <territory id="AF" countryCode="93" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([2-7]\d)(\d{3})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-7]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [25][0-8]|
+            [34][0-4]|
+            6[0-5]
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>234567890</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[057-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>701234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Antigua and Barbuda -->
+    <!-- http://www.itu.int/oth/T0202000008/en -->
+    <territory id="AG" countryCode="1" leadingDigits="268"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[289]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 268 468 is not in the plan, but has been added after numbers with this prefix have been
+             found in online searches. -->
+        <nationalNumberPattern>
+          268(?:
+            4(?:
+              6[0-38]|
+              84
+            )|
+            56[0-2]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>2684601234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 268 776/778/779 are not in the plan, but have been added after numbers with these
+             prefixes have been found in online searches. Same for 268 780/782/784/786. -->
+        <nationalNumberPattern>
+          268(?:
+            464|
+            7(?:
+              2[0-9]|
+              64|
+              7[0-689]|
+              8[02-68]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2684641234</exampleNumber>
+      </mobile>
+      <pager>
+        <nationalNumberPattern>26840[69]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2684061234</exampleNumber>
+      </pager>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <!-- This is included as Centrex in the plan. -->
+        <nationalNumberPattern>26848[01]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2684801234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Anguilla -->
+    <!-- http://www.itu.int/oth/T0202000007/en -->
+    <territory id="AI" countryCode="1" leadingDigits="264"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[289]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2644(?:
+            6[12]|
+            9[78]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>2644612345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          264(?:
+            235|
+            476|
+            5(?:
+              3[6-9]|
+              8[1-4]
+            )|
+            7(?:
+              29|
+              72
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2642351234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Albania -->
+    <!-- http://www.itu.int/oth/T0202000002/en -->
+    <territory id="AL" countryCode="355" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formats mostly follow http://tirana.usembassy.gov/list_of_doctors.html -->
+        <numberFormat pattern="(4)(\d{3})(\d{4})">
+          <leadingDigits>4[0-6]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(6[6-9])(\d{3})(\d{4})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            [2358][2-5]|
+            4[7-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,5})">
+          <leadingDigits>
+            [235][16-9]|
+            8[016-9]|
+            [79]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-57]\d{7}|
+          6\d{8}|
+          8\d{5,7}|
+          9\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+        <exampleNumber>22345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[6-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>661234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- It is named "Shared Revenue Services" in the plan, but as there is a separate "Shared
+             Cost Services", it is highly likely these numbers are premium rate numbers. No
+             information/example is found in the Internet. -->
+        <nationalNumberPattern>900\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>900123</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>808\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>808123</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>700\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>70012345</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Armenia -->
+    <!-- http://www.itu.int/oth/T020200000A/en -->
+    <!-- We think the national dialling prefix is 0 - it seems this was a change in 2005 (or 2008)
+         along with the new city codes. However, their official document makes no mention of it,
+         websites disagree, and we are not sure if the change has actually been made. -->
+    <territory id="AM" countryCode="374" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{6})">
+          <leadingDigits>
+            [17]|
+            9[1-469]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{5})">
+          <leadingDigits>[23]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{3})"
+          nationalPrefixFormattingRule="$NP $FG">
+          <leadingDigits>
+            8|
+            90
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-37-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>10123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            77|
+            9[1-469]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>77123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[016]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>80[1-4]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80112345</exampleNumber>
+      </sharedCost>
+      <shortCode>
+        <nationalNumberPattern>
+          8[1-7]\d{2}|
+          1\d{2}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
+        <exampleNumber>8711</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Netherlands Antilles -->
+    <!-- http://www.itu.int/oth/T0202000097/en -->
+    <territory id="AN" countryCode="599" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>[13-7]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(9)(\d{3})(\d{4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13-79]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>7151234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            318|
+            5(?:
+              1[01]|
+              2[0-7]|
+              5\d|
+              8[016-8]
+            )|
+            7(?:
+              0[01]|
+              [89]\d
+            )|
+            9(?:
+              5(?:
+                [1246]\d|
+                3[01]
+              )|
+              6(?:
+                [1679]\d|
+                3[01]
+              )
+            )
+          )\d{4}|
+          416[15-8]\d{3}
+        </nationalNumberPattern>
+        <exampleNumber>3181234</exampleNumber>
+      </mobile>
+      <!-- Value-added services are lumped together under shared cost, since we are not sure exactly
+           what they are. -->
+      <sharedCost>
+        <nationalNumberPattern>
+          (?:
+            10|
+            69
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>1011234</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Angola -->
+    <!-- http://www.itu.int/oth/T0202000006/en -->
+    <territory id="AO" countryCode="244" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[29]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2\d(?:
+            [26-9]\d|
+            \d[26-9]
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>222123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Expanded the 92 prefix possibilities to match numbers found online. -->
+        <nationalNumberPattern>9[1-3]\d{7}</nationalNumberPattern>
+        <exampleNumber>923123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Argentina -->
+    <!-- http://www.itu.int/oth/T0202000009/en -->
+    <!-- http://www.cnc.gov.ar/numeracion/IndicativosInterurbanos.asp -->
+    <territory id="AR" countryCode="54" internationalPrefix="00"
+               nationalPrefix="0"  nationalPrefixForParsing="0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:1|2[2-7]|4[6-8]?|5[125-8])|9(?:0[1-3]|[19]|2\d|3[1-6]|4[0-24-68]|5[2-4]|6[2-6]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-4]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[124-8]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[5-8]?|8[4-7]?|9[124])))15)?"
+               nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([68]\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[68]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="([68]\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[68]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="9(11)(\d{4})(\d{4})">
+          <leadingDigits>91</leadingDigits>
+          <format>$1 15-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="9(11)(\d{4})(\d{4})">
+          <leadingDigits>91</leadingDigits>
+          <format>9 $1 $2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="9(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            9(?:
+              2[2369]|
+              3[458]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            9(?:
+              2(?:
+                2[013]|
+                37|
+                6[14]|
+                9[179]
+              )|
+              3(?:
+                4[1235]|
+                5[138]|
+                8[1578]
+              )
+            )
+          </leadingDigits>
+          <format>$1 15-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="9(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            9(?:
+              2[2369]|
+              3[458]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            9(?:
+              2(?:
+                2[013]|
+                37|
+                6[14]|
+                9[179]
+              )|
+              3(?:
+                4[1235]|
+                5[138]|
+                8[1578]
+              )
+            )
+          </leadingDigits>
+          <format>9 $1 $2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="9(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>
+            9(?:
+              2[2-469]|
+              3[3-578]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            9(?:
+              2(?:
+                2[24-9]|
+                3[0-69]|
+                47|
+                6[25]|
+                9[02-68]
+              )|
+              3(?:
+                3[28]|
+                4[046-9]|
+                5[2467]|
+                7[1-578]|
+                8[23469]
+              )
+            )
+          </leadingDigits>
+          <format>$1 15-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="9(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>
+            9(?:
+              2[2-469]|
+              3[3-578]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            9(?:
+              2(?:
+                2[24-9]|
+                3[0-69]|
+                47|
+                6[25]|
+                9[02-68]
+              )|
+              3(?:
+                3[28]|
+                4[046-9]|
+                5[2467]|
+                7[1-578]|
+                8[23469]
+              )
+            )
+          </leadingDigits>
+          <format>9 $1 $2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(11)(\d{4})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(11)(\d{4})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2-$3</format>
+        </intlNumberFormat>
+        <!-- Some 4-digit area codes actually are caught by this rule. I'm giving however preference
+             to the 3-digit area codes, since they are considerably larger communities. -->
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            2(?:
+              2[013]|
+              37|
+              6[14]|
+              9[179]
+            )|
+            3(?:
+              4[1235]|
+              5[138]|
+              8[1578]
+            )
+          </leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            2(?:
+              2[013]|
+              37|
+              6[14]|
+              9[179]
+            )|
+            3(?:
+              4[1235]|
+              5[138]|
+              8[1578]
+            )
+          </leadingDigits>
+          <format>$1 $2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>[23]</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>[23]</leadingDigits>
+        <format>$1 $2-$3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{9,11}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[1-9]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+        <exampleNumber>1123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          9(?:
+            11[2-9]\d{7}|
+            (?:
+              2(?:
+                2[013]|
+                37|
+                6[14]|
+                9[179]
+              )|
+              3(?:
+                4[1235]|
+                5[138]|
+                8[1578]
+              )
+            )[2-9]\d{6}|
+            \d{4}[2-9]\d{5}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
+        <exampleNumber>91123456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8012345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          6(?:
+            0\d|
+            10
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>6001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- American Samoa -->
+    <!-- http://www.itu.int/oth/T0202000004/en -->
+    <territory id="AS" countryCode="1" leadingDigits="684"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[689]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          6846(?:
+            22|
+            33|
+            44|
+            55|
+            77|
+            88|
+            9[19]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6846221234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          684(?:
+            733|
+            258
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>6847331234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Austria -->
+    <!-- http://www.rtr.at/en/tk/E129 -->
+    <territory id="AT" countryCode="43" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([15])(\d{3,12})">
+          <leadingDigits>
+            1|
+            5[079]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,10})">
+          <leadingDigits>
+            316|
+            46|
+            51|
+            732|
+            6(?:
+              44|
+              5[0-3579]|
+              [6-9]
+            )|
+            7(?:
+              1|
+              [28]0
+            )|
+            [89]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{3,9})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+            <format>$1 $2</format>
+          </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{4,13}</nationalNumberPattern>
+        <possibleNumberPattern>\d{3,13}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Note the 050, 057 and 059 prefixes are defined as "private network" in the Austrian
+             plan. This just means they are registered to companies who are distributed over
+             different geographical areas and maintain their own network. Examples here:
+             http://www.rtr.at/?id=4506&S=05&art=d Also note that the full area code is not
+             validated - just the first 3 digits. This also means that even though for most
+             Austrian numbers the minimum length is 7, we allow 6 since we don't differentiate below
+             between 3 and 4 digit area codes for reasons of efficiency. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>1234567890</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          6(?:
+            44|
+            5[0-3579]|
+            6[013-9]|
+            [7-9]\d
+          )\d{4,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,13}</possibleNumberPattern>
+        <exampleNumber>644123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[02]\d{6,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,13}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            711|
+            9(?:
+              0[01]|
+              3[019]
+            )
+          )\d{6,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,13}</possibleNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            10|
+            2[018]
+          )\d{6,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,13}</possibleNumberPattern>
+        <exampleNumber>810123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>780\d{6,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,13}</possibleNumberPattern>
+        <exampleNumber>780123456</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Australia -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200000D0001MSWE.doc -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Australia -->
+    <territory id="AU" countryCode="61" preferredInternationalPrefix="0011"
+               internationalPrefix="(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]"
+               nationalPrefix="0">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="([2378])(\d{4})(\d{4})">
+          <leadingDigits>[2378]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(4\d{2})(\d{3})(\d{3})">
+          <leadingDigits>4</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(5[05]0)(\d{3})(\d{3})">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(1[389]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            1(?:
+              [38]0|
+              9
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              [38]00|
+              9
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Although the national plan doesn't explicitly say so, there is no evidence that a 180
+             xxxx number could be 180 0xxx. -->
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(180)(\d{4})">
+          <leadingDigits>180</leadingDigits>
+          <leadingDigits>180[1-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(13)(\d{2})(\d{2})">
+          <leadingDigits>13[1-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-578]\d{5,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2378]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          4(?:
+            [0-2]\d|
+            3[0-57-9]|
+            4[47-9]|
+            5[0-37-9]|
+            6[6-9]|
+            7[07-9]|
+            8[7-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>412345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Local-rate (SmartNumbers) are put here for now because they are also a reverse-charge
+             network, although they charge a small local call connect fee (around 25c). These start
+             with 13 or 1300. -->
+        <nationalNumberPattern>
+          1(?:
+            80(?:
+              0\d{2}
+            )? |
+            3(?:
+              00\d{2}
+            )?
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1900123456</exampleNumber>
+      </premiumRate>
+      <!-- Wikipedia was the source for these types of numbers, and number allocation search here
+           http://web.acma.gov.au/numb/openAccess/inquiry/allocationSearch.do confirms this. (Search
+           from 0500000000 to 0590000000) -->
+      <personalNumber>
+        <nationalNumberPattern>500\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>500123456</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>550\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>550123456</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Aruba -->
+    <!-- http://www.itu.int/oth/T020200000B/en -->
+    <territory id="AW" countryCode="297" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([5-9]\d{2})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[5-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          5(?:
+            2\d{2}|
+            8(?:
+              [2-7]\d|
+              8[0-79]|
+              9[48]
+            )
+          )\d{3}
+        </nationalNumberPattern>
+        <exampleNumber>5212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 660 since SMS messages have been successfully delivered to numbers with this
+             prefix, and numbers can be found in the yellow pages. -->
+        <nationalNumberPattern>
+          (?:
+            5[69]\d|
+            660|
+            9(?:
+              6\d|
+              9[02-9]
+            )|
+            7[34]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>5601234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4}</nationalNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{4}</nationalNumberPattern>
+        <exampleNumber>9001234</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Azerbaijan -->
+    <!-- http://www.itu.int/oth/T020200000F/en -->
+    <territory id="AZ" countryCode="994" internationalPrefix="00"
+        nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>1[28]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>22</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2,3})(\d{2})(\d{2})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d)(\d{2})(\d{2})">
+          <leadingDigits>
+            1[013-79]|
+            2[013-9]
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})"
+          nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>[4-8]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-8]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Added the 164 area code after it was found in other online lists and in many online
+             numbers. Also includes the area code 44 for CDMA regions, which are classified under
+             "Fixed Network" by the national plan. -->
+        <nationalNumberPattern>
+          (?:
+            1(?:
+              (?:
+                [28]\d|
+                9
+              )\d|
+              02|
+              1[0-589]|
+              3[358]|
+              4[013-79]|
+              5[0-479]|
+              6[02346-9]|
+              7[0-24-8]
+            )|
+            2(?:
+              16|
+              2\d|
+              3[0-24]|
+              4[1468]|
+              55|
+              6[56]|
+              79
+            )|
+            365?\d|
+            44\d{2}
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>123123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            [46]0|
+            5[015]|
+            7[07]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>401234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>88\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>881234567</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Bosnia and Herzegovina -->
+    <!-- http://www.cra.ba/en/telecom/numbering/ -->
+    <!-- http://en.wikipedia.org/wiki/+387 -->
+    <territory id="BA" countryCode="387" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([3-689]\d)(\d{3})(\d{3})">
+          <format>$1 $2-$3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3-689]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [35]\d|
+            49
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>30123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[1-356]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>61123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>8[08]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>9[0246]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <!-- Using this category to model national tariff numbers - these are under Shared Cost in
+             the plan. -->
+        <nationalNumberPattern>82\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>82123456</exampleNumber>
+      </sharedCost>
+      <uan>
+        <nationalNumberPattern>81\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>81123456</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Barbados -->
+    <!-- http://www.itu.int/oth/T0202000013/en -->
+    <territory id="BB" countryCode="1" leadingDigits="246"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[289]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>246[2-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>2462345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          246(?:
+            (?:
+              2[346]|
+              45|
+              82
+            )\d|
+            25[0-4]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2462501234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Bangladesh -->
+    <!-- http://www.itu.int/oth/T0202000012/en -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Bangladesh -->
+    <!-- http://www.btrc.gov.bd/engineering/national_numbering_plan_2005.pdf -->
+    <territory id="BD" countryCode="880" internationalPrefix="00[12]?"
+               preferredInternationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(2)(\d{7})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{4,6})">
+          <leadingDigits>[3-79]1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,7})">
+          <leadingDigits>
+            [3-79][2-9]|
+            8
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{6})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+      <!-- This is quite complex so we can define that numbers beginning with 88 are not part of the
+           plan, so the country code can be accurately stripped off. -->
+        <nationalNumberPattern>
+          [2-79]\d{5,9}|
+          1\d{9}|
+          8[0-7]\d{4,8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- There was a plan to move to 10 digit fixed-line numbers, but this does not seem to have
+             been realised, judging by online numbers and wikipedia. These patterns are grouped
+             first by leading digit, then within by number of digits. Several Dhaka prefixes (02
+             731, 751 etc) are included despite not being mentioned on the wikipedia page due to
+             online evidence. Another oddity is Chittagong - some numbers have a leading 2, others
+             do not - both are allowed for now. -->
+             <nationalNumberPattern>
+               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}
+             </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>27111234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Presuming that mobile numbers with the prefixes 66, 37, 44 and 38 must be followed by
+             numbers [02-9] or they would clash with fixed-line codes. According to the plan, mobile
+             numbers should be moving to 1[13-9] anyway. -->
+        <nationalNumberPattern>
+          (?:
+            1[13-9]\d|
+            (?:
+              3[78]|
+              44
+            )[02-9]|
+            6(?:
+              44|
+              6[02-9]
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1812345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Note: Including Tele-voting numbers here as they are free of charge. -->
+        <nationalNumberPattern>80[03]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Belgium -->
+    <!-- http://www.bipt.be/en/161/ShowContent/502/Database/Databases.aspx -->
+    <!-- http://www.telefoonzones.be/ -->
+    <!-- Information on non-geographic numbers here: (Dutch)
+         http://www.scarletbusiness.be/business/largeenterprise/nl/products/voiceservices/servicenumbers.jsp
+         -->
+    <territory id="BE" countryCode="32" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(4[7-9]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>4[7-9]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([2-49])(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>
+            [23]|
+            [49][23]
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([15-8]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            [156]|
+            7[0178]|
+            8(?:
+              0[1-9]|
+              [1-79]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([89]\d{2})(\d{2})(\d{3})">
+          <leadingDigits>
+            (?:
+              80|
+              9
+            )0
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Note that 80 is a valid area code, so we explicitly check for this case that the third
+             digit begins with 1-9 -->
+        <nationalNumberPattern>
+          (?:
+            1[0-69]|
+            [23][2-8]|
+            [49][23]|
+            5\d|
+            6[013-57-9]|
+            7[18]
+          )\d{6}|
+          8(?:
+            0[1-9]|
+            [1-69]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          4(?:
+            7\d|
+            8[4-9]|
+            9[1-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>470123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            90|
+            7[07]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>87\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>87123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Burkina Faso -->
+    <!-- http://www.itu.int/oth/T0202000021/en -->
+    <territory id="BF" countryCode="226" internationalPrefix="00">
+      <availableFormats>
+        <!-- The national numbering plan from ITU suggests grouping of 2, 2 and 4, but we have
+             chosen to use the standard from numbers found on the internet instead. -->
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2457]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 50 48 and 50 49 exist as well. -->
+        <nationalNumberPattern>
+          (?:
+            20(?:
+              49|
+              5[23]|
+              9[016-9]
+            )|
+            40(?:
+              4[569]|
+              55|
+              7[0179]
+            )|
+            50[34]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>20491234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Including the whole range of 75 despite the document restricting it to only a few,
+             since even the Zain help-line is outside the range that the document specifies. -->
+        <nationalNumberPattern>
+          7(?:
+            [024-6]\d|
+            1[0-489]|
+            3[0124]|
+            7[01]|
+            8[013-9]|
+            9[0-4]
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>70123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Bulgaria -->
+    <!-- http://www.itu.int/oth/T0202000020/en -->
+    <territory id="BG" countryCode="359" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(2)(\d{3})(\d{3,4})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1/$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>
+            43[124-7]|
+            70[1-9]
+          </leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{2})">
+          <leadingDigits>
+            43[124-7]|
+            70[1-9]
+          </leadingDigits>
+          <format>$1/$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{3})">
+          <leadingDigits>[78]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2,3})">
+          <leadingDigits>
+            [356]|
+            7[1-9]|
+            8[1-6]|
+            9[1-7]
+          </leadingDigits>
+          <format>$1/$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>
+            48|
+            8[7-9]|
+            9[08]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{6,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2\d|
+            [36]\d|
+            5[1-9]|
+            8[1-6]|
+            9[1-7]
+          )\d{5,6}|
+          (?:
+            4(?:
+              [124-7]\d|
+              3[1-6]
+            )|
+            7(?:
+              0[1-9]|
+              [1-9]\d
+            )
+          )\d{4,5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>2123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            8[7-9]|
+            98
+          )\d{7}|
+          4(?:
+            3[0789]|
+            8\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>48123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>700\d{5}</nationalNumberPattern>
+        <exampleNumber>70012345</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Bahrain -->
+    <!-- http://www.itu.int/oth/T0202000011/en -->
+    <!-- http://www.tra.org.bh/en/pdf/National_Numbering_Plan_2.pdf -->
+    <territory id="BH" countryCode="973" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[136-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <!-- Universal Service numbers are under both Mobile and Fixed-Line, as they can be assigned
+           to either. -->
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1(?:
+              3[3-6]|
+              6[0156]|
+              7\d
+            )|
+            6(?:
+              1[16]|
+              6[03469]|
+              9[69]
+            )|
+            77\d
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>17001234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            3(?:
+              [369]\d|
+              77|
+              8[38]
+            )|
+            6(?:
+              1[16]|
+              6[03469]|
+              9[69]
+            )|
+            77\d
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>36001234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <!-- 87 numbers are "wholly paid by the caller", so they are slotted under premium-rate for
+           now. -->
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            87|
+            9[014578]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>84\d{6}</nationalNumberPattern>
+        <exampleNumber>84123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Burundi -->
+    <!-- http://www.itu.int/oth/T0202000022/en -->
+    <territory id="BI" countryCode="257" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat
+          pattern="([27]\d)(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[27]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          22(?:
+            2[0-7]|
+            [3-5]0
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>22201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Extra online mobile number prefixes found: 79 10, 78 \d{2} and 76 [29]\d. The 29
+             prefix is listed as a mobile prefix, but many people list it as their fixed home
+             number. We will keep it as mobile for now, but it may actually be a prefix for fixed
+             satellite phones. -->
+        <nationalNumberPattern>
+          (?:
+            29\d|
+            7(?:
+              1[1-3]|
+              [4-9]\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>79561234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Benin -->
+    <!-- http://www.itu.int/oth/T0202000017/en -->
+    <territory id="BJ" countryCode="229" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <!-- Numbers beginning with 7 should be formatted as a block. -->
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2689]\d{7}|
+          7\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- These come from the national numbering plan, but have been widened to include other
+             prefixes found in the yellow pages - specifically 21 0. -->
+        <nationalNumberPattern>
+          2(?:
+            02|
+            1[037]|
+            2[45]|
+            3[68]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>20211234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 93 0, 93 4, 93 5 and 93 8 have been added as many online examples of these prefixes can
+             be found. 9[68] and 97[23] prefixes have also been added because of online numbers
+             following these patterns and numbers where SMSs were successfully delivered. 66 has
+             been also added, as it seems to be a prefix for Mobile MTN. -->
+        <nationalNumberPattern>
+          66\d{6}|
+          9(?:
+            0[069]|
+            [35][0-2457-9]|
+            [6-8]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90011234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>7[3-5]\d{2}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+        <exampleNumber>7312</exampleNumber>
+      </tollFree>
+      <!-- Other numbers beginning with 81 are reserved for _either_ free phone or shared-cost, but
+           there is no clear differentiation between these. -->
+      <voip>
+        <nationalNumberPattern>857[58]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>85751234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Saint Barthélemy, French Antilles -->
+    <!-- There seems to be some overlap with phone numbers from Saint Martin and Guadeloupe. The
+         national numbering plan does not specify any St Barthélemy-specific numbering prefixes, but
+         it appears from searches in online white and yellow pages that a subset of the prefixes
+         available in Guadeloupe are used. In these cases, if getRegionCodeForNumber is used, one of
+         these region codes will be returned, although numbers will be valid for both regions. -->
+    <!-- http://www.itu.int/oth/T0202000058/en -->
+    <territory id="BL" countryCode="590" internationalPrefix="00"
+      nationalPrefix="0">
+      <!-- Formatting rules borrowed from Guadeloupe. -->
+      <generalDesc>
+        <nationalNumberPattern>[56]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          590(?:
+            2[7-9]|
+            5[12]|
+            87
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>590271234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          690(?:
+            10|
+            2[27]|
+            66|
+            77|
+            8[78]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>690221234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Bermuda -->
+    <!-- http://www.itu.int/oth/T0202000018/en -->
+    <territory id="BM" countryCode="1" leadingDigits="441"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[489]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          441(?:
+            2(?:
+              02|
+              23|
+              61|
+              [3479]\d
+            )|
+            [46]\d{2}|
+            5(?:
+              4\d|
+              60|
+              89
+            )|
+            824
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>4412345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          441(?:
+            [37]\d|
+            5[0-39]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>4413701234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Brunei Darussalam -->
+    <!-- http://www.itu.int/oth/T020200001F/en -->
+    <territory id="BN" countryCode="673" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <!-- Format is from http://aiti.gov.bn/contact.html -->
+      <availableFormats>
+        <numberFormat pattern="([2-578]\d{2})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-578]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2-5]\d{6}</nationalNumberPattern>
+        <exampleNumber>2345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[78]\d{6}</nationalNumberPattern>
+        <exampleNumber>7123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Bolivia -->
+    <!-- http://www.itu.int/oth/T020200001A/en -->
+    <!-- http://www.bolivia.com/Servicios/Plandenumeracion.pdf -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200001A0001MSWE.doc -->
+    <territory id="BO" countryCode="591"
+               internationalPrefix="00(1\d)?"
+               nationalPrefix="0"
+               nationalPrefixForParsing="0(1\d)?"
+               carrierCodeFormattingRule="$NP$CC $FG">
+      <availableFormats>
+        <numberFormat pattern="([234])(\d{7})">
+          <leadingDigits>[234]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([67]\d{7})">
+          <leadingDigits>[67]</leadingDigits>
+          <format>$1</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[23467]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[67]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>71234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Brazil -->
+    <!-- http://en.wikipedia.org/wiki/%2B55 -->
+    <territory id="BR" countryCode="55"
+               internationalPrefix="00(?:1[45]|2[135]|[34]1|43)"
+               nationalPrefix="0"
+               nationalPrefixForParsing="0(?:(1[245]|2[135]|[34]1)(\d{10}))?"
+               nationalPrefixTransformRule="$2">
+      <!--The national prefix for parsing here also contains a capturing group for the main number,
+           since the carrier codes here may also be area codes, so we want to check the length of
+           the number after capturing. We also need a nationalTransformRule to repopulate with the
+           number without the carrier code. -->
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($FG)"
+          pattern="(\d{2})(\d{4})(\d{4})"
+          carrierCodeFormattingRule="$NP $CC ($FG)">
+          <leadingDigits>[1-9][1-9]</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="([34]00\d)(\d{4})">
+          <leadingDigits>[34]00</leadingDigits>
+          <leadingDigits>
+            400|
+            3003
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([3589]00)(\d{2,3})(\d{4})">
+          <leadingDigits>[3589]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [14689][1-9]|
+            2[12478]|
+            3[1-578]|
+            5[13-5]|
+            7[13-579]
+          )[2-5]\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>1123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            [14689][1-9]|
+            2[12478]|
+            3[1-578]|
+            5[13-5]|
+            7[13-579]
+          )[6-9]\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1161234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6,7}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>[359]00\d{6,7}</nationalNumberPattern>
+        <exampleNumber>300123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          (?:
+            400\d|
+            3003
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>40041234</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Bahamas -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000100001MSWE.pdf -->
+    <territory id="BS" countryCode="1" leadingDigits="242"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[289]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>2423456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          242(?:
+            3(?:
+              5[79]|
+              [79]5
+            )|
+            4(?:
+              [2-4][1-9]|
+              5[1-8]|
+              6[2-8]|
+              7\d|
+              81
+            )|
+            5(?:
+              2[34]|
+              3[35]|
+              44|
+              5[1-9]|
+              65|
+              77
+            )|
+            6[34]6|
+            727
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2423591234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- 242 300 is a Domestic Toll Free service. -->
+        <nationalNumberPattern>
+          242300\d{4}|
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Bhutan -->
+    <!-- http://www.itu.int/oth/T0202000019/en -->
+    <territory id="BT" countryCode="975" internationalPrefix="00">
+      <availableFormats>
+        <!-- Format is from
+             http://www.tourism.gov.bt/tour-operators/bhutan-abbot-tours-and-travels.html -->
+        <numberFormat pattern="(17)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([2-8])(\d{3})(\d{3})">
+          <leadingDigits>[2-8]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            17|
+            [2-8]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[3-6]|
+            [34][5-7]|
+            5[236]|
+            6[2-46]|
+            7[246]|
+            8[2-4]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,7}</possibleNumberPattern>
+        <exampleNumber>2345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>17\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>17123456</exampleNumber>
+      </mobile>
+      <!-- No information on other types of phone numbers for Bhutan has been found. -->
+    </territory>
+
+    <!-- Botswana -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200001C0001MSWE.doc -->
+    <territory id="BW" countryCode="267" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(7[1-4])(\d{3})(\d{3})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(90)(\d{5})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>2401234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          7(?:
+            [1-3]\d{6}|
+            4[0-7]\d{5}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>71123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>8\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>8123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>9012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Belarus -->
+    <!-- http://eng.beltelecom.by/info/numbering/ -->
+    <!-- Information on national prefix provided by a Belarussian person. -->
+    <territory id="BY" countryCode="375" internationalPrefix="8~10"
+               nationalPrefixForParsing="80?" nationalPrefix="8">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$NP 0$FG"
+          pattern="([1-4]\d)(\d{3})(\d{4})">
+          <leadingDigits>[1-4]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP $FG"
+          pattern="([89]\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [12-4]\d{8}|
+          [89]\d{9}
+        </nationalNumberPattern>
+        <!-- Numbers are often written without the city code. -->
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <!-- Using test number for Grodno from the plan. -->
+        <exampleNumber>152450911</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              5[679]|
+              9[1-9]
+            )|
+            33\d|
+            44\d
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <!-- Using test number for BelCel from the plan. -->
+        <exampleNumber>294911911</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Putting Interactive Polling Service (free) here too. -->
+        <nationalNumberPattern>80[13]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8011234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>902\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9021234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Belize -->
+    <!-- http://www.itu.int/oth/T0202000016/en -->
+    <!-- The trunk prefix, formally 0, was dropped in the last reorganisation of the numbering plan.
+         -->
+    <territory id="BZ" countryCode="501" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>[2-8]</leadingDigits>
+          <!-- Adding hyphen following the Belize Telemedia formatting rules. -->
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(0)(800)(\d{4})(\d{3})">
+          <leadingDigits>0</leadingDigits>
+          <format>$1-$2-$3-$4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-8]\d{6}|
+          0\d{10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}(?:\d{4})?</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[234578][02]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>2221234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          6(?:
+            [01]\d|
+            2[0-5]|
+            [67][01])\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>6221234</exampleNumber>
+      </mobile>
+      <!-- We don't know how these would be dialled internationally - it is possible that they can't
+           be dialled internationally at all - so we represent the leading 0 as part of the number.
+           Information from www.belizetelemedia.net. -->
+      <tollFree>
+        <nationalNumberPattern>0800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>08001234123</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Canada -->
+    <!-- http://www.cnac.ca/canadian_dial_plan/canadian_dial_plan.htm -->
+    <territory id="CA" countryCode="1" internationalPrefix="011" nationalPrefix="1">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>
+          [2-9]\d{9}|
+          3\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              04|
+              26|
+              50|
+              89
+            )|
+            3(?:
+              06|
+              43
+            )|
+            4(?:
+              03|
+              1[68]|
+              38|
+              5[06]
+            )|
+            5(?:
+              0[06]|
+              1[49]|
+              79|
+              8[17]
+            )|
+            6(?:
+              0[04]|
+              13|
+              47
+            )|
+            7(?:
+              0[059]|
+              [18]0|
+              78
+            )|
+            8(?:
+              [06]7|
+              19|
+            )|
+            90[25]
+          )[2-9]\d{6}|
+          310\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>2042345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              04|
+              26|
+              50|
+              89
+            )|
+            3(?:
+              06|
+              43
+            )|
+            4(?:
+              03|
+              1[68]|
+              38|
+              5[06]
+            )|
+            5(?:
+              0[06]|
+              1[49]|
+              79|
+              8[17]
+            )|
+            6(?:
+              0[04]|
+              13|
+              47
+            )|
+            7(?:
+              0[059]|
+              [18]0|
+              78
+            )|
+            8(?:
+              [06]7|
+              19|
+            )|
+            90[25]
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>2042345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}|
+          310\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Congo, Dem. Rep. of the (formerly Zaire) -->
+    <!-- http://www.itu.int/oth/T0202000037/en -->
+    <territory id="CD" countryCode="243" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([1-6]\d)(\d{5})">
+          <leadingDigits>[1-6]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [89]\d{8}|
+          [1-6]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[1-6]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>1234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            8[0-2489]|
+            9[7-9]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>991234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Central African Republic -->
+    <!-- http://www.itu.int/oth/T0202000028/en -->
+    <territory id="CF" countryCode="236" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[278]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2[12]\d{6}</nationalNumberPattern>
+        <exampleNumber>21612345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[0257]\d{6}</nationalNumberPattern>
+        <exampleNumber>70012345</exampleNumber>
+      </mobile>
+      <premiumRate>
+        <nationalNumberPattern>8776\d{4}</nationalNumberPattern>
+        <exampleNumber>87761234</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Congo (Rep. of the) (Brazzaville) -->
+    <!-- http://www.itu.int/oth/T020200002E/en -->
+    <territory id="CG" countryCode="242" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[02]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})(\d{4})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[028]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>222[1-589]\d{5}</nationalNumberPattern>
+        <exampleNumber>222123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>0[14-6]\d{7}</nationalNumberPattern>
+        <exampleNumber>061234567</exampleNumber>
+      </mobile>
+      <!-- Referred to as a "Green number" in the telephone plan. -->
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Switzerland -->
+    <!-- http://www.bakom.admin.ch/themen/telekom/00479/00604/index.html?lang=en
+         under Technical prescriptions: Numbering plan for international carriers -->
+    <territory id="CH" countryCode="41" internationalPrefix="00"
+               nationalPrefix="0"  nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([2-9]\d)(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>
+            [2-7]|
+            [89]1
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            8[047]|
+            90
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[12467]|
+            3[1-4]|
+            4[134]|
+            5[12568]|
+            6[12]|
+            [7-9]1
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[46-9]\d{7}</nationalNumberPattern>
+        <exampleNumber>741234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[016]\d{6}</nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>84[0248]\d{6}</nationalNumberPattern>
+        <exampleNumber>840123456</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>878\d{6}</nationalNumberPattern>
+        <exampleNumber>878123456</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Côte d'Ivoire -->
+    <!-- http://www.itu.int/oth/T0202000031/en -->
+    <territory id="CI" countryCode="225" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <!-- Using format from online yellow pages over format implied in national numbering plan.
+             -->
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[02-5]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              0[023]|
+              1[02357]|
+              [23][045]|
+              4[03-5]
+            )|
+            3(?:
+              0[06]|
+              1[069]|
+              [2-4][07]|
+              5[09]|
+              6[08]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added the prefix 40 because SMS messages have been successfully delivered. Supported by
+             numbers found on the internet. -->
+        <nationalNumberPattern>
+          (?:
+            0[1-9]|
+            4[04-9]|
+            50|
+            6[067]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>01234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Cook Islands -->
+    <territory id="CK" countryCode="682" internationalPrefix="00"
+               nationalPrefix="00">
+    </territory>
+
+    <!-- Chile -->
+    <!-- http://www.itu.int/oth/T020200002A/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B56 -->
+    <!-- Carriers listed here: http://www.turismochile.com/datos/carrier.php -->
+    <territory id="CL" countryCode="56"
+      internationalPrefix="(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0"
+      nationalPrefix="0"
+      nationalPrefixForParsing="0|(1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))"
+      nationalPrefixFormattingRule="$NP$FG">
+      <!-- When dialling mobile numbers from landlines, or vice versa, you need a prefix of 0, which
+      we strip here. National destinations may be dialled with a carrier if they are not local so
+      we extract these carrier codes as well. -->
+      <availableFormats>
+        <numberFormat pattern="(2)(\d{3})(\d{4})"
+          nationalPrefixFormattingRule="($FG)"
+          carrierCodeFormattingRule="$CC ($FG)">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2,3})(\d{4})"
+          nationalPrefixFormattingRule="($FG)"
+          carrierCodeFormattingRule="$CC ($FG)">
+          <leadingDigits>
+            [357]|
+            4[1-35]|
+            6[13-57]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9)([6-9]\d{3})(\d{4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(44)(\d{3})(\d{4})">
+          <leadingDigits>44</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="([68]00)(\d{3})(\d{3,4})">
+          <leadingDigits>
+            60|
+            8
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(600)(\d{3})(\d{2})(\d{3})">
+          <leadingDigits>60</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(1230)(\d{3})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [2-9]|
+            600|
+            123
+          )\d{7,8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2|
+            32|
+            41
+          )\d{7}|
+          (?:
+            3[3-5]|
+            4[235]|
+            5[1-3578]|
+            6[13-57]|
+            7[1-35]
+          )\d{6,7}
+        </nationalNumberPattern>
+        <!-- Area codes do not need to be dialled when dialling within the same area, so the
+             smallest possible number is length 6. -->
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[6-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>961234567</exampleNumber>
+      </mobile>
+      <!-- Toll free and premium rate patterns have been collected by looking at numbers on the
+           internet, rather than from a definitive source. -->
+      <tollFree>
+        <!-- 1230 numbers are used by Visa/Mastercard helplines in Chile -->
+        <nationalNumberPattern>
+          800\d{6}|
+          1230\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,11}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>600\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>6001234567</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>44\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>441234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Cameroon -->
+    <!-- http://www.itu.int/oth/T0202000024/en -->
+    <territory id="CM" countryCode="237" internationalPrefix="00">
+      <availableFormats>
+        <!-- Formatting on the internet is consistently with the first 2 extracted, and usually in
+             the same format as France (all 2 digit groups) so we use this instead of the guidance
+             of the national numbering plan (which has 1 3 2 2 and 4 4 as its two formatting
+             examples.) -->
+        <numberFormat pattern="([237-9]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            [2379]|
+            88
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{2})(\d{3})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Technically, the numbers are required only to start with a 2 or a 3, but all numbers at
+             the moment start with 22 or 33 since they have been migrated from seven digit numbers
+             beginning with these numbers. This rule should be relaxed if/when we start getting
+             numbers beginning in other ways. -->
+        <nationalNumberPattern>
+          (?:
+            22|
+            33
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[79]\d{7}</nationalNumberPattern>
+        <exampleNumber>71234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- These numbers are listed as value-added in the guide, and in practice seem to begin
+             with 88 (usually 880). No information can be found as to whether these are premium rate
+             or shared cost. -->
+        <nationalNumberPattern>88\d{6}</nationalNumberPattern>
+        <exampleNumber>88012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- China -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200002B0001XLSE.xls -->
+    <territory id="CN" countryCode="86" internationalPrefix="00"
+               nationalPrefix="0">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(80\d{2})(\d{4})">
+          <leadingDigits>80[2678]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([48]00)(\d{3})(\d{4})">
+          <leadingDigits>[48]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Local numbers -->
+        <!-- Chinese fixed-line numbers can be dialed from a cell phone without area code and they
+             can be 7 to 8 digits. This rule is here to make formatting work with such numbers, as
+             people frequently store them in their cellphones. It has to stay before formatting
+             rules for fixed-line numbers to make AsYouTypeFormatter work with these numbers. The
+             leadingDigits prefix makes sure it doesn't clash with mobile numbers. -->
+        <numberFormat pattern="(\d{3,4})(\d{4})">
+          <leadingDigits>[2-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(21)(\d{4})(\d{4,6})">
+          <leadingDigits>21</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([12]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            10[1-9]|
+            2[02-9]
+          </leadingDigits>
+          <!-- Note the leadingDigitsPattern for 4 digits is the same as 3 digits, -->
+          <leadingDigits>
+            10[1-9]|
+            2[02-9]
+          </leadingDigits>
+          <leadingDigits>
+            10(?:
+              [1-79]|
+              8(?:
+                [1-9]|
+                0[1-9]
+              )
+            )|
+            2[02-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(\d{3})(\d{4})(\d{4})">
+          <leadingDigits>
+            3(?:
+              11|
+              7[159]
+            )|
+            4[135]1|
+            5(?:
+              1|
+              2[37]|
+              3[12]|
+              7[13-79]|
+              9[15]
+            )|
+            7(?:
+              31|
+              5[457]|
+              6[09]
+            )|
+            898
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            3(?:
+              1[02-9]|
+              35|
+              49|
+              5|
+              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|
+              6[1-6]|
+              7[028]|
+              80|
+              9[2-46-9]
+            )|
+            6(?:
+              3[1-5]|
+              6[0238]|
+              9[12]
+            )|
+            7(?:
+              01|
+              [1579]|
+              2[248]|
+              3[04-9]|
+              4[3-6]|
+              6[2368]
+            )|
+            8(?:
+              1[236-8]|
+              2[5-7]|
+              [37]|
+              5[1-9]|
+              8[3678]|
+              9[1-7]
+            )|
+            9(?:
+              0[1-3689]|
+              1[1-79]|
+              [379]|
+              4[13]|
+              5[1-5]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(1[3-58]\d)(\d{4})(\d{4})">
+          <leadingDigits>1[3-58]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(10800)(\d{3})(\d{4})">
+          <leadingDigits>108</leadingDigits>
+          <leadingDigits>1080</leadingDigits>
+          <leadingDigits>10800</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(21)(\d{4})(\d{4,6})">
+          <leadingDigits>21</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="([12]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            10[1-9]|
+            2[02-9]
+          </leadingDigits>
+          <!-- Note the leadingDigitsPattern for 4 digits is the same as 3 digits, -->
+          <leadingDigits>
+            10[1-9]|
+            2[02-9]
+          </leadingDigits>
+          <leadingDigits>
+            10(?:
+              [1-79]|
+              8(?:
+                [1-9]|
+                0[1-9]
+              )
+            )|
+            2[02-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(80\d{2})(\d{4})">
+          <leadingDigits>80[2678]</leadingDigits>
+          <format>$1 $2</format>
+        </intlNumberFormat>
+        <intlNumberFormat
+          pattern="(\d{3})(\d{4})(\d{4})">
+          <leadingDigits>
+            3(?:
+              11|
+              7[159]
+            )|
+            4[135]1|
+            5(?:
+              1|
+              2[37]|
+              3[12]|
+              7[13-79]|
+              9[15]
+            )|
+            7(?:
+              31|
+              5[457]|
+              6[09]
+            )|
+            898
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat
+          pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            3(?:
+              1[02-9]|
+              35|
+              49|
+              5|
+              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|
+              6[1-6]|
+              7[028]|
+              80|
+              9[2-46-9]
+            )|
+            6(?:
+              3[1-5]|
+              6[0238]|
+              9[12]
+            )|
+            7(?:
+              01|
+              [1579]|
+              2[248]|
+              3[04-9]|
+              4[3-6]|
+              6[2368]
+            )|
+            8(?:
+              1[236-8]|
+              2[5-7]|
+              [37]|
+              5[1-9]|
+              8[3678]|
+              9[1-7]
+            )|
+            9(?:
+              0[1-3689]|
+              1[1-79]|
+              [379]|
+              4[13]|
+              5[1-5]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(1[3-58]\d)(\d{4})(\d{4})">
+          <leadingDigits>1[3-58]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="([48]00)(\d{3})(\d{4})">
+          <leadingDigits>[48]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(10800)(\d{3})(\d{4})">
+          <leadingDigits>108</leadingDigits>
+          <leadingDigits>1080</leadingDigits>
+          <leadingDigits>10800</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-79]\d{7,11}|
+          8[0-357-9]\d{6,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>1012345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          1(?:
+            3[0-9]|
+            47|
+            5[0135689]|
+            8[05-9]
+          )\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>13123456789</exampleNumber>
+      </mobile>
+      <!-- Toll free, premium rate, and VoIP numbers are not clearly defined in the official Chinese
+           number plan, and do not seem to have been standardized. The information below is
+           collected from searching the web. -->
+      <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number -->
+      <tollFree>
+        <nationalNumberPattern>
+          (?:
+            10
+          )?800\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10,12}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>16[08]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>16812345</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>400\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>4001234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Colombia -->
+    <!-- http://www.itu.int/oth/T020200002C/en
+         http://en.wikipedia.org/wiki/Telephone_numbers_in_Colombia -->
+    <territory id="CO" countryCode="57" internationalPrefix="00[579]|#555|#999"
+               nationalPrefix="0" nationalPrefixForParsing="0([3579]|4(?:44|56))">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{7})" carrierCodeFormattingRule="$NP$CC $FG"
+          nationalPrefixFormattingRule="($FG)">
+          <leadingDigits>
+            1(?:
+              8[2-9]|
+              9[0-3]|
+              [2-7]
+            )|
+            [24-8]
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              8[2-9]|
+              9(?:
+                09|
+                [1-3]
+              )|
+              [2-7]
+            )|
+            [24-8]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d)(\d{7})">
+          <leadingDigits>
+            1(?:
+              8[2-9]|
+              9[0-3]|
+              [2-7]
+            )|
+            [24-8]
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              8[2-9]|
+              9(?:
+                09|
+                [1-3]
+              )|
+              [2-7]
+            )|
+            [24-8]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{3})(\d{7})" carrierCodeFormattingRule="$NP$CC $FG">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{7})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(1)(\d{3})(\d{7})" nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>
+            1(?:
+              80|
+              9[04]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              800|
+              9(?:
+                0[01]|
+                4[78]
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(1)(\d{3})(\d{7})">
+          <leadingDigits>
+            1(?:
+              80|
+              9[04]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              800|
+              9(?:
+                0[01]|
+                4[78]
+              )
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [13]\d{0,3}|
+            [24-8]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[124-8][2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          3(?:
+            0[0-24]|
+            1[0-8]|
+            2[01]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>3211234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>18001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          19(?:
+            0[01]|
+            4[78]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>19001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Costa Rica -->
+    <!-- http://www.itu.int/oth/T0202000030/en -->
+    <territory id="CR" countryCode="506" internationalPrefix="00"
+      nationalPrefixForParsing="(1900)" carrierCodeFormattingRule="$CC $FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <leadingDigits>
+            [24]|
+            8[389]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[89]0</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2489]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2[24-7]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>8[389]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>83123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- Includes "mass calls" numbers with prefix 905. -->
+        <nationalNumberPattern>90[059]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>4000\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>40001234</exampleNumber>
+      </voip>
+      <shortCode>
+        <!-- This pattern excludes 4-digit SMS content numbers for now. -->
+        <nationalNumberPattern>
+          1(?:
+            02[2-469]|
+            1(?:
+              1[0235-9]|
+              2|
+              37|
+              46|
+              75|
+              8[79]|
+              9[0-379]
+            )|
+            212)
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
+        <exampleNumber>1022</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Cuba -->
+    <!-- www.itu.int/oth/T0202000033/en -->
+    <territory id="CU" countryCode="53" internationalPrefix="119"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{6,7})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{4,6})">
+          <leadingDigits>[2-4]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{7})" nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-57]\d{5,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2[1-4]\d{5,6}|
+          3(?:
+            1\d{6}|
+            [23]\d{4,6})|
+          4(?:
+            [125]\d{5,6}|
+            [36]\d{6}|
+            [78]\d{4,6})|
+          7\d{6,7}
+        </nationalNumberPattern>
+        <exampleNumber>71234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>5\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>51234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Cape Verde -->
+    <!-- http://www.itu.int/oth/T0202000026/en -->
+    <territory id="CV" countryCode="238" internationalPrefix="0">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[259]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            2[1-7]|
+            3[0-8]|
+            4[12]|
+            5[1256]|
+            6\d|
+            7[1-3]|
+            8[1-5]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>2211234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- It seems, contrary to their numbering plan, the entire 9X range is used for mobile
+             phones. SMS messages has been successfully sent to numbers starting with 95 and 97 for
+             example, and there are plenty of numbers on the internet that start with these
+             prefixes. -->
+        <nationalNumberPattern>
+          (?:
+            9\d|
+            59
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>9911234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Cyprus -->
+    <!-- http://www.itu.int/oth/T0202000034/en -->
+    <territory id="CY" countryCode="357" internationalPrefix="00">
+      <availableFormats>
+        <!-- Format from http://www.cyprusyellowpages.com/-->
+        <numberFormat pattern="([27-9]\d)(\d{6})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[27-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2[2-6]\d{6}</nationalNumberPattern>
+        <exampleNumber>22345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Universal Access Service numbers (7777 xxxx) are included here, as they are classified
+             as Mobile in the Cyprus national numbering plan. -->
+        <nationalNumberPattern>
+          7777\d{4}|
+          9(?:
+            [69]\d|
+            7[67]
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>96123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>8000\d{4}</nationalNumberPattern>
+        <exampleNumber>80001234</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>9009\d{4}</nationalNumberPattern>
+        <exampleNumber>90091234</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>700\d{5}</nationalNumberPattern>
+        <exampleNumber>70012345</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Czech Rep. -->
+    <!-- http://www.itu.int/oth/T0202000035/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B420 -->
+    <territory id="CZ" countryCode="420" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([2-9]\d{2})(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2\d{8}|
+          (?:
+            3[1257-9]|
+            4[16-9]|
+            5[13-9]
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          60[1-8]\d{6}|
+          7[2379]\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>601123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[0689]\d{6}</nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>8[134]\d{7}</nationalNumberPattern>
+        <exampleNumber>811234567</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70[01]\d{6}</nationalNumberPattern>
+        <exampleNumber>700123456</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Germany -->
+    <!-- http://www.itu.int/oth/T0202000051/en -->
+    <territory id="DE" countryCode="49" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4,11})">
+          <leadingDigits>
+            3[02]|
+            40|
+            [68]9
+          </leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <!-- The order of the rules on 3-5 digits area code matter as fallback is used here. -->
+        <!-- 3 digit area codes. -->
+        <numberFormat pattern="(\d{3})(\d{3,10})">
+          <leadingDigits>
+            2(?:
+              \d1|
+              0[2389]|
+              1[24]|
+              28|
+              34
+            )|
+            3(?:
+              [3-9][15]|
+              40
+            )|
+            [4-8][1-9]1|
+            9(?:
+              06|
+              [1-9]1
+            )
+          </leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <!-- 4 digit area codes. -->
+        <numberFormat pattern="(\d{4})(\d{2,8})">
+          <leadingDigits>
+            [24-6]|
+            [7-9](?:
+              \d[1-9]|
+              [1-9]\d
+            )|
+            3(?:
+              [3569][02-46-9]|
+              4[2-4679]|
+              7[2-467]|
+              8[2-46-8]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            [24-6]|
+            [7-9](?:
+              \d[1-9]|
+              [1-9]\d
+            )|
+            3(?:
+              3(?:
+                0[1-467]|
+                2[127-9]|
+                3[124578]|
+                [46][1246]|
+                7[1257-9]|
+                8[1256]|
+                9[145]
+              )|
+              4(?:
+                2[135]|
+                3[1357]|
+                4[13578]|
+                6[1246]|
+                7[1356]|
+                9[1346]
+              )|
+              5(?:
+                0[14]|
+                2[1-3589]|
+                3[1357]|
+                4[1246]|
+                6[1-4]|
+                7[1346]|
+                8[13568]|
+                9[1246]
+              )|
+              6(?:
+                0[356]|
+                2[1-489]|
+                3[124-6]|
+                4[1347]|
+                6[13]|
+                7[12579]|
+                8[1-356]|
+                9[135]
+              )|
+              7(?:
+                2[1-7]|
+                3[1357]|
+                4[145]|
+                6[1-5]|
+                7[1-4]
+              )|
+              8(?:
+                21|
+                3[1468]|
+                4[1347]|
+                6[0135-9]|
+                7[1467]|
+                8[136]
+              )|
+              9(?:
+                0[12479]|
+                2[1358]|
+                3[1357]|
+                4[134679]|
+                6[1-9]|
+                7[136]|
+                8[147]|
+                9[1468]
+              )
+            )
+          </leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <!-- 5 digit area codes. -->
+        <numberFormat pattern="(\d{5})(\d{1,6})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <!-- http://www.t-mobile.de/servicehotlines/0,13401,17660-_,00.html -->
+        <numberFormat pattern="([18]\d{2})(\d{7,9})">
+          <leadingDigits>
+            1[5-7]|
+            800
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d)(\d{4,10})">
+          <leadingDigits>
+            (?:
+              18|
+              90
+            )0
+          </leadingDigits>
+          <leadingDigits>
+            180|
+            900[1359]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(700)(\d{4})(\d{4})">
+          <leadingDigits>700</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- When deciding whether to assume a leading 49 is a country code or not, the number is
+             examined to see if it is valid with the 49 as part of the number. Due to the variable
+             length of German numbers, this test is hard to do. The national pattern is hence
+             stricter for numbers starting with 49, to try and remove the country code if the number
+             begins with 49 whenever possible. -->
+        <nationalNumberPattern>
+          [1-35-9]\d{3,13}|
+          4(?:
+            [0-8]\d{4,12}|
+            9(?:
+              4[1-8]|
+              [0-35-7]\d
+            )\d{2,7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{2,14}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The numbering plan defines rather optimistic longest-number limits - online numbers
+             don't seem to respect this. The max-length is hence extended. -->
+        <nationalNumberPattern>
+          [246]\d{5,13}|
+          3(?:
+            [03-9]\d{4,11}|
+            2\d{9}
+          )|
+          5(?:
+            0[2-8]|
+            [38][0-8]|
+            [124-6]\d|
+            [79][0-7]
+          )\d{3,10}|
+          7(?:
+            0[2-8]|
+            [1-9]\d
+          )\d{3,10}|
+          8(?:
+            0[2-9]|
+            [1-9]\d
+          )\d{3,10}|
+          9(?:
+            0[6-9]|
+            [1-9]\d
+          )\d{3,10}
+        </nationalNumberPattern>
+        <exampleNumber>30123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Note: 8 digit numbers seem to be available for prefix 176 now,
+        although no official documentation can be found, according to user
+        bug-reports. -->
+        <nationalNumberPattern>
+          1(?:
+            5\d{9}|
+            7(?:
+              [0-57-9]|
+              6\d
+            )\d{7}|
+            6(?:
+              [02]\d{7,8}|
+              3\d{7}
+            )
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>15123456789</exampleNumber>
+      </mobile>
+      <pager>
+        <nationalNumberPattern>
+          16(?:
+            4\d{1,10}|
+            [89]\d{1,11}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,14}</possibleNumberPattern>
+        <exampleNumber>16412345</exampleNumber>
+      </pager>
+      <tollFree>
+        <nationalNumberPattern>800\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,12}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          900(?:
+            [135]\d{6}|
+            9\d{7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <!-- See bug 1683119 for a discussion about maximum number lengths. -->
+        <nationalNumberPattern>180\d{5,11}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,14}</possibleNumberPattern>
+        <exampleNumber>18012345</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>700\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>70012345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Djibouti -->
+    <!-- http://www.itu.int/oth/T020200003A/en -->
+    <territory id="DJ" countryCode="253" internationalPrefix="00">
+      <availableFormats>
+        <!-- The number format here is suggested in the plan and used online,
+        although the phone numbers of the national numbering authority itself on
+        the plan do not follow this. -->
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-8]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes "Numéro long CDMA fixe" numbers starting with the digit 5. -->
+        <nationalNumberPattern>
+          (?:
+            1[05]|
+            [2-5]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>251234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[6-8]\d{5}</nationalNumberPattern>
+        <exampleNumber>601234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Denmark -->
+    <!-- http://en.itst.dk/telecom-internet-regulation/numbering-issues/numbering-lists -->
+    <territory id="DK" countryCode="45" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([1-9]\d)(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3[2-9]|
+            4[3-9]|
+            5[4-9]|
+            6[2-9]|
+            7[02-9]|
+            8[26-9]|
+            9[6-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>32123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- There are some overlaps for some number prefixes - the plan says that they are 'mainly'
+             used for a certain type of number. -->
+        <nationalNumberPattern>
+          (?:
+            2[0-9]|
+            3[0-2]|
+            4[0-2]|
+            5[0-3]|
+            6[01]|
+            7[12]|
+            81|
+            99
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>20123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{6}</nationalNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Dominica -->
+    <!-- http://www.itu.int/oth/T020200003B/en -->
+    <territory id="DM" countryCode="1" leadingDigits="767"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[7-9]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          767(?:
+            2(?:
+              55|
+              66
+            )|
+            4(?:
+              2[01]|
+              4[0-25-9]
+            )|
+            50[0-4]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>7674201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          767(?:
+            2(?:
+              [2346]5|
+              7[5-7]
+            )|
+            31[5-7]|
+            61[4-6]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7672251234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Dominican Rep. -->
+    <!-- http://www.itu.int/oth/T020200003C/en -->
+    <territory id="DO" countryCode="1" leadingDigits="8[024]9"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[89]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- We could be more detailed here, as the metadata contains information about some of the
+             mobile/fixed-line prefixes, but the data is incomplete, so we restrict ourselves to a
+             more generic rule for now. -->
+        <nationalNumberPattern>8[024]9[2-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>8092345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>8[024]9[2-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>8092345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Algeria -->
+    <!-- http://www.itu.int/oth/T0202000003/en -->
+    <!-- www.arpt.dz -->
+    <territory id="DZ" countryCode="213" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formatting from www.pagesjaunes-dz.com. -->
+        <numberFormat pattern="([1-4]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[1-4]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([5-8]\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[5-8]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(9\d)(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [1-4]|
+            [5-9]\d
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- We include the VSAT lines here. -->
+        <nationalNumberPattern>
+          (?:
+            1\d|
+            2[014-79]|
+            3[0-8]|
+            4[0135689]
+          )\d{6}|
+          9619\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5[56]|
+            6[69]|
+            7[79]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>551234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>80[3-689]1\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>808123456</exampleNumber>
+      </premiumRate>
+      <!-- The Algerian plan doesn't specify where the costs start to be considered "premium", so we
+           draw an arbitrary line here and say that from 50 Da up they will be considered premium.
+           -->
+      <sharedCost>
+        <nationalNumberPattern>80[12]1\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>801123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>98[23]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>983123456</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Ecuador -->
+    <!-- http://en.wikipedia.org/wiki/+593 -->
+    <!-- http://www.conatel.gov.ec -->
+    <!-- http://www.itu.int/oth/T020200003D/en -->
+    <!-- A new plan has been prepared, but no implementation date has yet been stated. -->
+    <territory id="EC" countryCode="593" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>[2-7]</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>[2-7]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3})"
+          nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(1800)(\d{3})(\d{3,4})"
+          nationalPrefixFormattingRule="$FG">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(1800)(\d{3})(\d{3,4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{7}|1\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2-7][2-7]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[89]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>99123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>18001234567</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Estonia -->
+    <!-- http://www.itu.int/oth/T0202000043/en -->
+    <!-- http://www.tja.ee/public/Legislation_side/Numbering_/Estonian_NP_eng.htm -->
+    <territory id="EE" countryCode="372" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([34-79]\d{2})(\d{4})">
+          <leadingDigits>
+            [369]|
+            4[3-8]|
+            5(?:
+              [0-2]|
+              5[0-478]|
+              6[45]
+            )|
+            7[1-9]
+          </leadingDigits>
+          <leadingDigits>
+            [369]|
+            4[3-8]|
+            5(?:
+              [02]|
+              1(?:
+                [0-8]|
+                95
+              )|
+              5[0-478]|
+              6(?:
+                4[0-4]|
+                5[1-589]
+              )
+            )|
+            7[1-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(70)(\d{2})(\d{4})">
+          <leadingDigits>70</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(8000)(\d{3})(\d{3})">
+          <leadingDigits>800</leadingDigits>
+          <leadingDigits>8000</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([458]\d{3})(\d{3,4})">
+          <leadingDigits>
+            40|
+            5|
+            8(?:
+              00|
+              [1-5]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            40|
+            5|
+            8(?:
+              00[1-9]|
+              [1-5]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [3-9]\d{6,7}|
+          800\d{6,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <noInternationalDialling>
+        <nationalNumberPattern>800[2-9]\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>8002123</exampleNumber>
+      </noInternationalDialling>
+      <fixedLine>
+        <!-- Supporting eFax numbers here as well. -->
+        <nationalNumberPattern>
+          (?:
+            3[23589]|
+            4(?:
+              0\d|
+              [3-8]
+            )|
+            6\d|
+            7[1-9]|
+            88
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>3212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 7 digit mobile numbers currently in use with special prefixes are preserved - new
+             numbers are 8 digits. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>51234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          800(?:
+            0\d{3}|
+            1\d|
+            [2-9]
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>9001234</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>70[0-2]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>70012345</exampleNumber>
+      </personalNumber>
+      <shortCode>
+        <nationalNumberPattern>1[1-9]\d</nationalNumberPattern>
+        <possibleNumberPattern>\d{3}</possibleNumberPattern>
+        <exampleNumber>112</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Egypt -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200003E0001MSWE.doc -->
+    <territory id="EG" countryCode="20" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+       <availableFormats>
+         <!-- Note that no explicit formatting rule is here for 5-digit numbers starting with a 16
+              or 19. These are formatted without national prefix, as a block, so do not need to be
+              listed here. -->
+         <numberFormat pattern="(\d)(\d{7,8})">
+           <leadingDigits>[23]</leadingDigits>
+           <format>$1 $2</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{2})(\d{7})">
+           <leadingDigits>
+             [14-6]|
+             [89][2-9]
+           </leadingDigits>
+           <format>$1 $2</format>
+         </numberFormat>
+         <numberFormat pattern="([89]00)(\d{3})(\d{4})">
+           <leadingDigits>[89]00</leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+       </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          1\d{4,9}|
+          [2-689]\d{7,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Short numbers used for businesses (starting with 16 or 19) are covered here. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+        <exampleNumber>234567890</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1[0-246-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>101234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Eritrea -->
+    <!-- http://www.itu.int/oth/T0202000042/en -->
+    <territory id="ER" countryCode="291" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[178]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          1(?:
+            1[12568]|
+            20|
+            40|
+            55|
+            6[146]
+          )\d{4}|
+          8\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>8370362</exampleNumber><!-- Test number from plan. -->
+      </fixedLine>
+      <mobile>
+        <!-- It is unclear in the plan whether the 07 mobile prefix superseded the previous 017[1-3]
+             numbers or was in addition to them, so we support both here. -->
+        <nationalNumberPattern>
+          17[1-3]\d{4}|
+          7\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>7123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Spain -->
+    <!-- http://www.mityc.es/telecomunicaciones/es-ES/Servicios/Numeracion/Paginas/Plan.aspx -->
+    <territory id="ES" countryCode="34" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([5-9]\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[5-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[89][1-8]\d{7}</nationalNumberPattern>
+        <exampleNumber>812345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6\d{8}</nationalNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>[89]00\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>80[367]\d{6}</nationalNumberPattern>
+        <exampleNumber>803123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>90[12]\d{6}</nationalNumberPattern>
+        <exampleNumber>901123456</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70\d{7}</nationalNumberPattern>
+        <exampleNumber>701234567</exampleNumber>
+      </personalNumber>
+      <!-- Modelling non-geographic nomadic numbers as UAN. -->
+      <uan>
+        <nationalNumberPattern>51\d{7}</nationalNumberPattern>
+        <exampleNumber>511234567</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Ethiopia -->
+    <!-- http://www.itu.int/oth/T0202000044/en -->
+    <territory id="ET" countryCode="251" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([1-59]\d)(\d{3})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-59]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>111112345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Some additional area codes are permitted here in line with online numbers, namely 91
+             13[4-6], 91 17[2-6], 91 31\d, 91 43[2489]. -->
+        <nationalNumberPattern>
+          91(?:
+            1(?:
+              [146]\d|
+              2[0-5]|
+              3[4-6]|
+              50|
+              7[2-6]|
+              8[46-9]
+            )|
+            31\d|
+            4(?:
+              3[0-2489]|
+              7[0-3]
+            )|
+            5(?:
+              3[23]|
+              7[3-5]
+            )|
+            6(?:
+              58|
+              8[23]
+            )|
+            7(?:
+              5[57]|
+              8[01]
+            )|
+            8(?:
+              3[45]|
+              7[67]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>911123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Finland -->
+    <!-- http://www.ficora.fi/en/index/palvelut/palvelutaiheittain/numerointi/numerotyypitjaalueet.html -->
+    <territory id="FI" countryCode="358" internationalPrefix="00|99[049]"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4,10})">
+          <leadingDigits>
+            2[09]|
+            [14]|
+            50|
+            7[135]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4,11})">
+          <leadingDigits>
+            [25689][1-8]|
+            3
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([6-8]00)(\d{4,7})">
+          <leadingDigits>[6-8]0</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          1\d{4,11}|
+          [2-9]\d{4,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- This is limited to geographic numbers - non-geographic nationwide
+        subscriber numbers are listed under UAN. -->
+        <nationalNumberPattern>
+          1(?:
+            [35689][1-8]\d{3,9}|
+            [47]\d{5,10}
+          )|
+          2[1-8]\d{3,9}|
+          3(?:
+            [1-8]\d{3,9}|
+            9\d{4,8}
+          )|
+          [5689][1-8]\d{3,9}|
+        </nationalNumberPattern>
+        <exampleNumber>1312345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          4\d{5,10}|
+          50\d{4,8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+        <exampleNumber>412345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>[67]00\d{5,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>600123456</exampleNumber>
+      </premiumRate>
+      <uan>
+        <nationalNumberPattern>
+          10[1-9]\d{3,7}|
+          2(?:
+            0(?:
+              [16-8]\d{3,7}|
+              2[14-9]\d{1,6}|
+              [3-5]\d{2,7}|
+              9[0-7]\d{1,6}
+            )|
+            9\d{4,8}
+          )|
+          30[1-9]\d{3,7}|
+          7(?:
+            1\d{7}|
+            3\d{8}|
+            5[03-9]\d{2,7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+        <exampleNumber>10112345</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Fiji -->
+    <territory id="FJ" countryCode="679" internationalPrefix="00">
+    </territory>
+
+    <!-- Falkland Islands (Malvinas) -->
+    <territory id="FK" countryCode="500" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Micronesia, Federated States of -->
+    <territory id="FM" countryCode="691" internationalPrefix="00">
+    </territory>
+
+    <!-- Faroe Islands -->
+    <!-- http://www.itu.int/oth/T0202000047/en -->
+    <territory id="FO" countryCode="298" internationalPrefix="00"
+        nationalPrefixForParsing="(10(?:01|[12]0|88))"
+        carrierCodeFormattingRule="$CC $FG">
+      <!-- All numbers are formatted together, as a block. -->
+      <numberFormat pattern="(\d{6})">
+        <format>$1</format>
+      </numberFormat>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            20|
+            [3-4]\d|
+            8[19]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            2[1-9]|
+            5\d|
+            7[1-79]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>211234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[257-9]\d{3}</nationalNumberPattern>
+        <exampleNumber>802123</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          90(?:
+            [1345][15-7]|
+            2[125-7]|
+            99
+            )\d{2}
+        </nationalNumberPattern>
+        <exampleNumber>901123</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>
+          (?:
+            6[0-36]|
+            88
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>601234</exampleNumber>
+      </voip>
+      <shortCode>
+        <!-- Includes special numbers, special services and universal services.  -->
+        <nationalNumberPattern>
+          1(?:
+            1[248]|
+            4[124]\d|
+            71\d|
+            8[7-9]\d
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
+        <exampleNumber>211234</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- France -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200004A0001MSWE.doc -->
+    <!-- http://www.arcep.fr/index.php?id=8146 -->
+    <!-- http://en.wikipedia.org/wiki/%2B33 -->
+    <territory id="FR" countryCode="33" internationalPrefix="[04579]0"
+      preferredInternationalPrefix="00"
+      nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([1-79])(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[1-79]</leadingDigits>
+          <format>$1 $2 $3 $4 $5</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP $FG"
+          pattern="(8\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[1-5]\d{8}</nationalNumberPattern>
+        <exampleNumber>123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          6\d{8}|
+          7[5-9]\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>89[1-37-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>891123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            1[019]|
+            2[0156]|
+            84|
+            90
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>810123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>9\d{8}</nationalNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Gabon -->
+    <!-- http://www.itu.int/oth/T020200004E/en -->
+    <territory id="GA" countryCode="241" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[4-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(0\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>0</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [4-9]\d{5}|
+          0\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            4(?:
+              [04-8]\d|
+              2[04]
+            )|
+            (?:
+              5[04-689]|
+              6[024-9]|
+              7\d|
+              8[236]|
+              9[02368]
+            )\d
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>441234</exampleNumber>
+      </fixedLine>
+      <!-- The leading zero here is supposed to be temporary - at a later date,
+      Gabon intends to have a 0 as their national prefix for all numbers
+      instead. -->
+      <!-- http://www.wtng.info/wtng-241-ga.html was used as the basis for the acceptable prefixes,
+           with some supplementary prefixes added from internet research. There is supposedly a
+           resource on mobile prefixes on the Gabon Telecom website, but the site (www.ogooue.ga)
+           doesn't seem to work and no alternative can be found. Extra prefixes added: 07 12, 07 13,
+           06 71, 07 33, 07 [67]\d -->
+      <mobile>
+        <nationalNumberPattern>
+          0(?:
+            5(?:
+              0[89]|
+              3[0-4]|
+              8[0-26]|
+              9[238]
+            )|
+            6(?:
+              0[3-7]|
+              1[01]|
+              2[0-7]|
+              6[0-589]|
+              71|
+              83|
+              9[57]
+            )|
+            7(?:
+              1[2-5]|
+              2[89]|
+              3[35-9]|
+              4[01]|
+              5[0-347-9]|
+              [67]\d|
+              8[457-9]|
+              9[0146]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>06031234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- United Kingdom -->
+    <!-- http://stakeholders.ofcom.org.uk/telecoms/numbering/ -->
+    <!-- http://en.wikipedia.org/wiki/List_of_United_Kingdom_dialling_codes -->
+    <!-- http://www.numberingplans.com/?page=dialling&sub=areacodes&ac=GB -->
+    <!-- Note that this excludes Isle of Man, Jersey and Guernsey prefixes for the purposes of
+         validation, although the formatting rules are shared. -->
+    <territory id="GB" countryCode="44" internationalPrefix="00"
+               nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG"
+               mainCountryForCode="true">
+      <availableFormats>
+        <!-- 2d, 55, 56, 70, 76 with 10 digits. -->
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>
+            2|
+            5[56]|
+            7[06]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 11d, 1d1, 3dd, 9dd with 10 digits. -->
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            1(?:
+              1|
+              \d1
+            )|
+            3|
+            9[018]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 1dddd with 9 or 10 digits.
+             These area codes are very rare in GB, and are only available in the following places:
+             13873(Langholm), 15242(Hornby), 15394(Hawkshead), 15395(Grange-over-Sands),
+             15396(Sedbergh), 16973(Wigton), 16974(Raughton Head), 16977(Brampton),
+             17683(Appleby), 17684(Pooley Bridge), 17687(Keswick), 19467(Gosforth). -->
+        <numberFormat pattern="(\d{5})(\d{4,5})">
+          <leadingDigits>
+            1(?:
+              38|
+              5[23]|
+              69|
+              76|
+              94
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              387|
+              5(?:
+                24|
+                39
+              )|
+              697|
+              768|
+              946
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              3873|
+              5(?:
+                242|
+                39[456]
+              )|
+              697[347]|
+              768[347]|
+              9467
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- 1ddd with 9 or 10 digits. -->
+        <numberFormat pattern="(1\d{3})(\d{5,6})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- 7ddd (not 70, 76) with 10 digits. -->
+        <numberFormat pattern="(7\d{3})(\d{6})">
+          <leadingDigits>7[1-5789]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- 800 1111 : UK ChildLine. -->
+        <numberFormat pattern="(800)(\d{4})">
+          <leadingDigits>800</leadingDigits>
+          <leadingDigits>8001</leadingDigits>
+          <leadingDigits>80011</leadingDigits>
+          <leadingDigits>800111</leadingDigits>
+          <leadingDigits>8001111</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- 845 46 47 : UK NHS Direct. -->
+        <numberFormat pattern="(845)(46)(4\d)">
+          <leadingDigits>845</leadingDigits>
+          <leadingDigits>8454</leadingDigits>
+          <leadingDigits>84546</leadingDigits>
+          <leadingDigits>845464</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 84d, 87d with 10 digits. -->
+        <numberFormat pattern="(8\d{2})(\d{3})(\d{4})">
+          <leadingDigits>
+            8(?:
+              4[2-5]|
+              7[0-3]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 80d (including 800) with 10 digits. -->
+        <numberFormat pattern="(80\d)(\d{3})(\d{4})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 500, 800 with 9 digits. -->
+        <numberFormat pattern="([58]00)(\d{6})">
+          <leadingDigits>[58]00</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{7,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <areaCodeOptional>
+        <!-- These are a subset of the fixed-line rules, with digits 2-9 as the leading digit of the
+             subscriber number. There are patterns for 2+8, 3+7 and a combined pattern for all
+             4+6/4+5 and 5+5/5+4 numbers. Note that numbers matching this pattern are not
+             necessarily valid numbers. -->
+        <nationalNumberPattern>
+          2\d[2-9]\d{7}|
+          1(?:
+            1\d|
+            \d1
+          )[2-9]\d{6}|
+          1(?:
+            [248][02-9]\d[2-9]\d{4,5}|
+            (?:
+              3(?:
+                [02-79]\d|
+                8[0-69]
+              )|
+              5(?:
+                [04-9]\d|
+                2[0-35-9]|
+                3[0-8]
+              )|
+              6(?:
+                [02-8]\d|
+                9[0-689]
+              )|
+              7(?:
+                [02-5789]\d|
+                6[0-79]
+              )|
+              9(?:
+                [0235-9]\d|
+                4[0-5789]
+              )
+            )[2-9]\d{4,5}|
+            (?:
+              387(?:
+                3[2-9]|
+                [24-9]\d
+              )|
+              5(?:
+                24(?:
+                  2[2-9]|
+                  [3-9]\d
+                )|
+                39(?:
+                  [4-6][2-9]|
+                  [237-9]\d
+                )
+              )|
+              697(?:
+                [347][2-9]|
+                [25689]\d
+              )|
+              768(?:
+                [347][2-9]|
+                [25679]\d
+              )|
+              946(?:
+                7[2-9]|
+                [2-689]\d
+              )
+            )\d{3,4}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>1332456789</exampleNumber>
+      </areaCodeOptional>
+      <fixedLine>
+        <!-- http://en.wikipedia.org/wiki/List_of_United_Kingdom_dialling_codes -->
+        <!-- Pattern matches geographic NSN=10 numbers as follows:
+             - area code and local number first digit for 2+8,
+             - area code and local number first digit for 3+7,
+             - area code only for 4+6 (including areas with embedded 5+5).
+             Pattern matches geographic NSN=9 numbers as follows:
+             - area code and local number first two digits for 4+5,
+             - area code and local number first three digits for 4+5 special case (01768) 88Ddd,
+             - area code and local number first digit for 5+4 special case (016977) Dddd.
+             All patterns exclude ranges used in GG, IM, JE. -->
+        <nationalNumberPattern>
+          2(?:
+            0[01378]|
+            3[0189]|
+            4[017]|
+            8[0-46-9]|
+            9[012]
+          )\d{7}|
+          1(?:
+            (?:1
+              (?:3[0-48]|
+                 [46][0-4]|
+                 5[012789]|
+                 7[0-39]|
+                 8[01349]
+              )|
+              21[0-7]|
+              31[0-8]|
+              [459]1\d|
+              61[0-46-9]
+            )
+          )\d{6}|
+          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]|
+              [28][02-5789]|
+              [37]\d|
+              4[02-69]|
+              5[0-8]|
+              [69][0-79]
+            )|
+            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]|
+              [38][013-9]|
+              4[1-467]|
+              5[0-69]|
+              6[13-9]|
+              7[0-8]|
+              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}
+        </nationalNumberPattern>
+        <exampleNumber>1212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- http://stakeholders.ofcom.org.uk/telecoms/numbering/telephone-no-availability/numbers-administered/
+             7100-7599, 7700-7999 with 10 digits; excluding ranges used in GG, IM, JE. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7400123456</exampleNumber>
+      </mobile>
+      <pager>
+        <!-- 76 with 10 digits; excluding ranges used in IM. -->
+        <nationalNumberPattern>
+          76(?:
+            0[012]|
+            2[356]|
+            4[0134]|
+            5[49]|
+            6[0-369]|
+            77|
+            81|
+            9[39]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7640123456</exampleNumber>
+      </pager>
+      <!-- Source for non geographic numbers:
+           http://en.wikipedia.org/wiki/Non-geographical_telephone_numbers_in_the_UK -->
+      <tollFree>
+        <!-- 800 1111 with 7 digits, 800 with 9 or 10 digits, 808 with 10 digits, 500 with 9 digits. -->
+        <nationalNumberPattern>
+          80(?:
+            0(?:
+              1111|
+              \d{6,7}
+            )|
+            8\d{7}
+          )|
+          500\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}(?:\d{2,3})?</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- 871, 872, 873 with 10 digits are now Controlled Premium Rate Services, so are listed
+             here as well as 900-909, 910-919, 980-983 with 10 digits. -->
+        <nationalNumberPattern>
+          (?:
+            87[123]|
+            9(?:
+              [01]\d|
+              8[0-3]
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9012345678</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <!-- Using shared cost to deal with the various revenue sharing number prefixes in the
+             United Kingdom: 845 46 47 with 7 digits, 842-845, 870 with 10 digits. -->
+        <nationalNumberPattern>
+          8(?:
+            4(?:
+              5464\d|
+              [2-5]\d{7}
+            )|
+            70\d{7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern>
+        <exampleNumber>8431234567</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <!-- 70 with 10 digits. -->
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <!-- 56 with 10 digits. -->
+        <nationalNumberPattern>56\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5612345678</exampleNumber>
+      </voip>
+      <uan>
+        <!-- 30d, 33d, 34d, 37d, 55 with 10 digits. -->
+        <nationalNumberPattern>
+          (?:
+            3[0347]|
+            55
+          )\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5512345678</exampleNumber>
+      </uan>
+      <shortCode>
+        <!-- This is a list of the ones that can be called. -->
+        <nationalNumberPattern>
+          1(?:
+            0[01]|
+            1(?:
+              [12]|
+              [68]\d{3}
+            )|
+            2[123]|
+            33|
+            4(?:
+              1|
+              7\d
+            )|
+            5\d|
+            70\d|
+            800\d|
+            9[15]
+          )|
+          2(?:
+            02|
+            2(?:
+              02|
+              11|
+              2
+            )|
+            3(?:
+              02|
+              45
+            )
+            425
+          )|
+          3[13]3|
+          4(?:
+            0[02]|
+            35[01]|
+            44[45]|
+            5\d
+          )|
+          650|
+          789|
+          9(?:
+            01|
+            99
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>150</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Grenada -->
+    <!-- http://www.itu.int/oth/T0202000057/en -->
+    <territory id="GD" countryCode="1" leadingDigits="473"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[489]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          473(?:
+            2(?:
+              3[0-2]|
+              69
+            )|
+            3(?:
+              2[89]|
+              86
+            )|
+            4(?:
+              [06]8|
+              3[5-9]|
+              4[0-49]|
+              5[5-79]|
+              73|
+              90
+            )|
+            63[68]|
+            7(?:
+              58|
+              84
+            )|
+            938
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>4732691234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          473(?:
+            4(?:
+              0[3-79]|
+              1[04-9]|
+              20|
+              58
+            )|
+            53[3-8]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>4734031234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Georgia -->
+    <!-- http://www.itu.int/oth/T0202000050/en -->
+    <territory id="GE" countryCode="995" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG">
+      <availableFormats>
+        <!-- Format isn't very strictly defined - the yellow pages omits area code and does 2 2 2,
+             the chairman on the communications commission listed his as 2 2 4 (Tblisi area
+             code). -->
+        <numberFormat pattern="(32)(\d{2})(\d{2})(\d{2})"
+           nationalPrefixFormattingRule="$NP ($FG)">
+          <leadingDigits>32</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d)(\d{2})(\d{2})"
+           nationalPrefixFormattingRule="$NP ($FG)">
+          <leadingDigits>
+            [24]|
+            3[13-79]
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[5679]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-579]\d{7}|
+          8\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Added the 250, 253 and 255 prefixes as there are lots of numbers on the internet with
+             that prefix. We also list the old prefixes first, and then the new prefixes, to make it
+             easier to delete the old prefixes at the end of May 2011.  -->
+        <nationalNumberPattern>
+          (?:
+            122|
+            2(?:
+              22|
+              36|
+              5[035]
+            )|
+            3(?:
+              1[0-35-8]|
+              3[1-35679]|
+              4\d|
+              7[0-39]|
+              9[1-35-7]
+            )|
+            3(?:
+              [256]\d|
+              4[124-9]|
+              7[0-4]
+            )|
+            4(?:
+              1\d|
+              2[2-7]|
+              3[1-79]|
+              4[2-8]|
+              7[239]|
+              9[1-7]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+        <exampleNumber>32123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5[1578]|
+            6[28]|
+            7[0147-9]|
+            9[0135-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>55123456</exampleNumber>
+      </mobile>
+      <!-- Information from www.yell.ge, examples such as Wissol Petroleum Georgia hotline. -->
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <!-- It seems there may be special 6 digit numbers beginning with 91, but we are not sure, so
+           these are omitted for now. -->
+    </territory>
+
+    <!-- French Guiana (French Dept. of) -->
+    <territory id="GF" countryCode="594" internationalPrefix="00">
+    </territory>
+
+    <!-- Guernsey -->
+    <!-- Inherits formatting rules from the UK. -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom -->
+    <territory id="GG" countryCode="44" internationalPrefix="00"
+               nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG">
+      <generalDesc>
+        <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <areaCodeOptional>
+        <nationalNumberPattern>1481[2-9]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1481250123</exampleNumber>
+      </areaCodeOptional>
+      <!-- Specific to GG. -->
+      <fixedLine>
+        <!-- 1481 with 10 digits. -->
+        <nationalNumberPattern>1481\d{6}</nationalNumberPattern>
+        <exampleNumber>1481456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 7781, 7839, 7911 with 10 digits. -->
+        <nationalNumberPattern>
+          7(?:
+            781|
+            839|
+            911
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7781123456</exampleNumber>
+      </mobile>
+      <!-- Other numbers as per GB. -->
+      <pager>
+        <nationalNumberPattern>
+          76(?:
+            0[012]|
+            2[356]|
+            4[0134]|
+            5[49]|
+            6[0-369]|
+            77|
+            81|
+            9[39]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7640123456</exampleNumber>
+      </pager>
+      <tollFree>
+        <nationalNumberPattern>
+          80(?:
+            0(?:
+              1111|
+              \d{6,7}
+            )|
+            8\d{7}
+          )|
+          500\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}(?:\d{2,3})?</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            87[123]|
+            9(?:
+              [01]\d|
+              8[0-3]
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9012345678</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            4(?:
+              5464\d|
+              [2-5]\d{7}
+            )|
+            70\d{7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern>
+        <exampleNumber>8431234567</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>56\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5612345678</exampleNumber>
+      </voip>
+      <uan>
+        <nationalNumberPattern>
+          (?:
+            3[0347]|
+            55
+          )\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5512345678</exampleNumber>
+      </uan>
+      <shortCode>
+        <nationalNumberPattern>
+          1\d{2}(?:\d{3})?|
+          999
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>150</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Ghana -->
+    <!-- http://www.itu.int/oth/T0202000052/en -->
+    <!-- http://www.nca.org.gh/index.php?option=com_content&view=article&id=90&Itemid=65 -->
+    <territory id="GH" countryCode="233" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+            <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[235]\d{6,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>302345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          2(?:
+            (?:
+              [47]\d|
+              08
+            )\d{6}|
+            [368]\d{7}
+          )|
+          54\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>231234567</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Gibraltar -->
+    <territory id="GI" countryCode="350" internationalPrefix="00">
+      <!-- No formatting rules - numbers are always formatted as a block. -->
+      <generalDesc>
+        <nationalNumberPattern>[2568]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            00\d|
+            16[0-7]|
+            22[2457]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>20012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5[4-8]|
+            60
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>57123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>8[1-689]\d{6}</nationalNumberPattern>
+        <exampleNumber>88123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>87\d{6}</nationalNumberPattern>
+        <exampleNumber>87123456</exampleNumber>
+      </sharedCost>
+      <shortCode>
+        <nationalNumberPattern>
+          1(?:
+            00|
+            1(?:
+              2|
+              6(?:
+                00[06]|
+                11[17]
+              )|
+              8\d{2}
+            )|
+            23|
+            4(?:
+              1|
+              7[014]
+            )|
+            5[015]|
+            9[0349]
+          )|
+          8(?:
+            00|
+            4[0-2]|
+            8\d
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>116123</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Greenland -->
+    <!-- http://www.itu.int/oth/T0202000056/en -->
+    <territory id="GL" countryCode="299" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-689]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Including VSAT numbers here. -->
+        <nationalNumberPattern>
+          (?:
+            19|
+            3[1-6]|
+            6[14689]|
+            8[14-79]|
+            9\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>321000</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[245][2-9]\d{4}</nationalNumberPattern>
+        <exampleNumber>221234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{4}</nationalNumberPattern>
+        <exampleNumber>801234</exampleNumber>
+      </tollFree>
+      <voip>
+        <nationalNumberPattern>3[89]\d{4}</nationalNumberPattern>
+        <exampleNumber>381234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Gambia -->
+    <!-- http://www.itu.int/oth/T020200004F/en -->
+    <territory id="GM" countryCode="220" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>5661234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[3679]\d{6}</nationalNumberPattern>
+        <exampleNumber>3012345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Guinea -->
+    <!-- http://www.itu.int/oth/T020200005B/en -->
+    <territory id="GN" countryCode="224" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3567]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          30(?:
+            24|
+            3[12]|
+            4[1-35-7]|
+            5[13]|
+            6[189]|
+            [78]1|
+            9[1478]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>30241234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- WiMAX is in the plan - which is a wireless broadband protocol. Not including this in
+             the metadata for now unless this proves to be necessary. These would start with 79. -->
+        <nationalNumberPattern>
+          55\d{6}|
+          6(?:
+            0(?:
+              2\d|
+              3[3467]|
+              5[2457-9]
+            )|
+            [24578]\d{2}|
+            3(?:
+              [14]0|
+              35
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>60201234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Guadeloupe -->
+    <!-- http://www.itu.int/oth/T0202000058/en -->
+    <territory id="GP" countryCode="590" internationalPrefix="00"
+               mainCountryForCode="true" nationalPrefix="0"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([56]90)(\d{2})(\d{4})">
+          <format>$1 $2-$3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[56]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The plan says 59011 and 59012 are not implemented yet, but is from 2006 and online
+             examples can be found. -->
+        <nationalNumberPattern>
+          590(?:
+            1[12]|
+            2[0-68]|
+            3[28]|
+            4[126-8]|
+            5[067]|
+            6[018]|
+            [89]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>590201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          690(?:
+            00|
+            [3-5]\d|
+            6[0-57-9]|
+            7[1-6]|
+            8[0-6]|
+            9[09]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>690301234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Equatorial Guinea -->
+    <!-- http://www.itu.int/oth/T0202000041/en -->
+    <territory id="GQ" countryCode="240" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[235]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{6})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[23589]\d{8}</nationalNumberPattern>
+        <!-- The 6 here refers to the old number pattern - numbers written down may still be this
+             length although they can no longer be dialled. -->
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          3(?:
+            3(?:
+              3\d[7-9]|
+              [0-24-9]\d[46]
+            )|
+            5\d{2}[7-9]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>333091234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            222|
+            551
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>222123456</exampleNumber>
+      </mobile>
+      <!-- Note that personal and sharedCost numbers are said to go under here too - hopefully when
+           they start allocating them there will be a differentiation of prefixes, but this is not
+           clear now. -->
+      <tollFree>
+        <nationalNumberPattern>80\d[1-9]\d{5}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d[1-9]\d{5}</nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Greece -->
+    <!-- http://www.itu.int/oth/T0202000055/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B30 -->
+    <territory id="GR" countryCode="30" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([27]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            21|
+            7
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            2[2-9]1|
+            [689]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(2\d{3})(\d{6})">
+          <leadingDigits>2[2-9][02-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[26-9]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>2123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>69\d{8}</nationalNumberPattern>
+        <exampleNumber>6912345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[19]\d{7}</nationalNumberPattern>
+        <exampleNumber>9091234567</exampleNumber>
+      </premiumRate>
+      <!-- Including calls with maximum charge of 0,25 EUR/minute here instead of under premium
+           rate. -->
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            0[16]|
+            12|
+            25
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>8011234567</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Guatemala -->
+    <territory id="GT" countryCode="502" internationalPrefix="00">
+    </territory>
+
+    <!-- Guam -->
+    <!-- http://en.wikipedia.org/wiki/%2B1_671 -->
+    <territory id="GU" countryCode="1" leadingDigits="671"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[689]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          671(?:
+            3\d{2}|
+            47\d|
+            56\d|
+            6[3-5]\d|
+            7(?:
+              3\d|
+              89
+            )|
+            828
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6713123456</exampleNumber>
+      </fixedLine>
+      <!-- We assume mobile phone numbers to be the same as fixed-line - further info unavailable -->
+      <mobile>
+        <nationalNumberPattern>
+          671(?:
+            3\d{2}|
+            47\d|
+            56\d|
+            6[3-5]\d|
+            7(?:
+              3\d|
+              89
+            )|
+            828
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6713123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Guinea-Bissau -->
+    <!-- http://www.itu.int/oth/T020200005C/en -->
+    <territory id="GW" countryCode="245" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3567]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          3(?:
+            2[0125]|
+            3[1245]|
+            4[12]|
+            5[1-4]|
+            70|
+            9[1-467]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>3201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[5-7]\d{6}</nationalNumberPattern>
+        <exampleNumber>5012345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Guyana -->
+    <territory id="GY" countryCode="592" internationalPrefix="001"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Hong Kong -->
+    <!-- http://www.ofta.gov.hk/numbering/main.html -->
+    <territory id="HK" countryCode="852" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <leadingDigits>
+            [235-7]|
+            [89](?:
+              0[1-9]|
+              [1-9]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{3})(\d{3})">
+          <leadingDigits>800</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(900)(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>900</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- Slightly more complex pattern to allow the country code to be stripped off if
+             necessary. -->
+        <nationalNumberPattern>
+          [235-7]\d{7}|
+          8\d{7,8}|
+          9\d{7,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[23]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[5-79]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>51234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>90012345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>8[1-3]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </personalNumber>
+    </territory>
+
+    <!-- Honduras -->
+    <!-- http://www.itu.int/oth/T020200005F/en -->
+    <!-- It seems there is no longer a trunk prefix in use, based on websites like
+         http://www.howtocallabroad.com/codes.html and on seeing how locals write their numbers in
+         national format. -->
+    <territory id="HN" countryCode="504" internationalPrefix="00" >
+      <availableFormats>
+       <numberFormat pattern="(\d{4})(\d{4})">
+         <format>$1-$2</format>
+       </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            2(?:
+              0[019]|
+              1[1-36]|
+              [23]\d|
+              4[056]|
+              5[57]|
+              9[01]
+            )|
+            4(?:
+              2|3-59]|
+              3[13-689]|
+              4[0-68]|
+              5[1-35]
+            )|
+            5(?:
+              4[3-5]|
+              5\d|
+              6[56]|
+              74
+            )|
+            6(?:
+              4[0-378]|
+              [56]\d|
+              [78][0-8]|
+              9[01]
+            )|
+            7(?:
+              6[46-9]|
+              7[02-9]|
+              8[34]
+            )|
+            8(?:
+              79|
+              8[0-35789]|
+              9[1-57-9]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[37-9]\d{7}</nationalNumberPattern>
+        <exampleNumber>91234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Croatia -->
+    <!-- http://www.itu.int/oth/T0202000032/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B385 -->
+    <territory id="HR" countryCode="385" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- The plan says 1 XXX XXXX but the government and local telecom websites are formatted 1
+             XXXX XXX, so we prefer that formatting here. These same sources prefer XXX XXX to XX
+             XXXX as well. -->
+       <numberFormat pattern="(1)(\d{4})(\d{3})">
+         <leadingDigits>1</leadingDigits>
+         <format>$1 $2 $3</format>
+       </numberFormat>
+       <numberFormat pattern="(6[029])(\d{4})(\d{3})">
+         <leadingDigits>6[029]</leadingDigits>
+         <format>$1 $2 $3</format>
+       </numberFormat>
+       <numberFormat pattern="([2-5]\d)(\d{3})(\d{3})">
+         <leadingDigits>[2-5]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9[12589])(\d{3,4})(\d{3,4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9[12589])(\d{3,4})(\d{3})(\d{3})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2,3})">
+          <leadingDigits>
+            6[145]|
+            7
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3,4})(\d{3})">
+          <leadingDigits>
+            6[145]|
+            7
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(80[01])(\d{2})(\d{2,3})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(80[01])(\d{3,4})(\d{3})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-7]\d{5,8}|
+          [89]\d{6,11}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Supporting 060 (general service), 062 (universal access), 069 (children service)
+             numbers here too. -->
+        <nationalNumberPattern>
+          (?:
+            1|
+            6[029]
+          )\d{7}|
+          (?:
+            2[0-3]|
+            3[1-5]|
+            4[02-47-9]|
+            5[1-3]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[12589]\d{6,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,12}</possibleNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[01]\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- 061 is for TeleVoting numbers - but these are charged at similar rates to premium rate
+             so we include them here. -->
+        <nationalNumberPattern>6[145]\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>611234</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>7[45]\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>741234567</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Haiti -->
+    <!-- http://www.itu.int/oth/T020200005E/en -->
+    <!-- http://www.numberingplans.com/ -->
+    <territory id="HT" countryCode="509" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-489]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The prefix 24 seems to be also used, based on online searches. -->
+        <nationalNumberPattern>
+          2(?:
+            [24]\d|
+            5[1-5]|
+            94
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>22453300</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            3[4-9]|
+            4\d
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>34101234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- ITU document says numbers with prefix 8 are "value-added services and free numbers
+             without making any further distinction. However, http://www.numberingplans.com/ seems
+             to suggest they are free. -->
+        <nationalNumberPattern>8\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <voip>
+        <!-- ITU document suggests 98\d{6}, but http://www.numberingplans.com/ restricts it to
+             98[89]\d{5}. -->
+        <nationalNumberPattern>98[89]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>98901234</exampleNumber>
+      </voip>
+      <shortCode>
+        <nationalNumberPattern>1\d{2}</nationalNumberPattern>
+        <possibleNumberPattern>\d{3}</possibleNumberPattern>
+        <exampleNumber>114</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Hungary -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000610001MSWE.doc -->
+    <territory id="HU" countryCode="36" internationalPrefix="00"
+               nationalPrefix="06" nationalPrefixFormattingRule="($FG)">
+      <!-- Although the national prefix is necessary for dialling, the preferred format (confirmed
+           by a Hungarian person and following the yellow pages) is to omit this when formatting.
+           Yellow pages: www.aranyoldalak.hu -->
+      <availableFormats>
+        <numberFormat pattern="(1)(\d{3})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>[2-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{8,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes numbers for corporate networks. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            [27]0|
+            3[01]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>201234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>9[01]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>40\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>40123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Indonesia -->
+    <!-- http://www.itu.int/oth/T0202000064/en (from 2001, very out-of-date) -->
+    <!-- http://en.wikipedia.org/wiki/%2B62 -->
+    <territory id="ID" countryCode="62" internationalPrefix="0(?:0[1789]|10(?:00|1[67]))"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d{2})(\d{7,8})">
+          <leadingDigits>
+            2[124]|
+            [36]1
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d{3})(\d{5,7})">
+          <leadingDigits>
+            [4579]|
+            2[035-9]|
+            [36][02-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(8\d{2})(\d{3,4})(\d{3,4})">
+          <leadingDigits>8[1-35-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(177)(\d{6,8})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number, and examples on the web show
+             that sometimes they are followed by less digits. -->
+        <numberFormat pattern="(800)(\d{5,7})">
+          <leadingDigits>800</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(809)(\d)(\d{3})(\d{3})">
+          <leadingDigits>809</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{6,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Area codes taken from wikipedia, with missing ones added from
+             http://www.telkom.co.id/customer-services/area-and-country-code/?type=area.
+             We also added 0770 after user feedback because it seems to be used on Bintan island.
+             -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>8[1-35-9]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,11}</possibleNumberPattern>
+        <exampleNumber>812345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          177\d{6,8}|
+          800\d{5,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,11}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <!-- The infomation below is provided by an Indonesian -->
+      <premiumRate>
+        <nationalNumberPattern>809\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8091234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Ireland -->
+    <!-- http://www.comreg.ie/_fileupload/publications/ComReg0802.pdf -->
+    <!-- http://www.comreg.ie/_fileupload/publications/ComReg0435.pdf -->
+    <!-- http://www.comreg.ie/_fileupload/publications/ComReg03147.pdf -->
+    <territory id="IE" countryCode="353" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(1)(\d{3,4})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{5})">
+          <leadingDigits>
+            2[2-9]|
+            4[347]|
+            5[2-58]|
+            6[2-47-9]|
+            9[3-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{5})">
+          <leadingDigits>
+            40[24]|
+            50[45]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(48)(\d{4})(\d{4})">
+          <leadingDigits>48</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(818)(\d{3})(\d{3})">
+          <leadingDigits>81</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>
+            [24-69]|
+            7[14]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([78]\d)(\d{3,4})(\d{4})">
+          <leadingDigits>
+            76|
+            8[35-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(700)(\d{3})(\d{3})">
+          <leadingDigits>70</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG" pattern="(\d{4})(\d{3})(\d{3})">
+          <leadingDigits>
+            1(?:
+              8[059]|
+              5
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              8[059]0|
+              5
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[124-9]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- We allow 6-7 digit subscriber numbers for the 021 area code since that seems to be
+             reflected by the numbers in the Yellow Pages. The 023, 043, 052 and 064 area codes also
+             may have 7 digit subscriber numbers, although limited to 5 in the plan. This was caused
+             by a numbering update in 2008 (http://www.wtng.info/wtng-353-ie.html has more details).
+             Other changes not in the plan include consolidating 0502, 0506 and 0509 into 057 and
+             054, 055 and 053 into 053, and making 044 be followed by 7 digits in some cases.
+             Another peculiarity is that 048 actually replaces 00 44 28 when Irish people dial,
+             allowing them to easily dial Northern Ireland. We support these numbers here, although
+             technically they are numbers for the UK. -->
+        <nationalNumberPattern>
+          1\d{7,8}|
+          2(?:
+            1\d{6,7}|
+            [24-9]\d{5}|
+            3\d{5,7}
+          )|
+          4(?:
+            0[24]\d{5}|
+            [1269]\d{7}|
+            [34]\d{5,7}|
+            5\d{6}|
+            7\d{5}|
+            8[0-46-9]\d{7}
+          )|
+          5(?:
+            0[45]\d{5}|
+            1\d{6}|
+            2\d{5,7}|
+            [3679]\d{7}|
+            8\d{5}
+          )|
+          6(?:
+            1\d{6}|
+            4\d{5,7}|
+            [237-9]\d{5}|
+            [56]\d{7}
+          )|
+          7[14]\d{7}|
+          9(?:
+            1\d{6}|
+            [04]\d{7}|
+            [3-9]\d{5}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+        <exampleNumber>2212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          8(?:
+            22\d{6}|
+            [35-9]\d{7,8}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>850123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          15(?:
+            1[2-9]|
+            [2-8]0|
+            59|
+            9[089]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1520123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>18[59]0\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1850123456</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>700\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>700123456</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>76\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>761234567</exampleNumber>
+      </voip>
+      <uan>
+        <nationalNumberPattern>818\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>818123456</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Israel -->
+    <!-- http://www.itu.int/oth/T020200006A/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B972 -->
+    <!-- http://www.wtng.info/wtng-972-il.html -->
+    <!-- http://www.moc.gov.il/new/documents/engineering/MISP0200.ppt (in Hebrew) -->
+    <!-- Formatting practice following wikipedia, and government sites. -->
+    <territory id="IL" countryCode="972" internationalPrefix="0(?:0|1[2-48])"
+               nationalPrefix="0" nationalPrefixFormattingRule="$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([2-489])(\d{3})(\d{4})">
+          <leadingDigits>[2-489]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([57]\d)(\d{3})(\d{4})">
+          <leadingDigits>[57]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(1)([7-9]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>1[7-9]</leadingDigits>
+          <format>$1-$2-$3-$4</format>
+        </numberFormat>
+        <!-- The following number is for hospitals. -->
+        <numberFormat pattern="(1255)(\d{3})">
+          <leadingDigits>125</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(1200)(\d{3})(\d{3})">
+          <leadingDigits>120</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(1212)(\d{2})(\d{2})">
+          <leadingDigits>121</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <!-- These are 4-digit star numbers which are only accessible within Israel and must be
+             dialed with a star in front of the number. -->
+        <numberFormat pattern="(\d{4})">
+          <leadingDigits>[2-689]</leadingDigits>
+          <format>*$1</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc >
+        <nationalNumberPattern>
+          [17]\d{6,9}|
+          [2-589]\d{3}(?:\d{3,6})?|
+          6\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <noInternationalDialling>
+        <nationalNumberPattern>
+          1700\d{6}|
+          [2-689]\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+        <exampleNumber>1700123456</exampleNumber>
+      </noInternationalDialling>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [2-489]|
+            7[2-46-8]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>5[024679]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>501234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          1(?:
+            80[01]\d{3}|
+            255
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+          <!-- Peculiarly, one source states that 1956 and 1957 are the new premium rate prefixes.
+               However, no online numbers starting with these prefixes can be found, and this data
+               is not found in any other source. Instead, 1919 numbers are commonly used online for
+               these services, so we support them. -->
+          <!-- 1200 and 1212 numbers are for televoting. -->
+        <nationalNumberPattern>
+          1(?:
+            212|
+            (?:
+              919|
+              200
+            )\d{2}
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+        <exampleNumber>1919123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          1(?:
+            700|
+            809
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1700123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>77\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>771234567</exampleNumber>
+      </voip>
+      <uan>
+        <!-- 4-digit star numbers. -->
+        <nationalNumberPattern>[2-689]\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+        <exampleNumber>2250</exampleNumber>
+      </uan>
+      <shortCode>
+        <nationalNumberPattern>1\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+        <exampleNumber>1455</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Isle of Man -->
+    <!-- Inherits formatting rules from the UK. -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom -->
+    <territory id="IM" countryCode="44" internationalPrefix="00"
+               nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG">
+      <generalDesc>
+        <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <areaCodeOptional>
+        <nationalNumberPattern>1624[2-9]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1624250123</exampleNumber>
+      </areaCodeOptional>
+      <!-- Specific to IM. -->
+      <fixedLine>
+        <!-- 1624 with 10 digits. -->
+        <nationalNumberPattern>1624\d{6}</nationalNumberPattern>
+        <exampleNumber>1624456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 7524, 7624, 7924 with 10 digits. -->
+        <nationalNumberPattern>7[569]24\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7924123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- 808 162 with 10 digits. -->
+        <nationalNumberPattern>808162\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8081624567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- 872 299, 900 624, 901 624, 906 624, 907 624 with 10 digits. -->
+        <nationalNumberPattern>
+          (?:
+            872299|
+            90[0167]624
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9016247890</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <!-- 844 040 6, 844 090 6, 845 624, 870 624 with 10 digits. -->
+        <nationalNumberPattern>
+          8(?:
+            4(?:
+              40[49]06|
+              5624\d
+            )|
+            70624\d
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8456247890</exampleNumber>
+      </sharedCost>
+      <!-- Other numbers as per GB. -->
+      <personalNumber>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>56\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5612345678</exampleNumber>
+      </voip>
+      <uan>
+        <!-- 308 162, 33d, 344 040 6, 344 090 6, 345 624, 370 624, 372 299, 55 with 10 digits. -->
+        <nationalNumberPattern>
+          3(?:
+            08162\d|
+            3\d{5}|
+            4(?:
+              40[49]06|
+              5624\d
+            )|
+            7(?:
+              0624\d|
+              2299\d
+            )
+          )\d{3}|
+          55\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5512345678</exampleNumber>
+      </uan>
+      <shortCode>
+        <nationalNumberPattern>
+          1\d{2}(?:\d{3})?|
+          999
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>150</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- India -->
+    <!-- http://www.itu.int/oth/T0202000063/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B91 -->
+    <!-- Note that several changes in area codes have occurred since the numbering plan was released
+         - changes are notified on the www.bsnl.co.in website. Area codes can be verified here at
+         http://www.bsnl.co.in/stdsearch.php. -->
+    <territory id="IN" countryCode="91" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+       <availableFormats>
+         <!-- Mobile numbers. -->
+         <numberFormat pattern="(\d{2})(\d{2})(\d{6})">
+           <leadingDigits>
+             7(?:
+               2[0579]|
+               39|
+               4[0-389]|
+               5[04-9]|
+               6|
+               7[02-9]|
+               8[0-79]
+             )|
+             8(?:
+               0[01589]|
+               1[024]|
+               8[0479]|
+               9[057-9]
+             )|
+             9
+           </leadingDigits>
+           <leadingDigits>
+             7(?:
+               2[0579]|
+               39|
+               4[0-389]|
+               5(?:
+                 0[0-5]|
+                 49|
+                 50|
+                 [6-9]
+               )|
+               6|
+               7[02-9]|
+               8[0-79]
+             )|
+             8(?:
+               0[01589]|
+               1[024]|
+               8(?:
+                 [079]|
+                 44
+               )|
+               9[057-9]
+             )|
+             9
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <!-- 2 digits area code -->
+         <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+           <leadingDigits>
+             11|
+             2[02]|
+             33|
+             4[04]|
+             79|
+             80[2-6]
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <!-- 3 digits area code -->
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             1(?:
+               2[0-249]|
+               3[0-25]|
+               4[145]|
+               [569][14]|
+               7[1257]|
+               8[1346]|
+               [68][1-9]
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             2(?:
+               1[257]|
+               3[013]|
+               4[01]|
+               5[0137]|
+               6[0158]|
+               78|
+               8[1568]|
+               9[14]
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             3(?:
+               26|
+               4[1-3]|
+               5[34]|
+               6[01489]|
+               7[02-46]|
+               8[159]
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             4(?:
+               1[36]|
+               2[1-47]|
+               3[15]|
+               5[12]|
+               6[126-9]|
+               7[0-24-9]|
+               8[013-57]|
+               9[014-7]
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             5(?:
+               [136][25]|
+               22|
+               4[28]|
+               5[12]|
+               [78]1|
+               9[15]
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             6(?:
+               12|
+               [2345]1|
+               57|
+               6[13]|
+               7[14]|
+               80
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             7(?:
+               12|
+               2[14]|
+               3[134]|
+               4[47]|
+               5[15]|
+               [67]1|
+               88
+             )
+           </leadingDigits>
+           <leadingDigits>
+             7(?:
+               12|
+               2[14]|
+               3[134]|
+               4[47]|
+               5(?:
+                 1|
+                 5[1-9]
+               )|
+               [67]1|
+               88
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+           <leadingDigits>
+             8(?:
+               16|
+               2[014]|
+               3[126]|
+               6[136]|
+               7[078]|
+               8[34]|
+               91
+             )
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <!-- 4 digits area code -->
+         <!-- Fallback for fixed-line numbers. -->
+         <numberFormat pattern="(\d{4})(\d{3})(\d{3})">
+           <leadingDigits>
+             1(?:
+               [2-579]|
+               [68][1-9]
+             )|
+             [2-8]
+           </leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat nationalPrefixFormattingRule="$FG"
+           pattern="(1600)(\d{2})(\d{4})">
+           <leadingDigits>160</leadingDigits>
+           <leadingDigits>1600</leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+         <numberFormat nationalPrefixFormattingRule="$FG"
+           pattern="(18[06]0)(\d{2,3})(\d{4})">
+           <leadingDigits>18[06]</leadingDigits>
+           <leadingDigits>18[06]0</leadingDigits>
+           <format>$1 $2 $3</format>
+         </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- This is a list of the 2 and 3 digit area codes and the first 3
+        digits of 4 digit area codes, so we can check the following digit
+        belongs to one of the operator-codes (2-6). Operator codes from
+        wikipedia, with the addition of 5 (HFCL Infotel). Area codes starting
+        with a 7 are listed separately, since the prefixes need to be more
+        detailed as they would otherwise clash with mobile phone prefixes. -->
+        <nationalNumberPattern>
+          (?:
+            11|
+            2[02]|
+            33|
+            4[04]|
+            79|
+            80
+          )[2-6]\d{7}|
+          (?:
+            1(?:
+              2[0-249]|
+              3[0-25]|
+              4[145]|
+              [59][14]|
+              6[014]|
+              7[1257]|
+              8[01346]
+            )|
+            2(?:
+              1[257]|
+              3[013]|
+              4[01]|
+              5[0137]|
+              6[0158]|
+              78|
+              8[1568]|
+              9[14]
+            )|
+            3(?:
+              26|
+              4[1-3]|
+              5[34]|
+              6[01489]|
+              7[02-46]|
+              8[159]
+            )|
+            4(?:
+              1[36]|
+              2[1-47]|
+              3[15]|
+              5[12]|
+              6[126-9]|
+              7[0-24-9]|
+              8[013-57]|
+              9[014-7]
+            )|
+            5(?:
+              [136][25]|
+              22|
+              4[28]|
+              5[12]|
+              [78]1|
+              9[15]
+            )|
+            6(?:
+              12|
+              [2345]1|
+              57|
+              6[13]|
+              7[14]|
+              80
+            )|
+            7(?:
+              12|
+              2[14]|
+              3[134]|
+              4[47]|
+              5[15]|
+              [67]1|
+              88
+            )|
+            8(?:
+              16|
+              2[014]|
+              3[126]|
+              6[136]|
+              7[078]|
+              8[34]|
+              91
+            )
+          )[2-6]\d{6}|
+          (?:
+            (?:
+              1(?:
+                2[35-8]|
+                3[346-9]|
+                4[236-9]|
+                [59][0235-9]|
+                6[235-9]|
+                7[34689]|
+                8[257-9]
+              )|
+              2(?:
+                1[134689]|
+                3[24-8]|
+                4[2-8]|
+                5[25689]|
+                6[2-4679]|
+                7[13-79]|
+                8[2-479]|
+                9[235-9]
+              )|
+              3(?:
+                01|
+                1[79]|
+                2[1-5]|
+                4[25-8]|
+                5[125689]|
+                6[235-7]|
+                7[157-9]|
+                8[2-467]
+              )|
+              4(?:
+                1[14578]|
+                2[5689]|
+                3[2-467]|
+                5[4-7]|
+                6[35]|
+                73|
+                8[2689]|
+                9[2389]
+              )|
+              5(?:
+                [16][146-9]|
+                2[14-8]|
+                3[1346]|
+                4[14-69]|
+                5[46]|
+                7[2-4]|
+                8[2-8]|
+                9[246]
+              )|
+              6(?:
+                1[1358]|
+                2[2457]|
+                3[2-4]|
+                4[235-7]|
+                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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+        <exampleNumber>1123456789</exampleNumber>
+      </fixedLine>
+      <!-- http://en.wikipedia.org/wiki/Mobile_telephone_numbering_in_India -->
+      <mobile>
+        <!-- A couple of additional prefixes not found on the wikipedia page, such as 7796, are
+             added because SMS messages have been successfully sent to these numbers. It seems
+             almost impossible to know for some of these numbers whether they are land-line or
+             mobile, since the ranges overlap. -->
+        <nationalNumberPattern>
+          (?:
+            7(?:
+              2(?:
+                0[04-9]|
+                5[09]|
+                7[568]|
+                9[39]
+              )|
+              3(?:
+                07|
+                7[3679]|
+                9[689]
+              )|
+              4(?:
+                05|
+                1[15-9]|
+                [29][89]|
+                39|
+                8[389]
+              )|
+              5(?:
+                0[0-5]|
+                [47]9|
+                50|
+                6[6-9]|
+                [89][7-9]
+              )|
+              6(?:
+                0[027]|
+                12|
+                20|
+                3[19]|
+                5[45]|
+                6[5-9]|
+                7[67]|
+                9[6-9]
+              )|
+              7(?:
+                0[289]|
+                3[5-9]|
+                42|
+                60|
+                9[5-9]
+              )|
+              8(?:
+                [03][07-9]|
+                14|
+                2[7-9]|
+                4[25]|
+                6[09]|
+                7[015689]|
+                9[0357-9]
+              )
+            )\d|
+            9\d{4}|
+            8(?:
+              (?:
+                0[01589]|
+                1[24]|
+                2[2369]|
+                4[023458]|
+                52|
+                6[0589]|
+                7[2569]
+              )\d|
+              8(?:
+                [079]\d|
+                44
+              )|
+              9[057-9]\d
+            )\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9123456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Information gathered from sites such as
+             http://www.surfindia.com/india-facts/toll-free-no.html and
+             http://indmusings.blogspot.com/2008/09/free-help-line-numbersindia.html -->
+        <nationalNumberPattern>
+          1(?:
+            800\d? |
+            600
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <!-- The metadata on premium rate is temporarily commented out as wikipedia says 900 is
+           mobile, conflicting with the national numbering plan. -->
+      <!--
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      -->
+      <uan>
+        <!-- Information gathered from sites such as http://www.calcutta.bsnl.co.in/insuan.html -->
+        <nationalNumberPattern>1860345\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>18603451234</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- British Indian Ocean Territory / Diego Garcia -->
+    <territory id="IO" countryCode="246" internationalPrefix="00">
+    </territory>
+
+    <!-- Iraq -->
+    <!-- http://en.wikipedia.org/wiki/%2B964 -->
+    <!-- http://wtng.info/wtng-964-ik.html -->
+    <territory id="IQ" countryCode="964" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(1)(\d{3})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([2-6]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>[2-6]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(7[5-9]\d)(\d{3})(\d{4})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-7]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          1\d{7}|
+          (?:
+            2[13-5]|
+            3[02367]|
+            4[023]|
+            5[03]|
+            6[026]
+          )\d{6,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[5-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7912345678</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Iran, Islamic Republic of -->
+    <!-- http://en.wikipedia.org/wiki/%2B98 -->
+    <!-- http://www.itu.int/oth/T0202000066/en -->
+    <territory id="IR" countryCode="98" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formatting follows wikipedia. -->
+        <numberFormat pattern="(21)(\d{4})(\d{4})">
+          <leadingDigits>21</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            [13-89]|
+            2[02-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-6]\d{4,9}|[1789]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The patterns here are organized such that numbers with variable lengths come first,
+             followed by numbers that are 10 digits long. -->
+        <nationalNumberPattern>
+          2(?:
+            1[2-9]\d{2,7}|
+            51\d{3,7}
+          )|
+          (?:
+            241|
+            3(?:
+              11|
+              5[23]
+            )|
+            441|
+            5[14]1
+          )\d{4,7}|
+          (?:
+            3(?:
+              34|
+              41
+            )|
+            6(?:
+              11|
+              52
+            )|
+          )\d{6,7}|
+          (?:
+            1(?:
+              [134589][12]|
+              [27][1-4]
+            )|
+            2(?:
+              2[189]|
+              [3689][12]|
+              42|
+              5[256]|
+              7[34]
+            )|
+            3(?:
+              12|
+              2[1-4]|
+              3[125]|
+              4[24-9]|
+              51|
+              [6-9][12]
+            )|
+            4(?:
+              [135-9][12]|
+              2[1-467]|
+              4[2-4]
+            )|
+            5(?:
+              12|
+              2[89]|
+              3[1-5]|
+              4[2-8]|
+              [5-7][12]|
+              8[1245]
+            )|
+            6(?:
+              12|
+              [347-9][12]|
+              51|
+              6[1-6]
+            )|
+            7(?:
+              [13589][12]|
+              2[1289]|
+              4[1-4]|
+              6[1-6]|
+              7[1-3]
+            )|
+            8(?:
+              [145][12]|
+              3[124578]|
+              6[1256]|
+              7[1245]
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>2123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          9(?:
+            1\d|
+            3[124-8]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9123456789</exampleNumber>
+      </mobile>
+      <pager>
+        <nationalNumberPattern>943[24678]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9432123456</exampleNumber>
+      </pager>
+      <!-- No tollFree or premiumRate information can be found. -->
+      <voip>
+        <!-- Includes VSAT and Boomehen Satellite numbers. -->
+        <nationalNumberPattern>993[12]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9932123456</exampleNumber>
+      </voip>
+      <uan>
+        <!-- TCI Public Relations numbers -->
+        <nationalNumberPattern>9990\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9990123456</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Iceland -->
+    <!-- http://www.pta.is/default.aspx?cat_id=85 -->
+    <territory id="IS" countryCode="354" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>[4-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(3\d{2})(\d{3})(\d{3})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [4-9]\d{6}|
+          38\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Including 87[23] XXXX here as it is listed as a fax number. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>4101234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>6101234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>9011234</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>49[013-79]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>4931234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Italy -->
+    <!-- http://en.wikipedia.org/wiki/%2B39 -->
+    <territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <!-- The leading zero for fixed numbers will be prepended before the matching of these
+             regular expressions. -->
+        <numberFormat pattern="(0[26])(\d{3,4})(\d{4})">
+          <leadingDigits>0[26]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(0[26])(\d{4})(\d{5})">
+          <leadingDigits>0[26]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(0[26])(\d{4,6})">
+          <leadingDigits>0[26]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(0\d{2})(\d{3,4})(\d{4})">
+          <leadingDigits>0[13-57-9][0159]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(0\d{2})(\d{4,6})">
+          <leadingDigits>0[13-57-9][0159]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(0\d{3})(\d{3})(\d{4})">
+          <leadingDigits>0[13-57-9][2-46-8]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(0\d{3})(\d{4,6})">
+          <leadingDigits>0[13-57-9][2-46-8]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+          <leadingDigits>
+            [13]|
+            8(?:
+              00|
+              4[78]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,6})">
+          <leadingDigits>
+            8(?:
+              03|
+              9
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[01389]\d{5,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          0(?:
+            [26]\d{4,9}|
+            [13-57-9](?:
+              [0159]\d{4,8}|
+              [2-46-8]\d{5,8}
+            )
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+        <exampleNumber>0212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>3\d{8,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>312345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          80(?:
+            0\d{6}|
+            3\d{3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          89(?:
+            2\d{3}|
+            9\d{6}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>899123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>84[78]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>8481234567</exampleNumber>
+      </sharedCost>
+      <!-- The plan says these should be 6 digits long, but when you go to telephone companies in
+           Italy, such as http://www.gnetwork.it/EmailServizi/Numerazioni178/tabid/91/Default.aspx
+           and when you search for 178 numbers, they seem to all be 7 digits, so we cover both
+           lengths here. -->
+      <personalNumber>
+        <nationalNumberPattern>178\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>1781234567</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Jersey -->
+    <!-- Inherits formatting rules from the UK. -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom -->
+    <!-- http://www.jcra.je/cms3/v2/public/cmsChild.asp?pageID=1024&childID=1036 -->
+    <territory id="JE" countryCode="44" internationalPrefix="00"
+               nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG">
+      <generalDesc>
+        <nationalNumberPattern>[135789]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <areaCodeOptional>
+        <nationalNumberPattern>1534[2-9]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1534250123</exampleNumber>
+      </areaCodeOptional>
+      <!-- Specific to JE. -->
+      <fixedLine>
+        <!-- 1534 with 10 digits. -->
+        <nationalNumberPattern>1534\d{6}</nationalNumberPattern>
+        <exampleNumber>1534456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 7509, 7700, 7797, 7829, 7937 with 10 digits. -->
+        <nationalNumberPattern>
+          7(?:
+            509|
+            7(?:
+              00|
+              97
+            )|
+            829|
+            937
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7797123456</exampleNumber>
+      </mobile>
+      <pager>
+        <!-- Pager numbers as per GB. -->
+        <nationalNumberPattern>
+          76(?:
+            0[012]|
+            2[356]|
+            4[0134]|
+            5[49]|
+            6[0-369]|
+            77|
+            81|
+            9[39]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7640123456</exampleNumber>
+      </pager>
+      <!-- Specific to JE. -->
+      <tollFree>
+        <!-- 800 735, 800 781, 808 901 with 10 digits. -->
+        <nationalNumberPattern>
+          80(?:
+            07(?:
+              35|
+              81
+            )|
+            8901
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8007354567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- 871 206, 900 665, 900 669, 901 810, 907 107, 907 155 with 10 digits. -->
+        <nationalNumberPattern>
+          (?:
+            871206|
+            90(?:
+              066[59]|
+              1810|
+              71(?:
+                07|
+                55
+              )
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9018105678</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <!-- 844 405, 844 442, 844 469, 844 703, 845 041, 845 800, 870 002 with 10 digits. -->
+        <nationalNumberPattern>
+          8(?:
+            4(?:
+              4(?:
+                4(?:
+                  05|
+                  42|
+                  69
+                )|
+                703
+              )|
+              5(?:
+                041|
+                800
+              )
+            )|
+            70002
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8447034567</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <!-- 70 1511 with 10 digits. -->
+        <nationalNumberPattern>701511\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7015115678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <!-- VoIP numbers as per GB. -->
+        <nationalNumberPattern>56\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5612345678</exampleNumber>
+      </voip>
+      <uan>
+        <!-- 300 735, 300 781, 308 901, 33d, 344 405, 344 442, 344 469, 344 703, 345 041, 345 800,
+             370 002, 371 206, 55 with 10 digits. -->
+        <nationalNumberPattern>
+          3(?:
+            0(?:
+              07(?:
+                35|
+                81
+              )|
+              8901
+            )|
+            3\d{4}|
+            4(?:
+              4(?:
+                4(?:
+                  05|
+                  42|
+                  69
+                )|
+                703
+              )|
+              5(?:
+                041|
+                800
+              )
+            )|
+            7(?:
+              0002|
+              1206
+            )
+          )\d{4}|
+          55\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5512345678</exampleNumber>
+      </uan>
+      <shortCode>
+        <!-- http://www.jcra.je/cms3/v2/public/cmsChild.asp?pageID=1024&childID=1036 -->
+        <nationalNumberPattern>
+          1(?:
+            00|
+            1(?:
+              2|
+              8\d{3}
+            )|
+            23|
+            4(?:
+              [14]|
+              28|
+              7\d
+            )|
+            5\d|
+            7(?:
+              0[12]|
+              [128]|
+              35?
+            )|
+            808|
+            9[135]
+          )|
+          23[234]|
+          999
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>150</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Jamaica -->
+    <!-- http://www.itu.int/oth/T020200006C/en -->
+    <territory id="JM" countryCode="1" leadingDigits="876"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[89]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+          )
+        </nationalNumberPattern>
+        <exampleNumber>8765123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 31 as the prefix was found to be valid by sending SMSs and looking at online
+             number lookup sites. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8762101234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Jordan -->
+    <!-- http://www.trc.gov.jo/images/stories/pdf/NNP_ver200[1].pdf?lang=english -->
+    <!-- http://www.itu.int/oth/T020200006E/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B962 -->
+    <territory id="JO" countryCode="962" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            [2356]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(7)(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>7[457-9]</leadingDigits>
+          <format>$1 $2 $3 $4 $5</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{5,6})">
+          <leadingDigits>
+            70|
+            [89]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[235-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Used the plan from www.trc.gov.jo since it is much more complete than the plan on the
+             ITU website. -->
+        <nationalNumberPattern>[2356][2-8]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>62001234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          7(?:
+            [1-8]\d|
+            9[02-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>790123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>85\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>85012345</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>700123456</exampleNumber>
+      </personalNumber>
+      <uan>
+        <!-- These numbers are Location Independent Services / Fixed cost according to
+             http://www.trc.gov.jo -->
+        <nationalNumberPattern>
+          8(?:
+            10|
+            [78]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>87101234</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Japan -->
+    <!-- http://www.soumu.go.jp/main_sosiki/joho_tsusin/top/tel_number/fixed.html -->
+    <!-- http://www.numberingplans.com/?page=dialling&sub=areacodes&ac=JP -->
+    <territory id="JP" countryCode="81" internationalPrefix="010"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Toll-free numbers -->
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>
+            (?:
+              12|
+              99
+            )0
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <!-- Some leading digits are explicitly reserved for a particular purpose.
+             We handle them first in this rule, and let the following rules ignore those exceptions.
+             Note: The rule here is not in the files we rely on when creating the other rules.
+                   We would need to manually modify it if the Japanese goverment
+                   decided to change the rule.
+
+             (prefix): purpose
+             "50": IP phone
+             "90" and "80": Mobile phone
+             "70": PHS (Personal Handy-phone System, which has been used in Japan
+                   with Non-3G, Japanese-specific protocol).
+                   See also http://ja.wikipedia.org/wiki/PHS (Japanese)
+          -->
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>[57-9]0</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <!-- The order of the reg-exps are important.
+             Examples (not all):
+             - "15": 15420 -> 154-20, 15472 -> 1547-2, 15410 -> 15-410,
+             - "22": 22200 -> 22-200, 22300 -> 22-300, 22320 -> 223-20, 22350 -> 22-350
+             - "42": 42000 -> 4-2000, 42901 -> 4-2901, 42910 -> 42-910
+             - "82": 82200 -> 82-200, 82020 -> 820-20, 82400 -> 82-400
+             - "99": 99400 -> 99-400, 99430 -> 994-30, 99692 -> 9969-2, 99750 -> 997-50
+             - "993": 99330 -> 993-30, 99331 -> 99-331, 99332 -> 993-32
+          -->
+        <numberFormat pattern="(\d{4})(\d)(\d{4})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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
+              )
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+              )
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+              )
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>
+            1|
+            2(?:
+              23|
+              5[5-89]|
+              64|
+              78|
+              8[39]|
+              91
+            )|
+            4(?:
+              2[2689]|
+              64|
+              7[347]
+            )|
+            5(?:
+              [2-589]|
+              39
+            )|
+            60|
+            8(?:
+              [46-9]|
+              3[279]|
+              2[124589]
+            )|
+            9(?:
+              [235-8]|
+              93
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+            )|
+            60|
+            8(?:
+              [46-9]|
+              3[279]|
+              2[124589]
+            )|
+            9(?:
+              [235-8]|
+              93[34]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+            )|
+            60|
+            8(?:
+              [46-9]|
+              3[279]|
+              2[124589]
+            )|
+            9(?:
+              [235-8]|
+              93(?:
+                31|
+                4
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+          <leadingDigits>
+            2(?:
+              9[14-79]|
+              74|
+              [34]7|
+              [56]9
+            )|
+            82|
+            993
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            3|
+            4(?:
+              2[09]|
+              7[01]
+            )|
+            6[1-9]
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>[2479]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1(?:
+              1[236-8]|
+              2[3-6]|
+              3[3-9]|
+              4[2-6]|
+              [58][2-8]|
+              6[2-7]|
+              7[2-9]|
+              9[1-8]
+            )|
+            2[2-9]\d|
+            [36][1-9]\d|
+            4(?:
+              6[0235-8]|
+              [2-578]\d|
+              9[2-59]
+            )|
+            5(?:
+              6[1-9]|
+              7[2-8]|
+              [2-589]\d
+            )|
+            7(?:
+              3[4-9]|
+              4[02-9]|
+              [25-9]\d
+            )|
+            8(?:
+              3[2-9]|
+              4[5-9]|
+              5[1-9]|
+              8[03-9]|
+              [2679]\d
+            )|
+            9(?:
+              [679][1-9]|
+              [2-58]\d
+            )
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>312345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[7-9]0\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </mobile>
+      <!-- Toll free and premium rate numbers are not clearly defined in the official Japanese
+           number plan, and do not seem to have been standardized. The information below is
+           collected from searching the web. -->
+      <tollFree>
+        <nationalNumberPattern>120\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>120123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>990\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>990123456</exampleNumber>
+      </premiumRate>
+      <!-- Uncertain on number length allowed here. -->
+      <personalNumber>
+        <nationalNumberPattern>60\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>601234567</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>50\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5012345678</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Kenya -->
+    <!-- http://www.cck.go.ke/licensing/numbering/plan.html -->
+    <territory id="KE" countryCode="254" internationalPrefix="000"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4,7})">
+          <leadingDigits>
+            [2-6]|
+            91
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{6,7})">
+          <leadingDigits>
+            [78]|
+            90
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{6,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            20|
+            4[0-6]|
+            5\d|
+            6[0-24-9]
+          )\d{4,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,9}</possibleNumberPattern>
+        <exampleNumber>202012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 716 after successful delivery of SMSs. -->
+        <nationalNumberPattern>
+          7(?:
+            1[0-6]|
+            2\d|
+            3[2-8]|
+            5[0-2]|
+            7[023]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>712123456</exampleNumber>
+      </mobile>
+      <!-- There is no document that has the information on the actual length of premium rates and
+           tollfree numbers. The information below comes from research on existing numbers. -->
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            88
+          )\d{6,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+         <nationalNumberPattern>
+           9(?:
+             00|
+             1
+           )\d{6,7}
+         </nationalNumberPattern>
+         <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+         <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Kyrgyzstan -->
+    <!-- http://www.itu.int/oth/T0202000074/en -->
+    <territory id="KG" countryCode="996" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>
+            31[25]|
+            [5-8]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{5})">
+          <leadingDigits>
+            3(?:
+              1[36]|
+              [2-9]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[356-8]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>312123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added 705 since SMS messages have been successfully sent to numbers with this prefix.
+         -->
+        <nationalNumberPattern>
+          5[124-7]\d{7}|
+          7(?:
+            0[05]|
+            7\d
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>700123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <!-- No premiumRate information can be found. -->
+    </territory>
+
+    <!-- Cambodia -->
+    <!-- http://www.itu.int/oth/T0202000023/en -->
+    <territory id="KH" countryCode="855" internationalPrefix="00[178]"
+               nationalPrefix="0">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            1\d[1-9]|
+            [2-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(1[89]00)(\d{3})(\d{3})">
+          <leadingDigits>1[89]0</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[3-6]|
+            3[2-6]|
+            4[2-4]|
+            [5-7][2-5]
+          )[2-47-9]\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>23456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 171, 13X, 85[2-689] and 921 prefixes as SMS messages could be successfully
+             delivered to these mobile numbers. -->
+        <nationalNumberPattern>
+          (?:
+            (?:
+              1[0-35-9]|
+              9[1-49]
+            )[1-9]|
+            85[2-689]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>91234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          1800(?:
+            1\d|
+            2[09]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          1900(?:
+            1\d|
+            2[09]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Kiribati -->
+    <territory id="KI" countryCode="686" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Comoros -->
+    <!-- http://www.itu.int/oth/T020200002D/en -->
+    <territory id="KM" countryCode="269" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[37]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- CDMA phones are included here, as they are considered as an extension of fixed line:
+             http://www.comorestelecom.km/presentationcdma.php -->
+        <nationalNumberPattern>
+          7(?:
+            6[0-37-9]|
+            7[0-57-9]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>7712345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>3[23]\d{5}</nationalNumberPattern>
+        <exampleNumber>3212345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Saint Kitts and Nevis -->
+    <!-- http://www.itu.int/oth/T02020000B0/en -->
+    <territory id="KN" countryCode="1" leadingDigits="869"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[89]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          869(?:
+            2(?:
+              29|
+              36
+            )|
+            4(?:
+              6[5-9]|
+              70
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>8692361234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          869(?:
+            5(?:
+              5[6-8]|
+              6[5-7]
+            )|
+            66[2-9]|
+            76[2-5]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8695561234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!--  Korea, Dem. People's Rep. of -->
+    <territory id="KP" countryCode="850" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Korea (Rep. of) -->
+    <!-- http://www.itu.int/oth/T0202000072/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B82 -->
+    <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2349 -->
+    <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2240 -->
+    <!-- http://www.telecentro.co.kr/sub/index.php?job=detail&ebcf_id=faq&page=1&mid=0503&eb_seq=36 -->
+    <!-- Exceptions :
+        internationalPrefix
+            0031, 0033, 0071, 0073 - Special services of KT and DACOM, ignorable
+        nationalPrefix
+            1[4-6]XX-YYYY - Country-wide common number services, display as it is without hyphens -->
+    <territory id="KR" countryCode="82" internationalPrefix="00(?:[124-68]|[37]\d{2})"
+               nationalPrefix="0" nationalPrefixForParsing="0(8[1-46-8]|85\d{2})?"
+               nationalPrefixFormattingRule="$NP$FG" carrierCodeFormattingRule="$NP$CC-$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>
+            1(?:
+              0|
+              1[19]|
+              [69]9|
+              5[458]
+            )|
+            [57]0
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              0|
+              1[19]|
+              [69]9|
+              5(?:
+                44|
+                59|
+                8
+              )
+            )|
+            [57]0
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>
+            1(?:
+              [169][2-8]|
+              [78]|
+              5[1-4]
+            )|
+            [68]0|
+            [3-9][1-9][2-9]
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              [169][2-8]|
+              [78]|
+              5(?:
+                [1-3]|
+                4[56]
+              )
+            )|
+            [68]0|
+            [3-9][1-9][2-9]
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d)(\d{4})">
+          <leadingDigits>131</leadingDigits>
+          <leadingDigits>1312</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+          <leadingDigits>131</leadingDigits>
+          <leadingDigits>131[13-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>13[2-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>30</leadingDigits>
+          <format>$1-$2-$3-$4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            2(?:
+              [26]|
+              3[0-467]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            2(?:
+              [26]|
+              3(?:
+                01|
+                1[45]|
+                2[17-9]|
+                39|
+                4|
+                6[67]|
+                7[078]
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            2(?:
+              3[0-35-9]|
+              [457-9]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            2(?:
+              3(?:
+                0[02-9]|
+                1[0-36-9]|
+                2[02-6]|
+                3[0-8]|
+                6[0-589]|
+                7[1-69]|
+                [589]
+              )|
+              [457-9]
+            )
+          </leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3,4})">
+          <leadingDigits>21[0-46-9]</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3,4})">
+          <leadingDigits>[3-9][1-9]1</leadingDigits>
+          <leadingDigits>
+            [3-9][1-9]1(?:
+              [0-46-9]
+            )
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <!-- Company numbers. -->
+        <numberFormat pattern="(\d{4})(\d{4})"
+          nationalPrefixFormattingRule="$FG">
+          <leadingDigits>
+            1(?:
+              5[46-9]|
+              6[04678]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            1(?:
+              5(?:
+                44|
+                66|
+                77|
+                88|
+                99
+              )|
+              6(?:
+                00|
+                44|
+                6[16]|
+                70|
+                88
+              )
+            )
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-79]\d{3,9}|
+          8\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2|
+            [34][1-3]|
+            5[1-5]|
+            6[1-4]
+          )(?:
+            1\d{2,3}|
+            [2-9]\d{6,7}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>1023456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <!-- The information below is provided by a Korean person. -->
+      <premiumRate>
+        <nationalNumberPattern>60[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>602345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>50\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5012345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </voip>
+      <uan>
+        <nationalNumberPattern>
+          1(?:
+            5(?:
+              44|
+              66|
+              77|
+              88|
+              99
+            )|
+            6(?:
+              00|
+              44|
+              6[16]|
+              70|
+              88
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>15441234</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Kuwait -->
+    <!-- http://www.itu.int/oth/T0202000073/en -->
+    <territory id="KW" countryCode="965" internationalPrefix="00"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Format is from ITU. -->
+        <numberFormat pattern="(\d{4})(\d{3,4})">
+          <leadingDigits>[1269]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(5[05]\d)(\d{5})">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[12569]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>22345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5(?:
+              0[0-2]|
+              5\d
+            )|
+            6(?:
+              0[034679]|
+              5[015-9]|
+              6\d|
+              7[067]|
+              99
+            )|
+            9(?:
+              0[09]|
+              4[049]|
+              66|
+              [79]\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>50012345</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+      <shortCode>
+        <nationalNumberPattern>1\d{2}</nationalNumberPattern>
+        <possibleNumberPattern>\d{3}</possibleNumberPattern>
+        <exampleNumber>177</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Cayman Islands -->
+    <!-- http://www.itu.int/oth/T0202000027/en -->
+    <territory id="KY" countryCode="1" leadingDigits="345"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[389]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>3452221234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          345(?:
+            32[3-79]|
+            5(?:
+              1[467]|
+              2[5-7]|
+              4[5-9]
+            )|
+            9(?:
+              1[679]|
+              2[4-9]|
+              3[89]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>3453231234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          900[2-9]\d{6}|
+          345976\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Kazakhstan -->
+    <!-- http://www.itu.int/oth/T020200006F/en -->
+    <territory id="KZ" countryCode="7" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG">
+       <!-- Formatting rules obtained from Russia. -->
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            7\d{2}|
+            80[09]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </generalDesc>
+      <noInternationalDialling>
+        <nationalNumberPattern>751\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7511234567</exampleNumber>
+      </noInternationalDialling>
+      <fixedLine>
+        <!-- VSAT numbers are also included here. -->
+        <nationalNumberPattern>
+          7(?:
+            1(?:
+              0(?:
+                [23]\d|
+                4[023]|
+                59|
+                63
+              )|
+              1(?:
+                [23]\d|
+                4[0-79]|
+                59
+              )|
+              2(?:
+                [23]\d|
+                59
+              )|
+              3(?:
+                2\d|
+                3[1-79]|
+                4[0-35-9]|
+                59
+              )|
+              4(?:
+                2\d|
+                3[013-79]|
+                4[0-8]|
+                5[1-79]
+              )|
+              5(?:
+                2\d|
+                3[1-8]|
+                4[1-7]|
+                59
+              )|
+              6(?:
+                2\d|
+                [34]\d|
+                5[19]|
+                61
+              )|
+              72\d|
+              8(?:
+                [27]\d|
+                3[1-46-9]|
+                4[0-5]|
+              )
+            )|
+            2(?:
+              1(?:
+                [23]\d|
+                4[46-9]|
+                5[3469]
+              )|
+              2(?:
+                2\d|
+                3[0679]|
+                46|
+                5[12679]|
+              )|
+              3(?:
+                [234]\d|
+                5[139]|
+              )|
+              4(?:
+                2\d|
+                3[1235-9]|
+                59
+              )|
+              5(?:
+                [23]\d|
+                4[01246-8]|
+                59|
+                61
+              )|
+              6(?:
+                2\d|
+                3[1-9]|
+                4[0-4]|
+                59
+              )|
+              7(?:
+                [23]\d|
+                40|
+                5[279]|
+                7\d
+              )|
+              8(?:
+                [23]\d|
+                4[0-3]|
+                59
+              )|
+              9(?:
+                2\d|
+                3[124578]|
+                59
+              )
+            )|
+            3622
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>7123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          7(?:
+            0[01257]\d{2}|
+            6[02-4]\d{2}|
+            7[157]\d{2}
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>7710009998</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>809\d{7}</nationalNumberPattern>
+        <exampleNumber>8091234567</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>751\d{7}</nationalNumberPattern>
+        <exampleNumber>7511234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Lao People's Dem. Rep. -->
+    <!-- http://www.itu.int/oth/T0202000075/en -->
+    <territory id="LA" countryCode="856" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(20)(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>20</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([2-57]\d)(\d{3})(\d{3})">
+          <leadingDigits>
+            21|
+            [3-57]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-57]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [2-57]1|
+            54
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>21212862</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          20(?:
+            2[23]|
+            5[4-6]|
+            77|
+            9[89]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2023123456</exampleNumber>
+      </mobile>
+      <!-- No information on other types of phone numbers for Lao P.D.R. has been found. -->
+    </territory>
+
+    <!-- Lebanon -->
+    <!-- http://www.itu.int/oth/T0202000077/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B961 -->
+    <territory id="LB" countryCode="961" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})">
+          <leadingDigits>
+            [13-6]|
+            7(?:
+              [2-57-9]|
+              62)|
+            [89][2-9]
+            </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([7-9]\d)(\d{3})(\d{3})">
+          <leadingDigits>
+            [89][01]|
+            7(?:
+              [01]|
+              66)
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13-9]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [14-6]\d{2}|
+            7(?:
+              [2-57-9]\d|
+              62)|
+            [89][2-9]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>1123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            3\d|
+            7(?:
+              [01]\d|
+              66
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>71123456</exampleNumber>
+      </mobile>
+      <premiumRate>
+        <nationalNumberPattern>8[01]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>9[01]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Saint Lucia -->
+    <!-- http://www.itu.int/oth/T02020000B1/en -->
+    <territory id="LC" countryCode="1" leadingDigits="758"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[789]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          758(?:
+            234|
+            4(?:
+              5[0-9]|
+              6[2-9]|
+              8[0-2]
+            )|
+            638|
+            758
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>7582345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 721 and 722 as these prefixes are found widely on the internet and SMS messages
+             have been successfully delivered to these numbers. -->
+        <nationalNumberPattern>
+          758(?:
+            28[4-7]|
+            384|
+            4(?:
+              6[01]|
+              8[4-9]
+            )|
+            5(?:
+              1[89]|
+              20|
+              84
+            )|
+            7(?:
+              1[2-9]|
+              2[0-4]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7582845678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Liechtenstein -->
+    <!-- http://www.llv.li/amtsstellen/llv-ak-nummerierung.htm -->
+    <!-- http://www.telecom.li has some different patterns for tollfree and shared cost numbers -
+         look at "Mehrwertnummer". -->
+    <territory id="LI" countryCode="423" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>
+            [23]|
+            7[4-9]|
+            87
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(6\d)(\d{3})(\d{3})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([7-9]0\d)(\d{2})(\d{2})">
+          <leadingDigits>[7-9]0</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 0800 and 0900 are valid prefixes, but Liechtenstein
+             doesn't have a general national prefix, so we include it manually here
+             when formatting. We can tell whether it needs one by number length. -->
+        <numberFormat pattern="([89]0\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[89]0</leadingDigits>
+          <format>0$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            66|
+            80|
+            90
+          )\d{7}|
+          [237-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Regular Cost services are included here as well. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              17|
+              3\d|
+              6[02-58]|
+              96
+            )|
+            3(?:
+              02|
+              7[01357]|
+              8[048]|
+              9[0269]
+            )|
+            870
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>2345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>661234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          80(?:
+            0(?:
+              07|
+              2[238]|
+              79|
+              \d{4}
+            )|
+            9\d{2}
+          )\d{2}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>8002222</exampleNumber>
+      </tollFree>
+      <sharedCost>
+        <nationalNumberPattern>
+          90(?:
+            0(?:
+              2[278]|
+              79|
+              \d{4}
+            )|
+            1(?:
+              23|
+              \d{4}
+            )|
+            6(?:
+              66|
+              \d{4}
+            )
+          )\d{2}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>9002222</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>701\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>7011234</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Sri Lanka -->
+    <!-- http://en.wikipedia.org/wiki/%2B94 -->
+    <!-- http://www.itu.int/oth/T02020000C3/en -->
+    <territory id="LK" countryCode="94" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{1})(\d{6})">
+          <leadingDigits>[1-689]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [189]1|
+            2[13-7]|
+            3[1-8]|
+            4[157]|
+            5[12457]|
+            6[35-7]
+          )[2-57]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>112345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[12578]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>712345678</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Liberia -->
+    <!-- http://www.itu.int/oth/T0202000079/en -->
+    <territory id="LR" countryCode="231" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formatting from Ministry of Agriculture,
+        http://www.moa.gov.lr/content.php?sub=Email&?related=Contacts -->
+        <numberFormat pattern="([279]\d)(\d{3})(\d{3})">
+          <leadingDigits>[279]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([4-6])(\d{3})(\d{3})">
+          <leadingDigits>[4-6]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [279]\d|
+            [4-6]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added 66, 67 and 68 as prefixes because of online numbers fitting this pattern. -->
+        <nationalNumberPattern>
+          (?:
+            4[67]|
+            5\d|
+            6[4-8]|
+            7\d{2}
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>4612345</exampleNumber>
+      </mobile>
+      <premiumRate>
+        <!-- Telemedia service is listed under premium rate. -->
+        <nationalNumberPattern>90\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Lesotho -->
+    <!-- http://www.itu.int/oth/T0202000078/en -->
+    <territory id="LS" countryCode="266" internationalPrefix="00">
+      <availableFormats>
+        <!-- Formatting following yellow pages: www.yellowpages.co.ls -->
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2568]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2\d{7}</nationalNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[56]\d{7}</nationalNumberPattern>
+        <exampleNumber>50123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800[256]\d{4}</nationalNumberPattern>
+        <exampleNumber>80021234</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Lithuania -->
+    <!-- http://www.itu.int/oth/T020200007C/en -->
+    <territory id="LT" countryCode="370" internationalPrefix="00"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG">
+      <availableFormats>
+        <!-- Two-digit area codes -->
+        <numberFormat pattern="([34]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            37|
+            4(?:
+              1|
+              5[45]|
+              6[2-4]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <!-- Three-digit area codes -->
+        <numberFormat pattern="([3-689]\d{2})(\d{2})(\d{3})">
+          <leadingDigits>
+            3[148]|
+            4(?:
+              [24]|
+              6[09]
+            )|
+            5(?:
+              [0189]|
+              28
+            )|
+            [689]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(5)(2[0-79]\d)(\d{4})">
+          <leadingDigits>52[0-79]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3[1478]|
+            4[124-6]|
+            52
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>31234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6\d{7}</nationalNumberPattern>
+        <exampleNumber>61234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[0239]\d{5}</nationalNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Luxembourg -->
+    <!-- http://www.ilr.public.lu/communications_electroniques/numerotation/index.html
+         -->
+    <territory id="LU" countryCode="352" internationalPrefix="00"
+        nationalPrefixForParsing="(15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\d)"
+        carrierCodeFormattingRule="$CC $FG">
+      <availableFormats>
+        <!-- Patterns overlap because of variable number length. -->
+        <numberFormat pattern="(\d{2})(\d{3})">
+          <leadingDigits>
+            [23-5]|
+            7[1-9]|
+            [89](?:
+              [1-9]|
+              0[2-9]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            [23-5]|
+            7[1-9]|
+            [89](?:
+              [1-9]|
+              0[2-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{3})">
+          <leadingDigits>20</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- The pattern for 7-digit numbers starting with 20 here will never be reached - but since
+             we want this pattern to apply for 8-digit numbers with a 20 prefix, we include 20 in
+             the leading digits. This is also done for 9-10 digit numbers starting with 20 below.
+             -->
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{1,2})">
+          <leadingDigits>
+            2(?:
+              [0367]|
+              4[3-8]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{3})">
+          <leadingDigits>20</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})(\d{1,2})">
+          <leadingDigits>
+            2(?:
+              [0367]|
+              4[3-8]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4 $5</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{1,4})">
+          <leadingDigits>
+            2(?:
+              [12589]|
+              4[12]
+            )|
+            [3-5]|
+            7[1-9]|
+            [89](?:
+              [1-9]|
+              0[2-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{3})">
+          <leadingDigits>
+            [89]0[01]|
+            70
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- The country-code is an impossible number prefix, so has been excluded here. This is
+             necessary since the numbers have a variable number length. -->
+        <nationalNumberPattern>
+          [24-9]\d{3,10}|
+          3(?:
+            [0-46-9]\d{2,9}|
+            5[013-9]\d{1,8}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Note that numbers starting with 2[367] can be a maximum of 10 digits - all others a
+             maximum of 11. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              2\d{1,2}|
+              3[2-9]|
+              [67]\d|
+              4[1-8]\d?|
+              5[1-5]\d?|
+              9[0-24-9]\d?
+            )|
+            3(?:
+              [059][05-9]|
+              [13]\d|
+              [26][015-9]|
+              4[0-26-9]|
+              7[0-389]|
+              8[08]
+            )\d?|
+            4\d{2,3}|
+            5(?:
+              [01458]\d|
+              [27][0-69]|
+              3[0-3]|
+              [69][0-7]
+            )\d?|
+            7(?:
+              1[019]|
+              2[05-9]|
+              3[05]|
+              [45][07-9]|
+              [679][089]|
+              8[06-9]
+            )\d?|
+            8(?:
+              0[2-9]|
+              1[0-36-9]|
+              3[3-9]|
+              [469]9|
+              [58][7-9]|
+              7[89]
+            )\d?|
+            9(?:
+              0[89]|
+              2[0-49]|
+              37|
+              49|
+              5[0-27-9]|
+              7[7-9]|
+              9[0-478]
+            )\d?
+          )\d{1,7}
+        </nationalNumberPattern>
+        <exampleNumber>27123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[269][18]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>628123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[01]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>801\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80112345</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>70\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>70123456</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>20\d{2,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+        <exampleNumber>2012345</exampleNumber>
+      </voip>
+      <shortCode>
+        <nationalNumberPattern>
+          1(?:
+            1[23]|
+            2\d{3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
+        <exampleNumber>12123</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Latvia -->
+    <!-- http://www.itu.int/oth/T0202000076/en -->
+    <territory id="LV" countryCode="371" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([2689]\d)(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2689]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>6\d{7}</nationalNumberPattern>
+        <exampleNumber>61234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>2\d{7}</nationalNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{6}</nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{6}</nationalNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Libya (Soc. People’s Libyan Arab Jamahiriya) -->
+    <!-- Status as of 21 Jan 2011: a lot of outdated information on the web including on wikipedia
+         and itu.int. The new area codes are on the Arabic website of the main telecommunication
+         operator (Hatef Libya). A new mobile operator Aljeel Aljadeed for Technology will start
+         using 096 (they are allowing customers to register numbers currently), so their code has
+         also been added. -->
+    <!-- http://hlc.ly/price.php -->
+    <territory id="LY" countryCode="218" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([25679]\d)(\d{7})">
+          <format>$1-$2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[25679]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[1345]|
+            5[1347]|
+            6[123479]|
+            71
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[12356]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Morocco -->
+    <!-- http://www.itu.int/oth/T0202000090/en -->
+    <!-- http://en.wikipedia.org/wiki/+212 -->
+    <territory id="MA" countryCode="212" internationalPrefix="00"
+      nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([56]\d{2})(\d{6})">
+          <leadingDigits>
+            5(?:
+              2[015-7]|
+              3[0-4]
+            )|
+            6
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="([58]\d{3})(\d{5})">
+          <leadingDigits>
+            5(?:
+              2[2-489]|
+              3[5-9]
+            )|
+            892
+          </leadingDigits>
+          <leadingDigits>
+            5(?:
+              2(?:
+                [2-48]|
+                90
+              )|
+              3(?:
+                [5-79]|
+                80
+              )
+            )|
+            892
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(5\d{4})(\d{4})">
+          <leadingDigits>
+            5(?:
+              29|
+              38
+            )
+          </leadingDigits>
+          <leadingDigits>
+            5(?:
+              29|
+              38
+            )[89]
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(8[09])(\d{7})">
+          <leadingDigits>
+            8(?:
+              0|
+              9[013-9]
+            )
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[5689]\d{8}</nationalNumberPattern>
+        <!-- Closed numbering plan. -->
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          5(?:
+            2(?:
+              (?:
+                [015-7]\d|
+                2[2-9]|
+                3[2-57]|
+                4[2-8]|
+                8[235-9]|
+              )\d|
+              9(?:
+                0\d|
+                [89]0
+              )
+            )|
+            3(?:
+              (?:
+                [0-4]\d|
+                [57][2-9]|
+                6[235-8]|
+                9[3-9]
+              )\d|
+              8(?:
+                0\d|
+                [89]0
+              )
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>520123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          6(?:
+            0[06]|
+            [14-7]\d|
+            2[236]|
+            33|
+            99
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>650123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>89\d{7}</nationalNumberPattern>
+        <exampleNumber>891234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Monaco -->
+    <!-- http://www.itu.int/oth/T020200008D/en -->
+    <!-- We support Kosovo mobile numbers (044, 045) with a Monaco country-code here, as we do not
+         support Kosovo at the moment. Kosovo seems to use a variety of country codes currently. -->
+    <territory id="MC" countryCode="377" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Following formatting found online rather than in the ITU document example. -->
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>4</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(6)(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3 $4 $5</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[4689]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <noInternationalDialling>
+        <nationalNumberPattern>8\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </noInternationalDialling>
+      <fixedLine>
+        <!-- Restricted to this as no numbers with the prefix of 91, 95 or 96 have been found. -->
+        <nationalNumberPattern>9[2-47-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>99123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 4X mobile numbers are actually used by Kosovo. -->
+        <nationalNumberPattern>
+          6\d{8}|
+          4\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          (?:
+            8\d|
+            90
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Moldova, Rep. of -->
+    <!-- http://www.itu.int/oth/T020200008C/en -->
+    <territory id="MD" countryCode="373" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(22)(\d{3})(\d{3})">
+          <leadingDigits>22</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([25-7]\d{2})(\d{2})(\d{3})">
+          <leadingDigits>
+            2[13-79]|
+            [5-7]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([89]00)(\d{5})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[256-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+        <exampleNumber>22212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added 688 and 689 since SMS messages have been successfully sent to these numbers. -->
+        <nationalNumberPattern>
+          (?:
+            6(?:
+              50|
+              7[12]|
+              [89]\d
+            )|
+            7(?:
+              80|
+              9\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>65012345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{5}</nationalNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Montenegro -->
+    <!-- http://www.itu.int/oth/T02020000DA/en
+         http://en.wikipedia.org/wiki/Telephone_numbers_in_Montenegro
+         http://www.ekip.me/numeracija/dodijeljena.php -->
+    <territory id="ME" countryCode="382" internationalPrefix="00" nationalPrefix="0"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+         <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[2-57-9]|6[3789]</leadingDigits>
+          <leadingDigits>
+            [2-57-9]|
+            6(?:
+              [389]|
+              7(?:
+                [0-8]|
+                9[3-9]
+              )
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(67)(9)(\d{3})(\d{3})">
+          <leadingDigits>679</leadingDigits>
+          <leadingDigits>679[0-2]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Fixed line numbers have prefix 20,30,31,32,33,40,41,50,51,52 followed by 6 digits.
+             The valid options for the third digit were from
+             http://www.ekip.me/numeracija/dodijeljena.php -->
+        <nationalNumberPattern>
+          (?:
+            20[2-8]|
+            3(?:
+              0[2-7]|
+              1[35-7]|
+              2[367]|
+              3[4-7]
+            )|
+            4(?:
+              0[237]|
+              1[2467]
+            )|
+            5(?:
+              0[47]|
+              1[27]|
+              2[378]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>30234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Mobile numbers start with 632, 67, 68 or 69. -->
+        <nationalNumberPattern>
+          6(?:
+            32\d|
+            [89]\d{2}|
+            7(?:
+              [0-8]\d|
+              9(?:
+                [3-9]|
+                [0-2]\d
+              )
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <!-- According to ITU it is possible for the numbers to be between length 4-12
+             (http://www.itu.int/oth/T02020000DA/en). However, in reality they seem to be 8 or 9
+             digits long. -->
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>67622901</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- All toll free numbers have prefix 80 followed by 02 or 08. -->
+        <nationalNumberPattern>800[28]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80080002</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- Numbers with prefix 88, 94 or 95 are services with additional charges. -->
+        <nationalNumberPattern>
+          (?:
+            88\d|
+            9(?:
+              4[13-8]|
+              5[16-8]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>94515151</exampleNumber>
+      </premiumRate>
+      <voip>
+        <!-- VOIP are prefixed with 78. -->
+        <nationalNumberPattern>78[134579]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>78108780</exampleNumber>
+      </voip>
+      <uan>
+        <!-- Corporate Telephony are prefixed with 77. -->
+        <nationalNumberPattern>77\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>77273012</exampleNumber>
+      </uan>
+      <shortCode>
+        <!-- Emergency and other services. -->
+        <nationalNumberPattern>
+          1(?:
+            16\d{3}|
+            2\d{1,2}|
+            [0135]\d{2}|
+            4\d{2,3}|
+            9\d{3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,6}</possibleNumberPattern>
+        <exampleNumber>123</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Madagascar -->
+    <!-- http://www.itu.int/oth/T020200007F/en -->
+    <territory id="MG" countryCode="261" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([23]\d)(\d{2})(\d{3})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[23]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Added the prefixes 20 44 and 20 47 as they seem popular on the internet - the plan says
+             20 4 is for the rest of the province of Antanarivo, but then fails to mention any area
+             codes beginning with 4. -->
+        <nationalNumberPattern>
+          2(?:
+            0(?:
+              (?:
+                2\d|
+                4[47]|
+                5[3467]|
+                6[279]|
+                8[268]|
+                9[245]
+              )\d|
+              7(?:
+                2[29]|
+                [35]\d
+              )
+            )|
+            210\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>202123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- The numbering plan suggests the third digit, Z, should be 24-9,
+             but this is not borne out by reality. -->
+        <nationalNumberPattern>3[02-4]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>301234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Saint-Martin, French Antilles -->
+    <!-- http://www.itu.int/oth/T0202000058/en -->
+    <territory id="MF" countryCode="590" internationalPrefix="00"
+      nationalPrefix="0">
+      <!-- Formatting rules borrowed from Guadeloupe. -->
+      <generalDesc>
+        <nationalNumberPattern>[56]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          590(?:
+            10|
+            2[79]|
+            5[128]|
+            [78]7
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>590271234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          690(?:
+            10|
+            2[27]|
+            66|
+            77|
+            8[78]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>690221234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Marshall Islands -->
+    <territory id="MH" countryCode="692" internationalPrefix="011"
+               nationalPrefix="1">
+    </territory>
+
+    <!-- Macedonia, Former Yugoslav Rep. of -->
+    <!-- http://en.wikipedia.org/wiki/%2B389
+         http://www.aek.mk/ go to Telecommunications, Numbering, then Numbering plan. -->
+    <territory id="MK" countryCode="389" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formats follow wikipedia. -->
+        <numberFormat pattern="(2)(\d{3})(\d{4})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([347]\d)(\d{3})(\d{3})">
+          <leadingDigits>[347]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([58]\d{2})(\d)(\d{2})(\d{2})">
+          <leadingDigits>[58]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              [23]\d|
+              5[125]|
+              61
+            )|
+            3(?:
+              1[3-6]|
+              2[2-6]|
+              3[2-5]|
+              4[235]
+            )|
+            4(?:
+              [23][2-6]|
+              4[3-6]|
+              5[25]|
+              6[25-8]|
+              7[24-6]|
+              8[4-6]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>22212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[0-25-8]\d{6}</nationalNumberPattern>
+        <exampleNumber>72345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>5[02-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>50012345</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            0[1-9]|
+            [1-9]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Mali -->
+    <!-- http://www.itu.int/oth/T0202000083/en -->
+    <!-- http://crt-mali.org/pdf/plan_num -->
+    <territory id="ML" countryCode="223" internationalPrefix="00"
+               nationalPrefix="0">
+      <availableFormats>
+        <numberFormat pattern="([246-8]\d)(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[246-8]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 20 70 seems a common pattern, in addition to 21 25. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              0(?:
+                2[0-589]|
+                7[027-9]
+              )|
+              1(?:
+                2[5-7]|
+                [3-689]\d
+              )
+            )|
+            442\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>20212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            6(?:
+              [569]\d
+            )|
+            7(?:
+              [08][1-9]|
+              [3579][0-4]|
+              4[014-7]|
+              6\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>65012345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Online examples have not been found, but this seems to follow the prescriptions in the
+             plan. -->
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Myanmar -->
+    <!-- http://www.itu.int/oth/T0202000092/en -->
+    <territory id="MM" countryCode="95" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(1)(\d{3})(\d{3})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- This overlaps the previous pattern. -->
+        <numberFormat pattern="(1)(3)(33\d)(\d{3})">
+          <leadingDigits>133</leadingDigits>
+          <leadingDigits>1333</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(2)(\d{2})(\d{3})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{3})">
+          <leadingDigits>[4-8]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Format is from http://www.aitaa.ait.ac.th/chapters/copy17_of_aitaa-national-chapters-1 -->
+        <numberFormat pattern="(9444)(\d{5})">
+          <leadingDigits>94</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(9)([25689]\d{2})(\d{4})">
+          <leadingDigits>9[25689]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [124-8]\d{5,7}|
+          9\d{7,8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Fixed satellite network numbers (1 3 33X XXX) are also included here. -->
+        <nationalNumberPattern>
+          (?:
+            1\d|
+            2|
+            4[2-6]|
+            5[2-9]|
+            6\d|
+            7[0-5]|
+            8[1-6]
+          )\d{5}|
+          1333\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+        <exampleNumber>1234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          9(?:
+            [25689]\d|
+            444
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>92123456</exampleNumber>
+      </mobile>
+      <!-- No information on other types of phone numbers for Myanmar has been found. -->
+    </territory>
+
+    <!-- Mongolia -->
+    <!-- http://www.itu.int/oth/T020200008E/en -->
+    <territory id="MN" countryCode="976" internationalPrefix="001"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([12]\d)(\d{2})(\d{4})">
+          <leadingDigits>[12]1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([12]2\d)(\d{5,6})">
+          <leadingDigits>[12]2[1-3]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([12]\d{3})(\d{5})">
+          <leadingDigits>
+            [12](?:
+              27|
+              [3-5]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            [12](?:
+              27|
+              [3-5]\d
+            )2
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- It seems from online formatting that the national prefix is not written (or perhaps
+             needed?) for numbers in these ranges. -->
+        <numberFormat pattern="(\d{4})(\d{4})"
+          nationalPrefixFormattingRule="$FG">
+          <leadingDigits>[57-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([12]\d{4})(\d{4,5})">
+          <leadingDigits>
+            [12](?:
+              27|
+              [3-5]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            [12](?:
+              27|
+              [3-5]\d
+            )[4-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [12]\d{7,9}|
+          [57-9]\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Note the leading digit is the access code: 1 is used by Mongolia Telecom subscribers
+             and 2 is used by Mongolian Railway subscribers. The area code then follows the access
+             code, and could be 1 to 4 digits long. We also cover wireless local loop numbers here
+             as well, even though we are not certain whether they are in fact fixed or mobile in
+             this country. 5-digit subscriber numbers for 4-digit area codes have been added due to
+             online numbers being found. -->
+        <nationalNumberPattern>
+          [12](?:
+            1\d|
+            2(?:
+              [1-3]\d?|
+              7\d
+            )|
+            3[2-8]\d{1,2}|
+            4[2-68]\d{1,2}|
+            5[1-4689]\d{1,2}
+          )\d{5}|
+          (?:
+            5[0568]|
+            70
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>70123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding prefix 98 from numbers found on the internet. -->
+        <nationalNumberPattern>
+          (?:
+            8[89]|
+            9[15689]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>88123456</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+      <voip>
+        <nationalNumberPattern>7[569]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>75123456</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Macao, China -->
+    <!-- http://www.itu.int/oth/T020200007E/en -->
+    <territory id="MO" countryCode="853" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([268]\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[268]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            28[2-57-9]|
+            8[2-57-9]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>28212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- The 62 prefix is added as SMS messages have been successfully delivered to these
+             numbers, and they are also widely present on the Internet. -->
+        <nationalNumberPattern>6[26]\d{6}</nationalNumberPattern>
+        <exampleNumber>66123456</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!--  Northern Mariana Islands -->
+    <!-- http://www.itu.int/oth/T02020000EE/en -->
+    <!-- www.cnmiphonebook.com/ -->
+    <territory id="MP" countryCode="1" leadingDigits="670"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[689]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          670(?:
+            2(?:
+              3[3-5]|
+              88|
+              56
+            )|
+            32[23]|
+            4[38]3|
+            532|
+            6(?:
+              64|
+              70|
+              8\d
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6702345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          670(?:
+            2(?:
+              3[3-5]|
+              88|
+              56
+            )|
+            32[23]|
+            4[38]3|
+            532|
+            6(?:
+              64|
+              70|
+              8\d
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6702345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Martinique (French Dept. of) -->
+    <territory id="MQ" countryCode="596" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Mauritania -->
+    <!-- http://www.itu.int/oth/T0202000087/en -->
+    <!-- http://www.are.mr/com-1-4-1.html -->
+    <!-- New number plan to be in official use from January 1st 2011. During this change-over
+         period, both the new and the old number plans are supported. -->
+    <territory id="MR" countryCode="222" internationalPrefix="00" >
+      <availableFormats>
+        <numberFormat pattern="([2-48]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[2-48]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([2-7]\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[2-7]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-4]\d{6,7}|
+          [5-7]\d{6}|
+          8\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          5(?:
+            1[035]|
+            2[0-69]|
+            3[0348]|
+            4[468]|
+            5[02-467]|
+            6[39]|
+            7[4-69]
+          )\d{4}|
+          [2-4]5\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>35123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            [23][0-4]|
+            4[3-5]|
+            6\d|
+            7[0-7]
+          )\d{5}|
+          (?:
+            2[27]|
+            3[367]|
+            4[467]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Montserrat -->
+    <!-- http://www.itu.int/oth/T020200008F/en -->
+    <territory id="MS" countryCode="1" leadingDigits="664"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[689]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>664491\d{4}</nationalNumberPattern>
+        <exampleNumber>6644912345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>664492\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>6644923456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Malta -->
+    <!-- www.itu.int/oth/T0202000084/en -->
+    <!-- www.mca.org.mt (Numbering link in the LHS menu - has more up-to-date allocations) -->
+    <territory id="MT" countryCode="356" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2579]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            0(?:
+              1[0-6]|
+              [69]\d
+            )|
+            [1-357]\d{2}
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>21001234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            7(?:
+              210|
+              [79]\d{2}|
+            )|
+            9(?:
+              2[13]\d|
+              696|
+              8(?:
+                1[1-3]|
+                89|
+                97
+              )|
+              9\d{2}
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>96961234</exampleNumber>
+      </mobile>
+      <pager>
+        <nationalNumberPattern>7117\d{4}</nationalNumberPattern>
+        <exampleNumber>71171234</exampleNumber>
+      </pager>
+      <premiumRate>
+        <nationalNumberPattern>
+          50(?:
+            0(?:
+              3[1679]|
+              4\d
+            )|
+            [169]\d{2}|
+            7[06]\d
+          )\d{3}
+        </nationalNumberPattern>
+        <exampleNumber>50031234</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Mauritius -->
+    <!-- http://www.itu.int/oth/T0202000088/en - covers mobile only -->
+    <!-- http://www.icta.mu/telecommunications/numbering.htm -->
+    <territory id="MU" countryCode="230" internationalPrefix="0(?:[2-7]0|33)"
+      preferredInternationalPrefix="020">
+      <!-- There is a proposal to change this to 8 digits - this is supposed to happen August 2010,
+           and 7 digit numbers will be phased out by 1 November 2010. Update Aug 9th: Changeover
+           postponed to indeterminate later date. -->
+      <availableFormats>
+        <numberFormat pattern="([2-9]\d{2})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Wireless local loop numbers are considered to be fixed, since there is almost no
+             roaming capability. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>2012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!--Adding 92 as SMS messages have been successfully sent to this prefix. -->
+        <nationalNumberPattern>
+          (?:
+            25\d|
+            4(?:
+              2[12389]|
+              9\d
+            )|
+            7\d{2}|
+            87[15-7]|
+            9[1-8]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>2512345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[012]\d{4}</nationalNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <!-- These may be either shared cost or premium rate - they don't differentiate between these
+           in the plan. This is expected to change with the introduction of the new numbering plan
+           in late 2010 - at that time, this will be updated appropriately. -->
+      <premiumRate>
+        <nationalNumberPattern>30\d{5}</nationalNumberPattern>
+        <exampleNumber>3012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Maldives -->
+    <!-- http://www.itu.int/oth/T0202000082/en -->
+    <!-- www.dhiraagu.com.mv -->
+    <territory id="MV" countryCode="960" internationalPrefix="0(?:0|19)"
+      preferredInternationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>
+            [367]|
+            9(?:
+              [1-9]|
+              0[1-9]
+            )
+          </leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>900</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [367]\d{6}|
+          9(?:
+            00\d{7}|
+            \d{6}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 300 has been added as prefixes from online searches, since the numbers seemed to be
+             diallable. -->
+        <nationalNumberPattern>
+          (?:
+            3(?:
+              0[01]|
+              3[0-59]|
+            )|
+            6(?:
+              [567][02468]|
+              8[024689]|
+              90
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>6701234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            7[36-9]|
+            9[6-9]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>7712345</exampleNumber>
+      </mobile>
+      <pager>
+        <nationalNumberPattern>781\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>7812345</exampleNumber>
+      </pager>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      <shortCode>
+        <nationalNumberPattern>
+          1(?:
+            [19]0|
+            23
+          )
+          </nationalNumberPattern>
+        <possibleNumberPattern>\d{3}</possibleNumberPattern>
+        <exampleNumber>123</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Malawi -->
+    <!-- http://www.itu.int/oth/T0202000080/en -->
+    <!-- The plan doesn't state that a national prefix exists, but numbers found on the internet are
+         consistent in having one. -->
+    <territory id="MW" countryCode="265" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})">
+          <leadingDigits>[13-5]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(2\d{2})(\d{3})(\d{3})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})(\d{4})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3,4})(\d{3,4})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <!-- According to the plan, the switch from 7 to 9 digits for mobile numbers happened in July
+           2009. However, online numbers don't seem to reflect this - even on the telephone company
+           websites such as www.mw.zain.com. Allowing both for now. -->
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            [13-5]|
+            [27]\d{2}|
+            [89](?:
+              \d{2}
+            )?
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1[2-9]|
+            21\d{2}
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>1234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            [3-5]|
+            77|
+            8(?:
+              8\d
+            )? |
+            9(?:
+              9\d
+            )?
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>991234567</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Mexico -->
+    <!-- http://www.itu.int/oth/T020200008A/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B52 -->
+    <!-- http://en.wikipedia.org/wiki/Premium-rate_telephone_number#Mexico -->
+    <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number -->
+    <territory id="MX" countryCode="52" internationalPrefix="0[09]"
+               nationalPrefix="01"
+               nationalPrefixForParsing="0[12]|04[45](\d{10})"
+               nationalPrefixTransformRule="1$1"
+               nationalPrefixFormattingRule="$NP $FG">
+      <!-- When a number starts with 01 or 02, we remove the prefixes; when a number starts with 045
+           or 046 followed by 10 digits, we replace the prefixes with 1. This way all the mobile
+           numbers, regardless of whether they are written in international format (leading 1) or
+           national format (leading 045/046), will be parsed into the same form. -->
+      <availableFormats>
+        <numberFormat pattern="([358]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            33|
+            55|
+            81
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="([358]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            33|
+            55|
+            81
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            [2467]|
+            3[12457-9]|
+            5[89]|
+            8[02-9]|
+            9[0-35-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            [2467]|
+            3[12457-9]|
+            5[89]|
+            8[02-9]|
+            9[0-35-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="1([358]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            1(?:
+              33|
+              55|
+              81
+            )
+          </leadingDigits>
+          <format>045 $1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(1)([358]\d)(\d{4})(\d{4})">
+          <leadingDigits>
+            1(?:
+              33|
+              55|
+              81
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="1(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            1(?:
+              [2467]|
+              3[12457-9]|
+              5[89]|
+              8[2-9]|
+              9[1-35-9]
+            )
+          </leadingDigits>
+          <format>045 $1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(1)(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            1(?:
+              [2467]|
+              3[12457-9]|
+              5[89]|
+              8[2-9]|
+              9[1-35-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- http://en.wikipedia.org/wiki/Area_codes_in_Mexico_by_code -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>2221234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          1(?:
+            (?:
+              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]|
+                [2-4][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}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>12221234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Malaysia -->
+    <!-- http://en.wikipedia.org/wiki/%2B60 -->
+    <!-- http://www.skmm.gov.my/what_we_do/numbering/index.asp -->
+    <territory id="MY" countryCode="60" internationalPrefix="00"
+               nationalPrefix="0">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([4-79])(\d{3})(\d{4})">
+          <leadingDigits>[4-79]</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(3)(\d{4})(\d{4})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="([18]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>
+            1[0-46-9][1-9]|
+            8
+          </leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(1)([36-8]00)(\d{2})(\d{4})">
+          <leadingDigits>1[36-8]0</leadingDigits>
+          <format>$1-$2-$3-$4</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(154)(\d{3})(\d{4})">
+          <leadingDigits>15</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13-9]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3\d{2}|
+            [4-79]\d|
+            8[2-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>312345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1[0-46-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>123456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1[38]00\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1300123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>1600\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1600123456</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>1700\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1700123456</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>154\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1541234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Mozambique -->
+    <!-- http://www.itu.int/oth/T0202000091/en -->
+    <territory id="MZ" countryCode="258" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([28]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>
+            2|
+            8[24]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(80\d)(\d{3})(\d{3})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[28]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            [1346]\d|
+            5[0-2]|
+            [78][12]|
+            93
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>21123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>8[24]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>821234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Unsure of the length requirement on toll-free numbers, so using 9
+        based on online examples. -->
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <!-- The plan suggests 801 and 802 numbers are shared-cost numbers, and numbers beginning with
+           a 9 are premium rate, but no online examples can be found of any of these so they are
+           omitted for the time-being. -->
+    </territory>
+
+    <!-- Namibia -->
+    <!-- http://www.itu.int/oth/T0202000093/en -->
+    <territory id="NA" countryCode="264" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(8\d)(\d{3})(\d{4})">
+          <leadingDigits>8[125]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(6\d)(\d{2,3})(\d{4})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(88)(\d{3})(\d{3})">
+          <leadingDigits>88</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(870)(\d{3})(\d{3})">
+          <leadingDigits>870</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[68]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes VSAT service. -->
+        <nationalNumberPattern>
+          6(?:
+            1(?:
+              17|
+              2(?:
+                [0189]\d|
+                [23-6]|
+                7\d?
+              )|
+              3(?:
+                2\d|
+                3[378]
+              )|
+              4[01]|
+              69|
+              7[014]
+            )|
+            2(?:
+              17|
+              25|
+              5(?:
+                [0-36-8]|
+                4\d?
+              )|
+              69|
+              70
+            )|
+            3(?:
+              17|
+              2(?:
+                [0237]\d?|
+                [14-689]
+              )|
+              34|
+              6[29]|
+              7[01]|
+              81
+            )|
+            4(?:
+              17|
+              2(?:
+                [012]|
+                7?
+              )|
+              4(?:
+                [06]|
+                1\d
+              )|
+              5(?:
+                [01357]|
+                [25]\d?
+              )|
+              69|
+              7[01]
+            )|
+            5(?:
+              17|
+              2(?:
+                [0459]|
+                [23678]\d?
+              )|
+              69|
+              7[01]
+            )|
+            6(?:
+              17|
+              2(?:
+                5|
+                6\d?
+              )|
+              38|
+              42|
+              69|
+              7[01]
+            )|
+            7(?:
+              17|
+              2(?:
+                [569]|
+                [234]\d?
+              )|
+              3(?:
+                0\d?|
+                [13]
+              )|
+              69|
+              7[01]
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>612012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Includes the Switch CDMA Service. -->
+        <nationalNumberPattern>
+          (?:
+            60|
+            8[125]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>811234567</exampleNumber>
+      </mobile>
+      <premiumRate>
+        <nationalNumberPattern>8701\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>870123456</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>886\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>88612345</exampleNumber>
+      </voip>
+      <shortCode>
+        <nationalNumberPattern>
+          1(?:
+            0111|
+            \d{3}
+          )|
+          9(?:
+            3111|
+            \d{2}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
+        <exampleNumber>93111</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- New Caledonia (Territoire français d'outre-mer) -->
+    <territory id="NC" countryCode="687" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Niger -->
+    <!-- http://www.itu.int/oth/T020200009B/en -->
+    <territory id="NE" countryCode="227" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="([029]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            [29]|
+            09
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(08)(\d{3})(\d{3})">
+          <leadingDigits>08</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[029]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Adding 20 61 from online numbers. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>20201234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added 90 and 97 from online data. Zain have confirmed that they use the 97 prefix. -->
+        <nationalNumberPattern>9[03467]\d{6}</nationalNumberPattern>
+        <exampleNumber>93123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>08\d{6}</nationalNumberPattern>
+        <exampleNumber>08123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>09\d{6}</nationalNumberPattern>
+        <exampleNumber>09123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Norfolk Island -->
+    <territory id="NF" countryCode="672" internationalPrefix="00">
+    </territory>
+
+    <!-- Nigeria -->
+    <!-- http://www.itu.int/oth/T020200009C/en -->
+    <territory id="NG" countryCode="234" internationalPrefix="009"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([129])(\d{3})(\d{3,4})">
+          <leadingDigits>[129]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([3-8]\d)(\d{3})(\d{2,3})">
+          <leadingDigits>
+            [3-6]|
+            7(?:
+              [1-79]|
+              0[1-9]
+            )|
+            8[2-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([78]\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>
+            70|
+            8[01]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([78]00)(\d{4})(\d{4,5})">
+          <leadingDigits>[78]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([78]00)(\d{5})(\d{5,6})">
+          <leadingDigits>[78]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(78)(\d{2})(\d{3})">
+          <leadingDigits>78</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-69]\d{5,8}|
+          [78]\d{5,13}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,14}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          [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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- More 81X prefixes have been added based on online numbers. -->
+        <nationalNumberPattern>
+          (?:
+            70(?:
+              [3-9]\d|
+              2[1-9]
+            )|
+            8(?:
+              0[2-9]|
+              1[23689]
+            )\d
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8021234567</exampleNumber>
+      </mobile>
+      <!-- Info on these numbers from http://www.alphatechnologieslimited.com. -->
+      <tollFree>
+        <nationalNumberPattern>800\d{7,11}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,14}</possibleNumberPattern>
+        <exampleNumber>80017591759</exampleNumber>
+      </tollFree>
+      <personalNumber>
+        <nationalNumberPattern>700\d{7,11}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,14}</possibleNumberPattern>
+        <exampleNumber>7001234567</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Nicaragua -->
+    <territory id="NI" countryCode="505" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Netherlands -->
+    <!-- http://en.wikipedia.org/wiki/%2B31 -->
+    <!-- http://www2.opta.nl/asp/en/numbers/ -->
+    <territory id="NL" countryCode="31" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            1[035]|
+            2[0346]|
+            3[03568]|
+            4[0356]|
+            5[0358]|
+            7|
+            8[458]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([1-5]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            1[16-8]|
+            2[259]|
+            3[124]|
+            4[17-9]|
+            5[124679]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(6)(\d{8})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([89]0\d)(\d{4,7})">
+          <leadingDigits>
+            80|
+            9
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1[0135-8]|
+            2[02-69]|
+            3[0-68]|
+            4[0135-9]|
+            [57]\d|
+            8[478]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>101234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[1-58]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[069]\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>9001234</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>85\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </voip>
+    </territory>
+
+    <!-- Norway -->
+    <!--
+    http://www.npt.no/portal/page/portal/PG_NPT_NO_EN/PAG_NPT_EN_HOME/PAG_RESOURCE_TEXT -->
+    <territory id="NO" countryCode="47" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="([489]\d{2})(\d{2})(\d{3})">
+          <leadingDigits>[489]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([235-7]\d)(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[235-7]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          0\d{4}|
+          [2-9]\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5}(?:\d{3})?</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes some 810 local-rate numbers, and long-distance rate numbers, as well as the
+             5-digit country-wide numbers used by businesses that begin with 0. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            4[015-8]|
+            9\d
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>41234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[01]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>82[09]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>82012345</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          810(?:
+            0[0-6]|
+            [2-8]\d
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>81021234</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>880\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>88012345</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Nepal -->
+    <!-- http://www.itu.int/oth/T0202000095/en -->
+    <!-- http://www.ntc.net.np/mobile/mob_postpaid_number_scheme.php -->
+    <territory id="NP" countryCode="977" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(1)([4-6]\d{3})(\d{3})">
+          <leadingDigits>1[4-6]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            1[01]|
+            [2-8]|
+            9[1-79]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Format is from http://www.fco.gov.uk/en/travel-and-living-abroad/travel-advice-by-country/country-profile/asia-oceania/nepal/ -->
+        <numberFormat pattern="(98[45])(\d{3})(\d{4})">
+          <leadingDigits>98</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-8]\d{5,7}|
+          98[45]\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>14567890</exampleNumber>
+      </fixedLine>
+      <!-- There is no definitive source of information for mobile numbers in Nepal. The infomation
+           here is collected by searching the Internet. -->
+      <mobile>
+        <nationalNumberPattern>98[45]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9841234567</exampleNumber>
+      </mobile>
+      <!-- No information on other types of phone numbers for Nepal has been found. -->
+    </territory>
+
+    <!-- Nauru -->
+    <territory id="NR" countryCode="674" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Niue -->
+    <!-- http://www.itu.int/oth/T02020000EC/en -->
+    <territory id="NU" countryCode="683" internationalPrefix="00">
+      <!-- Numbers are always formatted as a block. -->
+      <generalDesc>
+        <nationalNumberPattern>[1-5]\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Putting FWT (fixed-wireless-terminals) numbers here too. -->
+        <nationalNumberPattern>[34]\d{3}</nationalNumberPattern>
+        <exampleNumber>4002</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[125]\d{3}</nationalNumberPattern>
+        <exampleNumber>1234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- New Zealand -->
+    <!-- http://www.itu.int/oth/T0202000099/en -->
+    <!-- Includes Ross Dependency, Antarctica -->
+    <!-- Does not currently support 083 "Enhanced voice services", New Zealand direct service
+         numbers and 050 "Nation-Wide Service". -->
+    <territory id="NZ" countryCode="64" internationalPrefix="0(?:0|161)"
+               preferredInternationalPrefix="00" nationalPrefix="0"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([34679])(\d{3})(\d{4})">
+          <leadingDigits>
+            [3467]|
+            9[1-9]
+          </leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <!-- Mobile numbers do not have exclusive leading digits - formatting depends on number
+             length. -->
+        <!-- Vodafone numbers are formatted with 021 separated. -->
+        <numberFormat pattern="(21)(\d{4})(\d{3,4})">
+          <leadingDigits>21</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Adding in the toll free numbers here as well since they follow the same format. -->
+        <numberFormat pattern="([2589]\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>
+            2[0247-9]|
+            5|
+            [89]00
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Vodafone and Orcon numbers can also be 8 digits (without leading 0), and these are
+             formatted differently. -->
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>2[0169]|86</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Antarctica -->
+        <numberFormat pattern="(24099)(\d{3})">
+          <leadingDigits>240</leadingDigits>
+          <leadingDigits>2409</leadingDigits>
+          <leadingDigits>24099</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          6[235-9]\d{6}|
+          [2-57-9]\d{7,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3[2-79]|
+            [49][2-689]|
+            6[235-9]|
+            7[2-589]
+          )\d{6}|
+          24099\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>32345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Includes mobile radio service numbers. -->
+        <nationalNumberPattern>
+          2(?:
+            [079]\d{7}|
+            1(?:
+              0\d{5,7}|
+              [12]\d{5,6}|
+              [3-9]\d{5}
+            )|
+            [28]\d{7,8}|
+            4[1-9]\d{6}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+        <exampleNumber>211234567</exampleNumber>
+      </mobile>
+      <pager>
+          <nationalNumberPattern>[28]6\d{6,7}</nationalNumberPattern>
+          <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+          <exampleNumber>26123456</exampleNumber>
+      </pager>
+      <!-- These are the toll free patterns used, by Telecom and Telstra/Clear, but they are
+           referred to as 'Value-added service' in the phone plan for some reason. 85 numbers are
+           not covered, as telecom companies don't seem to support them yet. -->
+      <tollFree>
+        <nationalNumberPattern>
+          508\d{6,7}|
+          80\d{6,8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,11}</possibleNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Oman -->
+    <!-- http://www.itu.int/oth/T020200009F/en -->
+    <territory id="OM" countryCode="968" internationalPrefix="00" >
+      <availableFormats>
+        <numberFormat pattern="(2\d)(\d{6})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(9\d{3})(\d{4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([58]00)(\d{4,6})">
+          <leadingDigits>[58]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          (?:
+            2[3-6]|
+            5|
+            9[2-9]
+          )\d{6}|
+          800\d{5,6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2[3-6]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>23123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>92123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- Link to document about toll-free numbers on www.tra.gov.om, which suggests they should
+             be 8007 followed by 4 digits. However, the only examples I can find, including the
+             customer help line for the main telephony company there (omantel), is 8007 followed by
+             5 digits, so am allowing both for now to be on the safe side. 500 numbers seem to offer
+             international toll-free dialing numbers - +968 500 1300 for international help desk for
+             omantel, for example. -->
+        <nationalNumberPattern>
+          8007\d{4,5}|
+          500\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>80071234</exampleNumber>
+      </tollFree>
+      <!-- No premiumRate information can be found. -->
+    </territory>
+
+    <!-- Panama -->
+    <territory id="PA" countryCode="507" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Peru -->
+    <!-- http://www.itu.int/oth/T02020000A6/en -->
+    <!-- http://en.wikipedia.org/wiki/+51 -->
+    <territory id="PE" countryCode="51" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($FG)"
+               preferredExtnPrefix=" Anexo ">
+      <availableFormats>
+        <numberFormat pattern="(1)(\d{7})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([4-8]\d)(\d{6})">
+          <leadingDigits>[4-8]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- Formatting from common usage found on the internet, supported by ITU doc. -->
+        <numberFormat pattern="(9\d{2})(\d{3})(\d{3})"
+                      nationalPrefixFormattingRule="$FG">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[14-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1\d|
+            4[1-4]|
+            5[1-46]|
+            6[1-7]|
+            7[2-46]|
+            8[2-4]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>11234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- French Polynesia (Tahiti) (Territoire français d'outre-mer) -->
+    <territory id="PF" countryCode="689" internationalPrefix="00">
+    </territory>
+
+    <!-- Papua New Guinea -->
+    <!-- http://www.itu.int/oth/T02020000A4/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B675 -->
+    <territory id="PG" countryCode="675" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>[1-689]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(7[1-36]\d)(\d{2})(\d{3})">
+          <leadingDigits>7[1-36]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Fixed line patterns are from the numbering plan, with additions for 4XX since many
+             numbers in the yellow pages seem to be outside the 47X range prescribed by the plan.
+             The same applies to extra 64X numbers. -->
+        <nationalNumberPattern>
+          (?:
+            3\d{2}|
+            4[257]\d|
+            5[34]\d|
+            6(?:
+              29|
+              4[1-9]
+            )|
+            85[02-46-9]|
+            9[78]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>3123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Mobile number patterns from the numbering plan are included here,
+        as well as 68x from wikipedia. -->
+        <nationalNumberPattern>
+          (?:
+            68|
+            7(?:
+              [126]\d|
+              3[1-9]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>6812345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>180\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>1801234</exampleNumber>
+      </tollFree>
+      <voip>
+        <!-- VSAT prefixes are here. -->
+        <nationalNumberPattern>275\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>2751234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Philippines -->
+    <!-- http://en.wikipedia.org/wiki/%2B63 -->
+    <territory id="PH" countryCode="63" internationalPrefix="00"
+               nationalPrefix="0">
+      <availableFormats>
+        <!--Area code separated from number. Area codes found here:
+        http://en.wikipedia.org/wiki/Telecommunications_in_the_Philippines#Area_Codes -->
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(2)(\d{3})(\d{4})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d{4})(\d{5})">
+          <leadingDigits>
+            3(?:
+              23|
+              39|
+              46
+            )|
+            4(?:
+              2[3-6]|
+              [35]9|
+              4[26]|
+              76
+            )|
+            5(?:
+              22|
+              44
+            )|
+            642|
+            8(?:
+              62|
+              8[245]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            3(?:
+              230|
+              397|
+              461
+            )|
+            4(?:
+              2(?:
+                35|
+                [46]4|
+                51
+              )|
+              396|
+              4(?:
+                22|
+                63
+              )|
+              59[347]|
+              76[15]
+            )|
+            5(?:
+              221|
+              446
+            )|
+            642[23]|
+            8(?:
+              622|
+              8(?:
+                [24]2|
+                5[13]
+              )
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d{5})(\d{4})">
+          <leadingDigits>
+            346|
+            4(?:
+              27|
+              9[35]
+            )|
+            883
+          </leadingDigits>
+          <leadingDigits>
+            3469|
+            4(?:
+              279|
+              9(?:
+                30|
+                56
+              )
+            )|
+            8834
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- This rule is a fallback for the more specific area codes. -->
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="([3-8]\d)(\d{3})(\d{4})">
+          <leadingDigits>[3-8]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG"
+          pattern="(9\d{2})(\d{3})(\d{4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Formatting from http://www.uniontelecard.com/calling-guides/philippines/guide1.aspx -->
+        <numberFormat pattern="(1800)(\d{3})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(1800)(\d{1,2})(\d{3})(\d{4})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-9]\d{7,9}|
+          1800\d{7,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,13}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2|
+            3[2-68]|
+            4[2-9]|
+            5[2-6]|
+            6[2-58]|
+            7[24578]|
+            8[2-8]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          9(?:
+            0[5-9]|
+            1[025-9]|
+            2[0-36-9]|
+            3[0235-9]|
+            7[349]|
+            [89]9
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9051234567</exampleNumber>
+      </mobile>
+      <!-- Information on toll-free numbers collected from searching the internet -->
+      <tollFree>
+        <nationalNumberPattern>1800\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11,13}</possibleNumberPattern>
+        <exampleNumber>180012345678</exampleNumber>
+      </tollFree>
+      <!-- No information can be found about other types of numbers (such as premium rate) in the
+           Philippines. -->
+    </territory>
+
+    <!-- Pakistan -->
+    <!-- http://www.itu.int/oth/T02020000A1/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B92 -->
+    <territory id="PK" countryCode="92" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <!-- Universal Access Numbers (UAN) number format patterns first, so that these numbers are
+             formatted nicely by the AYTF. -->
+        <numberFormat pattern="(\d{2})(111)(\d{3})(\d{3})">
+          <leadingDigits>
+            (?:
+              2[125]|
+              4[0-246-9]|
+              5[1-35-7]|
+              6[1-8]|
+              7[14]|
+              8[16]|
+              91
+            )1
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[125]|
+              4[0-246-9]|
+              5[1-35-7]|
+              6[1-8]|
+              7[14]|
+              8[16]|
+              91
+            )11
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[125]|
+              4[0-246-9]|
+              5[1-35-7]|
+              6[1-8]|
+              7[14]|
+              8[16]|
+              91
+            )111
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(111)(\d{3})(\d{3})">
+          <leadingDigits>
+            2[349]|
+            45|
+            54|
+            60|
+            72|
+            8[2-5]|
+            9[2-9]
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[349]|
+              45|
+              54|
+              60|
+              72|
+              8[2-5]|
+              9[2-9]
+            )\d1
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[349]|
+              45|
+              54|
+              60|
+              72|
+              8[2-5]|
+              9[2-9]
+            )\d11
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[349]|
+              45|
+              54|
+              60|
+              72|
+              8[2-5]|
+              9[2-9]
+            )\d111
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{7,8})">
+          <leadingDigits>
+            (?:
+              2[125]|
+              4[0-246-9]|
+              5[1-35-7]|
+              6[1-8]|
+              7[14]|
+              8[16]|
+              91
+            )[2-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{6,7})">
+          <leadingDigits>
+            2[349]|
+            45|
+            54|
+            60|
+            72|
+            8[2-5]|
+            9[2-9]
+          </leadingDigits>
+          <leadingDigits>
+            (?:
+              2[349]|
+              45|
+              54|
+              60|
+              72|
+              8[2-5]|
+              9[2-9]
+            )\d[2-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(3\d{2})(\d{7})" nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([15]\d{3})(\d{5,6})">
+          <leadingDigits>
+            58[12]|
+            1
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- This is from online examples. -->
+        <numberFormat pattern="(586\d{2})(\d{5})">
+          <leadingDigits>586</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([89]00)(\d{3})(\d{2})" nationalPrefixFormattingRule="$NP$FG">
+          <leadingDigits>[89]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- This is horribly complex because the country code is 92, and several area codes start
+             with 92, and the number length is widely variable. -->
+        <nationalNumberPattern>
+          1\d{8}|
+          [2-8]\d{5,11}|
+          9(?:
+            [013-9]\d{4,9}|
+            2\d(?:
+              111\d{6}|
+              \d{3,7}
+            )
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The subscriber number length is not well defined for some area codes. From online
+             examples, we have come up with a heuristic that for 3-digit area codes, the subscriber
+             number will be 6 or 7 digits - for 2-digit area codes it will be 7, with the exceptions
+             of Karachi and Lahore (both 8). -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+        <exampleNumber>2123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          3(?:
+            0\d|
+            1[2-5]|
+            2[1-3]|
+            3[1-6]|
+            4[2-6]|
+            64
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>3012345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+      <!-- These are referred to as UPT numbers in the plan. -->
+      <personalNumber>
+        <nationalNumberPattern>122\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <!-- The example number here is the test number from the plan. -->
+        <exampleNumber>122044444</exampleNumber>
+      </personalNumber>
+      <uan>
+        <!-- Data on what a UAN is is hard to come by. http://www.ptcl.com.pk has information under
+             http://www.ptcl.com.pk/contentb.php?NID=143#uan - which defines their format - but not
+             what type of number they are.  We exclude Azad Jammu, Kashmir and Northern Areas here
+             since no online example UANs can be found, and they have an "access code" at the start,
+             making it difficult to guess what a UAN in these areas would look like. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              [125]|
+              3[2358]|
+              4[2-4]|
+              9[2-8]
+            )|
+            4(?:
+              [0-246-9]|
+              5[3479]
+            )|
+            5(?:
+              [1-35-7]|
+              4[2-467]
+            )|
+            6(?:
+              [1-8]|
+              0[468]
+            )|
+            7(?:
+              [14]|
+              2[236]
+            )|
+            8(?:
+              [16]|
+              2[2-689]|
+              3[23578]|
+              4[3478]|
+              5[2356]
+            )|
+            9(?:
+              1|
+              22|
+              3[27-9]|
+              4[2-6]|
+              6[3569]|
+              9[2-7]
+            )
+          )111\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{11,12}</possibleNumberPattern>
+        <exampleNumber>21111825888</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Poland -->
+    <!-- http://en.wikipedia.org/wiki/%2B48 -->
+    <!--
+    http://www.uke.gov.pl/uke/index.jsp?place=Lead24&news_cat_id=277&news_id=3791&layout=9&page=text
+    (in Polish) -->
+    <territory id="PL" countryCode="48" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>
+            [124]|
+            3[2-4]|
+            5[24-689]|
+            6[1-3578]|
+            7[14-7]|
+            8[1-79]|
+            9[145]
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <!-- We are formatting 70 numbers as per mobile numbers, based on information from some
+             Poles that this is more usual. -->
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>
+            39|
+            5[013]|
+            6[069]|
+            7[0289]|
+            8[08]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5[013]|
+            6[069]|
+            7[289]|
+            88
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>512345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>70\d{7}</nationalNumberPattern>
+        <exampleNumber>701234567</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>801\d{6}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>39\d{7}</nationalNumberPattern>
+        <exampleNumber>391234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Saint Pierre and Miquelon (Collectivité territoriale de la République française) -->
+    <territory id="PM" countryCode="508" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Puerto Rico -->
+    <!-- http://www.itu.int/oth/T02020000AA/en -->
+    <territory id="PR" countryCode="1" leadingDigits="787|939"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[789]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            787|
+            939
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>7872345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            787|
+            939
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>7872345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Palestinian Authority -->
+    <!-- http://en.wikipedia.org/wiki/%2B970 -->
+    <!-- http://www.wtng.info/wtng-970-ps.html -->
+    <!-- http://www.paltel.ps -->
+    <!-- Palestinian phone numbers can be reached through the Israeli country code (972) in addition
+         to the Palestinian country code (970) and so Palestinian landlines and mobile lines are a
+         subset of the Israeli formats. -->
+    <territory id="PS" countryCode="970" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([2489])(2\d{2})(\d{4})">
+          <leadingDigits>[2489]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(5[69]\d)(\d{3})(\d{3})">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(1[78]00)(\d{3})(\d{3})">
+          <leadingDigits>1[78]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- 4 and 5 digit premium numbers will be formatted as one block by default. -->
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [24589]\d{7,8}|
+          1(?:
+            [78]\d{8}|
+            [49]\d{2,3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            22[234789]|
+            42[45]|
+            82[01458]|
+            92[369]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>22234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>5[69]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>599123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- According to Paltel, premium numbers are 14xx and 19xxx -->
+        <nationalNumberPattern>
+          1(?:
+            4|
+            9\d
+           )\d{2}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{4,5}</possibleNumberPattern>
+        <exampleNumber>19123</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>1700\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1700123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Portugal -->
+    <!-- http://www.anacom.pt/render.jsp?categoryId=279098 -->
+    <territory id="PT" countryCode="351" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([2-46-9]\d{2})(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-46-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          2(?:
+            [12]\d|
+            [35][1-689]|
+            4[1-59]|
+            6[1-35689]|
+            7[1-9]|
+            8[1-69]|
+            9[1256]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          9(?:
+            [136]\d{2}|
+            2[124-79]\d|
+            4(?:
+              80|
+              9\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          4\d{8}|
+          80[02]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>71\d{7}</nationalNumberPattern>
+        <exampleNumber>712345678</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>808\d{6}</nationalNumberPattern>
+        <exampleNumber>808123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>30\d{7}</nationalNumberPattern>
+        <exampleNumber>301234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Palau -->
+    <territory id="PW" countryCode="680" internationalPrefix="011">
+    </territory>
+
+    <!-- Paraguay -->
+    <territory id="PY" countryCode="595" internationalPrefix="002"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Qatar -->
+    <!-- http://www.itu.int/oth/T02020000AB/en -->
+    <!-- http://wtng.info/wtng-qq.html -->
+    <territory id="QA" countryCode="974" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(8\d{2})(\d{4})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([3-7]\d{3})(\d{4})">
+          <leadingDigits>[3-7]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3-8]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>44\d{6}</nationalNumberPattern>
+        <exampleNumber>44123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            33|
+            55|
+            66|
+            77
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>33123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{4}</nationalNumberPattern>
+        <exampleNumber>8001234</exampleNumber>
+      </tollFree>
+      <!-- No premiumRate information can be found. -->
+    </territory>
+
+    <!-- Réunion (French Departments and Territories in the Indian Ocean) -->
+    <!-- Note this shares the same country code as La Mayotte and French Southern Territories, and
+         the formatting patterns here are used by all of them. -->
+    <!-- http://www.itu.int/oth/T020200004B/en -->
+    <territory id="RE" countryCode="262" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
+               leadingDigits="262|6[49]|8" mainCountryForCode="true" >
+      <availableFormats>
+        <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 0876 numbers are mentioned in the plan, but none in use can be found. -->
+        <nationalNumberPattern>262\d{6}</nationalNumberPattern>
+        <exampleNumber>262161234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          6(?:
+            9[23]|
+            47
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>692123456</exampleNumber>
+      </mobile>
+      <!-- 08* Numbers in Réunion are the same as those valid in France. -->
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>89[1-37-9]\d{6}</nationalNumberPattern>
+        <exampleNumber>891123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            1[019]|
+            2[0156]|
+            84|
+            90
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>810123456</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Romania -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000AC0001MSWE.doc -->
+    <!-- http://en.wikipedia.org/wiki/Romania_telephone_area_codes -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Romania -->
+    <!-- Extension prefix found online, confirmed by a Romanian. -->
+    <territory id="RO" countryCode="40" internationalPrefix="00"
+      nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
+      preferredExtnPrefix=" int ">
+      <availableFormats>
+        <numberFormat pattern="([237]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            [23]1|
+            7
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>
+            [23][02-9]|
+            [89]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[237-9]\d{8}</nationalNumberPattern>
+        <!-- Although the ITU plan says the number plan is open, this was changed in 2008 according
+             to wikipedia and people must dial the full number. For this reason the possible number
+             pattern is restricted to 9 digits. -->
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[23][13-6]\d{7}</nationalNumberPattern>
+        <exampleNumber>211234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[1-8]\d{7}</nationalNumberPattern>
+        <exampleNumber>712345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[036]\d{6}</nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>801\d{6}</nationalNumberPattern>
+        <exampleNumber>801123456</exampleNumber>
+      </sharedCost>
+      <personalNumber>
+        <nationalNumberPattern>802\d{6}</nationalNumberPattern>
+        <exampleNumber>802123456</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Serbia -->
+    <!-- http://www.itu.int/oth/T02020000B9/en -->
+    <territory id="RS" countryCode="381" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([23]\d{2})(\d{4,7})">
+          <leadingDigits>
+            (?:
+              2[389]|
+              39
+            )0
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([1-4]\d)(\d{4,8})">
+          <leadingDigits>
+            1|
+            2(?:
+              [0-24-7]|
+              [389][1-9]
+            )|
+            3(?:
+              [0-8]|
+              9[1-9]
+            )|
+            42
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(6[0-689])(\d{3,10})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([89]\d{2})(\d{3,6})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-46-9]\d{4,11}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[1-3]\d{6,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+        <exampleNumber>1012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[0-689]\d{3,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
+        <exampleNumber>6012345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{3,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>80012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            9[0-2]|
+            42
+          )\d{4,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>90012345</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Russian Federation -->
+    <!-- http://www.itu.int/oth/T02020000AD/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B7 -->
+    <territory id="RU" countryCode="7" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP ($FG)"
+               mainCountryForCode="true" >
+      <availableFormats>
+        <!-- Formatting from wikipedia, confirmed on Goverment websites such as
+             http://www.minjust.ru/ru/structure/contact/. Contains formatting instructions for
+             Kazakhstan as well. -->
+        <numberFormat pattern="([3489]\d{2})(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>[34689]</leadingDigits>
+          <format>$1 $2-$3-$4</format>
+        </numberFormat>
+        <numberFormat pattern="(7\d{2})(\d{3})(\d{4})">
+          <leadingDigits>7</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3489]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- The Ivanovo area code 493 was omitted on the official document, but this is still used
+             in the yellow pages, and on their own website and is listed on wikipedia. This applies
+             also to 395 (Irkutsk). Also including the 840 prefix for Abkhazia. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>3011234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9\d{9}</nationalNumberPattern>
+        <exampleNumber>9123456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- The metadata states that 804 numbers are UAN numbers, but
+             teleum.ru/numbers/toll_free_804 states that they are now being offered as toll-free
+             numbers. -->
+        <nationalNumberPattern>80[04]\d{7}</nationalNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- Covers tele-voting numbers as well. -->
+        <nationalNumberPattern>80[39]\d{7}</nationalNumberPattern>
+        <exampleNumber>8091234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Rwanda -->
+    <!-- http://www.rura.gov.rw/docs/RWANDA_NATIONAL_NUMBERING_PLAN.pdf -->
+    <territory id="RW" countryCode="250" internationalPrefix="000"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(25\d)(\d{3})(\d{3})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([7-9]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[7-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[27-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>25\d{7}</nationalNumberPattern>
+        <exampleNumber>250123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[258]\d{7}</nationalNumberPattern>
+        <exampleNumber>720123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{6}</nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Saudi Arabia -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Saudi_Arabia -->
+    <!-- http://www.itu.int/oth/T02020000B7/en -->
+    <territory id="SA" countryCode="966" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([1-467])(\d{3})(\d{4})">
+          <leadingDigits>[1-467]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9200)(\d{3})(\d{4})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(5\d)(\d{3})(\d{4})">
+          <leadingDigits>5</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{3})(\d{4})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(8111)(\d{3})(\d{3})">
+          <leadingDigits>81</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{7,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1[24-7]|
+            2[24-8]|
+            3[35-8]|
+            4[34-68]|
+            6[2-5]|
+            7[235-7]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Including "Nomadic" numbers from the Telecom Company "Go" -->
+        <nationalNumberPattern>
+          (?:
+            5[013-69]\d|
+            8111
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>512345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>9200\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>92001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Solomon Islands -->
+    <territory id="SB" countryCode="677" internationalPrefix="00">
+    </territory>
+
+    <!-- Seychelles -->
+    <!-- http://www.itu.int/oth/T02020000BA/en -->
+    <!-- No evidence can be found that they still use their national prefix, so this is not
+         currently supported. -->
+    <territory id="SC" countryCode="248" internationalPrefix="0[0-2]"
+      preferredInternationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})">
+          <leadingDigits>
+            [23578]|
+            [46][0-35-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})">
+          <leadingDigits>[46]4</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-8]\d{5,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes Fixed Cellular. We are putting Fixed Services numbers here for now, as we
+             cannot find any evidence that they are more expensive to call than other Fixed Line
+             services. ISDN and DID services are here too, since they seem to be also fixed-line
+             phone numbers. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>217123</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            5(?:
+              [1247-9]\d|
+              6[3-9]
+            )|
+            7(?:
+              [14679]\d|
+              2[1-9]|
+              8[24-79]
+            )
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>510123</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>8000\d{2}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>800000</exampleNumber>
+      </tollFree>
+      <voip>
+        <nationalNumberPattern>
+          (?:
+            44[1-3]|
+            647
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <exampleNumber>4410123</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Sudan -->
+    <!-- http://www.itu.int/oth/T02020000C4/en -->
+    <territory id="SD" countryCode="249" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[19]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Retaining previous prefix as 18 since it seems still to be used. -->
+        <nationalNumberPattern>
+          1(?:
+            [25]\d|
+            8[3567]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>121231234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[1259]\d{7}</nationalNumberPattern>
+        <exampleNumber>911231234</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Sweden -->
+    <!-- http://www.pts.se/upload/Ovrigt/Tele/Nummerfragor/Sv_nrplan_telefoni_enl_TU-T_rek_E.164.pdf -->
+    <!-- Formatting patterns are from that document and from the Swedish yellow pages
+         http://gulasidorna.eniro.se -->
+    <territory id="SE" countryCode="46" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(8)(\d{2,3})(\d{2,3})(\d{2})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1-$2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(8)(\d{2,3})(\d{2,3})(\d{2})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <numberFormat pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})">
+          <leadingDigits>
+            1[013689]|
+            2[0136]|
+            3[1356]|
+            4[0246]|
+            54|
+            6[03]|
+            90
+          </leadingDigits>
+          <format>$1-$2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})">
+          <leadingDigits>
+            1[013689]|
+            2[0136]|
+            3[1356]|
+            4[0246]|
+            54|
+            6[03]|
+            90
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <numberFormat pattern="([1-69]\d)(\d{3})(\d{2})">
+          <leadingDigits>
+            1[13689]|
+            2[136]|
+            3[1356]|
+            4[0246]|
+            54|
+            6[03]|
+            90
+          </leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="([1-69]\d)(\d{3})(\d{2})">
+          <leadingDigits>
+            1[13689]|
+            2[136]|
+            3[1356]|
+            4[0246]|
+            54|
+            6[03]|
+            90
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1-$2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(\d{3})(\d{2,3})(\d{2})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{2,3})(\d{2})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(7[02-467])(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>7[02-467]</leadingDigits>
+          <format>$1-$2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(7[02-467])(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>7[02-467]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(20)(\d{2,3})(\d{2})">
+          <leadingDigits>20</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(20)(\d{2,3})(\d{2})">
+          <leadingDigits>20</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <numberFormat pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})">
+          <leadingDigits>9[034]</leadingDigits>
+          <format>$1-$2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})">
+          <leadingDigits>9[034]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{7,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+        <exampleNumber>8123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[02-46]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>701234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>20\d{4,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+        <exampleNumber>201234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          9(?:
+            00|
+            39|
+            44
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>77\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>771234567</exampleNumber>
+      </sharedCost>
+    </territory>
+
+    <!-- Singapore -->
+    <!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx -->
+    <territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]">
+      <availableFormats>
+        <numberFormat pattern="([3689]\d{3})(\d{4})">
+          <leadingDigits>
+            [369]|
+            8[1-9]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(1[89]00)(\d{3})(\d{4})">
+          <leadingDigits>1[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(7000)(\d{4})(\d{3})">
+          <leadingDigits>70</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{3})(\d{4})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- We have a stricter national number pattern for numbers beginning with 6 to enable us to
+             easily strip off leading "65" country codes. -->
+        <nationalNumberPattern>
+          [36]\d{7}|
+          [17-9]\d{7,10}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>6[1-8]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>61234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            8[1-5]|
+            9[0-8]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>81234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1?800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+        <exampleNumber>18001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>1900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>19001234567</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>3[0-2]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>31234567</exampleNumber>
+      </voip>
+      <uan>
+        <!-- Although not detailed in the plan beyond mentioning their existence, it seems 7000
+             numbers are used for companies. Most of the online examples are in fact alpha-numbers.
+             -->
+        <nationalNumberPattern>7000\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+        <exampleNumber>70001234567</exampleNumber>
+      </uan>
+      <shortCode>
+        <nationalNumberPattern>
+          1(?:
+            [0136]\d{2}|
+            41\d|
+            [89](?:
+              [1-9]\d|
+              0[1-9]
+            )|
+            [57]\d{2,3})|
+          99\d
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,5}</possibleNumberPattern>
+        <exampleNumber>1312</exampleNumber>
+      </shortCode>
+    </territory>
+
+    <!-- Saint Helena and Tristan da Cunha -->
+    <!-- http://www.itu.int/oth/T02020000AF/en -->
+    <territory id="SH" countryCode="290" internationalPrefix="00">
+      <!-- Numbers are formatted as a block. -->
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [2-468]\d|
+            7[01]
+          )\d{2}
+        </nationalNumberPattern>
+        <!-- Using St Helena Tourism as the example number. -->
+        <exampleNumber>2158</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>NA</nationalNumberPattern>
+        <possibleNumberPattern>NA</possibleNumberPattern>
+      </mobile>
+      <premiumRate>
+        <nationalNumberPattern>
+          (?:
+            [59]\d|
+            7[2-9]
+          )\d{2}
+        </nationalNumberPattern>
+        <exampleNumber>5012</exampleNumber>
+      </premiumRate>
+      <shortCode>
+        <nationalNumberPattern>1\d{2,3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{3,4}</possibleNumberPattern>
+      </shortCode>
+    </territory>
+
+    <!-- Slovenia -->
+    <!-- http://www.itu.int/oth/T02020000BE/en -->
+    <territory id="SI" countryCode="386" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+          pattern="(\d)(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>
+            [12]|
+            3[4-8]|
+            4[24-8]|
+            5[3-8]|
+            7[3-8]
+          </leadingDigits>
+          <format>$1 $2 $3 $4</format>
+          </numberFormat>
+        <numberFormat pattern="([3-7]\d)(\d{3})(\d{3})">
+          <leadingDigits>
+            [37][01]|
+            4[019]|
+            51|
+            64
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+          </numberFormat>
+        <numberFormat pattern="([89][09])(\d{3,6})">
+          <leadingDigits>[89][09]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([58]\d{2})(\d{5})">
+          <leadingDigits>
+            59|
+            8[1-3]
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [1-7]\d{6,7}|
+          [89]\d{4,7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1\d|
+            2[2-8]|
+            3[4-8]|
+            4[24-8]|
+            [57][3-8]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+        <exampleNumber>11234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- We include 049 here - it is VoIP in the plan, but SMS messages have been successfully
+             delivered - and it is run by Mobitel. There are also mobile numbers found on the
+             internet with this prefix - it is apparently used in Kosovo. -->
+        <nationalNumberPattern>
+          (?:
+            [37][01]|
+            4[019]|
+            51|
+            64
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>31234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{4,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <!-- Includes televoting, mass calling -->
+        <nationalNumberPattern>
+          90\d{4,6}|
+          89[1-3]\d{2,5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
+        <exampleNumber>90123456</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>
+          (?:
+            59|
+            8[1-3]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>59012345</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Slovakia -->
+    <!-- http://www.itu.int/oth/T02020000BD/en -->
+    <territory id="SK" countryCode="421" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(2)(\d{3})(\d{3})(\d{2})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1/$2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([3-5]\d)(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>[3-5]</leadingDigits>
+          <format>$1/$2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="([689]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[689]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-689]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2-5]\d{8}</nationalNumberPattern>
+        <exampleNumber>212345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 948 isn't in the number pattern, but many examples using this have been found, so
+             deeming it valid for now. -->
+        <nationalNumberPattern>
+          9(?:
+            0[1-8]|
+            1[0-24-9]|
+            4[0489]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>912123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>
+          9(?:
+            [78]\d{7}|
+            00\d{6}
+          )
+        </nationalNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>8[5-9]\d{7}</nationalNumberPattern>
+        <exampleNumber>850123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>
+          6(?:
+            5[0-4]|
+            9[0-6]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>690123456</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Sierra Leone -->
+    <!-- http://www.itu.int/oth/T02020000BB/en -->
+    <territory id="SL" countryCode="232" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <!-- Following formatting of online yellow pages www.leonedirect.com -->
+             <numberFormat pattern="(\d{2})(\d{6})">
+               <format>$1 $2</format>
+             </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[235]2[2-4][2-9]\d{4}</nationalNumberPattern>
+        <exampleNumber>22221234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding prefix 50 because it was found in online numbers and this is supported by
+             http://www.wtng.info/wtng-232-sl.html - although the data may be outdated, since no
+             further information about Datatel can be found. -->
+        <nationalNumberPattern>
+          (?:
+            25|
+            3[03]|
+            44|
+            5[056]|
+            7[6-8]|
+            88
+          )[1-9]\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>25123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- San Marino -->
+    <!-- http://www.itu.int/oth/T02020000B5/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B39 (Information about Italy) -->
+    <!-- http://en.wikipedia.org/wiki/%2B378-->
+    <!-- San Marino fixed-line numbers have an area code of "0549". However, this seems to be
+         optional when dialling from outside the country; the phone number can be reached both with
+         and without this area code. The nationalPrefixForParsing and nationalPrefixTransformRule
+         are used to ensure that if the 0549 is not present, it will be added. -->
+    <territory id="SM" countryCode="378" internationalPrefix="00"
+      nationalPrefixForParsing="(?:0549)?([89]\d{5})" nationalPrefixTransformRule="0549$1"
+      leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[5-7]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <leadingDigits>[5-7]</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <!-- We follow the guidelines of the yellow-pages when formatting in national format. -->
+        <numberFormat pattern="(0549)(\d{6})">
+          <leadingDigits>0</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- We follow the guidelines of the Telecommunications Document published on ITU when
+             formatting in international format. -->
+        <intlNumberFormat pattern="(0549)(\d{6})">
+          <leadingDigits>0</leadingDigits>
+          <format>($1) $2</format>
+        </intlNumberFormat>
+        <!-- A rule in case the number has been stored without the leading 0549 necessary for
+             fixed-lines. -->
+        <numberFormat pattern="(\d{6})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>0549 $1</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{6})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>(0549) $1</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[05-7]\d{7,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <!-- Example numbers provided by the Telecommunications Services. -->
+      <fixedLine>
+        <nationalNumberPattern>
+          0549(?:
+            8[0157-9]|
+            9\d
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>0549886377</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6[16]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>66661212</exampleNumber>
+      </mobile>
+      <premiumRate>
+        <!-- Includes Video Call numbers. -->
+        <nationalNumberPattern>7[178]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>71123456</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>5[158]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>58001110</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Senegal -->
+    <!-- http://www.itu.int/oth/T02020000B8/en -->
+    <territory id="SN" countryCode="221" internationalPrefix="00">
+      <availableFormats>
+        <!-- Using yellow pages and online telecom company formatting, rather than that implied in
+             the national numbering plan. -->
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[37]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          3(?:
+            010|
+            3(?:
+              8[1-9]|
+              9[2-9]
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>301012345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 77 7[45]X and 77 9[0-6]X from online searches and from numbers successfully
+             delivered by the wireless team. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>701012345</exampleNumber>
+      </mobile>
+      <voip>
+        <nationalNumberPattern>33301\d{4}</nationalNumberPattern>
+        <exampleNumber>333011234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Somalia -->
+    <!-- http://www.itu.int/oth/T02020000C0/en -->
+    <!-- This document seems to cover only a small set of prefixes in Somalia.
+    Somalia has limited information available, and the numerous telecom carriers
+    were previously working under an unregulated environment. The extra prefixes
+    were added from the contact phone numbers of the countries main telecom
+    operators. See regression tests for more details. -->
+    <territory id="SO" countryCode="252" internationalPrefix="00">
+      <availableFormats>
+        <!-- These follow formats online, such as www.hortel.net/contact_us.html -->
+        <numberFormat pattern="([13-5])(\d{6})">
+          <leadingDigits>[13-5]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <!-- Unfortunately numbers beginning with 1 are hard to format based on prefixes, since it
+             depends on number length. -->
+        <numberFormat pattern="([19]\d)(\d{6})">
+          <leadingDigits>15|9</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13-59]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            5[57-9]|
+            [134]\d
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+        <!-- Example numbers are test numbers from the document. -->
+        <exampleNumber>5522010</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            9[01]|
+            15
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>90792024</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Suriname -->
+    <territory id="SR" countryCode="597" internationalPrefix="00">
+    </territory>
+
+    <!-- Sao Tome and Principe -->
+    <!-- http://www.itu.int/oth/T02020000B6/en -->
+    <territory id="ST" countryCode="239" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[29]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>22\d{5}</nationalNumberPattern>
+        <exampleNumber>2221234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9[89]\d{5}</nationalNumberPattern>
+        <exampleNumber>9812345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- El Salvador -->
+    <territory id="SV" countryCode="503" internationalPrefix="00">
+    </territory>
+
+    <!-- Syrian Arab Republic -->
+    <!-- http://www.itu.int/oth/T02020000C9/en -->
+    <territory id="SY" countryCode="963" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+          <leadingDigits>[1-5]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9[3-689])(\d{4})(\d{3})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-59]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1(?:
+              1\d?|
+              4\d|
+              [2356]
+            )|
+            2[1-35]|
+            3(?:
+              1\d|
+              [34]
+            )|
+            4[13]|
+            5[1-3]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>112345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 945, 967 and 991 numbers are added as SMS messages have been successfully delivered to
+             these numbers, and they are also widely present on the Internet. -->
+        <nationalNumberPattern>
+          9(?:
+            3[23]|
+            4[457]|
+            55|
+            6[67]|
+            88|
+            9[19]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>944567890</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Swaziland -->
+    <!-- http://www.itu.int/oth/T02020000C6/en -->
+    <!-- Note this plan is scheduled to change in February 2011 so should be updated at that time.
+         -->
+    <territory id="SZ" countryCode="268" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <leadingDigits>[2-6]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <leadingDigits>[027]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[02-7]\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </generalDesc>
+      <noInternationalDialling>
+        <nationalNumberPattern>0800\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>08001234</exampleNumber>
+      </noInternationalDialling>
+      <fixedLine>
+        <!-- The leading optional 2 is because future changes to the fixed-line plan will be made by
+             prepending a two to fixed-line numbers. -->
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>2171234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            6|
+            7[6-8]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>76123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>0800\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>08001234</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Turks and Caicos Islands -->
+    <!-- http://www.itu.int/oth/T02020000D8/en -->
+    <territory id="TC" countryCode="1" leadingDigits="649"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[689]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          649(?:
+            712|
+            9(?:
+              4\d|
+              50
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>6497121234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          649(?:
+            2(?:
+              3[12]|
+              4[1-5]
+            )|
+            3(?:
+              3[1-39]|
+              4[1-57]
+            )|
+            4[34][12]
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>6492311234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>64971[01]\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>6497101234</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Chad -->
+    <!-- http://www.itu.int/oth/T0202000029/en -->
+    <!-- The international prefix includes 16 as the international manual exchange. -->
+    <territory id="TD" countryCode="235" preferredInternationalPrefix="00"
+         internationalPrefix="00|16">
+      <availableFormats>
+        <numberFormat
+          pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2679]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          22(?:
+            [3789]0|
+            5[0-5]|
+            6[89]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>22501234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Sotel Tchad "SALAM" (77 XX XX XX) is classified as a fixed operator in the plan, but it
+             also says numbers starting with 7 are mobile numbers. Putting under mobile for now.
+             Also adding 63[5-7] from evidence of successful SMS delivery. -->
+        <nationalNumberPattern>
+          (?:
+            6(?:
+              3[0-7]|
+              6\d
+            )|
+            77\d|
+            9(?:
+              5[0-4]|
+              9\d
+            )
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>63012345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- French Southern Territories -->
+    <territory id="TF" countryCode="262" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Togo -->
+    <!-- http://www.itu.int/oth/T02020000D1/en -->
+    <territory id="TG" countryCode="228" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[02-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[2-7]|
+            3[23]|
+            44|
+            55|
+            66|
+            77
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>2212345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Added prefix 09 because many mobile numbers were found with this. -->
+        <nationalNumberPattern>
+          (?:
+            0[1-9]|
+            7[56]|
+            8[1-7]|
+            9\d
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>0112345</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Thailand -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000CD0001MSWE.doc -->
+    <territory id="TH" countryCode="66" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- Formatting patterns from wikipedia and the document itself -
+        http://en.wikipedia.org/wiki/%2B66 -->
+        <numberFormat pattern="(2)(\d{3})(\d{4})">
+          <leadingDigits>2</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([3-7]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>[3-7]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(8)(\d{4})(\d{4})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(1[89]00)(\d{3})(\d{3})">
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-8]\d{7,8}|
+          1\d{9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[1-9]|
+            3[24-9]|
+            4[2-5]|
+            5[3-6]|
+            7[3-7]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- 8[02] numbers are added as SMS messages have been successfully delivered to these
+             numbers, and they are also widely present on the Internet. -->
+        <nationalNumberPattern>8\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>812345678</exampleNumber>
+      </mobile>
+      <!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number -->
+      <tollFree>
+        <nationalNumberPattern>1800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>1900\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>1900123456</exampleNumber>
+      </premiumRate>
+      <voip>
+        <nationalNumberPattern>60\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>601234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Tajikistan -->
+    <!-- http://www.itu.int/oth/T02020000CA/en -->
+    <territory id="TJ" countryCode="992" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([349]\d{2})(\d{2})(\d{4})">
+          <leadingDigits>
+            [34]7|
+            91[78]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([49]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            4[48]|
+            9(?:
+              19|
+              [0235-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(331700)(\d)(\d{2})">
+          <leadingDigits>331</leadingDigits>
+          <leadingDigits>3317</leadingDigits>
+          <leadingDigits>33170</leadingDigits>
+          <leadingDigits>331700</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d)(\d{4})">
+          <leadingDigits>3[1-5]</leadingDigits>
+          <leadingDigits>
+            3(?:
+              [1245]|
+              3(?:
+                [02-9]|
+                1[0-589]
+              )
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[349]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{3,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3(?:
+              1[3-5]|
+              2[245]|
+              31|
+              4[24-7]|
+              5[25]|
+              72
+            )|
+            4(?:
+              46|
+              74|
+              87
+            )
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>372123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 90 prefix as SMS messages could be successfully delivered to these mobile
+             numbers. -->
+        <nationalNumberPattern>9[0-35-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>917123456</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Tokelau -->
+    <territory id="TK" countryCode="690" internationalPrefix="00">
+    </territory>
+
+    <!-- Timor-Leste (East Timor) -->
+    <!-- http://www.itu.int/oth/T02020000D0/en -->
+    <territory id="TL" countryCode="670" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-47-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            2[1-5]|
+            3[1-9]|
+            4[1-4]
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>2112345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[2-4]\d{5}</nationalNumberPattern>
+        <exampleNumber>7212345</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{5}</nationalNumberPattern>
+        <exampleNumber>8012345</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{5}</nationalNumberPattern>
+        <exampleNumber>9012345</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>70\d{5}</nationalNumberPattern>
+        <exampleNumber>7012345</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Turkmenistan -->
+    <!-- http://www.itu.int/oth/T02020000D7/en -->
+    <territory id="TM" countryCode="993" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG">
+      <availableFormats>
+        <!-- There doesn't seem to be a standardized format. The format below is based on the
+             Turkmenistan embassy at
+             http://www.turkmenistanembassy.org/turkmen/info/contact.html -->
+          <numberFormat pattern="([1-6]\d)(\d{2})(\d{2})(\d{2})">
+            <format>$1 $2 $3 $4</format>
+          </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-6]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            12\d|
+            243|
+            [3-5]22
+          )\d{5}
+        </nationalNumberPattern>
+        <exampleNumber>12345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 68 as SMS messages have been successfully sent to numbers with this prefix. -->
+        <nationalNumberPattern>6[6-8]\d{6}</nationalNumberPattern>
+        <exampleNumber>66123456</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Tunisia -->
+    <!-- http://www.itu.int/oth/T02020000D5/en -->
+    <territory id="TN" countryCode="216" internationalPrefix="00">
+      <availableFormats>
+        <numberFormat pattern="([247-9]\d)(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[247-9]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>7\d{7}</nationalNumberPattern>
+        <exampleNumber>71234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            2[0-7]|
+            40|
+            9\d
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>20123456</exampleNumber>
+      </mobile>
+      <!-- These are listed as 'value added services' - pending further information, we add them
+           here for now. -->
+      <premiumRate>
+        <nationalNumberPattern>8[028]\d{6}</nationalNumberPattern>
+        <exampleNumber>80123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Tonga -->
+    <territory id="TO" countryCode="676" internationalPrefix="00">
+    </territory>
+
+    <!-- Turkey -->
+    <!-- http://en.wikipedia.org/wiki/%2B90 -->
+    <!-- http://www.itu.int/oth/T02020000D6/en -->
+    <territory id="TR" countryCode="90" internationalPrefix="00" nationalPrefix="0">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="($NP$FG)" pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>
+            [23]|
+            4(?:
+              [0-35-9]|
+              4[0-35-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$NP$FG" pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[589]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(444)(\d{1})(\d{3})">
+          <leadingDigits>444</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [2-589]\d{9}|
+          444\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Includes numbers starting with 392 for Northern Cyprus. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              [13][26]|
+              [28][2468]|
+              [45][268]|
+              [67][246]
+            )|
+            3(?:
+              [13][28]|
+              [24-6][2468]|
+              [78][02468]|
+              92
+            )|
+            4(?:
+              [16][246]|
+              [23578][2468]|
+              4[26]
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2123456789</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          5(?:
+            0[1-35-7]|
+            22|
+            3\d|
+            4[1-79]|
+            5[1-5]|
+            9[246]
+          )\d{7}
+          </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5012345678</exampleNumber>
+      </mobile>
+      <paging>
+        <nationalNumberPattern>512\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5123456789</exampleNumber>
+      </paging>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+      <uan>
+        <!-- http://www.turktelekom.com.tr/tt/portal/News/Archive/7-digit-special-service-number-starting-with-444 -->
+        <nationalNumberPattern>
+          444\d{4}|
+          850\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>4441444</exampleNumber>
+      </uan>
+    </territory>
+
+    <!-- Trinidad and Tobago -->
+    <!-- http://www.itu.int/oth/T02020000D4/en -->
+    <territory id="TT" countryCode="1" leadingDigits="868"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>[89]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          868(?:
+            2(?:
+              01|
+              2[1-4]
+            )|
+            6(?:
+              07|
+              1[4-6]|
+              2[1-9]|
+              [3-6]\d|
+              7[0-79]|
+              9[0-8]
+            )|
+            82[12]
+          )\d{4}
+        </nationalNumberPattern>
+        <exampleNumber>8682211234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8682911234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Tuvalu -->
+    <territory id="TV" countryCode="688" internationalPrefix="00">
+    </territory>
+
+    <!-- Taiwan, China -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000EB0003MSWE.doc -->
+    <!-- Extension symbols found on the internet so far have been #, X and Ext -
+         so # has been chosen as the preferred extension prefix. -->
+    <territory id="TW" countryCode="886" internationalPrefix="0(?:0[25679]|19)"
+               nationalPrefix="0" preferredExtnPrefix="#" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([2-8])(\d{3,4})(\d{4})">
+          <leadingDigits>
+            [2-7]|
+            8[1-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            80|
+            9
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2-8]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>21234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Tanzania -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000CB0001MSWE.doc -->
+    <territory id="TZ" countryCode="255" internationalPrefix="00[056]"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([24]\d)(\d{3})(\d{4})">
+          <leadingDigits>[24]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([67]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>[67]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Formatting for special numbers from www.tcra.go.tz -->
+        <numberFormat pattern="([89]\d{2})(\d{2})(\d{4})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2[2-8]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+        <exampleNumber>222345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            6[158]|
+            7[1-9]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80[08]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>
+          8(?:
+            40|
+            6[01]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>840123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>41\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>412345678</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Ukraine -->
+    <!-- http://www.itu.int/oth/T02020000DB/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B380 -->
+    <territory id="UA" countryCode="380" internationalPrefix="0~0"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- City codes separated out. No definitive list has been found of what constitutes the
+             area code - http://www.ua.all-biz.info/guide/phonecodes is useful but not error-free.
+             Have used local yellow pages guidelines, Google searches and regression tests to
+             reverse-engineer these rules as well as bugs. -->
+        <numberFormat pattern="([3-69]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            39|
+            4(?:
+              [45][0-5]|
+              87
+            )|
+            5(?:
+              0|
+              6[37]|
+              7[37]
+            )|
+            6[36-8]|
+            9[1-9]
+          </leadingDigits>
+          <leadingDigits>
+            39|
+            4(?:
+              [45][0-5]|
+              87
+            )|
+            5(?:
+              0|
+              6(?:
+                3[14-7]|
+                7
+              )|
+              7[37]
+            )|
+            6[36-8]|
+            9[1-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([3-689]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            3[1-8]2|
+            4[1378]2|
+            5(?:
+              [12457]2|
+              6[24]
+            )|
+            6(?:
+              [49]2|
+              [12][29]|
+              5[24]
+            )|
+            8|
+            90
+          </leadingDigits>
+          <leadingDigits>
+            3(?:
+              [1-46-8]2[013-9]|
+              52
+            )|
+            4[1378]2|
+            5(?:
+              [12457]2|
+              6[24]
+            )|
+            6(?:
+              [49]2|
+              [12][29]|
+              5[24]
+            )|
+            8|
+            90
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([3-6]\d{3})(\d{5})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[3-689]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            3[1-8]|
+            4[13-8]|
+            5[1-7]|
+            6[12459]
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>311234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            39|
+            50|
+            6[36-8]|
+            9[1-9]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>391234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Uganda -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000F10001MSWE.doc -->
+    <!-- http://www.ucc.co.ug/licensing/ugandaNumberingPlan.pdf -->
+    <territory id="UG" countryCode="256" internationalPrefix="00[057]"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([247-9]\d{2})(\d{6})">
+          <leadingDigits>
+            [7-9]|
+            200|
+            4(?:
+              6[45]|
+              [7-9]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([34]\d)(\d{7})">
+          <leadingDigits>
+            3|
+            4(?:
+              [1-5]|
+              6[0-36-9]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(2024)(\d{5})">
+          <leadingDigits>202</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          3\d{8}|
+          4(?:
+            [1-6]\d|
+            7[136]|
+            8[1356]|
+            96
+          )\d{6}|
+          20(?:
+            0\d|
+            24
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,9}</possibleNumberPattern>
+        <exampleNumber>312345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          7(?:
+            [1578]\d|
+            0[0-4]
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>712345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800[123]\d{5}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>90[123]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>901123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- United States -->
+    <!-- http://www.nanpa.com/reports/reports_npa.html -->
+    <!-- http://en.wikipedia.org/wiki/North_American_Numbering_Plan -->
+    <!-- Note the national prefix of US is the same as its country code, and when formatting phone
+         numbers in the national format, it is not included. Therefore, we omit it here to make
+         formatting consistent with the rest of the world. The same applies to all the
+         countries/regions under NANPA -->
+    <!-- The national prefix of "1" here is the same as the country code. It is not used by default
+         when formatting, but is set here so that users who are calling formatByPattern can specify
+         NationalPrefixFormattingRule if they want to. -->
+    <territory id="US" countryCode="1" internationalPrefix="011"
+      mainCountryForCode="true" nationalPrefix="1">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <format>($1) $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1-$2</format>
+        </numberFormat>
+        <!-- A different pattern is used when formatting internationally, as the area code is no
+             longer optional and should not be in brackets. -->
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <format>$1-$2-$3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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]|
+              58|
+              69|
+              7[0589]|
+              8[04]
+            )|
+            5(?:
+              0[1-57-9]|
+              1[0235-8]|
+              20|
+              3[04]|
+              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[1678]|
+              4[0179]|
+              5[1246]|
+              7[0-3589]|
+              8[059]
+            )
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>2012345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            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]|
+              58|
+              69|
+              7[0589]|
+              8[04]
+            )|
+            5(?:
+              0[1-57-9]|
+              1[0235-8]|
+              20|
+              3[04]|
+              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[1678]|
+              4[0179]|
+              5[1246]|
+              7[0-3589]|
+              8[059]
+            )
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>2012345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Uruguay -->
+    <territory id="UY" countryCode="598" internationalPrefix="00"
+               nationalPrefix="0">
+    </territory>
+
+    <!-- Uzbekistan -->
+    <!-- http://www.itu.int/oth/T02020000E1/en -->
+    <territory id="UZ" countryCode="998" internationalPrefix="8~10"
+               nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([679]\d)(\d{3})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[679]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Adding 70 prefix as suggested by http://www.ttts.uz/eng/telephone_codes/codes_uzb_eng
+             -->
+        <nationalNumberPattern>
+          (?:
+            6[125679]|
+            7[0-69]
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>612345678</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding 9[45] as suggested by http://www.ucell.uz/en/for_subscribers/how_to_call.html
+             -->
+        <nationalNumberPattern>9[0-57-9]\d{7}</nationalNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Vatican City -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_Vatican_City -->
+    <!-- Note that numbers here are also accessible via Italy (+39 and prefix of 06 698) but can
+         also be dialled with the Vatican City country code. -->
+    <territory id="VA" countryCode="379" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(06)(\d{4})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>06\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>06698\d{5}</nationalNumberPattern>
+        <exampleNumber>0669812345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- We have no information on mobile numbers from the Vatican. It is probable that they use
+             Italian mobile contracts. -->
+        <nationalNumberPattern>N/A</nationalNumberPattern>
+        <possibleNumberPattern>N/A</possibleNumberPattern>
+      </mobile>
+      <!-- No information exists about other types of numbers. -->
+    </territory>
+
+    <!-- Saint Vincent and the Grenadines -->
+    <!-- http://www.itu.int/oth/T02020000B3/en -->
+    <territory id="VC" countryCode="1" leadingDigits="784"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>
+          (?:
+            784|
+            8(?:
+              00|
+              66|
+              77|
+              88
+            )|
+            900
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          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}
+        </nationalNumberPattern>
+        <exampleNumber>7842661234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          784(?:
+            4(?:
+              3[0-24]|
+              5[45]|
+              9[2-5]
+            )|
+            5(?:
+              2[6-9]|
+              3[0-3]|
+              93
+            )
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7844301234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Venezuela -->
+    <!-- http://www.itu.int/oth/T02020000E3/en -->
+    <!-- http://en.wikipedia.org/wiki/+58 -->
+    <!-- 1XX specifies a particular carrier to route a call to. -->
+    <territory id="VE" countryCode="58" internationalPrefix="00"
+      nationalPrefix="0" nationalPrefixForParsing="(1\d{2})|0"
+      nationalPrefixFormattingRule="$NP$FG"
+      carrierCodeFormattingRule="$CC $FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{7})">
+          <format>$1-$2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[24589]\d{9}</nationalNumberPattern>
+        <!-- Open numbering plan. -->
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Including region-free 500 calls here, since these are treated as local calls. Wikipedia
+             mentions these as 5XX, but online examples that can be found are seemingly restricted
+             to 50[01]. -->
+        <nationalNumberPattern>
+          (?:
+            2(?:
+              12|
+              3[457-9]|
+              [58][1-9]|
+              [467]\d|
+              9[1-6]
+            )|
+            50[01]
+          )\d{7}
+        </nationalNumberPattern>
+        <exampleNumber>2121234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          4(?:
+            1[24-8]|
+            2[46]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>4121234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8001234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9001234567</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Virgin Islands, British -->
+    <!-- http://www.itu.int/oth/T020200001E/en -->
+    <territory id="VG" countryCode="1" leadingDigits="284"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>
+          (?:
+            284|
+            8(?:
+              00|
+              66|
+              77|
+              88
+            )|
+            900
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          284(?:
+            (?:
+              229|
+              4(?:
+                46|
+                9[45]
+              )|
+              8(?:
+                52|
+                6[459]
+              )
+            )\d{4}|
+            496[0-5]\d{3}
+          )
+        </nationalNumberPattern>
+        <exampleNumber>2842291234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          284(?:
+            (?:
+              30[0-3]|
+              4(?:
+                4[0-5]|
+                68|
+                99
+              )|
+              54[0-4]
+            )\d{4}|
+            496[6-9]\d{3}
+          )
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>2843001234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Virgin Islands, United States -->
+    <!-- http://www.itu.int/oth/T02020000DF/en -->
+    <territory id="VI" countryCode="1" leadingDigits="340"
+      nationalPrefix="1" internationalPrefix="011">
+      <generalDesc>
+        <!-- NANPA country - uses US formatting rules -->
+        <nationalNumberPattern>
+          340(?:
+            6[49]2|
+            7[17]\d
+          )\d{4}|
+          (?:
+            8(?:
+              00|
+              66|
+              77|
+              88
+            )|
+            900
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <exampleNumber>3406421234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <exampleNumber>3406421234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>
+          8(?:
+            00|
+            55|
+            66|
+            77|
+            88
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8002345678</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>9002345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <!-- http://www.nanpa.com/pdf/PL_416.pdf -->
+        <nationalNumberPattern>
+          5(?:
+            00|
+            33|
+            44
+          )[2-9]\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5002345678</exampleNumber>
+      </personalNumber>
+    </territory>
+
+    <!-- Viet Nam (Vietnam) -->
+    <!-- http://www.itu.int/oth/T02020000E4/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B84 -->
+    <territory id="VN" countryCode="84" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([48])(\d{4})(\d{4})">
+          <leadingDigits>[48]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([235-7]\d)(\d{4})(\d{3})">
+          <leadingDigits>
+            2[025-79]|
+            3[0136-9]|
+            5[2-9]|
+            6[0-46-9]|
+            7[02-79]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(80)(\d{5})">
+          <leadingDigits>80</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(69\d)(\d{4,5})">
+          <leadingDigits>69</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([235-7]\d{2})(\d{4})(\d{3})">
+          <leadingDigits>
+            2[1348]|
+            3[25]|
+            5[01]|
+            65|
+            7[18]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(9\d)(\d{3})(\d{2})(\d{2})">
+          <leadingDigits>9</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(1[2689]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            1(?:
+              [26]|
+              88|
+              99
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(1[89]00)(\d{4,6})">
+          <leadingDigits>1[89]0</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          8\d{5,8}|
+          [1-79]\d{7,9}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>2101234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            9\d|
+            1(?:
+              2\d|
+              6[3-9]|
+              88|
+              99
+            )
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>912345678</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{4,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+        <exampleNumber>1800123456</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>1900\d{4,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+        <exampleNumber>1900123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Vanuatu -->
+    <territory id="VU" countryCode="678" internationalPrefix="00">
+    </territory>
+
+    <!--  Wallis and Futuna (Territoire français d'outre-mer) -->
+    <territory id="WF" countryCode="681" internationalPrefix="19">
+    </territory>
+
+    <!-- Samoa -->
+    <!-- http://www.itu.int/oth/T02020000B4/en -->
+    <territory id="WS" countryCode="685" internationalPrefix="0"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+      <!-- Should be formatted in one block, apart from the specific series below. For this reason
+           the leadingDigits is more detailed than would appear necessary. -->
+      <numberFormat pattern="(8[04]0)(\d{3,4})">
+        <leadingDigits>8[04]0</leadingDigits>
+        <format>$1 $2</format>
+      </numberFormat>
+      <numberFormat pattern="(7[25-7])(\d{5})">
+        <leadingDigits>7[25-7]</leadingDigits>
+        <format>$1 $2</format>
+      </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[2-8]\d{4,6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            [2-5]\d|
+            6[1-9]|
+            840\d
+          )\d{3}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{5,7}</possibleNumberPattern>
+        <exampleNumber>22123</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            60|
+            7[25-7]\d
+          )\d{4}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,7}</possibleNumberPattern>
+        <exampleNumber>601234</exampleNumber>
+      </mobile>
+      <tollFree>
+        <!-- The 800 number series is new, and is used by companies such as the ANZ bank in Samoa to
+             provide 24 hour eMerchant support. It is marked as "Customized Services" in the plan
+             for now, so may be also used for other purposes than toll free, but until we have
+             further evidence of these we will keep it as toll free. -->
+        <nationalNumberPattern>800\d{3}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6}</possibleNumberPattern>
+        <exampleNumber>800123</exampleNumber>
+      </tollFree>
+      <!-- Current research suggests other types of numbers are not used in Samoa. -->
+    </territory>
+
+    <!-- Yemen -->
+    <!-- http://www.itu.int/oth/T02020000E7/en -->
+    <territory id="YE" countryCode="967" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([1-7])(\d{3})(\d{3,4})">
+          <leadingDigits>
+            [1-6]|
+            7[24-68]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(7[137]\d)(\d{3})(\d{3})">
+          <leadingDigits>7[137]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-7]\d{6,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1(?:
+              7\d|
+              [2-68]
+            )|
+            2[2-68]|
+            3[2358]|
+            4[2-58]|
+            5[2-6]|
+            6[3-58]|
+            7[24-68]
+          )\d{5}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+        <exampleNumber>1234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[137]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>712345678</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+    </territory>
+
+    <!-- Mayotte -->
+    <!-- Some information at http://en.wikipedia.org/wiki/Telephone_numbers_in_France - most from
+         collection of internet data.  http://www.comores-online.com/mwezinet/internet/262.htm
+         verifies the fixed-line prefixes, but the mobile prefixes listed here seem out of date.
+         -->
+    <territory id="YT" countryCode="262" internationalPrefix="00"
+      nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
+      leadingDigits="269|63">
+      <!-- Formatting as per La Réunion. -->
+      <generalDesc>
+        <nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2696[0-4]\d{4}</nationalNumberPattern>
+        <exampleNumber>269601234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>639\d{6}</nationalNumberPattern>
+        <exampleNumber>639123456</exampleNumber>
+      </mobile>
+      <!-- Same as in France. -->
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- South Africa -->
+    <!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000C10001PDFE.pdf -->
+    <!-- http://en.wikipedia.org/wiki/Telephone_numbers_in_South_Africa -->
+    <territory id="ZA" countryCode="27" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(860)(\d{3})(\d{3})">
+          <leadingDigits>860</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})">
+          <leadingDigits>
+            [1-57]|
+            8(?:
+              [0-57-9]|
+              6[1-9]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>
+          (?:
+            1[0-8]|
+            2[1-478]|
+            3[1-69]|
+            4\d|
+            5[1346-8]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{8,9}</possibleNumberPattern>
+        <exampleNumber>101234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>
+          (?:
+            7[1-4689]|
+            8[1-5789]
+          )\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>711234567</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>86[1-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>861234567</exampleNumber>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>860\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>860123456</exampleNumber>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>87\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>871234567</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Zambia -->
+    <!-- http://www.itu.int/oth/T02020000E8/en -->
+    <territory id="ZM" countryCode="260" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([29]\d)(\d{7})">
+          <leadingDigits>[29]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(800)(\d{3})(\d{3})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[289]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>21[1-8]\d{6}</nationalNumberPattern>
+        <exampleNumber>211234567</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Adding extra prefixes 6[457-9] and 7[4-6] since SMS messages have been successfully
+             delivered to these numbers, and numbers like this can be found on the Internet. -->
+        <nationalNumberPattern>
+          9(?:
+            55|
+            6[4-9]|
+            7[4-9]
+          )\d{6}
+        </nationalNumberPattern>
+        <exampleNumber>955123456</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+        <exampleNumber>800123456</exampleNumber>
+      </tollFree>
+    </territory>
+
+    <!-- Zimbabwe -->
+    <!-- http://www.itu.int/oth/T02020000E9/en -->
+    <territory id="ZW" countryCode="263" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <!-- One-digit area codes -->
+        <numberFormat pattern="([49])(\d{3})(\d{2,5})">
+          <leadingDigits>
+            4|
+            9[2-9]
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Mobile numbers -->
+        <numberFormat pattern="([179]\d)(\d{3})(\d{3,4})">
+          <leadingDigits>
+            [19]1|
+            7
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Two-digit area codes -->
+        <numberFormat pattern="([1-356]\d)(\d{3,5})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([1-356]\d)(\d{3})(\d{3})">
+          <leadingDigits>
+            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]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Three-digit area codes -->
+        <numberFormat pattern="([2356]\d{2})(\d{3,5})">
+          <leadingDigits>
+            2(?:
+              [278]|
+              0[45]|
+              48
+            )|
+            3(?:
+              08|
+              17|
+              3[78]|
+              [78]
+            )|
+            5[15][78]|
+            6(?:
+              [29]8|
+              37|
+              [68][78]
+            )
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([2356]\d{2})(\d{3})(\d{3})">
+          <leadingDigits>
+            2(?:
+              [278]|
+              0[45]|
+              48
+            )|
+            3(?:
+              08|
+              17|
+              3[78]|
+              [78]
+            )|
+            5[15][78]|
+            6(?:
+              [29]8|
+              37|
+              [68][78]
+            )
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- Four-digit area codes -->
+        <numberFormat pattern="([25]\d{3})(\d{3,5})">
+          <leadingDigits>
+            (?:
+              25|
+              54
+            )8
+          </leadingDigits>
+          <leadingDigits>
+            258[23]|
+            5483
+          </leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([25]\d{3})(\d{3})(\d{3})">
+          <leadingDigits>
+            (?:
+              25|
+              54
+            )8
+          </leadingDigits>
+          <leadingDigits>
+            258[23]|
+            5483
+          </leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <!-- VOIP numbers -->
+        <numberFormat pattern="(8\d{3})(\d{6})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <!-- A complicated nationalNumberPattern is necessary here, since the numbers are extremely
+             variable in length and the possible prefixes clash with the country code. -->
+        <nationalNumberPattern>
+          2(?:
+            [012457-9]\d{3,8}|
+            6\d{3,6}
+          )|
+          [13-79]\d{4,8}|
+          86\d{8}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{3,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- Numbering is grouped by subscriber-number length. -->
+        <nationalNumberPattern>
+          (?:
+            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}
+        </nationalNumberPattern>
+        <exampleNumber>1312345</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[137]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>711234567</exampleNumber>
+      </mobile>
+      <!-- No tollFree or premiumRate information can be found. -->
+      <voip>
+        <nationalNumberPattern>
+          86(?:
+            1[12]|
+            22|
+            30|
+            44|
+            8[367]|
+            99
+          )\d{6}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>8686123456</exampleNumber>
+      </voip>
+    </territory>
+  </territories>
+</phoneNumberMetadata>
diff --git a/PhoneNumberMetaDataForTesting.xml b/PhoneNumberMetaDataForTesting.xml
new file mode 100644
index 0000000..8196911
--- /dev/null
+++ b/PhoneNumberMetaDataForTesting.xml
@@ -0,0 +1,754 @@
+<!-- Copyright (C) 2009 Google Inc.
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+
+     @author: Shaopeng Jia
+
+     MetaData on Phone Number Plan and formatting rules. This file is used
+     solely for the purpose of unittesting, so data in this file is not
+     necessarily consistent with that of
+     ../src/PhoneNumberMetaData.xml
+-->
+
+<phoneNumberMetadata>
+  <territories>
+    <!-- Andorra -->
+    <territory id="AD" countryCode="376" internationalPrefix="00">
+    </territory>
+
+    <!-- Angola -->
+    <!-- This country has been coopted to test the case of a national prefix
+    with a non-numeric symbol in it. -->
+    <territory id="AO" countryCode="244" internationalPrefix="00" nationalPrefix="0~0">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[29]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2\d(?:[26-9]\d|\d[26-9])\d{5}</nationalNumberPattern>
+        <exampleNumber>222123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <!-- Expanded the 92 prefix possibilities to matchnumbers found online. -->
+        <nationalNumberPattern>9[1-3]\d{7}</nationalNumberPattern>
+        <exampleNumber>923123456</exampleNumber>
+      </mobile>
+    </territory>
+
+    <!-- Argentina -->
+    <territory id="AR" countryCode="54" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
+               nationalPrefixForParsing="0(?:(11|343|3715)15)?"
+               nationalPrefixTransformRule="9$1">
+      <!-- Note in nationalPrefixForParsing, the areacode (such as 11, 343, etc.), when present in
+           front of carrier selection code 15, is captured to replace $1 in
+           nationalPrefixTransformRule -->
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>11</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>1[02-9]|[23]</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="9(11)(\d{4})(\d{4})">
+          <leadingDigits>911</leadingDigits>
+          <format>$1 15 $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="9(\d{4})(\d{2})(\d{4})"
+          carrierCodeFormattingRule="$NP$FG $CC">
+          <leadingDigits>9(?:1[02-9]|[23])</leadingDigits>
+          <format>$1 $2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[68]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>11</leadingDigits>
+          <format>$1 $2-$3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>1[02-9]|[23]</leadingDigits>
+          <format>$1 $2-$3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(9)(11)(\d{4})(\d{4})">
+          <leadingDigits>911</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(9)(\d{4})(\d{2})(\d{4})">
+          <leadingDigits>9(?:1[02-9]|[23])</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[68]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-3689]\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+         <nationalNumberPattern>[1-3]\d{9}</nationalNumberPattern>
+         <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>9\d{10}|[1-3]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>6(0\d|10)\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Australia -->
+    <territory id="AU" countryCode="61" internationalPrefix="001[12]"
+               nationalPrefix="0" preferredInternationalPrefix="0011"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat nationalPrefixFormattingRule="$FG"
+          pattern="(\d{4})(\d{3})(\d{3})" >
+          <leadingDigits>1</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{1})(\d{4})(\d{4})">
+          <leadingDigits>[2-478]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc >
+        <nationalNumberPattern>[1-578]\d{4,14}</nationalNumberPattern>
+        <possibleNumberPattern>\d{5,15}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2378]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>4\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1800\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Bahamas -->
+    <territory id="BS" countryCode="1" internationalPrefix="011"
+               nationalPrefix="1">
+      <generalDesc>
+        <nationalNumberPattern>(242|8(00|66|77|88)|900)\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>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}</nationalNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>242(357|359|457|557)\d{4}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>8(00|66|77|88)\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Germany -->
+    <territory id="DE" countryCode="49" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3,8})">
+          <leadingDigits>2|3[3-9]|906|[4-9][1-9]1</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{4,9})">
+          <leadingDigits>[34]0|[68]9</leadingDigits>
+          <format>$1/$2</format>
+        </numberFormat>
+        <!-- Extra fictional pattern for shorter numbers with the same prefixes as the following
+             pattern, to illustrate the problem the AYTF has with real patterns that share this
+             property. -->
+        <numberFormat pattern="([4-9]\d)(\d{2})">
+          <leadingDigits>[4-9]</leadingDigits>
+          <leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="([4-9]\d{3})(\d{2,7})">
+          <leadingDigits>[4-9]</leadingDigits>
+          <leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{1})(\d{6})">
+          <leadingDigits>800</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,4})(\d{4})">
+          <leadingDigits>900</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{4,14}</nationalNumberPattern>
+        <possibleNumberPattern>\d{2,14}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>(?:[24-6]\d{2}|3[03-9]\d|[789](?:[1-9]\d|0[2-9]))\d{3,8}</nationalNumberPattern>
+        <exampleNumber>30123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1(5\d{9}|7\d{8}|6[02]\d{8}|63\d{7})</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900([135]\d{6}|9\d{7})</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- United Kingdom -->
+    <territory id="GB" countryCode="44" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>[1-59]|[78]0</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})(\d{3})(\d{3})">
+          <leadingDigits>6</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{3})(\d{3})">
+          <leadingDigits>7[1-57-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>8[47]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>\d{10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[1-6]\d{9}</nationalNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>7[1-57-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>9[018]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+      <sharedCost>
+        <nationalNumberPattern>8(?:4[3-5]|7[0-2])\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </sharedCost>
+      <voip>
+        <nationalNumberPattern>56\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </voip>
+      <personalNumber>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </personalNumber>
+    </territory>
+
+    <!-- Italy -->
+    <!-- http://en.wikipedia.org/wiki/%2B39 -->
+    <territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>0[26]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{4})(\d{3,4})">
+          <leadingDigits>0[13-57-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+          <leadingDigits>3</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3,6})">
+          <leadingDigits>8</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[0389]\d{5,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>0\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>3\d{8,9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80(?:0\d{6}|3\d{3})</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>89(?:2\d{3}|9\d{6})</nationalNumberPattern>
+        <possibleNumberPattern>\d{6,9}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Japan -->
+    <!-- The metadata here is added to unit test AsYouTypeFormatter for JP, which requires switching
+         patterns as digits beyond the third one are entered. As a result, only a few fake
+         formatting rules are added. -->
+    <territory id="JP" countryCode="81" internationalPrefix="010"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>[57-9]0</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>222|333</leadingDigits>
+          <leadingDigits>(?:222|333)1</leadingDigits>
+          <leadingDigits>(?:222|333)11</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d)(\d{4})">
+          <leadingDigits>222|333</leadingDigits>
+          <leadingDigits>2221|3332</leadingDigits>
+          <leadingDigits>22212|3332</leadingDigits>
+          <leadingDigits>222120|3332</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+          <leadingDigits>[23]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+    </territory>
+
+    <!-- Korea (Rep. of) -->
+    <!-- http://www.itu.int/oth/T0202000072/en -->
+    <!-- http://en.wikipedia.org/wiki/%2B82 -->
+    <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2349 -->
+    <!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2240 -->
+    <!-- http://www.telecentro.co.kr/sub/index.php?job=detail&ebcf_id=faq&page=1&mid=0503&eb_seq=36 -->
+    <!-- Exceptions :
+        internationalPrefix
+            0031, 0033, 0071, 0073 - Special services of KT and DACOM, ignorable
+        nationalPrefix
+            1[4-6]XX-YYYY - Country-wide common number services, display as it is without hyphens -->
+    <territory id="KR" countryCode="82" internationalPrefix="00(?:[124-68]|[37]\d{2})"
+               nationalPrefix="0" nationalPrefixForParsing="0(8[1-46-8]|85\d{2})?"
+               nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>1(?:0|1[19]|[69]9|5[458])|[57]0</leadingDigits>
+          <leadingDigits>1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>1(?:[169][2-8]|[78]|5[1-4])|[68]0|[3-9][1-9][2-9]</leadingDigits>
+          <leadingDigits>1(?:[169][2-8]|[78]|5(?:[1-3]|4[56]))|[68]0|[3-9][1-9][2-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d)(\d{4})">
+          <leadingDigits>131</leadingDigits>
+          <leadingDigits>1312</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+          <leadingDigits>131</leadingDigits>
+          <leadingDigits>131[13-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>13[2-9]</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})">
+          <leadingDigits>30</leadingDigits>
+          <format>$1-$2-$3-$4</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})(\d{4})">
+          <leadingDigits>2(?:[26]|3[0-467])</leadingDigits>
+          <leadingDigits>2(?:[26]|3(?:01|1[45]|2[17-9]|39|4|6[67]|7[078]))</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>2(?:3[0-35-9]|[457-9])</leadingDigits>
+          <leadingDigits>2(?:3(?:0[02-9]|1[0-36-9]|2[02-6]|3[0-8]|6[0-589]|7[1-69]|[589])|[457-9])</leadingDigits>
+          <format>$1-$2-$3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})">
+          <leadingDigits>21[0-46-9]</leadingDigits>
+          <leadingDigits>21(?:[0-247-9]|3[124]|6[1269])</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{4})">
+          <leadingDigits>21[36]</leadingDigits>
+          <leadingDigits>21(?:3[035-9]|6[03-578])</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{3})">
+          <leadingDigits>[3-9][1-9]1</leadingDigits>
+          <leadingDigits>[3-9][1-9]1(?:[0-46-9])</leadingDigits>
+          <leadingDigits>[3-9][1-9]1(?:[0-247-9]|3[124]|6[1269])</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{4})">
+          <leadingDigits>[3-9][1-9]1</leadingDigits>
+          <leadingDigits>[3-9][1-9]1[36]</leadingDigits>
+          <leadingDigits>[3-9][1-9]1(?:3[035-9]|6[03-578])</leadingDigits>
+          <format>$1-$2</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-79]\d{3,9}|8\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\d{2,3}|[2-9]\d{6,7})</nationalNumberPattern>
+        <possibleNumberPattern>\d{4,10}</possibleNumberPattern>
+        <exampleNumber>22123456</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+        <exampleNumber>1023456789</exampleNumber>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>60[2-9]\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>602345678</exampleNumber>
+      </premiumRate>
+      <personalNumber>
+        <nationalNumberPattern>50\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>5012345678</exampleNumber>
+      </personalNumber>
+      <voip>
+        <nationalNumberPattern>70\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+        <exampleNumber>7012345678</exampleNumber>
+      </voip>
+    </territory>
+
+    <!-- Mexico -->
+    <territory id="MX" countryCode="52" internationalPrefix="00"
+               nationalPrefix="01" nationalPrefixForParsing="01|04[45](\d{10})"
+               nationalPrefixTransformRule="1$1">
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[89]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>33|55|81</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="1(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>1(?:33|55|81)</leadingDigits>
+          <format>045 $1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="1(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits>
+          <format>045 $1 $2 $3</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[89]00</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>33|55|81</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(1)(\d{2})(\d{4})(\d{4})">
+          <leadingDigits>1(?:33|55|81)</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+        <intlNumberFormat pattern="(1)(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits>
+          <format>$1 $2 $3 $4</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>1\d{10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- New Zealand -->
+    <territory id="NZ" countryCode="64" internationalPrefix="00"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d)(\d{3})(\d{4})">
+          <leadingDigits>24|[34679]</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d)(\d{3})(\d{3,5})">
+          <leadingDigits>2[179]</leadingDigits>
+          <format>$1-$2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+          <leadingDigits>[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>
+          [289]\d{7,9}|
+          [3-7]\d{7}
+        </nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>24099\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,8}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>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})</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,10}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{6,7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9,10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Poland -->
+    <!-- http://en.wikipedia.org/wiki/%2B48 -->
+    <territory id="PL" countryCode="48" internationalPrefix="0~0"
+               nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <mobile>
+        <nationalNumberPattern>(?:5[01]|6[069]|7[289]|88)\d{7}</nationalNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>800\d{6}</nationalNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>70\d{7}</nationalNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Réunion (French Departments and Territories in the Indian Ocean) -->
+    <!-- Note this shares the same country code as La Mayotte and French
+    Southern Territories, and the formatting patterns here are used by all of
+    them. This is present to test leadingDigits. -->
+    <territory id="RE" countryCode="262" leadingDigits="262|6(?:9[23]|47)|8"
+               internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <availableFormats>
+        <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})">
+          <format>$1 $2 $3 $4</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <!-- 0876 numbers are mentioned in the plan, but none in use can be
+        found. -->
+        <nationalNumberPattern>262\d{6}</nationalNumberPattern>
+        <exampleNumber>262161234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>6(?:9[23]|47)\d{6}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+        <exampleNumber>692123456</exampleNumber>
+      </mobile>
+      <!-- 08* Numbers in Réunion are the same as those valid in France. -->
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>8(?:1[01]|2[0156]|84|9[0-37-9])\d{6}</nationalNumberPattern>
+        <exampleNumber>810123456</exampleNumber>
+      </premiumRate>
+    </territory>
+
+    <!-- Singapore -->
+    <!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx -->
+    <territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]">
+      <availableFormats>
+        <numberFormat pattern="(\d{4})(\d{4})">
+          <leadingDigits>[369]|8[1-9]</leadingDigits>
+          <format>$1 $2</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{4})(\d{3})(\d{4})">
+          <leadingDigits>1[89]</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <leadingDigits>800</leadingDigits>
+          <format>$1 $2 $3</format>
+        </numberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13689]\d{7,10}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8,11}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>[36]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>[89]\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{8}</possibleNumberPattern>
+      </mobile>
+      <tollFree>
+        <nationalNumberPattern>1?800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>1900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{11}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- United States -->
+    <!-- http://www.nanpa.com/reports/reports_npa.html -->
+    <!-- For testing purposes, numbers starting with 24 are not considered US
+    numbers.-->
+    <territory id="US" countryCode="1" internationalPrefix="011"
+               preferredExtnPrefix=" extn. " nationalPrefix="1"
+               mainCountryForCode="true" >
+      <availableFormats>
+        <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <format>$1 $2 $3</format>
+        </numberFormat>
+        <numberFormat pattern="(\d{3})(\d{4})">
+          <format>$1 $2</format>
+        </numberFormat>
+        <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+          <format>$1 $2 $3</format>
+        </intlNumberFormat>
+      </availableFormats>
+      <generalDesc>
+        <nationalNumberPattern>[13-9]\d{9}|2[0-35-9]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{7,10}</possibleNumberPattern>
+        <exampleNumber>1234567890</exampleNumber>
+      </generalDesc>
+      <noInternationalDialling>
+        <!-- This range is added for testing purposes only. -->
+        <nationalNumberPattern>800\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </noInternationalDialling>
+      <tollFree>
+        <nationalNumberPattern>8(?:00|66|77|88)\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </tollFree>
+      <premiumRate>
+        <nationalNumberPattern>900\d{7}</nationalNumberPattern>
+        <possibleNumberPattern>\d{10}</possibleNumberPattern>
+      </premiumRate>
+    </territory>
+
+    <!-- Mayotte -->
+    <territory id="YT" countryCode="262" leadingDigits="269|639"
+               internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+      <!-- Formatting as per La Réunion. -->
+      <generalDesc>
+        <nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
+        <possibleNumberPattern>\d{9}</possibleNumberPattern>
+      </generalDesc>
+      <fixedLine>
+        <nationalNumberPattern>2696[0-4]\d{4}</nationalNumberPattern>
+        <exampleNumber>269601234</exampleNumber>
+      </fixedLine>
+      <mobile>
+        <nationalNumberPattern>639\d{6}</nationalNumberPattern>
+        <exampleNumber>639123456</exampleNumber>
+      </mobile>
+      <!-- Same as in France. -->
+      <tollFree>
+        <nationalNumberPattern>80\d{7}</nationalNumberPattern>
+        <exampleNumber>801234567</exampleNumber>
+      </tollFree>
+    </territory>
+  </territories>
+</phoneNumberMetadata>
diff --git a/phonemetadata.proto b/phonemetadata.proto
new file mode 100644
index 0000000..0cf1fae
--- /dev/null
+++ b/phonemetadata.proto
@@ -0,0 +1,234 @@
+/*
+ * Copyright (C) 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Definition of protocol buffer for holding metadata for international
+// telephone numbers.
+// @author Shaopeng Jia
+
+syntax = "proto2";
+
+option java_package = "com.google.i18n.phonenumbers";
+option optimize_for = LITE_RUNTIME;
+package i18n.phonenumbers;
+
+message NumberFormat {
+  // pattern is a regex that is used to match the national (significant)
+  // number. For example, the pattern "(20)(\d{4})(\d{4})" will match number
+  // "2070313000", which is the national (significant) number for Google London.
+  // Note the presence of the parentheses, which are capturing groups what
+  // specifies the grouping of numbers.
+  required string pattern = 1;
+
+  // format specifies how the national (significant) number matched by
+  // pattern should be formatted.
+  // Using the same example as above, format could contain "$1 $2 $3",
+  // meaning that the number should be formatted as "20 7031 3000".
+  // Each $x are replaced by the numbers captured by group x in the
+  // regex specified by pattern.
+  required string format = 2;
+
+  // This field is a regex that is used to match a certain number of digits
+  // at the beginning of the national (significant) number. When the match is
+  // successful, the accompanying pattern and format should be used to format
+  // this number. For example, if leading_digits="[1-3]|44", then all the
+  // national numbers starting with 1, 2, 3 or 44 should be formatted using the
+  // accompanying pattern and format.
+  //
+  // The first leadingDigitsPattern matches up to the first three digits of the
+  // national (significant) number; the next one matches the first four digits,
+  // then the first five and so on, until the leadingDigitsPattern can uniquely
+  // identify one pattern and format to be used to format the number.
+  //
+  // In the case when only one formatting pattern exists, no
+  // leading_digits_pattern is needed.
+  repeated string leading_digits_pattern = 3;
+
+  // This field specifies how the national prefix ($NP) together with the first
+  // group ($FG) in the national significant number should be formatted in
+  // the NATIONAL format when a national prefix exists for a certain country.
+  // For example, when this field contains "($NP$FG)", a number from Beijing,
+  // China (whose $NP = 0), which would by default be formatted without
+  // national prefix as 10 1234 5678 in NATIONAL format, will instead be
+  // formatted as (010) 1234 5678; to format it as (0)10 1234 5678, the field
+  // would contain "($NP)$FG". Note $FG should always be present in this field,
+  // but $NP can be omitted. For example, having "$FG" could indicate the
+  // number should be formatted in NATIONAL format without the national prefix.
+  // This is commonly used to override the rule from generalDesc.
+  //
+  // When this field is missing, a number will be formatted without national
+  // prefix in NATIONAL format. This field does not affect how a number
+  // is formatted in other formats, such as INTERNATIONAL.
+  optional string national_prefix_formatting_rule = 4;
+
+  // This field specifies how any carrier code ($CC) together with the first
+  // group ($FG) in the national significant number should be formatted
+  // when formatWithCarrierCode is called, if carrier codes are used for a
+  // certain country.
+  optional string domestic_carrier_code_formatting_rule = 5;
+}
+
+message PhoneNumberDesc {
+  // The national_number_pattern is the pattern that a valid national
+  // significant number would match. This specifies information such as its
+  // total length and leading digits.
+  optional string national_number_pattern = 2;
+
+  // The possible_number_pattern represents what a potentially valid phone
+  // number for this region may be written as. This is a superset of the
+  // national_number_pattern above and includes numbers that have the area code
+  // omitted. Typically the only restrictions here are in the number of digits.
+  // This could be used to highlight tokens in a text that may be a phone
+  // number, or to quickly prune numbers that could not possibly be a phone
+  // number for this locale.
+  optional string possible_number_pattern = 3;
+
+  // An example national significant number for the specific type. It should
+  // not contain any formatting information.
+  optional string example_number = 6;
+}
+
+message PhoneMetadata {
+  // The general_desc contains information which is a superset of descriptions
+  // for all types of phone numbers. If any element is missing in the
+  // description of a specific type in the XML file, the element will inherit
+  // from its counterpart in the general_desc. Every locale is assumed to have
+  // fixed line and mobile numbers - if these types are missing in the XML
+  // file, they will inherit all fields from the general_desc. For all other
+  // types, if the whole type is missing in the xml file, it will be given a
+  // national_number_pattern of "NA" and a possible_number_pattern of "NA".
+  required PhoneNumberDesc general_desc = 1;
+  required PhoneNumberDesc fixed_line = 2;
+  required PhoneNumberDesc mobile = 3;
+  required PhoneNumberDesc toll_free = 4;
+  required PhoneNumberDesc premium_rate = 5;
+  required PhoneNumberDesc shared_cost = 6;
+  required PhoneNumberDesc personal_number = 7;
+  required PhoneNumberDesc voip = 8;
+  required PhoneNumberDesc pager = 21;
+  required PhoneNumberDesc uan = 25;
+  // The rules here distinguish the numbers that are only able to be dialled
+  // nationally.
+  required PhoneNumberDesc no_international_dialling = 24;
+
+  // The ISO 3166-1 alpha-2 representation of a country/region
+  required string id = 9;
+
+  // The country calling code that one would dial from overseas when trying to
+  // dial a phone number in this country. For example, this would be "64" for
+  // New Zealand.
+  required int32 country_code = 10;
+
+  // The international_prefix of country A is the number that needs to be
+  // dialled from country A to another country (country B). This is followed
+  // by the country code for country B. Note that some countries may have more
+  // than one international prefix, and for those cases, a regular expression
+  // matching the international prefixes will be stored in this field.
+  required string international_prefix = 11;
+
+  // If more than one international prefix is present, a preferred prefix can
+  // be specified here for out-of-country formatting purposes. If this field is
+  // not present, and multiple international prefixes are present, then "+"
+  // will be used instead.
+  optional string preferred_international_prefix = 17;
+
+  // The national prefix of country A is the number that needs to be dialled
+  // before the national significant number when dialling internally. This
+  // would not be dialled when dialling internationally. For example, in New
+  // Zealand, the number that would be locally dialled as 09 345 3456 would be
+  // dialled from overseas as +64 9 345 3456. In this case, 0 is the national
+  // prefix.
+  optional string national_prefix = 12;
+
+  // The preferred prefix when specifying an extension in this country. This is
+  // used for formatting only, and if this is not specified, a suitable default
+  // should be used instead. For example, if you wanted extensions to be
+  // formatted in the following way:
+  // 1 (365) 345 445 ext. 2345
+  // " ext. "  should be the preferred extension prefix.
+  optional string preferred_extn_prefix = 13;
+
+  // This field is used for cases where the national prefix of a country
+  // contains a carrier selection code, and is written in the form of a
+  // regular expression. For example, to dial the number 2222-2222 in
+  // Fortaleza, Brazil (area code 85) using the long distance carrier Oi
+  // (selection code 31), one would dial 0 31 85 2222 2222. Assuming the
+  // only other possible carrier selection code is 32, the field will
+  // contain "03[12]".
+  //
+  // When it is missing from the XML file, this field inherits the value of
+  // national_prefix, if that is present.
+  optional string national_prefix_for_parsing = 15;
+
+  // This field is only populated and used under very rare situations.
+  // For example, mobile numbers in Argentina are written in two completely
+  // different ways when dialed in-country and out-of-country
+  // (e.g. 0343 15 555 1212 is exactly the same number as +54 9 343 555 1212).
+  // This field is used together with national_prefix_for_parsing to transform
+  // the number into a particular representation for storing in the phonenumber
+  // proto buffer in those rare cases.
+  optional string national_prefix_transform_rule = 16;
+
+  // Specifies whether the mobile and fixed-line patterns are the same or not.
+  // This is used to speed up determining phone number type in countries where
+  // these two types of phone numbers can never be distinguished.
+  optional bool same_mobile_and_fixed_line_pattern = 18 [default=false];
+
+  // Note that the number format here is used for formatting only, not parsing.
+  // Hence all the varied ways a user *may* write a number need not be recorded
+  // - just the ideal way we would like to format it for them. When this element
+  // is absent, the national significant number will be formatted as a whole
+  // without any formatting applied.
+  repeated NumberFormat number_format = 19;
+
+  // This field is populated only when the national significant number is
+  // formatted differently when it forms part of the INTERNATIONAL format
+  // and NATIONAL format. A case in point is mobile numbers in Argentina:
+  // The number, which would be written in INTERNATIONAL format as
+  // +54 9 343 555 1212, will be written as 0343 15 555 1212 for NATIONAL
+  // format. In this case, the prefix 9 is inserted when dialling from
+  // overseas, but otherwise the prefix 0 and the carrier selection code
+  // 15 (inserted after the area code of 343) is used.
+  repeated NumberFormat intl_number_format = 20;
+
+  // This field is set when this country is considered to be the main country
+  // for a calling code. It may not be set by more than one country with the
+  // same calling code, and it should not be set by countries with a unique
+  // calling code. This can be used to indicate that "GB" is the main country
+  // for the calling code "44" for example, rather than Jersey or the Isle of
+  // Man.
+  optional bool main_country_for_code = 22 [default=false];
+
+  // This field is populated only for countries or regions that share a country
+  // calling code. If a number matches this pattern, it could belong to this
+  // region. This is not intended as a replacement for IsValidForRegion, and
+  // does not mean the number must come from this region (for example, 800
+  // numbers are valid for all NANPA countries.) This field should be a regular
+  // expression of the expected prefix match.
+  optional string leading_digits = 23;
+
+  // The leading zero in a phone number is meaningful in some countries (e.g.
+  // Italy). This means they cannot be dropped from the national number when
+  // converting into international format. If leading zeros are possible for
+  // valid international numbers for this region/country then set this to true.
+  // This only needs to be set for the region that is the main_country_for_code
+  // and all regions associated with that calling code will use the same
+  // setting.
+  optional bool leading_zero_possible = 26 [default=false];
+}
+
+message PhoneMetadataCollection {
+  repeated PhoneMetadata metadata = 1;
+}
diff --git a/phonenumber.proto b/phonenumber.proto
new file mode 100644
index 0000000..8a5e7ab
--- /dev/null
+++ b/phonenumber.proto
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Definition of protocol buffer for representing international telephone numbers.
+// @author Shaopeng Jia
+
+syntax = "proto2";
+
+option java_package = "com.google.i18n.phonenumbers";
+option optimize_for = LITE_RUNTIME;
+package i18n.phonenumbers;
+
+message PhoneNumber {
+// The country calling code for this number, as defined by the International Telecommunication Union
+// (ITU). Fox example, this would be 1 for NANPA countries, and 33 for France.
+  required int32 country_code = 1;
+
+// National (significant) Number is defined in International Telecommunication Union Recommendation
+// E.164. It is a language/country-neutral representation of a phone number at a country level. For
+// countries which have the concept of Area Code, the National (significant) Number contains the
+// area code. It contains a maximum number of digits which equal to 15 - n, where n is the number of
+// digits of the country code. Take note that National (significant) Number does not contain
+// National(trunk) prefix. Obviously, as a uint64, it will never contain any formatting (hypens,
+// spaces, parentheses), nor any alphanumeric spellings.
+  required uint64 national_number = 2;
+
+// Extension is not standardized in ITU recommendations, except for being defined as a series of
+// numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the
+// possible use of a leading zero in the extension (organizations have complete freedom to do so,
+// as there is no standard defined). However, only ASCII digits should be stored here.
+  optional string extension = 3;
+
+// In some countries, the national (significant) number starts with a "0" without this being a
+// national prefix or trunk code of some kind. For example, the leading zero in the national
+// (significant) number of an Italian phone number indicates the number is a fixed-line number.
+// There have been plans to migrate fixed-line numbers to start with the digit two since December
+// 2000, but it has not happened yet. See http://en.wikipedia.org/wiki/%2B39 for more details.
+//
+// This field can be safely ignored (there is no need to set it) for most countries. Some limited
+// amount of countries behave like Italy - for these cases, if the leading zero of a number would be
+// retained even when dialling internationally, set this flag to true.
+//
+// Clients who use the parsing functionality of the i18n phone number libraries
+// will have this field set if necessary automatically.
+  optional bool italian_leading_zero = 4;
+
+// The next few fields are non-essential fields for a phone number. They retain extra information
+// about the form the phone number was in when it was provided to us to parse. They can be safely
+// ignored by most clients.
+
+// This field is used to store the raw input string containing phone numbers before it was
+// canonicalized by the library. For example, it could be used to store alphanumerical numbers
+// such as "1-800-GOOG-411".
+  optional string raw_input = 5;
+
+// The source from which the country_code is derived. This is not set in the general parsing method,
+// but in the method that parses and keeps raw_input. New fields could be added upon request.
+  enum CountryCodeSource {
+    // The country_code is derived based on a phone number with a leading "+", e.g. the French
+    // number "+33 (0)1 42 68 53 00".
+    FROM_NUMBER_WITH_PLUS_SIGN = 1;
+
+    // The country_code is derived based on a phone number with a leading IDD, e.g. the French
+    // number "011 33 (0)1 42 68 53 00", as it is dialled from US.
+    FROM_NUMBER_WITH_IDD = 5;
+
+    // The country_code is derived based on a phone number without a leading "+", e.g. the French
+    // number "33 (0)1 42 68 53 00" when defaultCountry is supplied as France.
+    FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;
+
+    // The country_code is derived NOT based on the phone number itself, but from the defaultCountry
+    // parameter provided in the parsing function by the clients. This happens mostly for numbers
+    // written in the national format (without country code). For example, this would be set when
+    // parsing the French number "(0)1 42 68 53 00", when defaultCountry is supplied as France.
+    FROM_DEFAULT_COUNTRY = 20;
+  }
+
+// The source from which the country_code is derived.
+  optional CountryCodeSource country_code_source = 6;
+
+// The carrier selection code that is preferred when calling this phone number domestically. This
+// also includes codes that need to be dialed in some countries when calling from landlines to
+// mobiles or vice versa. For example, in Columbia, a "3" needs to be dialed before the phone number
+// itself when calling from a mobile phone to a domestic landline phone and vice versa.
+//
+// Note this is the "preferred" code, which means other codes may work as well.
+  optional string preferred_domestic_carrier_code = 7;
+}
+
+// Examples
+//
+// Google MTV, +1 650-253-0000, (650) 253-0000
+// country_code: 1
+// national_number: 6502530000
+//
+// Google Paris, +33 (0)1 42 68 53 00, 01 42 68 53 00
+// country_code: 33
+// national_number: 142685300
+//
+// Google Beijing, +86-10-62503000, (010) 62503000
+// country_code: 86
+// national_number: 1062503000
+//
+// Google Italy, +39 02-36618 300, 02-36618 300
+// country_code: 39
+// national_number: 236618300
+// italian_leading_zero: true