summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/faker/providers/phone_number
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/phone_number')
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/__init__.py331
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/__pycache__/__init__.cpython-311.pycbin0 -> 3659 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__init__.py94
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pycbin0 -> 3848 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__init__.py65
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pycbin0 -> 2906 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__init__.py129
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pycbin0 -> 4395 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__init__.py57
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pycbin0 -> 2851 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__init__.py17
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pycbin0 -> 699 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__init__.py334
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pycbin0 -> 5973 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__init__.py39
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pycbin0 -> 968 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__init__.py30
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pycbin0 -> 815 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__init__.py12
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pycbin0 -> 607 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__init__.py18
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pycbin0 -> 704 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__init__.py23
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pycbin0 -> 772 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__init__.py41
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pycbin0 -> 1706 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__init__.py15
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pycbin0 -> 678 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__init__.py267
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pycbin0 -> 4889 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__init__.py9
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pycbin0 -> 567 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__init__.py46
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pycbin0 -> 1657 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__init__.py252
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pycbin0 -> 11321 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__init__.py50
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pycbin0 -> 1427 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__init__.py46
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pycbin0 -> 1006 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__init__.py65
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pycbin0 -> 2422 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__init__.py42
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pycbin0 -> 1116 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__init__.py128
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pycbin0 -> 1766 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__init__.py30
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pycbin0 -> 884 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__init__.py101
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pycbin0 -> 1991 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__init__.py12
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pycbin0 -> 619 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__init__.py7
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pycbin0 -> 594 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__init__.py36
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pycbin0 -> 1029 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__init__.py284
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pycbin0 -> 3178 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__init__.py22
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pycbin0 -> 727 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__init__.py11
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pycbin0 -> 601 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__init__.py36
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pycbin0 -> 922 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__init__.py13
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pycbin0 -> 633 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__init__.py19
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pycbin0 -> 667 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__init__.py25
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pycbin0 -> 851 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__init__.py270
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pycbin0 -> 2821 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__init__.py10
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pycbin0 -> 586 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__init__.py30
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pycbin0 -> 865 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__init__.py9
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pycbin0 -> 573 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__init__.py9
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pycbin0 -> 573 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__init__.py11
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pycbin0 -> 598 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__init__.py24
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pycbin0 -> 800 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__init__.py22
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pycbin0 -> 771 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__init__.py16
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pycbin0 -> 634 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__init__.py36
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pycbin0 -> 951 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__init__.py140
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pycbin0 -> 3252 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__init__.py41
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pycbin0 -> 952 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__init__.py105
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pycbin0 -> 1924 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__init__.py16
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pycbin0 -> 698 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__init__.py16
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pycbin0 -> 706 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__init__.py17
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pycbin0 -> 670 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__init__.py16
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pycbin0 -> 686 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__init__.py11
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pycbin0 -> 601 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__init__.py72
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pycbin0 -> 1432 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__init__.py7
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pycbin0 -> 593 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__init__.py15
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pycbin0 -> 678 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__init__.py26
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pycbin0 -> 797 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__init__.py14
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pycbin0 -> 643 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__init__.py40
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pycbin0 -> 1236 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__init__.py15
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pycbin0 -> 618 bytes
120 files changed, 3694 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/__init__.py
new file mode 100644
index 0000000..d8313f1
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/__init__.py
@@ -0,0 +1,331 @@
+from .. import BaseProvider, ElementsType
+
+# Data source
+#
+# The country codes in this provider comes from the following source:
+# List of country calling codes
+# https://en.wikipedia.org/wiki/List_of_country_calling_codes
+#
+# Data was collected from the alphabetical listing by country or region
+
+localized = True
+
+
+class Provider(BaseProvider):
+ country_calling_codes: ElementsType[str] = (
+ "+93",
+ "+358 18",
+ "+355",
+ "+213",
+ "+1 684",
+ "+376",
+ "+244",
+ "+1 264",
+ "+1 268",
+ "+54",
+ "+374",
+ "+297",
+ "+247",
+ "+61",
+ "+672 1",
+ "+672",
+ "+43",
+ "+994",
+ "+1 242",
+ "+973",
+ "+880",
+ "+1 246",
+ "+1 268",
+ "+375",
+ "+32",
+ "+501",
+ "+229",
+ "+1 441",
+ "+975",
+ "+591",
+ "+599 7",
+ "+387",
+ "+267",
+ "+55",
+ "+246",
+ "+1 284",
+ "+673",
+ "+359",
+ "+226",
+ "+257",
+ "+855",
+ "+237",
+ "+1",
+ "+238",
+ "+599 3",
+ "+599 4",
+ "+599 7",
+ "+1 345",
+ "+236",
+ "+235",
+ "+64",
+ "+56",
+ "+86",
+ "+61 89164",
+ "+61 89162",
+ "+57",
+ "+269",
+ "+242",
+ "+243",
+ "+682",
+ "+506",
+ "+385",
+ "+53",
+ "+599 9",
+ "+357",
+ "+420",
+ "+45",
+ "+246",
+ "+253",
+ "+1 767",
+ "+1 809",
+ "+1 829",
+ "+1 849",
+ "+670",
+ "+56",
+ "+593",
+ "+20",
+ "+503",
+ "+881 2",
+ "+881 3",
+ "+882 13",
+ "+240",
+ "+291",
+ "+372",
+ "+268",
+ "+251",
+ "+500",
+ "+298",
+ "+679",
+ "+358",
+ "+33",
+ "+596",
+ "+594",
+ "+689",
+ "+241",
+ "+220",
+ "+995",
+ "+49",
+ "+233",
+ "+350",
+ "+881",
+ "+881 8",
+ "+881 9",
+ "+30",
+ "+299",
+ "+1 473",
+ "+590",
+ "+1 671",
+ "+502",
+ "+44 1481",
+ "+44 7781",
+ "+44 7839",
+ "+44 7911",
+ "+224",
+ "+245",
+ "+592",
+ "+509",
+ "+504",
+ "+852",
+ "+36",
+ "+354",
+ "+881 0",
+ "+881 1",
+ "+91",
+ "+62",
+ "+870",
+ "+800",
+ "+882",
+ "+883",
+ "+979",
+ "+808",
+ "+98",
+ "+964",
+ "+353",
+ "+881 6",
+ "+881 7",
+ "+44 1624",
+ "+44 7524",
+ "+44 7624",
+ "+44 7924",
+ "+972",
+ "+39",
+ "+225",
+ "+1 876",
+ "+47 79",
+ "+81",
+ "+44 1534",
+ "+962",
+ "+7 6",
+ "+7 7",
+ "+254",
+ "+686",
+ "+850",
+ "+82",
+ "+383",
+ "+965",
+ "+996",
+ "+856",
+ "+371",
+ "+961",
+ "+266",
+ "+231",
+ "+218",
+ "+423",
+ "+370",
+ "+352",
+ "+853",
+ "+261",
+ "+265",
+ "+60",
+ "+960",
+ "+223",
+ "+356",
+ "+692",
+ "+596",
+ "+222",
+ "+230",
+ "+262 269",
+ "+262 639",
+ "+52",
+ "+691",
+ "+1 808",
+ "+373",
+ "+377",
+ "+976",
+ "+382",
+ "+1 664",
+ "+212",
+ "+258",
+ "+95",
+ "+374 47",
+ "+374 97",
+ "+264",
+ "+674",
+ "+977",
+ "+31",
+ "+1 869",
+ "+687",
+ "+64",
+ "+505",
+ "+227",
+ "+234",
+ "+683",
+ "+672 3",
+ "+389",
+ "+90 392",
+ "+44 28",
+ "+1 670",
+ "+47",
+ "+968",
+ "+92",
+ "+680",
+ "+970",
+ "+507",
+ "+675",
+ "+595",
+ "+51",
+ "+63",
+ "+64",
+ "+48",
+ "+351",
+ "+1 787",
+ "+1 939",
+ "+974",
+ "+262",
+ "+40",
+ "+7",
+ "+250",
+ "+599 4",
+ "+590",
+ "+290",
+ "+1 869",
+ "+1 758",
+ "+590",
+ "+508",
+ "+1 784",
+ "+685",
+ "+378",
+ "+239",
+ "+966",
+ "+221",
+ "+381",
+ "+248",
+ "+232",
+ "+65",
+ "+599 3",
+ "+1 721",
+ "+421",
+ "+386",
+ "+677",
+ "+252",
+ "+27",
+ "+500",
+ "+995 34",
+ "+211",
+ "+34",
+ "+94",
+ "+249",
+ "+597",
+ "+47 79",
+ "+46",
+ "+41",
+ "+963",
+ "+886",
+ "+992",
+ "+255",
+ "+888",
+ "+66",
+ "+882 16",
+ "+228",
+ "+690",
+ "+676",
+ "+373 2",
+ "+373 5",
+ "+1 868",
+ "+290 8",
+ "+216",
+ "+90",
+ "+993",
+ "+1 649",
+ "+688",
+ "+256",
+ "+380",
+ "+971",
+ "+44",
+ "+1",
+ "+878",
+ "+598",
+ "+1 340",
+ "+998",
+ "+678",
+ "+39 06 698",
+ "+379",
+ "+58",
+ "+84",
+ "+1 808",
+ "+681",
+ "+967",
+ "+260",
+ "+255 24",
+ "+263",
+ )
+
+ formats: ElementsType[str] = ("###-###-###",)
+
+ msisdn_formats: ElementsType[str] = ("#############",)
+
+ def phone_number(self) -> str:
+ return self.numerify(self.random_element(self.formats))
+
+ def country_calling_code(self) -> str:
+ return self.random_element(self.country_calling_codes)
+
+ def msisdn(self) -> str:
+ """https://en.wikipedia.org/wiki/MSISDN"""
+ return self.numerify(self.random_element(self.msisdn_formats))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..16d3b37
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__init__.py
new file mode 100644
index 0000000..6c85049
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__init__.py
@@ -0,0 +1,94 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Arab_Emirates
+
+ cellphone_formats = (
+ "{{area_code}} {{cellphone_provider_code}} ### ####",
+ "{{area_code}}{{cellphone_provider_code}}#######",
+ "0{{cellphone_provider_code}} ### ####",
+ "0{{cellphone_provider_code}}#######",
+ )
+
+ telephone_formats = (
+ "{{area_code}} {{telephone_provider_code}} ### ####",
+ "{{area_code}}{{telephone_provider_code}}#######",
+ "0{{telephone_provider_code}} ### ####",
+ "0{{telephone_provider_code}}#######",
+ )
+
+ toll_formats = (
+ "200####",
+ "600######",
+ "800###",
+ "800####",
+ "800#####",
+ "800######",
+ "800#######",
+ )
+
+ services_phones_formats = (
+ "999",
+ "901",
+ "998",
+ "997",
+ "996",
+ "991",
+ "922",
+ )
+
+ formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats
+
+ def cellphone_provider_code(self) -> str:
+ return self.random_element(
+ [
+ "50",
+ "52",
+ "54",
+ "55",
+ "56",
+ "58",
+ ]
+ )
+
+ def telephone_provider_code(self) -> str:
+ return self.random_element(
+ [
+ "1",
+ "2",
+ "3",
+ "4",
+ "6",
+ "7",
+ "9",
+ ]
+ )
+
+ def area_code(self) -> str:
+ return self.random_element(
+ [
+ "00971",
+ "+971",
+ ]
+ )
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def telephone_number(self) -> str:
+ pattern: str = self.random_element(self.telephone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def service_phone_number(self) -> str:
+ pattern: str = self.random_element(self.services_phones_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def toll_number(self) -> str:
+ pattern: str = self.random_element(self.toll_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..610a36a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_AE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__init__.py
new file mode 100644
index 0000000..90b8647
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__init__.py
@@ -0,0 +1,65 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Jordan
+
+ cellphone_formats = (
+ "+9627{{operator_id}}#######",
+ "+962 7 {{operator_id}}### ####",
+ "07{{operator_id}}#######",
+ "07{{operator_id}} ### ####",
+ )
+
+ telephone_formats = (
+ "+962{{area_code}}#######",
+ "+962 {{area_code}} ### ####",
+ "0{{area_code}}#######",
+ "0{{area_code}} ### ####",
+ )
+
+ services_phones_formats = (
+ "9##",
+ "12##",
+ "13##",
+ "14##",
+ )
+
+ formats = cellphone_formats + telephone_formats + services_phones_formats
+
+ def operator_id(self) -> str:
+ return self.random_element(
+ [
+ "4",
+ "7",
+ "8",
+ "9",
+ ]
+ )
+
+ def area_code(self) -> str:
+ return self.random_element(
+ [
+ "2",
+ "3",
+ "5",
+ "6",
+ "7",
+ ]
+ )
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def telephone_number(self) -> str:
+ pattern: str = self.random_element(self.telephone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def service_phone_number(self) -> str:
+ pattern: str = self.random_element(self.services_phones_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..4c4bae2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_JO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__init__.py
new file mode 100644
index 0000000..afc74f5
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__init__.py
@@ -0,0 +1,129 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Source:
+ # https://en.wikipedia.org/wiki/Telephone_numbers_in_the_State_of_Palestine
+
+ cellphone_formats = (
+ "{{area_code}} {{provider_code}} ### ####",
+ "{{area_code}}{{provider_code}}#######",
+ "0{{provider_code}} ### ####",
+ "0{{provider_code}}#######",
+ )
+
+ telephone_formats = (
+ "{{area_code}} 4 24# ####",
+ "{{area_code}}424#####",
+ "04 24# ####",
+ "0424#####",
+ "{{area_code}} 9 25# ####",
+ "{{area_code}}925#####",
+ "09 25# ####",
+ "0925#####",
+ "{{area_code}} 4 26# ####",
+ "{{area_code}}426#####",
+ "04 26# ####",
+ "0426#####",
+ "{{area_code}} 4 23# ####",
+ "{{area_code}}423#####",
+ "04 23# ####",
+ "0423#####",
+ "{{area_code}} 4 29# ####",
+ "{{area_code}}429#####",
+ "04 29# ####",
+ "0429#####",
+ "{{area_code}} 2 29# ####",
+ "{{area_code}}229#####",
+ "02 29# ####",
+ "0229#####",
+ "{{area_code}} 2 23# ####",
+ "{{area_code}}223#####",
+ "02 23# ####",
+ "0223#####",
+ "{{area_code}} 2 22# ####",
+ "{{area_code}}222#####",
+ "02 22# ####",
+ "0222#####",
+ "{{area_code}} 2 27# ####",
+ "{{area_code}}227#####",
+ "02 27# ####",
+ "0227#####",
+ "{{area_code}} 8 20# ####",
+ "{{area_code}}820#####",
+ "08 20# ####",
+ "0820#####",
+ "{{area_code}} 8 21# ####",
+ "{{area_code}}821#####",
+ "08 21# ####",
+ "0821#####",
+ "{{area_code}} 8 24# ####",
+ "{{area_code}}824#####",
+ "08 24# ####",
+ "0824#####",
+ "{{area_code}} 8 25# ####",
+ "{{area_code}}825#####",
+ "08 25# ####",
+ "0825#####",
+ "{{area_code}} 8 26# ####",
+ "{{area_code}}826#####",
+ "08 26# ####",
+ "0826#####",
+ "{{area_code}} 8 28# ####",
+ "{{area_code}}828#####",
+ "08 28# ####",
+ "0828#####",
+ )
+
+ toll_formats = (
+ "1 700 ### ###",
+ "1-700-###-###",
+ "1 800 ### ###",
+ "1-800-###-###",
+ )
+
+ services_phones_formats = (
+ "100",
+ "101",
+ "102",
+ )
+
+ formats = cellphone_formats + telephone_formats + services_phones_formats + toll_formats
+
+ def provider_code(self) -> str:
+ return self.random_element(
+ [
+ "59",
+ "56",
+ ]
+ )
+
+ def area_code(self) -> str:
+ return self.random_element(
+ [
+ "00972",
+ "+972",
+ "00970",
+ "+970",
+ ]
+ )
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def telephone_number(self) -> str:
+ pattern: str = self.random_element(self.telephone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def service_phone_number(self) -> str:
+ pattern: str = self.random_element(self.services_phones_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def toll_number(self) -> str:
+ pattern: str = self.random_element(self.toll_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1715bed
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ar_PS/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__init__.py
new file mode 100644
index 0000000..aa340d6
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__init__.py
@@ -0,0 +1,57 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ cellphone_formats = (
+ "+994{{provider_code}}{{start_digit}}######",
+ "0{{provider_code}} {{start_digit}}## ## ##",
+ "0{{provider_code}}-{{start_digit}}##-##-##",
+ )
+
+ telephone_formats = ("{{area_code}}## ## ##",)
+
+ provider_codes = ["50", "51", "55", "60", "70", "77", "99"]
+
+ start_digits = ["2", "3", "4", "5", "6", "7", "8", "9"]
+
+ area_codes = [
+ "012 3",
+ "012 4",
+ "012 5",
+ "018 6",
+ "020 2",
+ "021 2",
+ "021 4",
+ "022 2",
+ "022 3",
+ "022 4",
+ "023 3",
+ "024 2",
+ "025 2",
+ "026 2",
+ "026 3",
+ "036 5",
+ ]
+
+ formats = cellphone_formats + telephone_formats
+
+ def start_digit(self) -> str:
+ return self.random_element(self.start_digits)
+
+ def provider_code(self) -> str:
+ return self.random_element(self.provider_codes)
+
+ def area_code(self) -> str:
+ return self.random_element(self.area_codes)
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def landline_number(self) -> str:
+ pattern: str = self.random_element(self.telephone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..2edc7ea
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/az_AZ/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__init__.py
new file mode 100644
index 0000000..c90a4fe
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__init__.py
@@ -0,0 +1,17 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+359(0)#########",
+ "+359(0)### ######",
+ "+359(0)### ### ###",
+ "+359#########",
+ "0#########",
+ "0### ######",
+ "0### ### ###",
+ "0### ###-###",
+ "(0###) ######",
+ "(0###) ### ###",
+ "(0###) ###-###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..ca80f28
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bg_BG/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__init__.py
new file mode 100644
index 0000000..c627824
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__init__.py
@@ -0,0 +1,334 @@
+from faker.providers.person.bn_BD import translate_to_bengali_digits
+
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ """
+ Implement phone number provider for ``bn_BD`` locale.
+ Sources:
+ - https://en.wikipedia.org/wiki/Telephone_numbers_in_Bangladesh
+ """
+
+ country_calling_codes = (
+ "+৯৩",
+ "+৩৫৮ ১৮",
+ "+৩৫",
+ "+২১৩",
+ "+১ ৬৮৪",
+ "+৩৭৬",
+ "+২৪",
+ "+১ ২৬৪",
+ "+১ ২৬৮",
+ "+৫৪",
+ "+৩৭৪",
+ "+২৯৭",
+ "+২৪৭",
+ "+৬১",
+ "+৬৭২ ১",
+ "+৬৭২",
+ "+৪৩",
+ "+৯৪",
+ "+১ ২৪২",
+ "+৯৭৩",
+ "+৮০",
+ "+১ ২৪৬",
+ "+১ ২৬৮",
+ "+৩৭৫",
+ "+৩২",
+ "+৫০১",
+ "+২৯",
+ "+১ ৪১",
+ "+৯৭৫",
+ "+৫৯১",
+ "+৫৯ ৭",
+ "+৩৮৭",
+ "+২৬৭",
+ "+৫",
+ "+২৪৬",
+ "+১ ২৮৪",
+ "+৬৭৩",
+ "+৩৫৯",
+ "+২৬",
+ "+২৫৭",
+ "+৮৫",
+ "+২৩৭",
+ "+১",
+ "+২৩৮",
+ "+৫৯ ৩",
+ "+৫৯ ৪",
+ "+৫৯ ৭",
+ "+১ ৩৪৫",
+ "+২৩৬",
+ "+২৩৫",
+ "+৬৪",
+ "+৫৬",
+ "+৮৬",
+ "+৬১ ৮৯১৬৪",
+ "+৬১ ৮৯১৬২",
+ "+৫৭",
+ "+২৬৯",
+ "+২৪২",
+ "+২৪৩",
+ "+৬৮২",
+ "+৫০৬",
+ "+৩৮৫",
+ "+৫৩",
+ "+৫৯ ৯",
+ "+৩৫৭",
+ "+৪২০",
+ "+৪৫",
+ "+২৪৬",
+ "+২৫৩",
+ "+১ ৭৬৭",
+ "+১ ৮০৯",
+ "+১ ৮২৯",
+ "+১ ৮৪৯",
+ "+৬৭০",
+ "+৫৬",
+ "+৫৯৩",
+ "+২০",
+ "+৫০৩",
+ "+৮১ ২",
+ "+৮১ ৩",
+ "+৮২ ১৩",
+ "+২৪০",
+ "+২৯১",
+ "+৩৭২",
+ "+২৬৮",
+ "+২৫১",
+ "+৫০",
+ "+২৯৮",
+ "+৬৭৯",
+ "+৩৫৮",
+ "+৩",
+ "+৫৯৬",
+ "+৫৯৪",
+ "+৬৮৯",
+ "+২৪১",
+ "+২০",
+ "+৯৫",
+ "+৪৯",
+ "+২৩",
+ "+৩৫০",
+ "+৮১",
+ "+৮১ ৮",
+ "+৮১ ৯",
+ "+৩০",
+ "+২৯",
+ "+১ ৪৭৩",
+ "+৫৯০",
+ "+১ ৬৭১",
+ "+৫০২",
+ "+৪ ১৪৮১",
+ "+৪ ৭৮১",
+ "+৪ ৭৮৩৯",
+ "+৪ ৭৯১",
+ "+২৪",
+ "+২৪৫",
+ "+৫৯২",
+ "+৫০৯",
+ "+৫০৪",
+ "+৮৫২",
+ "+৩৬",
+ "+৩৫৪",
+ "+৮১ ০",
+ "+৮১ ১",
+ "+৯১",
+ "+৬২",
+ "+৮৭০",
+ "+৮০",
+ "+৮২",
+ "+৮৩",
+ "+৯৭৯",
+ "+৮০৮",
+ "+৯৮",
+ "+৯৬৪",
+ "+৩৫৩",
+ "+৮১ ৬",
+ "+৮১ ৭",
+ "+৪ ১৬২৪",
+ "+৪ ৭৫২৪",
+ "+৪ ৭৬২৪",
+ "+৪ ৭৯২৪",
+ "+৯৭২",
+ "+৩৯",
+ "+২৫",
+ "+১ ৮৭৬",
+ "+৪৭ ৭৯",
+ "+৮১",
+ "+৪ ১৫৩৪",
+ "+৯৬২",
+ "+৭ ৬",
+ "+৭ ৭",
+ "+২৫৪",
+ "+৬৮৬",
+ "+৮৫০",
+ "+৮২",
+ "+৩৮৩",
+ "+৯৬৫",
+ "+৯৬",
+ "+৮৫৬",
+ "+৩৭১",
+ "+৯৬১",
+ "+২৬",
+ "+২৩১",
+ "+২১৮",
+ "+৪২৩",
+ "+৩৭০",
+ "+৩৫২",
+ "+৮৫৩",
+ "+২৬১",
+ "+২৬৫",
+ "+৬০",
+ "+৯৬০",
+ "+২৩",
+ "+৩৫৬",
+ "+৬৯২",
+ "+৫৯৬",
+ "+২",
+ "+২৩০",
+ "+২৬২ ২৬৯",
+ "+২৬২ ৬৩৯",
+ "+৫২",
+ "+৬৯১",
+ "+১ ৮০৮",
+ "+৩৭৩",
+ "+৩৭",
+ "+৯৭৬",
+ "+৩৮২",
+ "+১ ৬৪",
+ "+২১২",
+ "+২৫৮",
+ "+৯৫",
+ "+৩৭৪ ৪৭",
+ "+৩৭৪ ৯৭",
+ "+২৬৪",
+ "+৬৭৪",
+ "+৯৭",
+ "+৩১",
+ "+১ ৮৬৯",
+ "+৬৮৭",
+ "+৬৪",
+ "+৫০৫",
+ "+২৭",
+ "+২৩৪",
+ "+৬৮৩",
+ "+৬৭২ ৩",
+ "+৩৮৯",
+ "+৯০ ৩৯২",
+ "+৪ ২৮",
+ "+১ ৬৭০",
+ "+৪৭",
+ "+৯৬৮",
+ "+৯২",
+ "+৬৮০",
+ "+৯৭০",
+ "+৫০৭",
+ "+৬৭৫",
+ "+৫৯৫",
+ "+৫১",
+ "+৬৩",
+ "+৬৪",
+ "+৪৮",
+ "+৩৫১",
+ "+১ ৭৮৭",
+ "+১ ৯৩৯",
+ "+৯৭৪",
+ "+২৬২",
+ "+৪০",
+ "+৭",
+ "+২৫০",
+ "+৫৯ ৪",
+ "+৫৯০",
+ "+২৯০",
+ "+১ ৮৬৯",
+ "+১ ৭৫৮",
+ "+৫৯০",
+ "+৫০৮",
+ "+১ ৭৮৪",
+ "+৬৮৫",
+ "+৩৭৮",
+ "+২৩৯",
+ "+৯৬",
+ "+২১",
+ "+৩৮১",
+ "+২৪৮",
+ "+২৩২",
+ "+৬৫",
+ "+৫৯ ৩",
+ "+১ ৭২১",
+ "+৪২১",
+ "+৩৮৬",
+ "+৬৭",
+ "+২৫২",
+ "+২৭",
+ "+৫০",
+ "+৯৫ ৩৪",
+ "+২১",
+ "+৩৪",
+ "+৯৪",
+ "+২৪৯",
+ "+৫৯৭",
+ "+৪৭ ৭৯",
+ "+৪৬",
+ "+৪১",
+ "+৯৬৩",
+ "+৮৬",
+ "+৯২",
+ "+২৫",
+ "+৮",
+ "+৬",
+ "+৮২ ১৬",
+ "+২৮",
+ "+৬৯০",
+ "+৬৭৬",
+ "+৩৭৩ ২",
+ "+৩৭৩ ৫",
+ "+১ ৮৬৮",
+ "+২৯০ ৮",
+ "+২১৬",
+ "+৯০",
+ "+৯৩",
+ "+১ ৬৪৯",
+ "+৬৮",
+ "+২৫৬",
+ "+৩৮০",
+ "+৯৭১",
+ "+৪",
+ "+১",
+ "+৮৭৮",
+ "+৫৯৮",
+ "+১ ৩৪০",
+ "+৯৮",
+ "+৬৭৮",
+ "+৩৯ ০৬ ৬৯৮",
+ "+৩৭৯",
+ "+৫৮",
+ "+৮৪",
+ "+১ ৮০৮",
+ "+৬৮১",
+ "+৯৬৭",
+ "+২৬০",
+ "+২৫ ২৪",
+ "+২৬৩",
+ )
+
+ formats = (
+ "01 ### ######",
+ "01###-######",
+ "01#########",
+ "+880 1### ######",
+ "+880-1###-######",
+ "+8801#########",
+ "+880-2-#-####-####",
+ "+880-###-###-###",
+ )
+
+ def phone_number(self) -> str:
+ res = super(self.__class__, self).phone_number()
+ return translate_to_bengali_digits(res)
+
+ def msisdn(self) -> str:
+ res = super(self.__class__, self).msisdn()
+ return translate_to_bengali_digits(res)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..6e77da9
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bn_BD/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__init__.py
new file mode 100644
index 0000000..8f96887
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__init__.py
@@ -0,0 +1,39 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "030 ### ###",
+ "031 ### ###",
+ "032 ### ###",
+ "033 ### ###",
+ "034 ### ###",
+ "035 ### ###",
+ "036 ### ###",
+ "037 ### ###",
+ "038 ### ###",
+ "039 ### ###",
+ "049 ### ###",
+ "050 ### ###",
+ "051 ### ###",
+ "052 ### ###",
+ "053 ### ###",
+ "054 ### ###",
+ "055 ### ###",
+ "056 ### ###",
+ "057 ### ###",
+ "058 ### ###",
+ "059 ### ###",
+ "060 ### ###",
+ "060 #### ###",
+ "061 ### ###",
+ "062 ### ###",
+ "063 ### ###",
+ "064 ### ###",
+ "065 ### ###",
+ "066 ### ###",
+ "067 ### ###",
+ "070 20# ###",
+ "+387 61 ### ###",
+ "+387 (0)61 ### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..695824d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/bs_BA/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__init__.py
new file mode 100644
index 0000000..ddc13aa
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__init__.py
@@ -0,0 +1,30 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Phone numbers
+ # https://cs.wikipedia.org/wiki/Telefonn%C3%AD_%C4%8D%C3%ADslo
+
+ formats = (
+ # 601-608
+ "+420 601 ### ###",
+ "+420 602 ### ###",
+ "+420 603 ### ###",
+ "+420 604 ### ###",
+ "+420 605 ### ###",
+ "+420 606 ### ###",
+ "+420 607 ### ###",
+ "+420 608 ### ###",
+ # 702-705
+ "+420 702 ### ###",
+ "+420 703 ### ###",
+ "+420 704 ### ###",
+ "+420 705 ### ###",
+ # 720-739
+ "+420 72# ### ###",
+ "+420 73# ### ###",
+ # 770-779
+ "+420 77# ### ###",
+ # 790-799
+ "+420 79# ### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..0c14c09
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/cs_CZ/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__init__.py
new file mode 100644
index 0000000..3922b69
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__init__.py
@@ -0,0 +1,12 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+45 ########",
+ "+45 #### ####",
+ "+45 ## ## ## ##",
+ "########",
+ "#### ####",
+ "## ## ## ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..801c2db
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/da_DK/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__init__.py
new file mode 100644
index 0000000..f690d10
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__init__.py
@@ -0,0 +1,18 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # https://de.wikipedia.org/wiki/Rufnummer#Schreibweisen
+ formats = (
+ "+49(0)##########",
+ "+49(0)#### ######",
+ "+49 (0) #### ######",
+ "+49(0) #########",
+ "+49(0)#### #####",
+ "0##########",
+ "0#########",
+ "0#### ######",
+ "0#### #####",
+ "(0####) ######",
+ "(0####) #####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1ceb5fe
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/de_DE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__init__.py
new file mode 100644
index 0000000..1bb4d96
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__init__.py
@@ -0,0 +1,23 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "69########",
+ "69## ######",
+ "69## ### ###",
+ "210#######",
+ "210 #######",
+ "210 ### ####",
+ "2##0######",
+ "2##0 ######",
+ "2##0 ### ###",
+ "2###0#####",
+ "2###0 ## ###",
+ "(+30) 69## ######",
+ "+30 69## ######",
+ "+3069########",
+ "(+30) 2### ######",
+ "+30 2### ######",
+ "+302#########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..a4e4ec1
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/el_GR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__init__.py
new file mode 100644
index 0000000..0d05854
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__init__.py
@@ -0,0 +1,41 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ # Local calls
+ "#### ####",
+ "####-####",
+ "####.####", # domain registrars apparently use this
+ "########",
+ # National dialing
+ "0{{area_code}} #### ####",
+ "0{{area_code}}-####-####",
+ "0{{area_code}}.####.####",
+ "0{{area_code}}########",
+ # Optional parenthesis
+ "(0{{area_code}}) #### ####",
+ "(0{{area_code}})-####-####",
+ "(0{{area_code}}).####.####",
+ "(0{{area_code}})########",
+ # International drops the 0
+ "+61 {{area_code}} #### ####",
+ "+61-{{area_code}}-####-####",
+ "+61.{{area_code}}.####.####",
+ "+61{{area_code}}########",
+ # 04 Mobile telephones (Australia-wide) mostly commonly written 4 - 3 -
+ # 3 instead of 2 - 4 - 4
+ "04## ### ###",
+ "04##-###-###",
+ "04##.###.###",
+ "+61 4## ### ###",
+ "+61-4##-###-###",
+ "+61.4##.###.###",
+ )
+
+ def area_code(self) -> str:
+ return self.numerify(self.random_element(["2", "3", "7", "8"]))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..4fc3280
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_AU/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__init__.py
new file mode 100644
index 0000000..769ef83
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__init__.py
@@ -0,0 +1,15 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "%##-###-####",
+ "%##.###.####",
+ "%## ### ####",
+ "(%##) ###-####",
+ "1-%##-###-####",
+ "1 (%##) ###-####",
+ "+1 (%##) ###-####",
+ "%##-###-#### x###",
+ "(%##) ###-#### x###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..034452f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_CA/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__init__.py
new file mode 100644
index 0000000..0c06c6a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__init__.py
@@ -0,0 +1,267 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Source:
+ # https://en.wikipedia.org/wiki/Telephone_numbers_in_the_United_Kingdom
+ # Fake phone numbers should be fake - this provider has been rewritten to
+ # use numbers reserved for dramatic use by Ofcom. See the following:
+ # https://en.wikipedia.org/wiki/Fictitious_telephone_number#United_Kingdom
+ # This ensures no genuine numbers are generated at random.
+ #
+ # It's worth noting that the following examples include incorrect notation
+ # of British phone numbers. +44(0)xxx is incorrect and the '(0)' should
+ # be omitted. However, it's commonly written this way by Joe Public
+ # and would better serve this project to be included, as it represents
+ # more realistic data and is of benefit to those developing data cleansing
+ # tools etc. All possible official fake numbers are covered below.
+
+ cellphone_formats = (
+ "07700 900 ###",
+ "07700 900###",
+ "07700900###",
+ "(07700) 900 ###",
+ "(07700) 900###",
+ "(07700)900###",
+ "+447700 900 ###",
+ "+447700 900###",
+ "+447700900###",
+ "+44(0)7700 900 ###",
+ "+44(0)7700 900###",
+ "+44(0)7700900###",
+ )
+
+ formats = (
+ "0113 496 0###",
+ "0113 4960###",
+ "01134960###",
+ "(0113) 496 0###",
+ "(0113) 4960###",
+ "(0113)4960###",
+ "+44113 496 0###",
+ "+44113 4960###",
+ "+441134960###",
+ "+44(0)113 496 0###",
+ "+44(0)113 4960###",
+ "+44(0)1134960###",
+ "0114 496 0###",
+ "0114 4960###",
+ "01144960###",
+ "(0114) 496 0###",
+ "(0114) 4960###",
+ "(0114)4960###",
+ "+44114 496 0###",
+ "+44114 4960###",
+ "+441144960###",
+ "+44(0)114 496 0###",
+ "+44(0)114 4960###",
+ "+44(0)1144960###",
+ "0115 496 0###",
+ "0115 4960###",
+ "01154960###",
+ "(0115) 496 0###",
+ "(0115) 4960###",
+ "(0115)4960###",
+ "+44115 496 0###",
+ "+44115 4960###",
+ "+441154960###",
+ "+44(0)115 496 0###",
+ "+44(0)115 4960###",
+ "+44(0)1154960###",
+ "0116 496 0###",
+ "0116 4960###",
+ "01164960###",
+ "(0116) 496 0###",
+ "(0116) 4960###",
+ "(0116)4960###",
+ "+44116 496 0###",
+ "+44116 4960###",
+ "+441164960###",
+ "+44(0)116 496 0###",
+ "+44(0)116 4960###",
+ "+44(0)1164960###",
+ "0117 496 0###",
+ "0117 4960###",
+ "01174960###",
+ "(0117) 496 0###",
+ "(0117) 4960###",
+ "(0117)4960###",
+ "+44117 496 0###",
+ "+44117 4960###",
+ "+441174960###",
+ "+44(0)117 496 0###",
+ "+44(0)117 4960###",
+ "+44(0)1174960###",
+ "0118 496 0###",
+ "0118 4960###",
+ "01184960###",
+ "(0118) 496 0###",
+ "(0118) 4960###",
+ "(0118)4960###",
+ "+44118 496 0###",
+ "+44118 4960###",
+ "+441184960###",
+ "+44(0)118 496 0###",
+ "+44(0)118 4960###",
+ "+44(0)1184960###",
+ "0121 496 0###",
+ "0121 4960###",
+ "01214960###",
+ "(0121) 496 0###",
+ "(0121) 4960###",
+ "(0121)4960###",
+ "+44121 496 0###",
+ "+44121 4960###",
+ "+441214960###",
+ "+44(0)121 496 0###",
+ "+44(0)121 4960###",
+ "+44(0)1214960###",
+ "0131 496 0###",
+ "0131 4960###",
+ "01314960###",
+ "(0131) 496 0###",
+ "(0131) 4960###",
+ "(0131)4960###",
+ "+44131 496 0###",
+ "+44131 4960###",
+ "+441314960###",
+ "+44(0)131 496 0###",
+ "+44(0)131 4960###",
+ "+44(0)1314960###",
+ "0141 496 0###",
+ "0141 4960###",
+ "01414960###",
+ "(0141) 496 0###",
+ "(0141) 4960###",
+ "(0141)4960###",
+ "+44141 496 0###",
+ "+44141 4960###",
+ "+441414960###",
+ "+44(0)141 496 0###",
+ "+44(0)141 4960###",
+ "+44(0)1414960###",
+ "0151 496 0###",
+ "0151 4960###",
+ "01514960###",
+ "(0151) 496 0###",
+ "(0151) 4960###",
+ "(0151)4960###",
+ "+44151 496 0###",
+ "+44151 4960###",
+ "+441514960###",
+ "+44(0)151 496 0###",
+ "+44(0)151 4960###",
+ "+44(0)1514960###",
+ "0161 496 0###",
+ "0161 4960###",
+ "01614960###",
+ "(0161) 496 0###",
+ "(0161) 4960###",
+ "(0161)4960###",
+ "+44161 496 0###",
+ "+44161 4960###",
+ "+441614960###",
+ "+44(0)161 496 0###",
+ "+44(0)161 4960###",
+ "+44(0)1614960###",
+ "0191 498 0###",
+ "0191 4960###",
+ "01914960###",
+ "(0191) 496 0###",
+ "(0191) 4960###",
+ "(0191)4960###",
+ "+44191 496 0###",
+ "+44191 4960###",
+ "+441914960###",
+ "+44(0)191 496 0###",
+ "+44(0)191 4960###",
+ "+44(0)1914960###",
+ "020 7946 0###",
+ "020 74960###",
+ "02074960###",
+ "(020) 7496 0###",
+ "(020) 74960###",
+ "(020)74960###",
+ "+4420 7496 0###",
+ "+4420 74960###",
+ "+442074960###",
+ "+44(0)20 7496 0###",
+ "+44(0)20 74960###",
+ "+44(0)2074960###",
+ "028 9018 0###",
+ "028 9018###",
+ "0289018###",
+ "(028) 9018 0###",
+ "(028) 9018###",
+ "(028)9018###",
+ "+4428 9018 0###",
+ "+4428 9018###",
+ "+44289018###",
+ "+44(0)28 9018 0###",
+ "+44(0)28 9018###",
+ "+44(0)289018###",
+ "029 2018 0###",
+ "029 2018###",
+ "0292018###",
+ "(029) 2018 0###",
+ "(029) 2018###",
+ "(029)2018###",
+ "+4429 2018 0###",
+ "+4429 2018###",
+ "+44292018###",
+ "+44(0)29 2018 0###",
+ "+44(0)29 2018###",
+ "+44(0)292018###",
+ "01632 960 ###",
+ "01632 960###",
+ "01632960###",
+ "(01632) 960 ###",
+ "(01632) 960###",
+ "(01632)960###",
+ "+441632 960 ###",
+ "+441632 960###",
+ "+441632960###",
+ "+44(0)1632 960 ###",
+ "+44(0)1632 960###",
+ "+44(0)1632960###",
+ "0306 999 0###",
+ "0306 9990###",
+ "03069990###",
+ "(0306) 999 0###",
+ "(0306) 9990###",
+ "(0306)9990###",
+ "+44306 999 0###",
+ "+44306 9990###",
+ "+443069990###",
+ "+44(0)306 999 0###",
+ "+44(0)306 9990###",
+ "+44(0)3069990###",
+ "0808 157 0###",
+ "0808 1570###",
+ "08081570###",
+ "(0808) 157 0###",
+ "(0808) 1570###",
+ "(0808)1570###",
+ "+44808 157 0###",
+ "+44808 1570###",
+ "+448081570###",
+ "+44(0)808 157 0###",
+ "+44(0)808 1570###",
+ "+44(0)8081570###",
+ "0909 879 0###",
+ "0909 8790###",
+ "09098790###",
+ "(0909) 879 0###",
+ "(0909) 8790###",
+ "(0909)8790###",
+ "+44909 879 0###",
+ "+44909 8790###",
+ "+449098790###",
+ "+44(0)909 879 0###",
+ "+44(0)909 8790###",
+ "+44(0)9098790###",
+ )
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..6099e86
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_GB/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__init__.py
new file mode 100644
index 0000000..d84e68d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__init__.py
@@ -0,0 +1,9 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+91##########",
+ "0##########",
+ "##########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1e04ab1
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_IN/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__init__.py
new file mode 100644
index 0000000..80603aa
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__init__.py
@@ -0,0 +1,46 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ # Local calls
+ "%## ####",
+ "%##-####",
+ "%######",
+ # National & Mobile dialing
+ "0{{area_code}} %## ####",
+ "0{{area_code}} %##-####",
+ "0{{area_code}}-%##-####",
+ "0{{area_code}} %######",
+ # Optional parenthesis
+ "(0{{area_code}}) %## ####",
+ "(0{{area_code}}) %##-####",
+ "(0{{area_code}}) %######",
+ # International drops the 0
+ "+64 {{area_code}} %## ####",
+ "+64 {{area_code}} %##-####",
+ "+64 {{area_code}} %######",
+ "+64-{{area_code}}-%##-####",
+ "+64{{area_code}}%######",
+ )
+
+ area_codes = [
+ # Mobiles
+ "20",
+ "21",
+ "22",
+ "27",
+ "29",
+ "3", # South Island
+ "4", # Wellington
+ "6", # Lower North Island
+ "7", # Central North Island
+ "9", # Auckland
+ ]
+
+ def area_code(self) -> str:
+ return self.numerify(self.random_element(self.area_codes))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..962de43
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_NZ/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__init__.py
new file mode 100644
index 0000000..97ea46c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__init__.py
@@ -0,0 +1,252 @@
+from typing import Sequence, Tuple
+
+from ... import BaseProvider
+
+
+class Provider(BaseProvider):
+ """
+ Provider for Philippine mobile and landline telephone numbers
+
+ This provider has methods that generate phone numbers specific to service providers whenever applicable, because the
+ kinds of services, the quality of said services, and even the fees may vary depending on the service provider and
+ the service location. This in turn, affects subscriber behavior, e.g. someone with a SIM from company X may be very
+ unlikely to respond to calls and texts sent from a company Y SIM as the service charge might be more expensive. The
+ provider methods are there to enable the creation of more "realistic" fake data for such cases.
+
+ Additional Notes:
+ - The Philippine telecommunication industry is dominated by the Globe-PLDT duopoly. Globe offers landline
+ services under the Globe brand and mobile services under the Globe and TM brands. PLDT offers landline
+ services under the PLDT brand, and its subsidiaries offer mobile services under the Smart, TNT, and SUN
+ brands. The rest of the industry is shared by smaller players, and Bayantel is one of the more well-known
+ players that provide landline services.
+ - Globe mobile prefixes include both Globe and TM brands, and the Smart mobile prefixes include both Smart
+ and TNT brands but not the SUN brand. Available sources only split the prefixes this way.
+ - In October 2019, Area 2 landline numbers were migrated to an 8 digit scheme, while the rest of the
+ country still uses the original 7 digit scheme. Area 2 is comprised of the whole National Capital
+ Region (aka Metro Manila) and parts of surrounding provinces, and within this area, the service
+ provider's identifier is included in every 8 digit landline number.
+
+ Sources:
+ - https://en.wikipedia.org/wiki/Telephone_numbers_in_the_Philippines
+ - https://www.prefix.ph/prefixes/2019-updated-complete-list-of-philippine-mobile-network-prefixes/
+ - https://powerpinoys.com/network-prefixes-philippines/
+ """
+
+ globe_mobile_number_prefixes: Tuple[str, ...] = (
+ "817",
+ "904",
+ "905",
+ "906",
+ "915",
+ "916",
+ "917",
+ "926",
+ "927",
+ "935",
+ "936",
+ "937",
+ "945",
+ "955",
+ "956",
+ "965",
+ "966",
+ "967",
+ "973",
+ "975",
+ "976",
+ "977",
+ "978",
+ "979",
+ "994",
+ "995",
+ "996",
+ "997",
+ )
+ smart_mobile_number_prefixes: Tuple[str, ...] = (
+ "813",
+ "907",
+ "908",
+ "909",
+ "910",
+ "911",
+ "912",
+ "913",
+ "914",
+ "918",
+ "919",
+ "920",
+ "921",
+ "928",
+ "929",
+ "930",
+ "938",
+ "939",
+ "940",
+ "946",
+ "947",
+ "948",
+ "949",
+ "950",
+ "951",
+ "961",
+ "970",
+ "981",
+ "989",
+ "992",
+ "998",
+ "999",
+ )
+ sun_mobile_number_prefixes: Tuple[str, ...] = (
+ "922",
+ "923",
+ "924",
+ "925",
+ "931",
+ "932",
+ "933",
+ "934",
+ "941",
+ "942",
+ "943",
+ "944",
+ )
+ globe_mobile_number_formats: Tuple[str, ...] = (
+ "0{{globe_mobile_number_prefix}}-###-####",
+ "+63{{globe_mobile_number_prefix}}-###-####",
+ )
+ smart_mobile_number_formats: Tuple[str, ...] = (
+ "0{{smart_mobile_number_prefix}}-###-####",
+ "+63{{smart_mobile_number_prefix}}-###-####",
+ )
+ sun_mobile_number_formats: Tuple[str, ...] = (
+ "0{{sun_mobile_number_prefix}}-###-####",
+ "+63{{sun_mobile_number_prefix}}-###-####",
+ )
+ mobile_number_formats: Tuple[str, ...] = (
+ globe_mobile_number_formats + smart_mobile_number_formats + sun_mobile_number_formats
+ )
+
+ bayantel_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(3000, 3500))
+ misc_landline_identifiers: Tuple[str, ...] = tuple(str(x) for x in range(5300, 5800)) + tuple(
+ str(x) for x in range(6000, 6700)
+ )
+ non_area2_landline_area_codes: Tuple[str, ...] = (
+ "32",
+ "33",
+ "34",
+ "35",
+ "36",
+ "38",
+ "42",
+ "43",
+ "44",
+ "45",
+ "46",
+ "47",
+ "48",
+ "49",
+ "52",
+ "53",
+ "54",
+ "55",
+ "56",
+ "62",
+ "63",
+ "64",
+ "65",
+ "68",
+ "72",
+ "74",
+ "75",
+ "77",
+ "78",
+ "82",
+ "83",
+ "84",
+ "85",
+ "86",
+ "87",
+ "88",
+ )
+ globe_area2_landline_number_formats: Tuple[str, ...] = (
+ "02-7###-####",
+ "+632-7###-####",
+ )
+ pldt_area2_landline_number_formats: Tuple[str, ...] = (
+ "02-8###-####",
+ "+632-8###-####",
+ )
+ bayantel_area2_landline_number_formats: Tuple[str, ...] = (
+ "02-{{bayantel_landline_identifier}}-####",
+ "+632-{{bayantel_landline_identifier}}-####",
+ )
+ misc_area2_landline_number_formats: Tuple[str, ...] = (
+ "02-{{misc_landline_identifier}}-####",
+ "+632-{{misc_landline_identifier}}-####",
+ )
+ area2_landline_number_formats: Tuple[str, ...] = (
+ globe_area2_landline_number_formats
+ + pldt_area2_landline_number_formats
+ + bayantel_area2_landline_number_formats
+ + misc_area2_landline_number_formats
+ )
+ non_area2_landline_number_formats: Tuple[str, ...] = (
+ "0{{non_area2_landline_area_code}}-###-####",
+ "+63{{non_area2_landline_area_code}}-###-####",
+ )
+ landline_number_formats: Tuple[str, ...] = area2_landline_number_formats + non_area2_landline_number_formats
+
+ def _create_phone_number(self, formats: Sequence[str]) -> str:
+ pattern: str = self.random_element(formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def globe_mobile_number_prefix(self) -> str:
+ return self.random_element(self.globe_mobile_number_prefixes)
+
+ def smart_mobile_number_prefix(self) -> str:
+ return self.random_element(self.smart_mobile_number_prefixes)
+
+ def sun_mobile_number_prefix(self) -> str:
+ return self.random_element(self.sun_mobile_number_prefixes)
+
+ def bayantel_landline_identifier(self) -> str:
+ return self.random_element(self.bayantel_landline_identifiers)
+
+ def misc_landline_identifier(self) -> str:
+ return self.random_element(self.misc_landline_identifiers)
+
+ def non_area2_landline_area_code(self) -> str:
+ return self.random_element(self.non_area2_landline_area_codes)
+
+ def globe_mobile_number(self) -> str:
+ return self._create_phone_number(self.globe_mobile_number_formats)
+
+ def smart_mobile_number(self) -> str:
+ return self._create_phone_number(self.smart_mobile_number_formats)
+
+ def sun_mobile_number(self) -> str:
+ return self._create_phone_number(self.sun_mobile_number_formats)
+
+ def mobile_number(self) -> str:
+ return self._create_phone_number(self.mobile_number_formats)
+
+ def globe_area2_landline_number(self) -> str:
+ return self._create_phone_number(self.globe_area2_landline_number_formats)
+
+ def pldt_area2_landline_number(self) -> str:
+ return self._create_phone_number(self.pldt_area2_landline_number_formats)
+
+ def bayantel_area2_landline_number(self) -> str:
+ return self._create_phone_number(self.bayantel_area2_landline_number_formats)
+
+ def misc_area2_landline_number(self) -> str:
+ return self._create_phone_number(self.misc_area2_landline_number_formats)
+
+ def area2_landline_number(self) -> str:
+ return self._create_phone_number(self.area2_landline_number_formats)
+
+ def non_area2_landline_number(self) -> str:
+ return self._create_phone_number(self.non_area2_landline_number_formats)
+
+ def landline_number(self) -> str:
+ return self._create_phone_number(self.landline_number_formats)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..73a97ef
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__init__.py
new file mode 100644
index 0000000..dc7dc7e
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__init__.py
@@ -0,0 +1,50 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ # Standard 10-digit phone number formats
+ "$##$######",
+ "$##$######",
+ "$##-$##-####",
+ "$##-$##-####",
+ # Optional 10-digit local phone number format
+ "($##)$##-####",
+ "($##)$##-####",
+ # Non-standard 10-digit phone number format
+ "$##.$##.####",
+ "$##.$##.####",
+ # Standard 10-digit phone number format with extensions
+ "$##-$##-####x###",
+ "$##-$##-####x####",
+ "$##-$##-####x#####",
+ # Optional 10-digit local phone number format with extensions
+ "($##)$##-####x###",
+ "($##)$##-####x####",
+ "($##)$##-####x#####",
+ # Non-standard 10-digit phone number format with extensions
+ "$##.$##.####x###",
+ "$##.$##.####x####",
+ "$##.$##.####x#####",
+ # Standard 11-digit phone number format
+ "+1-$##-$##-####",
+ "001-$##-$##-####",
+ # Standard 11-digit phone number format with extensions
+ "+1-$##-$##-####x###",
+ "+1-$##-$##-####x####",
+ "+1-$##-$##-####x#####",
+ "001-$##-$##-####x###",
+ "001-$##-$##-####x####",
+ "001-$##-$##-####x#####",
+ )
+
+ basic_formats = (
+ # basic 10-digit phone number format with no extensions
+ "$##$######",
+ "$##-$##-####",
+ "($##)$##-####",
+ )
+
+ def basic_phone_number(self) -> str:
+ pattern: str = self.random_element(self.basic_formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c2b97f4
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/en_US/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__init__.py
new file mode 100644
index 0000000..89387f2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__init__.py
@@ -0,0 +1,46 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ """
+ According to official specs:
+ https://es.wikipedia.org/wiki/N%C3%BAmeros_telef%C3%B3nicos_en_Argentina
+ https://www.argentina.gob.ar/pais/codigo-telefonia
+ """
+
+ formats = (
+ "+54 15 2%## ####", # National telephone to mobile phone
+ "+54 9 3%## ####", # International phone}
+ )
+
+ landline_codes = (
+ "351", # Córdoba (capital city of Córdoba province)
+ "379", # Corrientes (capital city of Corrientes province)
+ "221", # La Plata (capital city of Buenos Aires province)
+ "380", # La Rioja (capital city of La Rioja province)
+ "261", # Mendoza (capital city of Mendoza province)
+ "299", # Neuquén (capital city of Neuquén province)
+ "343", # Paraná (capital city of Entre Ríos province)
+ "376", # Posadas (capital city of Misiones province)
+ "280", # Rawson (capital city of Chubut province)
+ "362", # Resistencia (capital city of Chaco province)
+ "2966", # Río Gallegos (capital city of Santa Cruz province)
+ "387", # Salta (capital city of Salta province)
+ "383", # San Fernando del Valle de Catamarca (capital city of Catamarca province)
+ "264", # San Juan (capital city of San Juan province)
+ "266", # San Luis (capital city of San Luis province)
+ "381", # San Miguel de Tucumán (capital city of Tucumán province)
+ "388", # San Salvador de Jujuy (capital city of Jujuy province)
+ "342", # Santa Fe (capital city of Santa Fe province)
+ "2954", # Santa Rosa (capital city of La Pampa province)
+ "385", # Santiago del Estero (capital city of Santiago del Estero province)
+ "391", # Ushuaia (capital city of Tierra del Fuego province)
+ "2920", # Viedma (capital city of Rio Negro province)
+ )
+
+ special_codes = (
+ "600", # Nationalwide
+ "800", # Nationalwide, toll-free
+ )
+
+ cellphone_blocks = ("2", "3", "4", "5", "6", "7", "8", "9")
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..a65660a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_AR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__init__.py
new file mode 100644
index 0000000..f976620
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__init__.py
@@ -0,0 +1,65 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ """
+ According to official specs:
+ https://www.bcn.cl/leychile/navegar?i=173931
+ https://www.itu.int/itudoc/itu-t/number/c/chl/76483_ww9-es.doc
+ https://www.subtel.gob.cl/base_numeracion/tabla_numeracion_ido_idd.xlsx
+ """
+
+ formats = (
+ "+56 2 2%## ####", # santiago landline
+ "+56 2 3%## ####",
+ "+56 {{ landline_code }} 2%# ####", # national landlines and VoIP
+ "+56 {{ landline_code }} 3%# ####",
+ "+56 9 {{ cellphone_block }}%## ####", # cell phones
+ "+56 {{ special_code }} %## ###", # special
+ )
+
+ landline_codes = (
+ "32", # Valparaíso
+ "33", # Quillota
+ "34", # Los Andes
+ "35", # San Antonio
+ "41", # Concepción
+ "42", # Chillán
+ "43", # Los Ángeles
+ "45", # Temuco
+ "51", # La Serena
+ "52", # Copiapó
+ "53", # Ovalle
+ "55", # Antofagasta
+ "57", # Iquique
+ "58", # Arica
+ "61", # Punta Arenas
+ "63", # Valdivia
+ "64", # Osorno
+ "65", # Puerto Montt
+ "67", # Coyhaique
+ "71", # Talca
+ "72", # Rangagua
+ "73", # Linares
+ "75", # Curicó
+ "44", # VoIP
+ )
+
+ special_codes = (
+ "600", # Nationalwide
+ "800", # Nationalwide, toll-free
+ )
+
+ cellphone_blocks = ("2", "3", "4", "5", "6", "7", "8", "9")
+
+ def landline_code(self) -> str:
+ return self.numerify(self.random_element(self.landline_codes))
+
+ def cellphone_block(self) -> str:
+ return self.random_element(self.cellphone_blocks)
+
+ def special_code(self) -> str:
+ return self.numerify(self.random_element(self.special_codes))
+
+ def phone_number(self) -> str:
+ return self.numerify(self.generator.parse(self.random_element(self.formats)))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..4985b16
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__init__.py
new file mode 100644
index 0000000..ba3b34e
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__init__.py
@@ -0,0 +1,42 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = [
+ "%######",
+ "60%%######",
+ "5760%%######",
+ "+5760%%######",
+ "(+57)60%%######",
+ "%## ## ##",
+ "60% %## ## ##",
+ "57 60% %## ## ##",
+ "+57 60% %## ## ##",
+ "(+57) 60% %## ## ##",
+ "30########",
+ "5730########",
+ "+5730########",
+ "(+57)30########",
+ "30# ### ## ##",
+ "57 30# ### ## ##",
+ "+57 30# ### ## ##",
+ "(+57) 30# ### ## ##",
+ "31########",
+ "5731########",
+ "+5731########",
+ "(+57)31########",
+ "31# ### ## ##",
+ "57 31# ### ## ##",
+ "+57 31# ### ## ##",
+ "(+57) 31# ### ## ##",
+ "32########",
+ "5732########",
+ "+5732########",
+ "(+57)32########",
+ "32# ### ## ##",
+ "57 32# ### ## ##",
+ "+57 32# ### ## ##",
+ "(+57) 32# ### ## ##",
+ "01800#######",
+ "01 800# ### ###",
+ ]
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..4da603a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_CO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__init__.py
new file mode 100644
index 0000000..34b3283
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__init__.py
@@ -0,0 +1,128 @@
+import itertools
+
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ """
+ According to official specs:
+ https://avancedigital.mineco.gob.es/es-ES/Servicios/Numeracion/Documents/Guia_Numeracion.pdf
+ """
+
+ PREFIXES = (
+ "6##",
+ "70#",
+ "71#",
+ "72#",
+ "73#",
+ "74#",
+ # 75-79 unassigned
+ "800",
+ "803",
+ "806",
+ "807",
+ # 801, 802, 804, 805, 808, 809 unassigned
+ "81#",
+ "820",
+ "821",
+ "822",
+ "823",
+ "824",
+ "825",
+ "826",
+ "827",
+ "828",
+ # 829 unassigned
+ "83#",
+ # 840 unassigned
+ "841",
+ "842",
+ "843",
+ "844",
+ "845",
+ "846",
+ "847",
+ "848",
+ "849",
+ "85#",
+ "86#",
+ # 870 unassigned
+ "871",
+ "872",
+ "873",
+ "874",
+ "875",
+ "876",
+ "877",
+ "878",
+ "879",
+ "880",
+ "881",
+ "882",
+ "883",
+ "884",
+ "885",
+ "886",
+ "887",
+ "888",
+ # 889-899 unassigned
+ "900",
+ "901",
+ "902",
+ # 903-909 unassigned
+ "91#",
+ "920",
+ "921",
+ "922",
+ "923",
+ "924",
+ "925",
+ "926",
+ "927",
+ "928",
+ # 929 unassigned
+ "93#",
+ # 940 unassigned
+ "941",
+ "942",
+ "943",
+ "944",
+ "945",
+ "946",
+ "947",
+ "948",
+ "949",
+ "95#",
+ "96#",
+ # 970 unassigned
+ "971",
+ "972",
+ "973",
+ "974",
+ "975",
+ "976",
+ "977",
+ "978",
+ "979",
+ "980",
+ "981",
+ "982",
+ "983",
+ "984",
+ "985",
+ "986",
+ "987",
+ "988",
+ # 989-999 unassigned
+ )
+ PHONE_FORMATS = (
+ "+34 xxx ### ###",
+ "+34 xxx######",
+ "+34 xxx ## ## ##",
+ "+34xxx ### ###",
+ "+34xxx######",
+ "+34xxx ## ## ##",
+ )
+ formats = tuple(
+ phone_format.replace("xxx", prefix) for (prefix, phone_format) in itertools.product(PREFIXES, PHONE_FORMATS)
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c1fe8b8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_ES/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__init__.py
new file mode 100644
index 0000000..f723a6b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__init__.py
@@ -0,0 +1,30 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+##(#)##########",
+ "+##(#)##########",
+ "0##########",
+ "0##########",
+ "###-###-####",
+ "(###)###-####",
+ "1-###-###-####",
+ "###.###.####",
+ "###-###-####",
+ "(###)###-####",
+ "1-###-###-####",
+ "###.###.####",
+ "###-###-####x###",
+ "(###)###-####x###",
+ "1-###-###-####x###",
+ "###.###.####x###",
+ "###-###-####x####",
+ "(###)###-####x####",
+ "1-###-###-####x####",
+ "###.###.####x####",
+ "###-###-####x#####",
+ "(###)###-####x#####",
+ "1-###-###-####x#####",
+ "###.###.####x#####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1b4f870
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/es_MX/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__init__.py
new file mode 100644
index 0000000..7ea46ab
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__init__.py
@@ -0,0 +1,101 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ # Mobile
+ # Mci
+ "+98 91# ### ####",
+ "091# ### ####",
+ "+98 990 ### ####",
+ "0990 ### ####",
+ "+98 991 ### ####",
+ "0991 ### ####",
+ # Rightel Mobile prefixes
+ "+98 920 ### ####",
+ "0920 ### ####",
+ "+98 921 ### ####",
+ "0921 ### ####",
+ "+98 922 ### ####",
+ "0922 ### ####",
+ # Samantel Mobile prefixes
+ "+98 999 ### ####",
+ "0999 ### ####",
+ # Mtn and Talia
+ "+98 93# ### ####",
+ "093# ### ####",
+ "+98 901 ### ####",
+ "0901 ### ####",
+ "+98 902 ### ####",
+ "902 ### ####",
+ "+98 903 ### ####",
+ "0903 ### ####",
+ "+98 905 ### ####",
+ "0905 ### ####",
+ # Land lines,
+ # https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Iran
+ "+98 21 #### ####",
+ "021 #### ####",
+ "+98 26 #### ####",
+ "026 #### ####",
+ "+98 25 #### ####",
+ "025 #### ####",
+ "+98 86 #### ####",
+ "086 #### ####",
+ "+98 24 #### ####",
+ "024 #### ####",
+ "+98 23 #### ####",
+ "023 #### ####",
+ "+98 81 #### ####",
+ "081 #### ####",
+ "+98 28 #### ####",
+ "028 #### ####",
+ "+98 31 #### ####",
+ "031 #### ####",
+ "+98 44 #### ####",
+ "044 #### ####",
+ "+98 11 #### ####",
+ "011 #### ####",
+ "+98 74 #### ####",
+ "074 #### ####",
+ "+98 83 #### ####",
+ "083 #### ####",
+ "+98 51 #### ####",
+ "051 #### ####",
+ "+98 45 #### ####",
+ "045 #### ####",
+ "+98 17 #### ####",
+ "017 #### ####",
+ "+98 41 #### ####",
+ "041 #### ####",
+ "+98 54 #### ####",
+ "054 #### ####",
+ "+98 87 #### ####",
+ "087 #### ####",
+ "+98 71 #### ####",
+ "071 #### ####",
+ "+98 66 #### ####",
+ "066 #### ####",
+ "+98 34 #### ####",
+ "034 #### ####",
+ "+98 56 #### ####",
+ "056 #### ####",
+ "+98 13 #### ####",
+ "013 #### ####",
+ "+98 77 #### ####",
+ "077 #### ####",
+ "+98 76 #### ####",
+ "076 #### ####",
+ "+98 61 #### ####",
+ "061 #### ####",
+ "+98 38 #### ####",
+ "038 #### ####",
+ "+98 58 #### ####",
+ "058 #### ####",
+ "+98 35 #### ####",
+ "035 #### ####",
+ "+98 84 #### ####",
+ "084 #### ####",
+ "+98 ### #### ####",
+ "0### #### ####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..bd69c5e
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fa_IR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__init__.py
new file mode 100644
index 0000000..bafafd2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__init__.py
@@ -0,0 +1,12 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+358 ## #######",
+ "+358 #########",
+ "+358#########",
+ "(+358) #########",
+ "0#########",
+ "0## ### ####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..cd6900c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fi_FI/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__init__.py
new file mode 100644
index 0000000..7e315d8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__init__.py
@@ -0,0 +1,7 @@
+from ..en_PH import Provider as EnPhPhoneNumberProvider
+
+
+class Provider(EnPhPhoneNumberProvider):
+ """No difference from Phone Number Provider for en_PH locale"""
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..da4213c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fil_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__init__.py
new file mode 100644
index 0000000..d55fbd5
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__init__.py
@@ -0,0 +1,36 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+41 2# ### ## ##",
+ "+41 3# ### ## ##",
+ "+41 4# ### ## ##",
+ "+41 5# ### ## ##",
+ "+41 6# ### ## ##",
+ "+41 7# ### ## ##",
+ "+41 8# ### ## ##",
+ "+41 9# ### ## ##",
+ "+41 (0)2# ### ## ##",
+ "+41 (0)3# ### ## ##",
+ "+41 (0)4# ### ## ##",
+ "+41 (0)5# ### ## ##",
+ "+41 (0)6# ### ## ##",
+ "+41 (0)7# ### ## ##",
+ "+41 (0)8# ### ## ##",
+ "+41 (0)9# ### ## ##",
+ "02# ### ## ##",
+ "03# ### ## ##",
+ "04# ### ## ##",
+ "05# ### ## ##",
+ "06# ### ## ##",
+ "07# ### ## ##",
+ "08# ### ## ##",
+ "09# ### ## ##",
+ # see: http://www.bakom.admin.ch/themen/telekom/00479/00607/index.html
+ "084# ### ###",
+ "0878 ### ###",
+ "0900 ### ###",
+ "0901 ### ###",
+ "0906 ### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..14dbc15
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_CH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__init__.py
new file mode 100644
index 0000000..2b37951
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__init__.py
@@ -0,0 +1,284 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+33 (0){{area_code_with_separator}} ## ## ##",
+ "+33 {{area_code_with_separator}} ## ## ##",
+ "0{{area_code_without_separator}}######",
+ "0{{area_code_with_separator}} ## ## ##",
+ )
+
+ # https://fr.wikipedia.org/wiki/Liste_des_indicatifs_t%C3%A9l%C3%A9phoniques_en_France#Liste_des_indicatifs_d%C3%A9partementaux_fran%C3%A7ais_class%C3%A9s_par_indicatif
+ area_codes = (
+ # landlines
+ "130",
+ "134",
+ "139",
+ "140",
+ "141",
+ "142",
+ "143",
+ "144",
+ "145",
+ "146",
+ "147",
+ "148",
+ "149",
+ "153",
+ "155",
+ "156",
+ "158",
+ "160",
+ "164",
+ "169",
+ "170",
+ "172",
+ "173",
+ "174",
+ "175",
+ "176",
+ "177",
+ "178",
+ "179",
+ "180",
+ "181",
+ "182",
+ "183",
+ "188",
+ "214",
+ "218",
+ "219",
+ "221",
+ "222",
+ "223",
+ "228",
+ "229",
+ "230",
+ "231",
+ "232",
+ "233",
+ "234",
+ "235",
+ "236",
+ "237",
+ "238",
+ "240",
+ "241",
+ "243",
+ "244",
+ "245",
+ "246",
+ "247",
+ "248",
+ "249",
+ "250",
+ "251",
+ "252",
+ "253",
+ "254",
+ "255",
+ "256",
+ "257",
+ "258",
+ "261",
+ "262",
+ "269",
+ "272",
+ "276",
+ "277",
+ "278",
+ "279",
+ "285",
+ "290",
+ "296",
+ "297",
+ "298",
+ "299",
+ "310",
+ "320",
+ "321",
+ "322",
+ "323",
+ "324",
+ "325",
+ "326",
+ "327",
+ "328",
+ "329",
+ "339",
+ "344",
+ "345",
+ "351",
+ "352",
+ "353",
+ "354",
+ "355",
+ "356",
+ "357",
+ "358",
+ "359",
+ "360",
+ "361",
+ "362",
+ "363",
+ "364",
+ "365",
+ "366",
+ "367",
+ "368",
+ "369",
+ "370",
+ "371",
+ "372",
+ "373",
+ "375",
+ "376",
+ "379",
+ "380",
+ "381",
+ "382",
+ "383",
+ "384",
+ "385",
+ "386",
+ "387",
+ "388",
+ "389",
+ "390",
+ "411",
+ "413",
+ "415",
+ "420",
+ "422",
+ "423",
+ "426",
+ "427",
+ "430",
+ "432",
+ "434",
+ "437",
+ "438",
+ "442",
+ "443",
+ "444",
+ "449",
+ "450",
+ "456",
+ "457",
+ "458",
+ "463",
+ "465",
+ "466",
+ "467",
+ "468",
+ "469",
+ "470",
+ "471",
+ "472",
+ "473",
+ "474",
+ "475",
+ "476",
+ "477",
+ "478",
+ "479",
+ "480",
+ "481",
+ "482",
+ "483",
+ "484",
+ "485",
+ "486",
+ "487",
+ "488",
+ "489",
+ "490",
+ "491",
+ "492",
+ "493",
+ "494",
+ "495",
+ "497",
+ "498",
+ "499",
+ "508",
+ "516",
+ "517",
+ "518",
+ "519",
+ "524",
+ "531",
+ "532",
+ "533",
+ "534",
+ "535",
+ "536",
+ "540",
+ "545",
+ "546",
+ "547",
+ "549",
+ "553",
+ "554",
+ "555",
+ "556",
+ "557",
+ "558",
+ "559",
+ "561",
+ "562",
+ "563",
+ "564",
+ "565",
+ "567",
+ "579",
+ "581",
+ "582",
+ "586",
+ "587",
+ "590",
+ "594",
+ "596",
+ # mobile numbers
+ "60#",
+ "61#",
+ "62#",
+ "630",
+ "631",
+ "632",
+ "633",
+ "634",
+ "635",
+ "636",
+ "637",
+ "638",
+ "64#",
+ "65#",
+ "66#",
+ "67#",
+ "68#",
+ "695",
+ "698",
+ "699",
+ "73#",
+ "74#",
+ "75#",
+ "76#",
+ "77#",
+ "78#",
+ "79#",
+ # special numbers
+ "80#",
+ )
+
+ def area_code_without_separator(self) -> str:
+ return self.numerify(self.random_element(self.area_codes))
+
+ def area_code_with_separator(self) -> str:
+ area_code: str = self.random_element(self.area_codes)
+ return self.numerify(f"{area_code[0]} {area_code[1:]}")
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..d2dcdee
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/fr_FR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__init__.py
new file mode 100644
index 0000000..5c585ba
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__init__.py
@@ -0,0 +1,22 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "02#######",
+ "02-####-###",
+ "03#######",
+ "03-####-###",
+ "04#######",
+ "04-####-###",
+ "08#######",
+ "08-####-###",
+ "09#######",
+ "09-####-###",
+ "05#-###-####",
+ "05# ###-####",
+ "05# ### ####",
+ "05#-#######",
+ "05# #######",
+ "05########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..7c8287b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/he_IL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__init__.py
new file mode 100644
index 0000000..8a0afd5
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__init__.py
@@ -0,0 +1,11 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+91 ##########",
+ "+91 ### #######",
+ "0##-########",
+ "0##########",
+ "0#### ######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..5d64f01
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hi_IN/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__init__.py
new file mode 100644
index 0000000..1eb01ce
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__init__.py
@@ -0,0 +1,36 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "01 #### ###",
+ "020 ### ###",
+ "021 ### ###",
+ "022 ### ###",
+ "023 ### ###",
+ "031 ### ###",
+ "032 ### ###",
+ "033 ### ###",
+ "034 ### ###",
+ "035 ### ###",
+ "040 ### ###",
+ "042 ### ###",
+ "043 ### ###",
+ "044 ### ###",
+ "047 ### ###",
+ "048 ### ###",
+ "049 ### ###",
+ "051 ### ###",
+ "052 ### ###",
+ "053 ### ###",
+ "060 ### ###",
+ "072 ### ###",
+ "074 ### ###",
+ "091 #### ###",
+ "092 #### ###",
+ "095 #### ###",
+ "097 #### ###",
+ "098 #### ###",
+ "099 #### ###",
+ "0800 ## ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..776db71
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hr_HR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__init__.py
new file mode 100644
index 0000000..b4a4c9c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__init__.py
@@ -0,0 +1,13 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+36 ## ###-####",
+ "(06)##/###-####",
+ "(##)/###-####",
+ "##/###-####",
+ "##/### ####",
+ "06-#/### ####",
+ "06-##/### ####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1695348
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hu_HU/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__init__.py
new file mode 100644
index 0000000..2f101bc
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__init__.py
@@ -0,0 +1,19 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Source: https://en.wikipedia.org/wiki/Telephone_numbers_in_Armenia
+ formats = (
+ "2##-#####",
+ "3##-#####",
+ "(2##) #####",
+ "(3##) #####",
+ "2##.#####",
+ "3##.#####",
+ "10-######",
+ "(10) ######",
+ "10.######",
+ "9#-######",
+ "(9#) ######",
+ "9#.######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..ebaaa88
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/hy_AM/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__init__.py
new file mode 100644
index 0000000..35b7597
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__init__.py
@@ -0,0 +1,25 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # Currently this is my own work
+ formats = (
+ "+62-##-###-####",
+ "+62-0##-###-####",
+ "+62 (0##) ### ####",
+ "+62 (0##) ###-####",
+ "+62 (##) ### ####",
+ "+62 (##) ###-####",
+ "+62-###-###-####",
+ "+62-0###-###-####",
+ "+62 (0###) ### ####",
+ "+62 (0###) ###-####",
+ "+62 (###) ### ####",
+ "+62 (###) ###-####",
+ "(0##) ### ####",
+ "(0##) ###-####",
+ "(0###) ### ####",
+ "(0###) ###-####",
+ "08# ### ####",
+ "08########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..44e8a16
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/id_ID/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__init__.py
new file mode 100644
index 0000000..9d3bfdd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__init__.py
@@ -0,0 +1,270 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+39 {{area_code}}#####!!",
+ "{{area_code}}#####!!",
+ )
+
+ area_codes = (
+ # Landline: https://en.wikipedia.org/wiki/List_of_dialling_codes_in_Italy
+ "010#",
+ "011#",
+ "0122",
+ "0123",
+ "0124",
+ "0125",
+ "0131",
+ "0141",
+ "015#",
+ "0161",
+ "0163",
+ "0165",
+ "0166",
+ "0171",
+ "0183",
+ "0184",
+ "0185",
+ "0187",
+ "019#",
+ "02##",
+ "030#",
+ "031#",
+ "0321",
+ "0322",
+ "0324",
+ "0331",
+ "0332",
+ "0341",
+ "0342",
+ "0343",
+ "0344",
+ "0345",
+ "035#",
+ "0362",
+ "0363",
+ "0364",
+ "0365",
+ "0371",
+ "0372",
+ "0373",
+ "0375",
+ "0376",
+ "0382",
+ "039#",
+ "040#",
+ "041#",
+ "0421",
+ "0422",
+ "0423",
+ "0424",
+ "0425",
+ "0426",
+ "0429",
+ "0431",
+ "0432",
+ "0434",
+ "0438",
+ "0444",
+ "0445",
+ "045#",
+ "0461",
+ "0471",
+ "0481",
+ "049#",
+ "050#",
+ "051#",
+ "0521",
+ "0522",
+ "0523",
+ "0532",
+ "0535",
+ "0536",
+ "0541",
+ "0543",
+ "0544",
+ "0545",
+ "0547",
+ "0549",
+ "055#",
+ "0564",
+ "0565",
+ "0566",
+ "0571",
+ "0572",
+ "0573",
+ "0574",
+ "0575",
+ "0577",
+ "0578",
+ "0583",
+ "0584",
+ "0585",
+ "0586",
+ "0587",
+ "0588",
+ "059#",
+ "06##",
+ "070#",
+ "071#",
+ "0721",
+ "0731",
+ "0732",
+ "0733",
+ "0734",
+ "0735",
+ "0736",
+ "0737",
+ "075#",
+ "0761",
+ "0765",
+ "0771",
+ "0773",
+ "0774",
+ "0775",
+ "0776",
+ "0782",
+ "0783",
+ "0784",
+ "0789",
+ "079#",
+ "080#",
+ "081#",
+ "0823",
+ "0824",
+ "0825",
+ "0832",
+ "085#",
+ "0861",
+ "0862",
+ "0865",
+ "0874",
+ "0881",
+ "0882",
+ "0883",
+ "0884",
+ "089#",
+ "0835",
+ "090#",
+ "091#",
+ "0921",
+ "0931",
+ "0932",
+ "0933",
+ "0923",
+ "0922",
+ "0925",
+ "0934",
+ "0941",
+ "0942",
+ "095#",
+ "0961",
+ "0962",
+ "0963",
+ "0965",
+ "0974",
+ "0975",
+ "099#",
+ "0984",
+ # Mobile: https://it.wikipedia.org/wiki/Prefissi_telefonici_dei_cellulari_italiani
+ "3513",
+ "3514",
+ "3515",
+ "3516",
+ "3517",
+ "3518",
+ "3519",
+ "3520",
+ "330#",
+ "331#",
+ "333#",
+ "334#",
+ "335#",
+ "336#",
+ "337#",
+ "338#",
+ "339#",
+ "360#",
+ "361#",
+ "362#",
+ "363#",
+ "366#",
+ "368#",
+ "381#",
+ "385#",
+ "340#",
+ "341#",
+ "342#",
+ "343#",
+ "344#",
+ "345#",
+ "346#",
+ "347#",
+ "348#",
+ "349#",
+ "383#",
+ "320#",
+ "322#",
+ "323#",
+ "324#",
+ "327#",
+ "328#",
+ "329#",
+ "355#",
+ "380#",
+ "388#",
+ "389#",
+ "390#",
+ "391#",
+ "392#",
+ "393#",
+ "397#",
+ "3773",
+ "3793",
+ "3710",
+ "3777",
+ "3311",
+ "3703",
+ "3534",
+ "3778",
+ "3533",
+ "373#",
+ "3755",
+ "3756",
+ "3757",
+ "3770",
+ "3791",
+ "3792",
+ "3500",
+ "3501",
+ "3505",
+ "3509",
+ "3510",
+ "3511",
+ "3512",
+ "373#",
+ "382#",
+ "3780",
+ "3500",
+ "3505",
+ "3760",
+ "3711",
+ "3713",
+ "3714",
+ "3715",
+ "3716",
+ "3772",
+ "3774",
+ "3776",
+ "3779",
+ "3701",
+ "3783",
+ )
+
+ def area_code(self) -> str:
+ return self.numerify(self.random_element(self.area_codes))
+
+ def phone_number(self) -> str:
+ pattern: str = self.random_element(self.formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..f2c0f63
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/it_IT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__init__.py
new file mode 100644
index 0000000..0881ada
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__init__.py
@@ -0,0 +1,10 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "070-####-####",
+ "080-####-####",
+ "090-####-####",
+ "##-####-####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..38d4f70
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ja_JP/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__init__.py
new file mode 100644
index 0000000..79b3e94
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__init__.py
@@ -0,0 +1,30 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "02-####-####",
+ "031-###-####",
+ "032-###-####",
+ "033-###-####",
+ "041-###-####",
+ "042-###-####",
+ "043-###-####",
+ "044-###-####",
+ "051-###-####",
+ "052-###-####",
+ "053-###-####",
+ "054-###-####",
+ "055-###-####",
+ "061-###-####",
+ "062-###-####",
+ "063-###-####",
+ "064-7##-####",
+ "010-####-####",
+ "011-###-####",
+ "016-###-####",
+ "017-###-####",
+ "018-###-####",
+ "019-###-####",
+ "070-####-####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..304fb4a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ko_KR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__init__.py
new file mode 100644
index 0000000..a22e972
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__init__.py
@@ -0,0 +1,9 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+370 ########",
+ "+(370) ########",
+ "+370########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..fd566e6
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lt_LT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__init__.py
new file mode 100644
index 0000000..c1d3ced
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__init__.py
@@ -0,0 +1,9 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+371 ########",
+ "+(371) ########",
+ "+371########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..74489cf
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/lv_LV/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__init__.py
new file mode 100644
index 0000000..94a1fdd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__init__.py
@@ -0,0 +1,11 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+977 ##########",
+ "+977 ### #######",
+ "984#######",
+ "985#######",
+ "980#######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..f34e805
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ne_NP/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__init__.py
new file mode 100644
index 0000000..a1492cd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__init__.py
@@ -0,0 +1,24 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "0### ######",
+ "0## #######",
+ "+32### ######",
+ "+32## #######",
+ "+32(0)### ######",
+ "+32(0)## #######",
+ "(0###) ######",
+ "(0##) #######",
+ "0###-######",
+ "0##-#######",
+ "+32###-######",
+ "+32##-#######",
+ "+32(0)###-######",
+ "+32(0)##-#######",
+ "(0###)-######",
+ "(0##)-#######",
+ "0#/ ### ## ##",
+ "0# ### ## ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..bca5153
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_BE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__init__.py
new file mode 100644
index 0000000..6c3fd06
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__init__.py
@@ -0,0 +1,22 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "0### ######",
+ "0## #######",
+ "+31### ######",
+ "+31## #######",
+ "+31(0)### ######",
+ "+31(0)## #######",
+ "(0###) ######",
+ "(0##) #######",
+ "0###-######",
+ "0##-#######",
+ "+31###-######",
+ "+31##-#######",
+ "+31(0)###-######",
+ "+31(0)##-#######",
+ "(0###)-######",
+ "(0##)-#######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..d0a511f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/nl_NL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__init__.py
new file mode 100644
index 0000000..cc1e898
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__init__.py
@@ -0,0 +1,16 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+47########",
+ "+47 ## ## ## ##",
+ "## ## ## ##",
+ "## ## ## ##",
+ "########",
+ "########",
+ "9## ## ###",
+ "4## ## ###",
+ "9#######",
+ "4#######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..ecdca2f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/no_NO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__init__.py
new file mode 100644
index 0000000..651b96c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__init__.py
@@ -0,0 +1,36 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ # Mobile
+ # Government website: http://www.uke.gov.pl/numeracja-843
+ "50# ### ###",
+ "51# ### ###",
+ "53# ### ###",
+ "57# ### ###",
+ "60# ### ###",
+ "66# ### ###",
+ "69# ### ###",
+ "72# ### ###",
+ "73# ### ###",
+ "78# ### ###",
+ "79# ### ###",
+ "88# ### ###",
+ "+48 50# ### ###",
+ "+48 51# ### ###",
+ "+48 53# ### ###",
+ "+48 57# ### ###",
+ "+48 60# ### ###",
+ "+48 66# ### ###",
+ "+48 69# ### ###",
+ "+48 72# ### ###",
+ "+48 73# ### ###",
+ "+48 78# ### ###",
+ "+48 79# ### ###",
+ "+48 88# ### ###",
+ "32 ### ## ##",
+ "+48 32 ### ## ##",
+ "22 ### ## ##",
+ "+48 22 ### ## ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..d97a8f2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pl_PL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__init__.py
new file mode 100644
index 0000000..37adf4b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__init__.py
@@ -0,0 +1,140 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+55 (011) #### ####",
+ "+55 (021) #### ####",
+ "+55 (031) #### ####",
+ "+55 (041) #### ####",
+ "+55 (051) #### ####",
+ "+55 (061) #### ####",
+ "+55 (071) #### ####",
+ "+55 (081) #### ####",
+ "+55 (084) #### ####",
+ "+55 11 #### ####",
+ "+55 21 #### ####",
+ "+55 31 #### ####",
+ "+55 41 #### ####",
+ "+55 51 #### ####",
+ "+55 61 #### ####",
+ "+55 71 #### ####",
+ "+55 81 #### ####",
+ "+55 84 #### ####",
+ "+55 (011) ####-####",
+ "+55 (021) ####-####",
+ "+55 (031) ####-####",
+ "+55 (041) ####-####",
+ "+55 (051) ####-####",
+ "+55 (061) ####-####",
+ "+55 (071) ####-####",
+ "+55 (081) ####-####",
+ "+55 (084) ####-####",
+ "+55 11 ####-####",
+ "+55 21 ####-####",
+ "+55 31 ####-####",
+ "+55 41 ####-####",
+ "+55 51 #### ####",
+ "+55 61 ####-####",
+ "+55 71 ####-####",
+ "+55 81 ####-####",
+ "+55 84 ####-####",
+ "(011) #### ####",
+ "(021) #### ####",
+ "(031) #### ####",
+ "(041) #### ####",
+ "(051) #### ####",
+ "(061) #### ####",
+ "(071) #### ####",
+ "(081) #### ####",
+ "(084) #### ####",
+ "11 #### ####",
+ "21 #### ####",
+ "31 #### ####",
+ "41 #### ####",
+ "51 #### ####",
+ "61 #### ####",
+ "71 #### ####",
+ "81 #### ####",
+ "84 #### ####",
+ "(011) ####-####",
+ "(021) ####-####",
+ "(031) ####-####",
+ "(041) ####-####",
+ "(051) ####-####",
+ "(061) ####-####",
+ "(071) ####-####",
+ "(081) ####-####",
+ "(084) ####-####",
+ "11 ####-####",
+ "21 ####-####",
+ "31 ####-####",
+ "41 ####-####",
+ "51 #### ####",
+ "61 ####-####",
+ "71 ####-####",
+ "81 ####-####",
+ "84 ####-####",
+ "0300 ### ####",
+ "0500 ### ####",
+ "0800 ### ####",
+ "0900 ### ####",
+ "0300-###-####",
+ "0500-###-####",
+ "0800-###-####",
+ "0900-###-####",
+ )
+
+ msisdn_formats = (
+ "55119########",
+ "55219########",
+ "55319########",
+ "55419########",
+ "55519########",
+ "55619########",
+ "55719########",
+ "55819########",
+ "55849########",
+ )
+
+ cellphone_formats = (
+ "+55 ## 9#### ####",
+ "+55 ## 9 #### ####",
+ "+55 (0##) 9#### ####",
+ "+55 (##) 9#### ####",
+ "+55 (##) 9 #### ####",
+ "+55 ## 9####-####",
+ "+55 ## 9 ####-####",
+ "+55 (0##) 9####-####",
+ "+55 (##) 9####-####",
+ "+55 (##) 9 ####-####",
+ )
+
+ services_phones_formats = (
+ "100",
+ "128",
+ "151",
+ "152",
+ "153",
+ "156",
+ "180",
+ "181",
+ "185",
+ "188",
+ "190",
+ "191",
+ "192",
+ "193",
+ "194",
+ "197",
+ "198",
+ "199",
+ )
+
+ def cellphone_number(self) -> str:
+ pattern: str = self.random_element(self.cellphone_formats)
+ return self.numerify(self.generator.parse(pattern))
+
+ def service_phone_number(self) -> str:
+ pattern: str = self.random_element(self.services_phones_formats)
+ return self.numerify(self.generator.parse(pattern))
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c26b95d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_BR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__init__.py
new file mode 100644
index 0000000..701cbbd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__init__.py
@@ -0,0 +1,41 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "(351) 91# ### ###",
+ "(351) 92# ### ###",
+ "(351) 93# ### ###",
+ "(351) 96# ### ###",
+ "(351) 2## ### ###",
+ "(351) 91#######",
+ "(351) 92#######",
+ "(351) 93#######",
+ "(351) 96#######",
+ "(351) 2########",
+ "(351) 91# ### ###",
+ "(351) 92# ### ###",
+ "(351) 93# ### ###",
+ "(351) 96# ### ###",
+ "(351) 2## ### ###",
+ "(351) 91#######",
+ "(351) 92#######",
+ "(351) 93#######",
+ "(351) 96#######",
+ "(351) 2########",
+ "+35191#######",
+ "+35192#######",
+ "+35193#######",
+ "+35196#######",
+ "+3512########",
+ "91# ### ###",
+ "92# ### ###",
+ "93# ### ###",
+ "96# ### ###",
+ "2## ### ###",
+ "91#######",
+ "92#######",
+ "93#######",
+ "96#######",
+ "2########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..6d09250
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/pt_PT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__init__.py
new file mode 100644
index 0000000..9564e5b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__init__.py
@@ -0,0 +1,105 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "021 ### ####",
+ "0231 ### ###",
+ "0232 ### ###",
+ "0233 ### ###",
+ "0234 ### ###",
+ "0235 ### ###",
+ "0236 ### ###",
+ "0237 ### ###",
+ "0238 ### ###",
+ "0239 ### ###",
+ "0240 ### ###",
+ "0241 ### ###",
+ "0242 ### ###",
+ "0243 ### ###",
+ "0244 ### ###",
+ "0245 ### ###",
+ "0246 ### ###",
+ "0247 ### ###",
+ "0248 ### ###",
+ "0249 ### ###",
+ "0250 ### ###",
+ "0251 ### ###",
+ "0252 ### ###",
+ "0253 ### ###",
+ "0254 ### ###",
+ "0255 ### ###",
+ "0256 ### ###",
+ "0257 ### ###",
+ "0258 ### ###",
+ "0259 ### ###",
+ "0260 ### ###",
+ "0261 ### ###",
+ "0262 ### ###",
+ "0263 ### ###",
+ "0264 ### ###",
+ "0265 ### ###",
+ "0266 ### ###",
+ "0267 ### ###",
+ "0268 ### ###",
+ "0269 ### ###",
+ "0786 ### ###",
+ "0760 ### ###",
+ "0761 ### ###",
+ "0762 ### ###",
+ "0763 ### ###",
+ "0764 ### ###",
+ "0765 ### ###",
+ "0766 ### ###",
+ "0767 ### ###",
+ "0785 ### ###",
+ "0768 ### ###",
+ "0769 ### ###",
+ "0784 ### ###",
+ "0770 ### ###",
+ "0772 ### ###",
+ "0771 ### ###",
+ "0749 ### ###",
+ "0750 ### ###",
+ "0751 ### ###",
+ "0752 ### ###",
+ "0753 ### ###",
+ "0754 ### ###",
+ "0755 ### ###",
+ "0756 ### ###",
+ "0757 ### ###",
+ "0758 ### ###",
+ "0759 ### ###",
+ "0748 ### ###",
+ "0747 ### ###",
+ "0746 ### ###",
+ "0740 ### ###",
+ "0741 ### ###",
+ "0742 ### ###",
+ "0743 ### ###",
+ "0744 ### ###",
+ "0745 ### ###",
+ "0711 ### ###",
+ "0727 ### ###",
+ "0725 ### ###",
+ "0724 ### ###",
+ "0726 ### ###",
+ "0723 ### ###",
+ "0722 ### ###",
+ "0721 ### ###",
+ "0720 ### ###",
+ "0728 ### ###",
+ "0729 ### ###",
+ "0730 ### ###",
+ "0739 ### ###",
+ "0738 ### ###",
+ "0737 ### ###",
+ "0736 ### ###",
+ "0735 ### ###",
+ "0734 ### ###",
+ "0733 ### ###",
+ "0732 ### ###",
+ "0731 ### ###",
+ "0780 ### ###",
+ "0788 ### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..b0c6786
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ro_RO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__init__.py
new file mode 100644
index 0000000..796b1dc
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__init__.py
@@ -0,0 +1,16 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+7 ### ### ####",
+ "+7 ### ### ## ##",
+ "+7 (###) ###-##-##",
+ "+7 (###) ###-####",
+ "+7##########",
+ "8 ### ### ####",
+ "8 ### ### ## ##",
+ "8 (###) ###-##-##",
+ "8 (###) ###-####",
+ "8##########",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..97e1582
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ru_RU/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__init__.py
new file mode 100644
index 0000000..632b186
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__init__.py
@@ -0,0 +1,16 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+421 2 ########",
+ "+421 3# ### ####",
+ "+421 4# ### ####",
+ "+421 5# ### ####",
+ "+421 90# ### ###",
+ "+421 91# ### ###",
+ "+421 940 ### ###",
+ "+421 944 ### ###",
+ "+421 948 ### ###",
+ "+421 949 ### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..8de60be
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sk_SK/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__init__.py
new file mode 100644
index 0000000..0199fb8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__init__.py
@@ -0,0 +1,17 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "040 ### ###",
+ "041 ### ###",
+ "031 ### ###",
+ "030 ### ###",
+ "070 ### ###",
+ "01 #### ###",
+ "02 #### ###",
+ "04 #### ###",
+ "05 #### ###",
+ "06 #### ###",
+ "08 #### ###",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..40a7769
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sl_SI/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__init__.py
new file mode 100644
index 0000000..21f25b2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__init__.py
@@ -0,0 +1,16 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+46 (0)8 ### ### ##",
+ "+46 (0)## ## ## ##",
+ "+46 (0)### ### ##",
+ "08-### ### ##",
+ "08-### ## ##",
+ "08-## ## ##",
+ "0##-### ## ##",
+ "0##-## ## ##",
+ "0###-## ## ##",
+ "0###-### ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..11dc43e
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/sv_SE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__init__.py
new file mode 100644
index 0000000..8a0afd5
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__init__.py
@@ -0,0 +1,11 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+91 ##########",
+ "+91 ### #######",
+ "0##-########",
+ "0##########",
+ "0#### ######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1cff6f8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/ta_IN/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__init__.py
new file mode 100644
index 0000000..d1f5eb6
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__init__.py
@@ -0,0 +1,72 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ # as per https://en.wikipedia.org/wiki/Telephone_numbers_in_Thailand
+ formats = (
+ # landline (9 digits, starts with 02, 03, 04, 05, or 07)
+ "+66 2### ####",
+ "+662 ### ####",
+ "+66 (0) 2### ####",
+ "02#######",
+ "0 2### ####",
+ "02# ######",
+ "02#-######",
+ "0-2###-####",
+ "02 ### ####",
+ "+66 3### ####",
+ "+663 ### ####",
+ "+66 (0) 3### ####",
+ "03#######",
+ "0 3### ####",
+ "03# ######",
+ "03#-######",
+ "0-3###-####",
+ "03 ### ####",
+ "+66 4### ####",
+ "+664 ### ####",
+ "+66 (0) 4### ####",
+ "04#######",
+ "0 4### ####",
+ "04# ######",
+ "04#-######",
+ "0-4###-####",
+ "04 ### ####",
+ "+66 5### ####",
+ "+665 ### ####",
+ "+66 (0) 5### ####",
+ "05#######",
+ "0 5### ####",
+ "05# ######",
+ "05#-######",
+ "0-5###-####",
+ "05 ### ####",
+ "+66 7### ####",
+ "+667 ### ####",
+ "+66 (0) 7### ####",
+ "07#######",
+ "0 7### ####",
+ "07# ######",
+ "07#-######",
+ "0-7###-####",
+ "07 ### ####",
+ # mobile (10 digits, starts with 06, 08, or 09)
+ "+66 6## ### ###",
+ "+66 (0) 6## ### ###",
+ "06########",
+ "0 6## ### ###",
+ "06# ### ####",
+ "06#-###-####",
+ "+66 8## ### ###",
+ "+66 (0) 8## ### ###",
+ "08########",
+ "0 8## ### ###",
+ "08# ### ####",
+ "08#-###-####",
+ "+66 9## ### ###",
+ "+66 (0) 9## ### ###",
+ "09########",
+ "0 9## ### ###",
+ "09# ### ####",
+ "09#-###-####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..542daeb
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/th_TH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__init__.py
new file mode 100644
index 0000000..7e315d8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__init__.py
@@ -0,0 +1,7 @@
+from ..en_PH import Provider as EnPhPhoneNumberProvider
+
+
+class Provider(EnPhPhoneNumberProvider):
+ """No difference from Phone Number Provider for en_PH locale"""
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..b5d99e7
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tl_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__init__.py
new file mode 100644
index 0000000..4321d7a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__init__.py
@@ -0,0 +1,15 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+90(###)#######",
+ "+90 (###) #######",
+ "0### ### ## ##",
+ "0##########",
+ "0###-### ####",
+ "(###)### ####",
+ "### # ###",
+ "+90(###)###-####x###",
+ "+90(###)###-####x####",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..7f8b8db
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tr_TR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__init__.py
new file mode 100644
index 0000000..530f7cc
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__init__.py
@@ -0,0 +1,26 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "+23327#######",
+ "+23357#######",
+ "+23355#######",
+ "+23324#######",
+ "+23354#######",
+ "+23320#######",
+ "+23350#######",
+ "+23326#######",
+ "+23356#######",
+ "+23328#######",
+ "024#######",
+ "054#######",
+ "055#######",
+ "027#######",
+ "057#######",
+ "020#######",
+ "050#######",
+ "026#######",
+ "056#######",
+ "028#######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..ed41f1c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/tw_GH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__init__.py
new file mode 100644
index 0000000..d26d336
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__init__.py
@@ -0,0 +1,14 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "###-##-##",
+ "### ## ##",
+ "0## ### ## ##",
+ "0## ###-##-##",
+ "+380 ## ###-##-##",
+ "+380 ## ###-##-##",
+ "+380 (##) ###-##-##",
+ "+380 ## ### ## ##",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..3b132ac
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/uk_UA/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__init__.py
new file mode 100644
index 0000000..6a7665b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__init__.py
@@ -0,0 +1,40 @@
+from .. import Provider as PhoneNumberProvider
+
+
+class Provider(PhoneNumberProvider):
+ phonenumber_prefixes = [
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 147,
+ 150,
+ 151,
+ 152,
+ 157,
+ 158,
+ 159,
+ 182,
+ 187,
+ 188,
+ 130,
+ 131,
+ 132,
+ 145,
+ 155,
+ 156,
+ 185,
+ 186,
+ 145,
+ 133,
+ 153,
+ 180,
+ 181,
+ 189,
+ ]
+ formats = [str(i) + "########" for i in phonenumber_prefixes]
+
+ def phonenumber_prefix(self) -> int:
+ return self.random_element(self.phonenumber_prefixes)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..a96bcde
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_CN/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__init__.py
new file mode 100644
index 0000000..d5572dc
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__init__.py
@@ -0,0 +1,15 @@
+from .. import Provider as PhoneNumberProvider
+
+# phone number from https://en.wikipedia.org/wiki/Telephone_numbers_in_Taiwan
+
+
+class Provider(PhoneNumberProvider):
+ formats = (
+ "(0#) %#######",
+ "0#-%#######",
+ "0## %#######",
+ "09########",
+ "09##-######",
+ "0#-%######",
+ "0# %######",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..2884cb8
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/phone_number/zh_TW/__pycache__/__init__.cpython-311.pyc
Binary files differ