@feedmepos/mf-connect 0.1.38-beta.7 → 0.1.38-beta.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/dist/{Analytic-NNi-22sK.js → Analytic-qVhEo_im.js} +16 -16
  2. package/dist/{App-Bu14Mro_.js → App-Ixv1jrHc.js} +625 -619
  3. package/dist/AuditLogs-B2D62tMF.js +1991 -0
  4. package/dist/{Bin-CnAQA85j.js → Bin-Lj7jtS9m.js} +10 -10
  5. package/dist/Broadcast-BpP9VJsx.js +267 -0
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-DC_fReu7.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BB43gKXv.js} +6 -6
  7. package/dist/{Card-DqAGiETA.js → Card-CjArjpou.js} +144 -140
  8. package/dist/Collections-CFzUAHxz.js +540 -0
  9. package/dist/Credit-D43x-T3d.js +261 -0
  10. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-Du7fRSZC.js +128 -0
  11. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-BUzUIIUW.js → DateRangeChip.vue_vue_type_script_setup_true_lang-eIoPtgO5.js} +1 -1
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-DlgTeQLe.js +3167 -0
  13. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-9UhSzClJ.js +351 -0
  14. package/dist/Experience-BaUbRoHV.js +260 -0
  15. package/dist/{FileSaver.min-NlMItPOc.js → FileSaver.min-BO_rbswB.js} +1 -1
  16. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-DaU-9GzO.js +129 -0
  17. package/dist/Game-DaVqgPWQ.js +331 -0
  18. package/dist/GenerateMaterial-DJM8fZyl.js +589 -0
  19. package/dist/Grab-CykZDrWI.js +301 -0
  20. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-rWUkV9gn.js → ImageInput.vue_vue_type_script_setup_true_lang-C51yGAp9.js} +49 -48
  21. package/dist/{Index-loHkiwyo.js → Index-Do3WIIfM.js} +54 -54
  22. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-CyGJxUol.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BjdBaj4c.js} +1 -1
  23. package/dist/{MainLayout-B1aJoR95.js → MainLayout-DD-OlYxZ.js} +1 -1
  24. package/dist/Marketing-C9bsnUaQ.js +145 -0
  25. package/dist/MarketingMaterialEdit-CbSh8dpn.js +746 -0
  26. package/dist/{Member-BQjQQdoA.js → Member-IcVRwAAS.js} +38 -37
  27. package/dist/{MemberList-WPsEUKf_.js → MemberList-C_A4PrQN.js} +158 -159
  28. package/dist/{MemberTransactions-BtM7dugy.js → MemberTransactions-CBoaY-gv.js} +1 -1
  29. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-Bl9sFIwG.js → MessageInput.vue_vue_type_script_setup_true_lang-Dx28XNPi.js} +13463 -10597
  30. package/dist/Mission-COY_uhwz.js +335 -0
  31. package/dist/{Overview-Bsf5IPOg.js → Overview-DDSz2R4K.js} +24 -25
  32. package/dist/Point-C-KEwgx4.js +263 -0
  33. package/dist/Promotion-BpW9qWzf.js +397 -0
  34. package/dist/{Queue-XFVbSuDw.js → Queue-CO32O8i6.js} +14 -15
  35. package/dist/{Record-CQzujESE.js → Record-BrT5DR9L.js} +10 -10
  36. package/dist/{Reward-Dj_h_May.js → Reward-CbrEw-If.js} +16 -16
  37. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-Clxk-oYM.js → RewardGroup.vue_vue_type_script_setup_true_lang-CpNjlbjZ.js} +13 -14
  38. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-BS5jsRiN.js +1912 -0
  39. package/dist/{Segment-D_DUu_Sp.js → Segment-Cu9_qwXc.js} +273 -274
  40. package/dist/{SelectItems.vue_vue_type_script_setup_true_lang-D3C2mVlv.js → SelectItems.vue_vue_type_script_setup_true_lang-BH-hzxSs.js} +23 -23
  41. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-C0vsl8oV.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-DGm3gujH.js} +12 -12
  42. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-5HkJROSb.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-DcUb8X-q.js} +4 -4
  43. package/dist/Setting-CQKfb5b_.js +1999 -0
  44. package/dist/SettingAdvertisements-BxR6Gl-5.js +263 -0
  45. package/dist/Store-6TUpmqAr.js +1995 -0
  46. package/dist/StoreRewards-BOThAOWU.js +534 -0
  47. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-BYD229dz.js +1034 -0
  48. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-CAamZtdf.js +7005 -0
  49. package/dist/{Tier-YQsLRt06.js → Tier-MF-ad-xm.js} +561 -480
  50. package/dist/{Title-C5gxYNvh.js → Title-MkjTHBzb.js} +149 -147
  51. package/dist/{Transaction-CZ_QdIii.js → Transaction-trYJwTrc.js} +2 -2
  52. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-DqUu7wSt.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-DwlNK1TC.js} +7 -7
  53. package/dist/Voucher-BD5dTdht.js +422 -0
  54. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-BhR_s48Q.js +421 -0
  55. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-DCtdp-LK.js → ZodTextField.vue_vue_type_script_setup_true_lang-CcTe5TJL.js} +2 -2
  56. package/dist/app-CybjF-6Q.js +59071 -0
  57. package/dist/app.js +1 -1
  58. package/dist/{business-DZYFoAKz.js → business-2hCbD0JX.js} +11 -8
  59. package/dist/{campaign-Ca4l6UUg.js → campaign-Bv-8uM2S.js} +29 -25
  60. package/dist/campaign-h1J8NTAo.js +253 -0
  61. package/dist/campaign.enum-Dea0E4o1.js +26 -0
  62. package/dist/campaign.fn-DqxZMyu0.js +776 -0
  63. package/dist/{collectible.enum-DnIeDAB-.js → collectible.enum-DOyAoz4F.js} +1 -1
  64. package/dist/{collection.fn-mQfXEwJv.js → collection.fn-DU2HuZod.js} +2 -2
  65. package/dist/dto-CT65-FHY.js +222 -0
  66. package/dist/duplicateCampaign-YJGHvOqb.js +51 -0
  67. package/dist/effect-XZ767UQ4.js +89 -0
  68. package/dist/{email-addresses-CQYqi2rN.js → email-addresses-DSgkxSnV.js} +2 -2
  69. package/dist/{export-BsikVZw2.js → export-4gx5C9s9.js} +9 -10
  70. package/dist/{helper-n74IteBU.js → helper-HOLsJca3.js} +22 -7
  71. package/dist/index-BO7N-s4K.js +8912 -0
  72. package/dist/{index-Dt6wui_L.js → index-BfRa1sI3.js} +3 -3
  73. package/dist/index-BnCtmlvU.js +28897 -0
  74. package/dist/{index-Bg3fAg5z.js → index-C5VvGYtP.js} +1 -1
  75. package/dist/index-CSzvYzf4.js +3419 -0
  76. package/dist/{index-Do7TcKmg.js → index-CrdkPXsx.js} +4 -1
  77. package/dist/index-CuvNtC_M.js +61 -0
  78. package/dist/{index-DTErPYrT.js → index-CxE-VVlL.js} +1 -1
  79. package/dist/{index-DRrSsoqp.js → index-Djenbz3F.js} +1 -1
  80. package/dist/{index-BJ-IAF-1.js → index-IHteBJ_D.js} +1 -1
  81. package/dist/{index-BpjT8Rx0.js → index-dUhOAfj9.js} +455 -245
  82. package/dist/index-wm4nGBB_.js +30289 -0
  83. package/dist/{index-CrHCbDIs.js → index-xTrAj026.js} +3 -3
  84. package/dist/index-yViT18i_.js +36 -0
  85. package/dist/{index.esm2017-T7F54Aqa.js → index.esm2017-Wq4FUMEv.js} +185 -185
  86. package/dist/loading-D22xapd8.js +215 -0
  87. package/dist/{lodash-B5I3zXaY.js → lodash-HM6bxuWV.js} +1 -1
  88. package/dist/{membership-BRy4jMt2.js → membership-CX464ZBI.js} +3 -3
  89. package/dist/{moment-BWErdI6_.js → moment-D7p2TMB-.js} +6 -1
  90. package/dist/{money-B9Auav5u.js → money-B3cPZAZu.js} +1 -1
  91. package/dist/{number-BdhIBsUp.js → number-DT65dEZt.js} +1 -1
  92. package/dist/objectid-DZWw4iLL.js +145 -0
  93. package/dist/{campaign-162kZMje.js → plugins-D-4BlIGs.js} +784 -777
  94. package/dist/remy-D_Deb3ue.js +13 -0
  95. package/dist/{reward-UuqZUHsq.js → reward-C6B-kn0X.js} +1 -1
  96. package/dist/{rule-D158NIpm.js → rule-B94SrDX1.js} +505 -487
  97. package/dist/rule-builder-CQ3uHeX4.js +102 -0
  98. package/dist/style.css +11 -2
  99. package/dist/template-CXB2Ez2S.js +188 -0
  100. package/dist/timezone-D3NuV-rx.js +1154 -0
  101. package/dist/trigger-BsCVC_nU.js +213 -0
  102. package/dist/usePagination-BOZ0-D67.js +223 -0
  103. package/dist/user-Dxp7kluY.js +55 -0
  104. package/dist/vue-i18n-DpCWu1gI.js +2365 -0
  105. package/dist/{xlsx-Ddqi5i8p.js → xlsx-Cc2a2IL9.js} +1 -1
  106. package/dist/{zod-Bg2FbC-D.js → zod-BCSHGdXs.js} +32 -31
  107. package/package.json +14 -6
  108. package/dist/AuditLogs-Cai9CVBl.js +0 -1887
  109. package/dist/Broadcast-DskXjXn4.js +0 -227
  110. package/dist/Collections-DuaIQAk7.js +0 -465
  111. package/dist/Credit-D40Vzu2g.js +0 -222
  112. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js +0 -108
  113. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BsQ4iAsV.js +0 -2185
  114. package/dist/EffectSheet.vue_vue_type_style_index_0_lang-CDCX5B5k.js +0 -347
  115. package/dist/Experience-B9yHQPuj.js +0 -223
  116. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-d8rh38tD.js +0 -114
  117. package/dist/Game-e9-Q3qmO.js +0 -278
  118. package/dist/Marketing-CipbukIV.js +0 -20073
  119. package/dist/Mission-B_DJ3Yu_.js +0 -296
  120. package/dist/Point-DMphcWjy.js +0 -226
  121. package/dist/Promotion-B33A-Jwe.js +0 -289
  122. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-CGAXTOLN.js +0 -1751
  123. package/dist/Setting-CtdC4G3W.js +0 -1936
  124. package/dist/Store-DCksWACh.js +0 -1842
  125. package/dist/StoreRewards-CHWKYKet.js +0 -423
  126. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-D1TDyD6N.js +0 -1029
  127. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-D59sGO3F.js +0 -139
  128. package/dist/Voucher-BzV8yZ3o.js +0 -384
  129. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-DjBj_3EF.js +0 -419
  130. package/dist/_commonjsHelpers-BkfeUUK-.js +0 -28
  131. package/dist/app-FFOpPHwj.js +0 -33357
  132. package/dist/app-az9e8Yfl.js +0 -7086
  133. package/dist/campaign.enum-DWjyDV2D.js +0 -20
  134. package/dist/campaign.fn-DWWJ74z-.js +0 -758
  135. package/dist/dto-mKZIPV4o.js +0 -214
  136. package/dist/effect-B8UexeyG.js +0 -78
  137. package/dist/index-5ShiAY8U.js +0 -8861
  138. package/dist/index-Bf6AmJwX.js +0 -32260
  139. package/dist/index-C5gjIb5d.js +0 -146
  140. package/dist/index-C9YrDtDN.js +0 -38
  141. package/dist/index-CK-MAqWE.js +0 -3120
  142. package/dist/index-CsaQJMAR.js +0 -66
  143. package/dist/index-f4MzX8IY.js +0 -30038
  144. package/dist/loading-BEAayQS-.js +0 -71
  145. package/dist/objectid-K-JVTsfA.js +0 -145
  146. package/dist/plugins-CWlRYif_.js +0 -208
  147. package/dist/remy-vue-client-Cpppk9h-.js +0 -1693
  148. package/dist/rule-builder-DNeViq0I.js +0 -89
  149. package/dist/template-B02wYF7G.js +0 -190
  150. package/dist/trigger-BDjnKHLI.js +0 -144
  151. package/dist/usePagination-BeF5K3M7.js +0 -223
  152. package/dist/user-DbP37Ohh.js +0 -54
  153. package/dist/vue-i18n-BbhkYWlk.js +0 -2365
@@ -0,0 +1,3419 @@
1
+ import { z as e, F as i, m as b, a as S, b as Vt, c as le, d as Kt } from "./index-wm4nGBB_.js";
2
+ import { F as Qe } from "./campaign.enum-Dea0E4o1.js";
3
+ import { a as M, b as Wt, c as zt, d as q, F as et, e as F, f as Yt, g as tt, h as A, i as dt } from "./index-BO7N-s4K.js";
4
+ import { F as nt } from "./collectible.enum-DOyAoz4F.js";
5
+ import "vue";
6
+ const Xt = { version: 4, country_calling_codes: { 1: ["US", "AG", "AI", "AS", "BB", "BM", "BS", "CA", "DM", "DO", "GD", "GU", "JM", "KN", "KY", "LC", "MP", "MS", "PR", "SX", "TC", "TT", "VC", "VG", "VI"], 7: ["RU", "KZ"], 20: ["EG"], 27: ["ZA"], 30: ["GR"], 31: ["NL"], 32: ["BE"], 33: ["FR"], 34: ["ES"], 36: ["HU"], 39: ["IT", "VA"], 40: ["RO"], 41: ["CH"], 43: ["AT"], 44: ["GB", "GG", "IM", "JE"], 45: ["DK"], 46: ["SE"], 47: ["NO", "SJ"], 48: ["PL"], 49: ["DE"], 51: ["PE"], 52: ["MX"], 53: ["CU"], 54: ["AR"], 55: ["BR"], 56: ["CL"], 57: ["CO"], 58: ["VE"], 60: ["MY"], 61: ["AU", "CC", "CX"], 62: ["ID"], 63: ["PH"], 64: ["NZ"], 65: ["SG"], 66: ["TH"], 81: ["JP"], 82: ["KR"], 84: ["VN"], 86: ["CN"], 90: ["TR"], 91: ["IN"], 92: ["PK"], 93: ["AF"], 94: ["LK"], 95: ["MM"], 98: ["IR"], 211: ["SS"], 212: ["MA", "EH"], 213: ["DZ"], 216: ["TN"], 218: ["LY"], 220: ["GM"], 221: ["SN"], 222: ["MR"], 223: ["ML"], 224: ["GN"], 225: ["CI"], 226: ["BF"], 227: ["NE"], 228: ["TG"], 229: ["BJ"], 230: ["MU"], 231: ["LR"], 232: ["SL"], 233: ["GH"], 234: ["NG"], 235: ["TD"], 236: ["CF"], 237: ["CM"], 238: ["CV"], 239: ["ST"], 240: ["GQ"], 241: ["GA"], 242: ["CG"], 243: ["CD"], 244: ["AO"], 245: ["GW"], 246: ["IO"], 247: ["AC"], 248: ["SC"], 249: ["SD"], 250: ["RW"], 251: ["ET"], 252: ["SO"], 253: ["DJ"], 254: ["KE"], 255: ["TZ"], 256: ["UG"], 257: ["BI"], 258: ["MZ"], 260: ["ZM"], 261: ["MG"], 262: ["RE", "YT"], 263: ["ZW"], 264: ["NA"], 265: ["MW"], 266: ["LS"], 267: ["BW"], 268: ["SZ"], 269: ["KM"], 290: ["SH", "TA"], 291: ["ER"], 297: ["AW"], 298: ["FO"], 299: ["GL"], 350: ["GI"], 351: ["PT"], 352: ["LU"], 353: ["IE"], 354: ["IS"], 355: ["AL"], 356: ["MT"], 357: ["CY"], 358: ["FI", "AX"], 359: ["BG"], 370: ["LT"], 371: ["LV"], 372: ["EE"], 373: ["MD"], 374: ["AM"], 375: ["BY"], 376: ["AD"], 377: ["MC"], 378: ["SM"], 380: ["UA"], 381: ["RS"], 382: ["ME"], 383: ["XK"], 385: ["HR"], 386: ["SI"], 387: ["BA"], 389: ["MK"], 420: ["CZ"], 421: ["SK"], 423: ["LI"], 500: ["FK"], 501: ["BZ"], 502: ["GT"], 503: ["SV"], 504: ["HN"], 505: ["NI"], 506: ["CR"], 507: ["PA"], 508: ["PM"], 509: ["HT"], 590: ["GP", "BL", "MF"], 591: ["BO"], 592: ["GY"], 593: ["EC"], 594: ["GF"], 595: ["PY"], 596: ["MQ"], 597: ["SR"], 598: ["UY"], 599: ["CW", "BQ"], 670: ["TL"], 672: ["NF"], 673: ["BN"], 674: ["NR"], 675: ["PG"], 676: ["TO"], 677: ["SB"], 678: ["VU"], 679: ["FJ"], 680: ["PW"], 681: ["WF"], 682: ["CK"], 683: ["NU"], 685: ["WS"], 686: ["KI"], 687: ["NC"], 688: ["TV"], 689: ["PF"], 690: ["TK"], 691: ["FM"], 692: ["MH"], 850: ["KP"], 852: ["HK"], 853: ["MO"], 855: ["KH"], 856: ["LA"], 880: ["BD"], 886: ["TW"], 960: ["MV"], 961: ["LB"], 962: ["JO"], 963: ["SY"], 964: ["IQ"], 965: ["KW"], 966: ["SA"], 967: ["YE"], 968: ["OM"], 970: ["PS"], 971: ["AE"], 972: ["IL"], 973: ["BH"], 974: ["QA"], 975: ["BT"], 976: ["MN"], 977: ["NP"], 992: ["TJ"], 993: ["TM"], 994: ["AZ"], 995: ["GE"], 996: ["KG"], 998: ["UZ"] }, countries: { AC: ["247", "00", "(?:[01589]\\d|[46])\\d{4}", [5, 6]], AD: ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], AE: ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], AF: ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], AG: ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], AI: ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], AL: ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], AM: ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], AO: ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], AR: ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], AS: ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], AT: ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], AU: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], AW: ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], AX: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], AZ: ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], BA: ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], BB: ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], BD: ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], BE: ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], BF: ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], BG: ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], BH: ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], BI: ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], BJ: ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], BL: ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], BM: ["1", "011", "(?:441|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "441$1", 0, "441"], BN: ["673", "00", "[2-578]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-578]"]]]], BO: ["591", "00(?:1\\d)?", "8001\\d{5}|(?:[2-467]\\d|50)\\d{6}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[235]|4[46]"]], ["(\\d{8})", "$1", ["[67]"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["8"]]], "0", 0, "0(1\\d)?"], BQ: ["599", "00", "(?:[34]1|7\\d)\\d{5}", [7], 0, 0, 0, 0, 0, 0, "[347]"], BR: ["55", "00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)", "[1-467]\\d{9,10}|55[0-46-9]\\d{8}|[34]\\d{7}|55\\d{7,8}|(?:5[0-46-9]|[89]\\d)\\d{7,9}", [8, 9, 10, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["300|4(?:0[02]|37|86)", "300|4(?:0(?:0|20)|370|864)"]], ["(\\d{3})(\\d{2,3})(\\d{4})", "$1 $2 $3", ["(?:[358]|90)0"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]"], "($1)"], ["(\\d{2})(\\d{5})(\\d{4})", "$1 $2-$3", ["[16][1-9]|[2-57-9]"], "($1)"]], "0", 0, "(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\d{10,11}))?", "$2"], BS: ["1", "011", "(?:242|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([3-8]\\d{6})$|1", "242$1", 0, "242"], BT: ["975", "00", "[178]\\d{7}|[2-8]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-6]|7[246]|8[2-4]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[67]|[78]"]]]], BW: ["267", "00", "(?:0800|(?:[37]|800)\\d)\\d{6}|(?:[2-6]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["90"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[24-6]|3[15-9]"]], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37]"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["8"]]]], BY: ["375", "810", "(?:[12]\\d|33|44|902)\\d{7}|8(?:0[0-79]\\d{5,7}|[1-7]\\d{9})|8(?:1[0-489]|[5-79]\\d)\\d{7}|8[1-79]\\d{6,7}|8[0-79]\\d{5}|8\\d{5}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3})", "$1 $2", ["800"], "8 $1"], ["(\\d{3})(\\d{2})(\\d{2,4})", "$1 $2 $3", ["800"], "8 $1"], ["(\\d{4})(\\d{2})(\\d{3})", "$1 $2-$3", ["1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])", "1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])"], "8 0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["1(?:[56]|7[467])|2[1-3]"], "8 0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-4]"], "8 0$1"], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[89]"], "8 $1"]], "8", 0, "0|80?", 0, 0, 0, 0, "8~10"], BZ: ["501", "00", "(?:0800\\d|[2-8])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-8]"]], ["(\\d)(\\d{3})(\\d{4})(\\d{3})", "$1-$2-$3-$4", ["0"]]]], CA: ["1", "011", "[2-9]\\d{9}|3\\d{6}", [7, 10], 0, "1", 0, 0, 0, 0, 0, [["(?:2(?:04|[23]6|[48]9|5[07]|63)|3(?:06|43|54|6[578]|82)|4(?:03|1[68]|[26]8|3[178]|50|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|[18]3|39|47|72)|7(?:0[59]|42|53|78|8[02])|8(?:[06]7|19|25|7[39])|9(?:0[25]|42))[2-9]\\d{6}", [10]], ["", [10]], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}", [10]], ["900[2-9]\\d{6}", [10]], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|(?:5(?:2[125-9]|3[23]|44|66|77|88)|6(?:22|33))[2-9]\\d{6}", [10]], 0, ["310\\d{4}", [7]], 0, ["600[2-9]\\d{6}", [10]]]], CC: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\d|70[23]|959))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], CD: ["243", "00", "(?:(?:[189]|5\\d)\\d|2)\\d{7}|[1-68]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["[1-6]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["5"], "0$1"]], "0"], CF: ["236", "00", "8776\\d{4}|(?:[27]\\d|61)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-8]"]]]], CG: ["242", "00", "222\\d{6}|(?:0\\d|80)\\d{7}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[02]"]]]], CH: ["41", "00", "8\\d{11}|[2-9]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8[047]|90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]|81"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["8"], "0$1"]], "0"], CI: ["225", "00", "[02]\\d{9}", [10], [["(\\d{2})(\\d{2})(\\d)(\\d{5})", "$1 $2 $3 $4", ["2"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3 $4", ["0"]]]], CK: ["682", "00", "[2-578]\\d{4}", [5], [["(\\d{2})(\\d{3})", "$1 $2", ["[2-578]"]]]], CL: ["56", "(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0", "12300\\d{6}|6\\d{9,10}|[2-9]\\d{8}", [9, 10, 11], [["(\\d{5})(\\d{4})", "$1 $2", ["219", "2196"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["60|809"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["44"]], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2[1-36]"], "($1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["9(?:10|[2-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-8]|[1-9])"], "($1)"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["60|8"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{3})(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["60"]]]], CM: ["237", "00", "[26]\\d{8}|88\\d{6,7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["88"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[26]|88"]]]], CN: ["86", "00|1(?:[12]\\d|79)\\d\\d00", "(?:(?:1[03-689]|2\\d)\\d\\d|6)\\d{8}|1\\d{10}|[126]\\d{6}(?:\\d(?:\\d{2})?)?|86\\d{5,6}|(?:[3-579]\\d|8[0-57-9])\\d{5,9}", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5,6})", "$1 $2", ["(?:10|2[0-57-9])[19]|3(?:[157]|35|49|9[1-68])|4(?:1[124-9]|2[179]|6[47-9]|7|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:07|1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3|4[13]|5[1-5]|7[0-79]|9[0-35-9])|(?:4[35]|59|85)[1-9]", "(?:10|2[0-57-9])(?:1[02]|9[56])|8078|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))1", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|80781|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))12", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|807812|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123", "10(?:1(?:0|23)|9[56])|2[0-57-9](?:1(?:00|23)|9[56])|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:1[124-9]|2[179]|[35][1-9]|6[47-9]|7\\d|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:078|1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|3\\d|4[13]|5[1-5]|7[0-79]|9[0-35-9]))123"], "0$1"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]", "(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))[19]", "85[23](?:10|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:10|9[56])", "85[23](?:100|95)|(?:3(?:[157]\\d|35|49|9[1-68])|4(?:[17]\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:100|9[56])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["(?:4|80)0"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|2(?:[02-57-9]|1[1-9])", "10|2(?:[02-57-9]|1[1-9])", "10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]"], "0$1", 1], ["(\\d{3})(\\d{7,8})", "$1 $2", ["9"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["80"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[3-578]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["1[3-9]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["[12]"], "0$1", 1]], "0", 0, "(1(?:[12]\\d|79)\\d\\d)|0", 0, 0, 0, 0, "00"], CO: ["57", "00(?:4(?:[14]4|56)|[579])", "(?:46|60\\d\\d)\\d{6}|(?:1\\d|[39])\\d{9}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["46"]], ["(\\d{3})(\\d{7})", "$1 $2", ["6|90"], "($1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3[0-357]|9[14]"]], ["(\\d)(\\d{3})(\\d{7})", "$1-$2-$3", ["1"], "0$1", 0, "$1 $2 $3"]], "0", 0, "0([3579]|4(?:[14]4|56))?"], CR: ["506", "00", "(?:8\\d|90)\\d{8}|(?:[24-8]\\d{3}|3005)\\d{4}", [8, 10], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[3-9]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[89]"]]], 0, 0, "(19(?:0[0-2468]|1[09]|20|66|77|99))"], CU: ["53", "119", "(?:[2-7]|8\\d\\d)\\d{7}|[2-47]\\d{6}|[34]\\d{5}", [6, 7, 8, 10], [["(\\d{2})(\\d{4,6})", "$1 $2", ["2[1-4]|[34]"], "(0$1)"], ["(\\d)(\\d{6,7})", "$1 $2", ["7"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["[56]"], "0$1"], ["(\\d{3})(\\d{7})", "$1 $2", ["8"], "0$1"]], "0"], CV: ["238", "0", "(?:[2-59]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-589]"]]]], CW: ["599", "00", "(?:[34]1|60|(?:7|9\\d)\\d)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[3467]"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["9[4-8]"]]], 0, 0, 0, 0, 0, "[69]"], CX: ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{8}(?:\\d{2})?|8[0-24-9]\\d{7})|[148]\\d{8}|1\\d{5,7}", [6, 7, 8, 9, 10, 12], 0, "0", 0, "([59]\\d{7})$|0", "8$1", 0, 0, [["8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\d|7(?:0[01]|1[0-2])|958))\\d{3}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, 0, ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], CY: ["357", "00", "(?:[279]\\d|[58]0)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[257-9]"]]]], CZ: ["420", "00", "(?:[2-578]\\d|60)\\d{7}|9\\d{8,11}", [9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]|9[015-7]"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["96"]], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]]], DE: ["49", "00", "[2579]\\d{5,14}|49(?:[34]0|69|8\\d)\\d\\d?|49(?:37|49|60|7[089]|9\\d)\\d{1,3}|49(?:2[024-9]|3[2-689]|7[1-7])\\d{1,8}|(?:1|[368]\\d|4[0-8])\\d{3,13}|49(?:[015]\\d|2[13]|31|[46][1-8])\\d{1,9}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [["(\\d{2})(\\d{3,13})", "$1 $2", ["3[02]|40|[68]9"], "0$1"], ["(\\d{3})(\\d{3,12})", "$1 $2", ["2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1", "2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1"], "0$1"], ["(\\d{4})(\\d{2,11})", "$1 $2", ["[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]", "[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["138"], "0$1"], ["(\\d{5})(\\d{2,10})", "$1 $2", ["3"], "0$1"], ["(\\d{3})(\\d{5,11})", "$1 $2", ["181"], "0$1"], ["(\\d{3})(\\d)(\\d{4,10})", "$1 $2 $3", ["1(?:3|80)|9"], "0$1"], ["(\\d{3})(\\d{7,8})", "$1 $2", ["1[67]"], "0$1"], ["(\\d{3})(\\d{7,12})", "$1 $2", ["8"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["185", "1850", "18500"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["18[68]"], "0$1"], ["(\\d{4})(\\d{7})", "$1 $2", ["15[1279]"], "0$1"], ["(\\d{5})(\\d{6})", "$1 $2", ["15[03568]", "15(?:[0568]|3[13])"], "0$1"], ["(\\d{3})(\\d{8})", "$1 $2", ["18"], "0$1"], ["(\\d{3})(\\d{2})(\\d{7,8})", "$1 $2 $3", ["1(?:6[023]|7)"], "0$1"], ["(\\d{4})(\\d{2})(\\d{7})", "$1 $2 $3", ["15[279]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{8})", "$1 $2 $3", ["15"], "0$1"]], "0"], DJ: ["253", "00", "(?:2\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[27]"]]]], DK: ["45", "00", "[2-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-9]"]]]], DM: ["1", "011", "(?:[58]\\d\\d|767|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "767$1", 0, "767"], DO: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "8001|8[024]9"], DZ: ["213", "00", "(?:[1-4]|[5-79]\\d|80)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["9"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-8]"], "0$1"]], "0"], EC: ["593", "00", "1\\d{9,10}|(?:[2-7]|9\\d)\\d{7}", [8, 9, 10, 11], [["(\\d)(\\d{3})(\\d{4})", "$1 $2-$3", ["[2-7]"], "(0$1)", 0, "$1-$2-$3"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1"]]], "0"], EE: ["372", "00", "8\\d{9}|[4578]\\d{7}|(?:[3-8]\\d|90)\\d{5}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88", "[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88"]], ["(\\d{4})(\\d{3,4})", "$1 $2", ["[45]|8(?:00|[1-49])", "[45]|8(?:00[1-9]|[1-49])"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], EG: ["20", "00", "[189]\\d{8,9}|[24-6]\\d{8}|[135]\\d{7}", [8, 9, 10], [["(\\d)(\\d{7,8})", "$1 $2", ["[23]"], "0$1"], ["(\\d{2})(\\d{6,7})", "$1 $2", ["1[35]|[4-6]|8[2468]|9[235-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{8})", "$1 $2", ["1"], "0$1"]], "0"], EH: ["212", "00", "[5-8]\\d{8}", [9], 0, "0", 0, 0, 0, 0, 0, [["528[89]\\d{5}"], ["(?:6(?:[0-79]\\d|8[0-247-9])|7(?:[016-8]\\d|2[0-8]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], ER: ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], ES: ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], ET: ["251", "00", "(?:11|[2-579]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-579]"], "0$1"]], "0"], FI: ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "[1-35689]\\d{4}|7\\d{10,11}|(?:[124-7]\\d|3[0-46-9])\\d{8}|[1-9]\\d{5,8}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{5})", "$1", ["20[2-59]"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1 $2", ["(?:[1-3]0|[68])0|70[07-9]"], "0$1"], ["(\\d{2})(\\d{4,8})", "$1 $2", ["[14]|2[09]|50|7[135]"], "0$1"], ["(\\d{2})(\\d{6,10})", "$1 $2", ["7"], "0$1"], ["(\\d)(\\d{4,9})", "$1 $2", ["(?:19|[2568])[1-8]|3(?:0[1-9]|[1-9])|9"], "0$1"]], "0", 0, 0, 0, 0, "1[03-79]|[2-9]", 0, "00"], FJ: ["679", "0(?:0|52)", "45\\d{5}|(?:0800\\d|[235-9])\\d{6}", [7, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|45"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]]], 0, 0, 0, 0, 0, 0, 0, "00"], FK: ["500", "00", "[2-7]\\d{4}", [5]], FM: ["691", "00", "(?:[39]\\d\\d|820)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[389]"]]]], FO: ["298", "00", "[2-9]\\d{5}", [6], [["(\\d{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], FR: ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], GA: ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], GB: ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], GD: ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], GE: ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], GF: ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], GG: ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], GH: ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], GI: ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], GL: ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], GM: ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], GN: ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], GP: ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], GQ: ["240", "00", "222\\d{6}|(?:3\\d|55|[89]0)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235]"]], ["(\\d{3})(\\d{6})", "$1 $2", ["[89]"]]]], GR: ["30", "00", "5005000\\d{3}|8\\d{9,11}|(?:[269]\\d|70)\\d{8}", [10, 11, 12], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["21|7"]], ["(\\d{4})(\\d{6})", "$1 $2", ["2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2689]"]], ["(\\d{3})(\\d{3,4})(\\d{5})", "$1 $2 $3", ["8"]]]], GT: ["502", "00", "80\\d{6}|(?:1\\d{3}|[2-7])\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[2-8]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], GU: ["1", "011", "(?:[58]\\d\\d|671|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "671$1", 0, "671"], GW: ["245", "00", "[49]\\d{8}|4\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["40"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"]]]], GY: ["592", "001", "(?:[2-8]\\d{3}|9008)\\d{3}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], HK: ["852", "00(?:30|5[09]|[126-9]?)", "8[0-46-9]\\d{6,7}|9\\d{4,7}|(?:[2-7]|9\\d{3})\\d{7}", [5, 6, 7, 8, 9, 11], [["(\\d{3})(\\d{2,5})", "$1 $2", ["900", "9003"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[2-7]|8[1-4]|9(?:0[1-9]|[1-8])"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{3})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["9"]]], 0, 0, 0, 0, 0, 0, 0, "00"], HN: ["504", "00", "8\\d{10}|[237-9]\\d{7}", [8, 11], [["(\\d{4})(\\d{4})", "$1-$2", ["[237-9]"]]]], HR: ["385", "00", "[2-69]\\d{8}|80\\d{5,7}|[1-79]\\d{7}|6\\d{6}", [7, 8, 9], [["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["6[01]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{4})(\\d{3})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6|7[245]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-57]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"]], "0"], HT: ["509", "00", "[2-589]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[2-589]"]]]], HU: ["36", "00", "[235-7]\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]"], "(06 $1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "06 $1"]], "06"], ID: ["62", "00[89]", "00[1-9]\\d{9,14}|(?:[1-36]|8\\d{5})\\d{6}|00\\d{9}|[1-9]\\d{8,10}|[2-9]\\d{7}", [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["15"]], ["(\\d{2})(\\d{5,9})", "$1 $2", ["2[124]|[36]1"], "(0$1)"], ["(\\d{3})(\\d{5,7})", "$1 $2", ["800"], "0$1"], ["(\\d{3})(\\d{5,8})", "$1 $2", ["[2-79]"], "(0$1)"], ["(\\d{3})(\\d{3,4})(\\d{3})", "$1-$2-$3", ["8[1-35-9]"], "0$1"], ["(\\d{3})(\\d{6,8})", "$1 $2", ["1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["804"], "0$1"], ["(\\d{3})(\\d)(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["80"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1-$2-$3", ["8"], "0$1"]], "0"], IE: ["353", "00", "(?:1\\d|[2569])\\d{6,8}|4\\d{6,9}|7\\d{8}|8\\d{8,9}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["2[24-9]|47|58|6[237-9]|9[35-9]"], "(0$1)"], ["(\\d{3})(\\d{5})", "$1 $2", ["[45]0"], "(0$1)"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2569]|4[1-69]|7[14]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["81"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["4"], "(0$1)"], ["(\\d{2})(\\d)(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], IL: ["972", "0(?:0|1[2-9])", "1\\d{6}(?:\\d{3,5})?|[57]\\d{8}|[1-489]\\d{7}", [7, 8, 9, 10, 11, 12], [["(\\d{4})(\\d{3})", "$1-$2", ["125"]], ["(\\d{4})(\\d{2})(\\d{2})", "$1-$2-$3", ["121"]], ["(\\d)(\\d{3})(\\d{4})", "$1-$2-$3", ["[2-489]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1-$2-$3", ["12"]], ["(\\d{4})(\\d{6})", "$1-$2", ["159"]], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3-$4", ["1[7-9]"]], ["(\\d{3})(\\d{1,2})(\\d{3})(\\d{4})", "$1-$2 $3-$4", ["15"]]], "0"], IM: ["44", "00", "1624\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([25-8]\\d{5})$|0|180020", "1624$1", 0, "74576|(?:16|7[56])24"], IN: ["91", "00", "(?:000800|[2-9]\\d\\d)\\d{7}|1\\d{7,12}", [8, 9, 10, 11, 12, 13], [["(\\d{8})", "$1", ["5(?:0|2[23]|3[03]|[67]1|88)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)", "5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)"], 0, 1], ["(\\d{4})(\\d{4,5})", "$1 $2", ["180", "1800"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["140"], 0, 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["11|2[02]|33|4[04]|79[1-7]|80[2-46]", "11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])", "11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]", "1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]"], "0$1", 1], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807", "1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]", "1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|8(?:28[235-7]|3))|73179|807(?:1|9[1-3])|(?:1552|6(?:(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689])\\d|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\d|5[0-367])|70[13-7]))[2-7]"], "0$1", 1], ["(\\d{5})(\\d{5})", "$1 $2", ["16|[6-9]"], "0$1", 1], ["(\\d{4})(\\d{2,4})(\\d{4})", "$1 $2 $3", ["18[06]", "18[06]0"], 0, 1], ["(\\d{4})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["18"], 0, 1]], "0"], IO: ["246", "00", "3\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["3"]]]], IQ: ["964", "00", "(?:1|7\\d\\d)\\d{7}|[2-6]\\d{7,8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-6]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"]], "0"], IR: ["98", "00", "[1-9]\\d{9}|(?:[1-8]\\d\\d|9)\\d{3,4}", [4, 5, 6, 7, 10], [["(\\d{4,5})", "$1", ["96"], "0$1"], ["(\\d{2})(\\d{4,5})", "$1 $2", ["(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[1-8]"], "0$1"]], "0"], IS: ["354", "00|1(?:0(?:01|[12]0)|100)", "(?:38\\d|[4-9])\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[4-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["3"]]], 0, 0, 0, 0, 0, 0, 0, "00"], IT: ["39", "00", "0\\d{5,11}|1\\d{8,10}|3(?:[0-8]\\d{7,10}|9\\d{7,8})|(?:43|55|70)\\d{8}|8\\d{5}(?:\\d{2,4})?", [6, 7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{4,6})", "$1 $2", ["0[26]"]], ["(\\d{3})(\\d{3,6})", "$1 $2", ["0[13-57-9][0159]|8(?:03|4[17]|9[2-5])", "0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))"]], ["(\\d{4})(\\d{2,6})", "$1 $2", ["0(?:[13-579][2-46-8]|8[236-8])"]], ["(\\d{4})(\\d{4})", "$1 $2", ["894"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[26]|5"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["1(?:44|[679])|[378]|43"]], ["(\\d{3})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["0[13-57-9][0159]|14"]], ["(\\d{2})(\\d{4})(\\d{5})", "$1 $2 $3", ["0[26]"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[03]"]]], 0, 0, 0, 0, 0, 0, [["0(?:669[0-79]\\d{1,6}|831\\d{2,8})|0(?:1(?:[0159]\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\d\\d|3(?:[0159]\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\d|6[0-8])|7(?:[0159]\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\d|2[3-578]|3[2356]|[6-8][1-5])|9(?:[0159]\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\d{2,7}"], ["3[2-9]\\d{7,8}|(?:31|43)\\d{8}", [9, 10]], ["80(?:0\\d{3}|3)\\d{3}", [6, 9]], ["(?:0878\\d{3}|89(?:2\\d|3[04]|4(?:[0-4]|[5-9]\\d\\d)|5[0-4]))\\d\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\d{6}", [6, 8, 9, 10]], ["1(?:78\\d|99)\\d{6}", [9, 10]], ["3[2-8]\\d{9,10}", [11, 12]], 0, 0, ["55\\d{8}", [10]], ["84(?:[08]\\d{3}|[17])\\d{3}", [6, 9]]]], JE: ["44", "00", "1534\\d{6}|(?:[3578]\\d|90)\\d{8}", [10], 0, "0", 0, "([0-24-8]\\d{5})$|0|180020", "1534$1", 0, 0, [["1534[0-24-8]\\d{5}"], ["7(?:(?:(?:50|82)9|937)\\d|7(?:00[378]|97\\d))\\d{5}"], ["80(?:07(?:35|81)|8901)\\d{4}"], ["(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\d{4}"], ["701511\\d{4}"], 0, ["(?:3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\d{4})\\d{4}"], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}"], ["56\\d{8}"]]], JM: ["1", "011", "(?:[58]\\d\\d|658|900)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "658|876"], JO: ["962", "00", "(?:(?:[2689]|7\\d)\\d|32|427|53)\\d{6}", [8, 9], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2356]|87"], "(0$1)"], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["70"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[47]"], "0$1"]], "0"], JP: ["81", "010", "00[1-9]\\d{6,14}|[25-9]\\d{9}|(?:00|[1-9]\\d\\d)\\d{6}", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [["(\\d{3})(\\d{3})(\\d{3})", "$1-$2-$3", ["(?:12|57|99)0"], "0$1"], ["(\\d{4})(\\d)(\\d{4})", "$1-$2-$3", ["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51)|9(?:80|9[16])", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]", "1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["60"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2-$3", ["3|4(?:2[09]|7[01])|6[1-9]", "3|4(?:2(?:0|9[02-69])|7(?:0[019]|1))|6[1-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[0459]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[26-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9]|9[29])|5(?:2|3(?:[045]|9[0-8])|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|3(?:[29]|60)|49|51|6(?:[0-24]|36|5[0-3589]|7[23]|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]", "1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3(?:[045]|9(?:[0-58]|6[4-9]|7[0-35689]))|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|60|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[2-57-9]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|7(?:2[2-468]|3[78])|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3", ["[14]|[289][2-9]|5[3-9]|7[2-4679]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["800"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[25-9]"], "0$1"]], "0", 0, "(000[2569]\\d{4,6})$|(?:(?:003768)0?)|0", "$1"], KE: ["254", "000", "(?:[17]\\d\\d|900)\\d{6}|(?:2|80)0\\d{6,7}|[4-6]\\d{6,8}", [7, 8, 9, 10], [["(\\d{2})(\\d{5,7})", "$1 $2", ["[24-6]"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[17]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0"], KG: ["996", "00", "8\\d{9}|[235-9]\\d{8}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["3(?:1[346]|[24-79])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-79]|88"], "0$1"], ["(\\d{3})(\\d{3})(\\d)(\\d{2,3})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], KH: ["855", "00[14-9]", "1\\d{9}|[1-9]\\d{7,8}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], KI: ["686", "00", "(?:[37]\\d|6[0-79])\\d{6}|(?:[2-48]\\d|50)\\d{3}", [5, 8], 0, "0"], KM: ["269", "00", "[3478]\\d{6}", [7], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[3478]"]]]], KN: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "869$1", 0, "869"], KP: ["850", "00|99", "85\\d{6}|(?:19\\d|[2-7])\\d{7}", [8, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"]], "0"], KR: ["82", "00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))", "00[1-9]\\d{8,11}|(?:[12]|5\\d{3})\\d{7}|[13-6]\\d{9}|(?:[1-6]\\d|80)\\d{7}|[3-6]\\d{4,5}|(?:00|7)0\\d{8}", [5, 6, 8, 9, 10, 11, 12, 13, 14], [["(\\d{2})(\\d{3,4})", "$1-$2", ["(?:3[1-3]|[46][1-4]|5[1-5])1"], "0$1"], ["(\\d{4})(\\d{4})", "$1-$2", ["1"]], ["(\\d)(\\d{3,4})(\\d{4})", "$1-$2-$3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1-$2-$3", ["[36]0|8"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1-$2-$3", ["[1346]|5[1-5]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2-$3", ["[57]"], "0$1"], ["(\\d{2})(\\d{5})(\\d{4})", "$1-$2-$3", ["5"], "0$1"]], "0", 0, "0(8(?:[1-46-8]|5\\d\\d))?"], KW: ["965", "00", "18\\d{5}|(?:[2569]\\d|41)\\d{6}", [7, 8], [["(\\d{4})(\\d{3,4})", "$1 $2", ["[169]|2(?:[235]|4[1-35-9])|52"]], ["(\\d{3})(\\d{5})", "$1 $2", ["[245]"]]]], KY: ["1", "011", "(?:345|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "345$1", 0, "345"], KZ: ["7", "810", "8\\d{13}|[78]\\d{9}", [10, 14], 0, "8", 0, 0, 0, 0, "7", 0, "8~10"], LA: ["856", "00", "[23]\\d{9}|3\\d{8}|(?:[235-8]\\d|41)\\d{6}", [8, 9, 10], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2[13]|3[14]|[4-8]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["3"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0"], LB: ["961", "00", "[27-9]\\d{7}|[13-9]\\d{6}", [7, 8], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[13-69]|7(?:[2-57]|62|8[0-6]|9[04-9])|8[02-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[27-9]"]]], "0"], LC: ["1", "011", "(?:[58]\\d\\d|758|900)\\d{7}", [10], 0, "1", 0, "([2-8]\\d{6})$|1", "758$1", 0, "758"], LI: ["423", "00", "[68]\\d{8}|(?:[2378]\\d|90)\\d{5}", [7, 9], [["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2379]|8(?:0[09]|7)", "[2379]|8(?:0(?:02|9)|7)"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["69"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]], "0", 0, "(1001)|0"], LK: ["94", "00", "[1-9]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[1-689]"], "0$1"]], "0"], LR: ["231", "00", "(?:[2457]\\d|33|88)\\d{7}|(?:2\\d|[4-6])\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["4[67]|[56]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-578]"], "0$1"]], "0"], LS: ["266", "00", "(?:[256]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2568]"]]]], LT: ["370", "00", "(?:[3469]\\d|52|[78]0)\\d{6}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["52[0-7]"], "(0-$1)", 1], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0 $1", 1], ["(\\d{2})(\\d{6})", "$1 $2", ["37|4(?:[15]|6[1-8])"], "(0-$1)", 1], ["(\\d{3})(\\d{5})", "$1 $2", ["[3-6]"], "(0-$1)", 1]], "0", 0, "[08]"], LU: ["352", "00", "35[013-9]\\d{4,8}|6\\d{8}|35\\d{2,4}|(?:[2457-9]\\d|3[0-46-9])\\d{2,9}", [4, 5, 6, 7, 8, 9, 10, 11], [["(\\d{2})(\\d{3})", "$1 $2", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["20[2-689]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4", ["20"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{1,5})", "$1 $2 $3 $4", ["[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]"]], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["80[01]|90[015]"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["20"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})", "$1 $2 $3 $4 $5", ["20"]]], 0, 0, "(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\d)"], LV: ["371", "00", "(?:[268]\\d|78|90)\\d{6}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2679]|8[01]"]]]], LY: ["218", "00", "[2-9]\\d{8}", [9], [["(\\d{2})(\\d{7})", "$1-$2", ["[2-9]"], "0$1"]], "0"], MA: ["212", "00", "[5-8]\\d{8}", [9], [["(\\d{4})(\\d{5})", "$1-$2", ["892"], "0$1"], ["(\\d{2})(\\d{7})", "$1-$2", ["8(?:0[0-7]|9)"], "0$1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[5-8]"], "0$1"]], "0", 0, 0, 0, 0, "[5-8]"], MC: ["377", "00", "(?:[3489]|[67]\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["4"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[389]"]], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[67]"], "0$1"]], "0"], MD: ["373", "00", "(?:[235-7]\\d|[89]0)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["22|3"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[25-7]"], "0$1"]], "0"], ME: ["382", "00", "(?:20|[3-79]\\d)\\d{6}|80\\d{6,7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[2-9]"], "0$1"]], "0"], MF: ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[079]|[14]3|[27][79]|3[03-7]|5[0-268]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5])|4(?:0[89]|1[2-6]|9\\d)|6(?:1[016-9]|5[0-4]|[67]\\d))|7090[0-4])\\d{4}"], ["80[0-5]\\d{6}"], ["8[129]\\d{7}"], 0, 0, 0, 0, ["9(?:(?:39[5-7]|76[018])\\d|475[0-6])\\d{4}"]]], MG: ["261", "00", "[23]\\d{8}", [9], [["(\\d{2})(\\d{2})(\\d{3})(\\d{2})", "$1 $2 $3 $4", ["[23]"], "0$1"]], "0", 0, "([24-9]\\d{6})$|0", "20$1"], MH: ["692", "011", "329\\d{4}|(?:[256]\\d|45)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1-$2", ["[2-6]"]]], "1"], MK: ["389", "00", "[2-578]\\d{7}", [8], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2|34[47]|4(?:[37]7|5[47]|64)"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[347]"], "0$1"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[58]"], "0$1"]], "0"], ML: ["223", "00", "[24-9]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24-9]"]]]], MM: ["95", "00", "1\\d{5,7}|95\\d{6}|(?:[4-7]|9[0-46-9])\\d{6,8}|(?:2|8\\d)\\d{5,8}", [6, 7, 8, 9, 10], [["(\\d)(\\d{2})(\\d{3})", "$1 $2 $3", ["16|2"], "0$1"], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["4(?:[2-46]|5[3-5])|5|6(?:[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-5]|(?:60|86)[23]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[12]|452|678|86", "[12]|452|6788|86"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[4-7]|8[1-35]"], "0$1"], ["(\\d)(\\d{3})(\\d{4,6})", "$1 $2 $3", ["9(?:2[0-4]|[35-9]|4[137-9])"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["92"], "0$1"], ["(\\d)(\\d{5})(\\d{4})", "$1 $2 $3", ["9"], "0$1"]], "0"], MN: ["976", "001", "[12]\\d{7,9}|[5-9]\\d{7}", [8, 9, 10], [["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["[12]1"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[5-9]"]], ["(\\d{3})(\\d{5,6})", "$1 $2", ["[12]2[1-3]"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["[12](?:27|3[2-8]|4[2-68]|5[1-4689])", "[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["[12]"], "0$1"]], "0"], MO: ["853", "00", "0800\\d{3}|(?:28|[68]\\d)\\d{6}", [7, 8], [["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[268]"]]]], MP: ["1", "011", "[58]\\d{9}|(?:67|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "670$1", 0, "670"], MQ: ["596", "00", "7091\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|8(?:0[6-9]|[36])"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], MR: ["222", "00", "(?:[2-4]\\d\\d|800)\\d{5}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-48]"]]]], MS: ["1", "011", "(?:[58]\\d\\d|664|900)\\d{7}", [10], 0, "1", 0, "([34]\\d{6})$|1", "664$1", 0, "664"], MT: ["356", "00", "3550\\d{4}|(?:[2579]\\d\\d|800)\\d{5}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[2357-9]"]]]], MU: ["230", "0(?:0|[24-7]0|3[03])", "(?:[57]|8\\d\\d)\\d{7}|[2-468]\\d{6}", [7, 8, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-46]|8[013]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[57]"]], ["(\\d{5})(\\d{5})", "$1 $2", ["8"]]], 0, 0, 0, 0, 0, 0, 0, "020"], MV: ["960", "0(?:0|19)", "(?:800|9[0-57-9]\\d)\\d{7}|[34679]\\d{6}", [7, 10], [["(\\d{3})(\\d{4})", "$1-$2", ["[34679]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], MW: ["265", "00", "(?:[1289]\\d|31|77)\\d{7}|1\\d{6}", [7, 9], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["1[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[137-9]"], "0$1"]], "0"], MX: ["52", "0[09]", "[2-9]\\d{9}", [10], [["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["33|5[56]|81"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], MY: ["60", "00", "1\\d{8,9}|(?:3\\d|[4-9])\\d{7}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1-$2 $3", ["[4-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1-$2 $3", ["1(?:[02469]|[378][1-9]|53)|8", "1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1-$2 $3", ["3"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{4})", "$1-$2-$3-$4", ["1(?:[367]|80)"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2 $3", ["15"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1-$2 $3", ["1"], "0$1"]], "0"], MZ: ["258", "00", "(?:2|8\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2|8[2-79]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], NA: ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], NC: ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], NE: ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], NF: ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], NG: ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], NI: ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], NL: ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], NO: ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], NP: ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], NR: ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], NU: ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], NZ: ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], OM: ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], PA: ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], PE: ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], PF: ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], PG: ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], PH: ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], PK: ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], PL: ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], PM: ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], PR: ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], PS: ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], PT: ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], PW: ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], PY: ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], QA: ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], RE: ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["26(?:2\\d\\d|3(?:0\\d|1[0-6]))\\d{4}"], ["(?:69(?:2\\d\\d|3(?:[06][0-6]|1[0-3]|2[0-2]|3[0-39]|4\\d|5[0-5]|7[0-37]|8[0-8]|9[0-479]))|7092[0-3])\\d{4}"], ["80\\d{7}"], ["89[1-37-9]\\d{6}"], 0, 0, 0, 0, ["9(?:399[0-3]|479[0-6]|76(?:2[278]|3[0-37]))\\d{4}"], ["8(?:1[019]|2[0156]|84|90)\\d{6}"]]], RO: ["40", "00", "(?:[236-8]\\d|90)\\d{7}|[23]\\d{5}", [6, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["2[3-6]", "2[3-6]\\d9"], "0$1"], ["(\\d{2})(\\d{4})", "$1 $2", ["219|31"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[23]1"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[236-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, " int "], RS: ["381", "00", "38[02-9]\\d{6,9}|6\\d{7,9}|90\\d{4,8}|38\\d{5,6}|(?:7\\d\\d|800)\\d{3,9}|(?:[12]\\d|3[0-79])\\d{5,10}", [6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{3,9})", "$1 $2", ["(?:2[389]|39)0|[7-9]"], "0$1"], ["(\\d{2})(\\d{5,10})", "$1 $2", ["[1-36]"], "0$1"]], "0"], RU: ["7", "810", "8\\d{13}|[347-9]\\d{9}", [10, 14], [["(\\d{4})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-8]|2[1-9])", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:1[23]|[2-9]2))", "7(?:1(?:[0-356]2|4[29]|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2"], "8 ($1)", 1], ["(\\d{5})(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["7(?:1[0-68]|2[1-9])", "7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))", "7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "8 ($1)", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[349]|8(?:[02-7]|1[1-8])"], "8 ($1)", 1], ["(\\d{4})(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["8"], "8 ($1)"]], "8", 0, 0, 0, 0, "[3489]", 0, "8~10"], RW: ["250", "00", "(?:06|[27]\\d\\d|[89]00)\\d{6}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[7-9]"], "0$1"]], "0"], SA: ["966", "00", "(?:[15]\\d|800|92)\\d{7}", [9, 10], [["(\\d{4})(\\d{5})", "$1 $2", ["9"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]], "0"], SB: ["677", "0[01]", "[6-9]\\d{6}|[1-6]\\d{4}", [5, 7], [["(\\d{2})(\\d{5})", "$1 $2", ["6[89]|7|8[4-9]|9(?:[1-8]|9[0-8])"]]]], SC: ["248", "010|0[0-2]", "(?:[2489]\\d|64)\\d{5}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[246]|9[57]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], SD: ["249", "00", "[19]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], SE: ["46", "00", "(?:[26]\\d\\d|9)\\d{9}|[1-9]\\d{8}|[1-689]\\d{7}|[1-4689]\\d{6}|2\\d{5}", [6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["20"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{4})", "$1-$2", ["9(?:00|39|44|9)"], "0$1", 0, "$1 $2"], ["(\\d{2})(\\d{3})(\\d{2})", "$1-$2 $3", ["[12][136]|3[356]|4[0246]|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3"], ["(\\d)(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2,3})(\\d{2})", "$1-$2 $3", ["1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3"], ["(\\d{3})(\\d{2,3})(\\d{3})", "$1-$2 $3", ["9(?:00|39|44)"], "0$1", 0, "$1 $2 $3"], ["(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["10|7"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1-$2 $3 $4", ["8"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1-$2 $3 $4", ["[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{3})", "$1-$2 $3 $4", ["9"], "0$1", 0, "$1 $2 $3 $4"], ["(\\d{3})(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1-$2 $3 $4 $5", ["[26]"], "0$1", 0, "$1 $2 $3 $4 $5"]], "0"], SG: ["65", "0[0-3]\\d", "(?:(?:1\\d|8)\\d\\d|7000)\\d{7}|[3689]\\d{7}", [8, 10, 11], [["(\\d{4})(\\d{4})", "$1 $2", ["[369]|8(?:0[1-9]|[1-9])"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]], ["(\\d{4})(\\d{4})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]]]], SH: ["290", "00", "(?:[256]\\d|8)\\d{3}", [4, 5], 0, 0, 0, 0, 0, 0, "[256]"], SI: ["386", "00|10(?:22|66|88|99)", "[1-7]\\d{7}|8\\d{4,7}|90\\d{4,6}", [5, 6, 7, 8], [["(\\d{2})(\\d{3,6})", "$1 $2", ["8[09]|9"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["59|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[37][01]|4[0139]|51|6"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-57]"], "(0$1)"]], "0", 0, 0, 0, 0, 0, 0, "00"], SJ: ["47", "00", "0\\d{4}|(?:[489]\\d|79)\\d{6}", [5, 8], 0, 0, 0, 0, 0, 0, "79"], SK: ["421", "00", "[2-689]\\d{8}|[2-59]\\d{6}|[2-5]\\d{5}", [6, 7, 9], [["(\\d)(\\d{2})(\\d{3,4})", "$1 $2 $3", ["21"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["[3-5][1-8]1", "[3-5][1-8]1[67]"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{2})", "$1/$2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[689]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1/$2 $3 $4", ["[3-5]"], "0$1"]], "0"], SL: ["232", "00", "(?:[237-9]\\d|66)\\d{6}", [8], [["(\\d{2})(\\d{6})", "$1 $2", ["[236-9]"], "(0$1)"]], "0"], SM: ["378", "00", "(?:0549|[5-7]\\d)\\d{6}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]"]], ["(\\d{4})(\\d{6})", "$1 $2", ["0"]]], 0, 0, "([89]\\d{5})$", "0549$1"], SN: ["221", "00", "(?:[378]\\d|93)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[379]"]]]], SO: ["252", "00", "[346-9]\\d{8}|[12679]\\d{7}|[1-5]\\d{6}|[1348]\\d{5}", [6, 7, 8, 9], [["(\\d{2})(\\d{4})", "$1 $2", ["8[125]"]], ["(\\d{6})", "$1", ["[134]"]], ["(\\d)(\\d{6})", "$1 $2", ["[15]|2[0-79]|3[0-46-8]|4[0-7]"]], ["(\\d)(\\d{7})", "$1 $2", ["(?:2|90)4|[67]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[348]|64|79|90"]], ["(\\d{2})(\\d{5,7})", "$1 $2", ["1|28|6[0-35-9]|7[67]|9[2-9]"]]], "0"], SR: ["597", "00", "(?:[2-5]|[6-8]\\d|90)\\d{5}", [6, 7], [["(\\d{2})(\\d{2})(\\d{2})", "$1-$2-$3", ["56"]], ["(\\d{3})(\\d{3})", "$1-$2", ["[2-5]"]], ["(\\d{3})(\\d{4})", "$1-$2", ["[6-9]"]]]], SS: ["211", "00", "[19]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[19]"], "0$1"]], "0"], ST: ["239", "00", "(?:22|9\\d)\\d{5}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[29]"]]]], SV: ["503", "00", "[25-7]\\d{7}|(?:80\\d|900)\\d{4}(?:\\d{4})?", [7, 8, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["[89]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[25-7]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["[89]"]]]], SX: ["1", "011", "7215\\d{6}|(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "(5\\d{6})$|1", "721$1", 0, "721"], SY: ["963", "00", "[1-359]\\d{8}|[1-5]\\d{7}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-4]|5[1-3]"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[59]"], "0$1", 1]], "0"], SZ: ["268", "00", "0800\\d{4}|(?:[237]\\d|900)\\d{6}", [8, 9], [["(\\d{4})(\\d{4})", "$1 $2", ["[0237]"]], ["(\\d{5})(\\d{4})", "$1 $2", ["9"]]]], TA: ["290", "00", "8\\d{3}", [4], 0, 0, 0, 0, 0, 0, "8"], TC: ["1", "011", "(?:[58]\\d\\d|649|900)\\d{7}", [10], 0, "1", 0, "([2-479]\\d{6})$|1", "649$1", 0, "649"], TD: ["235", "00|16", "(?:22|[3689]\\d|77)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[236-9]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], TG: ["228", "00", "[279]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[279]"]]]], TH: ["66", "00[1-9]", "(?:001800|[2-57]|[689]\\d)\\d{7}|1\\d{7,9}", [8, 9, 10, 13], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[13-9]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], TJ: ["992", "810", "(?:[0-57-9]\\d|66)\\d{7}", [9], [["(\\d{6})(\\d)(\\d{2})", "$1 $2 $3", ["331", "3317"]], ["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["44[02-479]|[34]7"]], ["(\\d{4})(\\d)(\\d{4})", "$1 $2 $3", ["3(?:[1245]|3[12])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["\\d"]]], 0, 0, 0, 0, 0, 0, 0, "8~10"], TK: ["690", "00", "[2-47]\\d{3,6}", [4, 5, 6, 7]], TL: ["670", "00", "7\\d{7}|(?:[2-47]\\d|[89]0)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-489]|70"]], ["(\\d{4})(\\d{4})", "$1 $2", ["7"]]]], TM: ["993", "810", "(?:[1-6]\\d|71)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], TN: ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], TO: ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], TR: ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5(?:[0-579]|61)", "5(?:[0-579]|61[06])", "5(?:[0-579]|61[06]1)"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[24][1-8]|3[1-9]"], "(0$1)", 1], ["(\\d{3})(\\d{3})(\\d{6,7})", "$1 $2 $3", ["80"], "0$1", 1]], "0"], TT: ["1", "011", "(?:[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-46-8]\\d{6})$|1", "868$1", 0, "868"], TV: ["688", "00", "(?:2|7\\d\\d|90)\\d{4}", [5, 6, 7], [["(\\d{2})(\\d{3})", "$1 $2", ["2"]], ["(\\d{2})(\\d{4})", "$1 $2", ["90"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], TW: ["886", "0(?:0[25-79]|19)", "[2-689]\\d{8}|7\\d{9,10}|[2-8]\\d{7}|2\\d{6}", [7, 8, 9, 10, 11], [["(\\d{2})(\\d)(\\d{4})", "$1 $2 $3", ["202"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[258]0"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]", "[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, 0, "#"], TZ: ["255", "00[056]", "(?:[25-8]\\d|41|90)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[24]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["5"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[67]"], "0$1"]], "0"], UA: ["380", "00", "[89]\\d{9}|[3-9]\\d{8}", [9, 10], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]", "6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])", "3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|89|9[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[89]"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "0~0"], UG: ["256", "00[057]", "800\\d{6}|(?:[29]0|[347]\\d)\\d{7}", [9], [["(\\d{4})(\\d{5})", "$1 $2", ["202", "2024"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["[27-9]|4(?:6[45]|[7-9])"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[34]"], "0$1"]], "0"], US: ["1", "011", "[2-9]\\d{9}|3\\d{6}", [10], [["(\\d{3})(\\d{4})", "$1-$2", ["310"], 0, 1], ["(\\d{3})(\\d{3})(\\d{4})", "($1) $2-$3", ["[2-9]"], 0, 1, "$1-$2-$3"]], "1", 0, 0, 0, 0, 0, [["(?:274[27]|(?:472|983)[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], UY: ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], UZ: ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], VA: ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], VC: ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], VE: ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], VG: ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], VI: ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], VN: ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{7}|[16-8]\\d{6}", [7, 8, 9, 10], [["(\\d{2})(\\d{5})", "$1 $2", ["80"], "0$1", 1], ["(\\d{4})(\\d{4,6})", "$1 $2", ["1"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["6"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[357-9]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["2[48]"], "0$1", 1], ["(\\d{3})(\\d{4})(\\d{3})", "$1 $2 $3", ["2"], "0$1", 1]], "0"], VU: ["678", "00", "[57-9]\\d{6}|(?:[238]\\d|48)\\d{3}", [5, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["[57-9]"]]]], WF: ["681", "00", "(?:40|72|8\\d{4})\\d{4}|[89]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[47-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], WS: ["685", "0", "(?:[2-6]|8\\d{5})\\d{4}|[78]\\d{6}|[68]\\d{5}", [5, 6, 7, 10], [["(\\d{5})", "$1", ["[2-5]|6[1-9]"]], ["(\\d{3})(\\d{3,7})", "$1 $2", ["[68]"]], ["(\\d{2})(\\d{5})", "$1 $2", ["7"]]]], XK: ["383", "00", "2\\d{7,8}|3\\d{7,11}|(?:4\\d\\d|[89]00)\\d{5}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{5})", "$1 $2", ["[89]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["2|39"], "0$1"], ["(\\d{2})(\\d{7,10})", "$1 $2", ["3"], "0$1"]], "0"], YE: ["967", "00", "(?:1|7\\d)\\d{7}|[1-7]\\d{6}", [7, 8, 9], [["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[1-6]|7(?:[24-6]|8[0-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"], "0$1"]], "0"], YT: ["262", "00", "7093\\d{5}|(?:80|9\\d)\\d{7}|(?:26|63)9\\d{6}", [9], 0, "0", 0, 0, 0, 0, 0, [["269(?:0[0-467]|15|5[0-4]|6\\d|[78]0)\\d{4}"], ["(?:639(?:0[0-79]|1[019]|[267]\\d|3[09]|40|5[05-9]|9[04-79])|7093[5-7])\\d{4}"], ["80\\d{7}"], 0, 0, 0, 0, 0, ["9(?:(?:39|47)8[01]|769\\d)\\d{4}"]]], ZA: ["27", "00", "[1-79]\\d{8}|8\\d{4,9}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,4})", "$1 $2", ["8[1-4]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["8[1-4]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["860"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], ZM: ["260", "00", "800\\d{6}|(?:21|[579]\\d|63)\\d{7}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[28]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[579]"], "0$1"]], "0"], ZW: ["263", "00", "2(?:[0-57-9]\\d{6,8}|6[0-24-9]\\d{6,7})|[38]\\d{9}|[35-8]\\d{8}|[3-6]\\d{7}|[1-689]\\d{6}|[1-3569]\\d{5}|[1356]\\d{4}", [5, 6, 7, 8, 9, 10], [["(\\d{3})(\\d{3,5})", "$1 $2", ["2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]"], "0$1"], ["(\\d)(\\d{3})(\\d{2,4})", "$1 $2 $3", ["[49]"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["80"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2", "2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)", "2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["29[013-9]|39|54"], "0$1"], ["(\\d{4})(\\d{3,5})", "$1 $2", ["(?:25|54)8", "258|5483"], "0$1"]], "0"] }, nonGeographic: { 800: ["800", 0, "(?:00|[1-9]\\d)\\d{6}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["\\d"]]], 0, 0, 0, 0, 0, 0, [0, 0, ["(?:00|[1-9]\\d)\\d{6}"]]], 808: ["808", 0, "[1-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[1-9]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, ["[1-9]\\d{7}"]]], 870: ["870", 0, "7\\d{11}|[235-7]\\d{8}", [9, 12], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[235-7]"]]], 0, 0, 0, 0, 0, 0, [0, ["(?:[356]|774[45])\\d{8}|7[6-8]\\d{7}"], 0, 0, 0, 0, 0, 0, ["2\\d{8}", [9]]]], 878: ["878", 0, "10\\d{10}", [12], [["(\\d{2})(\\d{5})(\\d{5})", "$1 $2 $3", ["1"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["10\\d{10}"]]], 881: ["881", 0, "6\\d{9}|[0-36-9]\\d{8}", [9, 10], [["(\\d)(\\d{3})(\\d{5})", "$1 $2 $3", ["[0-37-9]"]], ["(\\d)(\\d{3})(\\d{5,6})", "$1 $2 $3", ["6"]]], 0, 0, 0, 0, 0, 0, [0, ["6\\d{9}|[0-36-9]\\d{8}"]]], 882: ["882", 0, "[13]\\d{6}(?:\\d{2,5})?|[19]\\d{7}|(?:[25]\\d\\d|4)\\d{7}(?:\\d{2})?", [7, 8, 9, 10, 11, 12], [["(\\d{2})(\\d{5})", "$1 $2", ["16|342"]], ["(\\d{2})(\\d{6})", "$1 $2", ["49"]], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["1[36]|9"]], ["(\\d{2})(\\d{4})(\\d{3})", "$1 $2 $3", ["3[23]"]], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["16"]], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["10|23|3(?:[15]|4[57])|4|5[12]"]], ["(\\d{3})(\\d{4})(\\d{4})", "$1 $2 $3", ["34"]], ["(\\d{2})(\\d{4,5})(\\d{5})", "$1 $2 $3", ["[1-35]"]]], 0, 0, 0, 0, 0, 0, [0, ["342\\d{4}|(?:337|49)\\d{6}|(?:3(?:2|47|7\\d{3})|5(?:0\\d{3}|2[0-2]))\\d{7}", [7, 8, 9, 10, 12]], 0, 0, 0, ["348[57]\\d{7}", [11]], 0, 0, ["1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\d{4}|6\\d{5,10})|(?:345\\d|9[89])\\d{6}|(?:10|2(?:3|85\\d)|3(?:[15]|[69]\\d\\d)|4[15-8]|51)\\d{8}"]]], 883: ["883", 0, "(?:[1-4]\\d|51)\\d{6,10}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,8})", "$1 $2 $3", ["[14]|2[24-689]|3[02-689]|51[24-9]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["510"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["21"]], ["(\\d{4})(\\d{4})(\\d{4})", "$1 $2 $3", ["51[13]"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[235]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, ["(?:2(?:00\\d\\d|10)|(?:370[1-9]|51\\d0)\\d)\\d{7}|51(?:00\\d{5}|[24-9]0\\d{4,7})|(?:1[0-79]|2[24-689]|3[02-689]|4[0-4])0\\d{5,9}"]]], 888: ["888", 0, "\\d{11}", [11], [["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, ["\\d{11}"]]], 979: ["979", 0, "[1359]\\d{8}", [9], [["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[1359]"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, ["[1359]\\d{8}"]]] } };
7
+ function Zt(t, d) {
8
+ var n = Array.prototype.slice.call(d);
9
+ return n.push(Xt), t.apply(this, n);
10
+ }
11
+ function Re(t, d) {
12
+ t = t.split("-"), d = d.split("-");
13
+ for (var n = t[0].split("."), r = d[0].split("."), o = 0; o < 3; o++) {
14
+ var a = Number(n[o]), $ = Number(r[o]);
15
+ if (a > $) return 1;
16
+ if ($ > a) return -1;
17
+ if (!isNaN(a) && isNaN($)) return 1;
18
+ if (isNaN(a) && !isNaN($)) return -1;
19
+ }
20
+ return t[1] && d[1] ? t[1] > d[1] ? 1 : t[1] < d[1] ? -1 : 0 : !t[1] && d[1] ? 1 : t[1] && !d[1] ? -1 : 0;
21
+ }
22
+ var Jt = {}.constructor;
23
+ function x(t) {
24
+ return t != null && t.constructor === Jt;
25
+ }
26
+ function D(t) {
27
+ "@babel/helpers - typeof";
28
+ return D = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
29
+ return typeof d;
30
+ } : function(d) {
31
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
32
+ }, D(t);
33
+ }
34
+ function Q(t, d) {
35
+ if (!(t instanceof d)) throw new TypeError("Cannot call a class as a function");
36
+ }
37
+ function qt(t, d) {
38
+ for (var n = 0; n < d.length; n++) {
39
+ var r = d[n];
40
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, Qt(r.key), r);
41
+ }
42
+ }
43
+ function ee(t, d, n) {
44
+ return d && qt(t.prototype, d), Object.defineProperty(t, "prototype", { writable: !1 }), t;
45
+ }
46
+ function Qt(t) {
47
+ var d = ed(t, "string");
48
+ return D(d) == "symbol" ? d : d + "";
49
+ }
50
+ function ed(t, d) {
51
+ if (D(t) != "object" || !t) return t;
52
+ var n = t[Symbol.toPrimitive];
53
+ if (n !== void 0) {
54
+ var r = n.call(t, d);
55
+ if (D(r) != "object") return r;
56
+ throw new TypeError("@@toPrimitive must return a primitive value.");
57
+ }
58
+ return String(t);
59
+ }
60
+ var td = "1.2.0", dd = "1.7.35", Oe = " ext. ", nd = /^\d+$/, g = /* @__PURE__ */ function() {
61
+ function t(d) {
62
+ Q(this, t), rt(d), this.metadata = d, ot.call(this, d);
63
+ }
64
+ return ee(t, [{
65
+ key: "getCountries",
66
+ value: function() {
67
+ return Object.keys(this.metadata.countries).filter(function(n) {
68
+ return n !== "001";
69
+ });
70
+ }
71
+ }, {
72
+ key: "getCountryMetadata",
73
+ value: function(n) {
74
+ return this.metadata.countries[n];
75
+ }
76
+ }, {
77
+ key: "nonGeographic",
78
+ value: function() {
79
+ if (!(this.v1 || this.v2 || this.v3))
80
+ return this.metadata.nonGeographic || this.metadata.nonGeographical;
81
+ }
82
+ }, {
83
+ key: "hasCountry",
84
+ value: function(n) {
85
+ return this.getCountryMetadata(n) !== void 0;
86
+ }
87
+ }, {
88
+ key: "hasCallingCode",
89
+ value: function(n) {
90
+ if (this.getCountryCodesForCallingCode(n))
91
+ return !0;
92
+ if (this.nonGeographic()) {
93
+ if (this.nonGeographic()[n])
94
+ return !0;
95
+ } else {
96
+ var r = this.countryCallingCodes()[n];
97
+ if (r && r.length === 1 && r[0] === "001")
98
+ return !0;
99
+ }
100
+ }
101
+ }, {
102
+ key: "isNonGeographicCallingCode",
103
+ value: function(n) {
104
+ return this.nonGeographic() ? !!this.nonGeographic()[n] : !this.getCountryCodesForCallingCode(n);
105
+ }
106
+ // Deprecated.
107
+ }, {
108
+ key: "country",
109
+ value: function(n) {
110
+ return this.selectNumberingPlan(n);
111
+ }
112
+ }, {
113
+ key: "selectNumberingPlan",
114
+ value: function(n, r) {
115
+ if (n && nd.test(n) && (r = n, n = null), n && n !== "001") {
116
+ if (!this.hasCountry(n))
117
+ throw new Error("Unknown country: ".concat(n));
118
+ this.numberingPlan = new Ae(this.getCountryMetadata(n), this);
119
+ } else if (r) {
120
+ if (!this.hasCallingCode(r))
121
+ throw new Error("Unknown calling code: ".concat(r));
122
+ this.numberingPlan = new Ae(this.getNumberingPlanMetadata(r), this);
123
+ } else
124
+ this.numberingPlan = void 0;
125
+ return this;
126
+ }
127
+ }, {
128
+ key: "getCountryCodesForCallingCode",
129
+ value: function(n) {
130
+ var r = this.countryCallingCodes()[n];
131
+ if (r)
132
+ return r.length === 1 && r[0].length === 3 ? void 0 : r;
133
+ }
134
+ }, {
135
+ key: "getCountryCodeForCallingCode",
136
+ value: function(n) {
137
+ var r = this.getCountryCodesForCallingCode(n);
138
+ if (r)
139
+ return r[0];
140
+ }
141
+ }, {
142
+ key: "getNumberingPlanMetadata",
143
+ value: function(n) {
144
+ var r = this.getCountryCodeForCallingCode(n);
145
+ if (r)
146
+ return this.getCountryMetadata(r);
147
+ if (this.nonGeographic()) {
148
+ var o = this.nonGeographic()[n];
149
+ if (o)
150
+ return o;
151
+ } else {
152
+ var a = this.countryCallingCodes()[n];
153
+ if (a && a.length === 1 && a[0] === "001")
154
+ return this.metadata.countries["001"];
155
+ }
156
+ }
157
+ // Deprecated.
158
+ }, {
159
+ key: "countryCallingCode",
160
+ value: function() {
161
+ return this.numberingPlan.callingCode();
162
+ }
163
+ // Deprecated.
164
+ }, {
165
+ key: "IDDPrefix",
166
+ value: function() {
167
+ return this.numberingPlan.IDDPrefix();
168
+ }
169
+ // Deprecated.
170
+ }, {
171
+ key: "defaultIDDPrefix",
172
+ value: function() {
173
+ return this.numberingPlan.defaultIDDPrefix();
174
+ }
175
+ // Deprecated.
176
+ }, {
177
+ key: "nationalNumberPattern",
178
+ value: function() {
179
+ return this.numberingPlan.nationalNumberPattern();
180
+ }
181
+ // Deprecated.
182
+ }, {
183
+ key: "possibleLengths",
184
+ value: function() {
185
+ return this.numberingPlan.possibleLengths();
186
+ }
187
+ // Deprecated.
188
+ }, {
189
+ key: "formats",
190
+ value: function() {
191
+ return this.numberingPlan.formats();
192
+ }
193
+ // Deprecated.
194
+ }, {
195
+ key: "nationalPrefixForParsing",
196
+ value: function() {
197
+ return this.numberingPlan.nationalPrefixForParsing();
198
+ }
199
+ // Deprecated.
200
+ }, {
201
+ key: "nationalPrefixTransformRule",
202
+ value: function() {
203
+ return this.numberingPlan.nationalPrefixTransformRule();
204
+ }
205
+ // Deprecated.
206
+ }, {
207
+ key: "leadingDigits",
208
+ value: function() {
209
+ return this.numberingPlan.leadingDigits();
210
+ }
211
+ // Deprecated.
212
+ }, {
213
+ key: "hasTypes",
214
+ value: function() {
215
+ return this.numberingPlan.hasTypes();
216
+ }
217
+ // Deprecated.
218
+ }, {
219
+ key: "type",
220
+ value: function(n) {
221
+ return this.numberingPlan.type(n);
222
+ }
223
+ // Deprecated.
224
+ }, {
225
+ key: "ext",
226
+ value: function() {
227
+ return this.numberingPlan.ext();
228
+ }
229
+ }, {
230
+ key: "countryCallingCodes",
231
+ value: function() {
232
+ return this.v1 ? this.metadata.country_phone_code_to_countries : this.metadata.country_calling_codes;
233
+ }
234
+ // Deprecated.
235
+ }, {
236
+ key: "chooseCountryByCountryCallingCode",
237
+ value: function(n) {
238
+ return this.selectNumberingPlan(n);
239
+ }
240
+ }, {
241
+ key: "hasSelectedNumberingPlan",
242
+ value: function() {
243
+ return this.numberingPlan !== void 0;
244
+ }
245
+ }]);
246
+ }(), Ae = /* @__PURE__ */ function() {
247
+ function t(d, n) {
248
+ Q(this, t), this.globalMetadataObject = n, this.metadata = d, ot.call(this, n.metadata);
249
+ }
250
+ return ee(t, [{
251
+ key: "callingCode",
252
+ value: function() {
253
+ return this.metadata[0];
254
+ }
255
+ // Formatting information for regions which share
256
+ // a country calling code is contained by only one region
257
+ // for performance reasons. For example, for NANPA region
258
+ // ("North American Numbering Plan Administration",
259
+ // which includes USA, Canada, Cayman Islands, Bahamas, etc)
260
+ // it will be contained in the metadata for `US`.
261
+ }, {
262
+ key: "getDefaultCountryMetadataForRegion",
263
+ value: function() {
264
+ return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());
265
+ }
266
+ // Is always present.
267
+ }, {
268
+ key: "IDDPrefix",
269
+ value: function() {
270
+ if (!(this.v1 || this.v2))
271
+ return this.metadata[1];
272
+ }
273
+ // Is only present when a country supports multiple IDD prefixes.
274
+ }, {
275
+ key: "defaultIDDPrefix",
276
+ value: function() {
277
+ if (!(this.v1 || this.v2))
278
+ return this.metadata[12];
279
+ }
280
+ }, {
281
+ key: "nationalNumberPattern",
282
+ value: function() {
283
+ return this.v1 || this.v2 ? this.metadata[1] : this.metadata[2];
284
+ }
285
+ // "possible length" data is always present in Google's metadata.
286
+ }, {
287
+ key: "possibleLengths",
288
+ value: function() {
289
+ if (!this.v1)
290
+ return this.metadata[this.v2 ? 2 : 3];
291
+ }
292
+ }, {
293
+ key: "_getFormats",
294
+ value: function(n) {
295
+ return n[this.v1 ? 2 : this.v2 ? 3 : 4];
296
+ }
297
+ // For countries of the same region (e.g. NANPA)
298
+ // formats are all stored in the "main" country for that region.
299
+ // E.g. "RU" and "KZ", "US" and "CA".
300
+ }, {
301
+ key: "formats",
302
+ value: function() {
303
+ var n = this, r = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];
304
+ return r.map(function(o) {
305
+ return new rd(o, n);
306
+ });
307
+ }
308
+ }, {
309
+ key: "nationalPrefix",
310
+ value: function() {
311
+ return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];
312
+ }
313
+ }, {
314
+ key: "_getNationalPrefixFormattingRule",
315
+ value: function(n) {
316
+ return n[this.v1 ? 4 : this.v2 ? 5 : 6];
317
+ }
318
+ // For countries of the same region (e.g. NANPA)
319
+ // national prefix formatting rule is stored in the "main" country for that region.
320
+ // E.g. "RU" and "KZ", "US" and "CA".
321
+ }, {
322
+ key: "nationalPrefixFormattingRule",
323
+ value: function() {
324
+ return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());
325
+ }
326
+ }, {
327
+ key: "_nationalPrefixForParsing",
328
+ value: function() {
329
+ return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];
330
+ }
331
+ }, {
332
+ key: "nationalPrefixForParsing",
333
+ value: function() {
334
+ return this._nationalPrefixForParsing() || this.nationalPrefix();
335
+ }
336
+ }, {
337
+ key: "nationalPrefixTransformRule",
338
+ value: function() {
339
+ return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];
340
+ }
341
+ }, {
342
+ key: "_getNationalPrefixIsOptionalWhenFormatting",
343
+ value: function() {
344
+ return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];
345
+ }
346
+ // For countries of the same region (e.g. NANPA)
347
+ // "national prefix is optional when formatting" flag is
348
+ // stored in the "main" country for that region.
349
+ // E.g. "RU" and "KZ", "US" and "CA".
350
+ }, {
351
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
352
+ value: function() {
353
+ return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());
354
+ }
355
+ }, {
356
+ key: "leadingDigits",
357
+ value: function() {
358
+ return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];
359
+ }
360
+ }, {
361
+ key: "types",
362
+ value: function() {
363
+ return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];
364
+ }
365
+ }, {
366
+ key: "hasTypes",
367
+ value: function() {
368
+ return this.types() && this.types().length === 0 ? !1 : !!this.types();
369
+ }
370
+ }, {
371
+ key: "type",
372
+ value: function(n) {
373
+ if (this.hasTypes() && Te(this.types(), n))
374
+ return new id(Te(this.types(), n), this);
375
+ }
376
+ }, {
377
+ key: "ext",
378
+ value: function() {
379
+ return this.v1 || this.v2 ? Oe : this.metadata[13] || Oe;
380
+ }
381
+ }]);
382
+ }(), rd = /* @__PURE__ */ function() {
383
+ function t(d, n) {
384
+ Q(this, t), this._format = d, this.metadata = n;
385
+ }
386
+ return ee(t, [{
387
+ key: "pattern",
388
+ value: function() {
389
+ return this._format[0];
390
+ }
391
+ }, {
392
+ key: "format",
393
+ value: function() {
394
+ return this._format[1];
395
+ }
396
+ }, {
397
+ key: "leadingDigitsPatterns",
398
+ value: function() {
399
+ return this._format[2] || [];
400
+ }
401
+ }, {
402
+ key: "nationalPrefixFormattingRule",
403
+ value: function() {
404
+ return this._format[3] || this.metadata.nationalPrefixFormattingRule();
405
+ }
406
+ }, {
407
+ key: "nationalPrefixIsOptionalWhenFormattingInNationalFormat",
408
+ value: function() {
409
+ return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
410
+ }
411
+ }, {
412
+ key: "nationalPrefixIsMandatoryWhenFormattingInNationalFormat",
413
+ value: function() {
414
+ return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();
415
+ }
416
+ // Checks whether national prefix formatting rule contains national prefix.
417
+ }, {
418
+ key: "usesNationalPrefix",
419
+ value: function() {
420
+ return !!(this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a "dummy" one.
421
+ !od.test(this.nationalPrefixFormattingRule()));
422
+ }
423
+ }, {
424
+ key: "internationalFormat",
425
+ value: function() {
426
+ return this._format[5] || this.format();
427
+ }
428
+ }]);
429
+ }(), od = /^\(?\$1\)?$/, id = /* @__PURE__ */ function() {
430
+ function t(d, n) {
431
+ Q(this, t), this.type = d, this.metadata = n;
432
+ }
433
+ return ee(t, [{
434
+ key: "pattern",
435
+ value: function() {
436
+ return this.metadata.v1 ? this.type : this.type[0];
437
+ }
438
+ }, {
439
+ key: "possibleLengths",
440
+ value: function() {
441
+ if (!this.metadata.v1)
442
+ return this.type[1] || this.metadata.possibleLengths();
443
+ }
444
+ }]);
445
+ }();
446
+ function Te(t, d) {
447
+ switch (d) {
448
+ case "FIXED_LINE":
449
+ return t[0];
450
+ case "MOBILE":
451
+ return t[1];
452
+ case "TOLL_FREE":
453
+ return t[2];
454
+ case "PREMIUM_RATE":
455
+ return t[3];
456
+ case "PERSONAL_NUMBER":
457
+ return t[4];
458
+ case "VOICEMAIL":
459
+ return t[5];
460
+ case "UAN":
461
+ return t[6];
462
+ case "PAGER":
463
+ return t[7];
464
+ case "VOIP":
465
+ return t[8];
466
+ case "SHARED_COST":
467
+ return t[9];
468
+ }
469
+ }
470
+ function rt(t) {
471
+ if (!t)
472
+ throw new Error("[libphonenumber-js] `metadata` argument not passed. Check your arguments.");
473
+ if (!x(t) || !x(t.countries))
474
+ throw new Error("[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got ".concat(x(t) ? "an object of shape: { " + Object.keys(t).join(", ") + " }" : "a " + ad(t) + ": " + t, "."));
475
+ }
476
+ var ad = function(d) {
477
+ return D(d);
478
+ };
479
+ function ge(t, d) {
480
+ if (d = new g(d), d.hasCountry(t))
481
+ return d.selectNumberingPlan(t).countryCallingCode();
482
+ throw new Error("Unknown country: ".concat(t));
483
+ }
484
+ function $d(t, d) {
485
+ return d.countries.hasOwnProperty(t);
486
+ }
487
+ function ot(t) {
488
+ var d = t.version;
489
+ typeof d == "number" ? (this.v1 = d === 1, this.v2 = d === 2, this.v3 = d === 3, this.v4 = d === 4) : d ? Re(d, td) === -1 ? this.v2 = !0 : Re(d, dd) === -1 ? this.v3 = !0 : this.v4 = !0 : this.v1 = !0;
490
+ }
491
+ function be(t, d, n) {
492
+ return sd(t, d, void 0, n);
493
+ }
494
+ function sd(t, d, n, r) {
495
+ d && (r = new g(r.metadata), r.selectNumberingPlan(d));
496
+ var o = r.type(n), a = o && o.possibleLengths() || r.possibleLengths();
497
+ if (!a)
498
+ return "IS_POSSIBLE";
499
+ var $ = t.length, s = a[0];
500
+ return s === $ ? "IS_POSSIBLE" : s > $ ? "TOO_SHORT" : a[a.length - 1] < $ ? "TOO_LONG" : a.indexOf($, 1) >= 0 ? "IS_POSSIBLE" : "INVALID_LENGTH";
501
+ }
502
+ function ld(t, d, n) {
503
+ if (d === void 0 && (d = {}), n = new g(n), d.v2) {
504
+ if (!t.countryCallingCode)
505
+ throw new Error("Invalid phone number object passed");
506
+ n.selectNumberingPlan(t.countryCallingCode);
507
+ } else {
508
+ if (!t.phone)
509
+ return !1;
510
+ if (t.country) {
511
+ if (!n.hasCountry(t.country))
512
+ throw new Error("Unknown country: ".concat(t.country));
513
+ n.selectNumberingPlan(t.country);
514
+ } else {
515
+ if (!t.countryCallingCode)
516
+ throw new Error("Invalid phone number object passed");
517
+ n.selectNumberingPlan(t.countryCallingCode);
518
+ }
519
+ }
520
+ if (n.possibleLengths())
521
+ return it(t.phone || t.nationalNumber, t.country, n);
522
+ if (t.countryCallingCode && n.isNonGeographicCallingCode(t.countryCallingCode))
523
+ return !0;
524
+ throw new Error('Missing "possibleLengths" in metadata. Perhaps the metadata has been generated before v1.0.18.');
525
+ }
526
+ function it(t, d, n) {
527
+ switch (be(t, d, n)) {
528
+ case "IS_POSSIBLE":
529
+ return !0;
530
+ default:
531
+ return !1;
532
+ }
533
+ }
534
+ function I(t, d) {
535
+ return t = t || "", new RegExp("^(?:" + d + ")$").test(t);
536
+ }
537
+ function ud(t, d) {
538
+ var n = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
539
+ if (n) return (n = n.call(t)).next.bind(n);
540
+ if (Array.isArray(t) || (n = cd(t)) || d) {
541
+ n && (t = n);
542
+ var r = 0;
543
+ return function() {
544
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
545
+ };
546
+ }
547
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
548
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
549
+ }
550
+ function cd(t, d) {
551
+ if (t) {
552
+ if (typeof t == "string") return Se(t, d);
553
+ var n = {}.toString.call(t).slice(8, -1);
554
+ return n === "Object" && t.constructor && (n = t.constructor.name), n === "Map" || n === "Set" ? Array.from(t) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Se(t, d) : void 0;
555
+ }
556
+ }
557
+ function Se(t, d) {
558
+ (d == null || d > t.length) && (d = t.length);
559
+ for (var n = 0, r = Array(d); n < d; n++) r[n] = t[n];
560
+ return r;
561
+ }
562
+ var fd = ["MOBILE", "PREMIUM_RATE", "TOLL_FREE", "SHARED_COST", "VOIP", "PERSONAL_NUMBER", "PAGER", "UAN", "VOICEMAIL"];
563
+ function ye(t, d, n) {
564
+ if (d = d || {}, !(!t.country && !t.countryCallingCode)) {
565
+ n = new g(n), n.selectNumberingPlan(t.country, t.countryCallingCode);
566
+ var r = d.v2 ? t.nationalNumber : t.phone;
567
+ if (I(r, n.nationalNumberPattern())) {
568
+ if ($e(r, "FIXED_LINE", n))
569
+ return n.type("MOBILE") && n.type("MOBILE").pattern() === "" || !n.type("MOBILE") || $e(r, "MOBILE", n) ? "FIXED_LINE_OR_MOBILE" : "FIXED_LINE";
570
+ for (var o = ud(fd), a; !(a = o()).done; ) {
571
+ var $ = a.value;
572
+ if ($e(r, $, n))
573
+ return $;
574
+ }
575
+ }
576
+ }
577
+ }
578
+ function $e(t, d, n) {
579
+ var r = n.type(d);
580
+ return !r || !r.pattern() || r.possibleLengths() && r.possibleLengths().indexOf(t.length) < 0 ? !1 : I(t, r.pattern());
581
+ }
582
+ function md(t, d, n) {
583
+ if (d = d || {}, n = new g(n), n.selectNumberingPlan(t.country, t.countryCallingCode), n.hasTypes())
584
+ return ye(t, d, n.metadata) !== void 0;
585
+ var r = d.v2 ? t.nationalNumber : t.phone;
586
+ return I(r, n.nationalNumberPattern());
587
+ }
588
+ function pd(t, d, n) {
589
+ var r = new g(n), o = r.getCountryCodesForCallingCode(t);
590
+ return o ? o.filter(function(a) {
591
+ return gd(d, a, n);
592
+ }) : [];
593
+ }
594
+ function gd(t, d, n) {
595
+ var r = new g(n);
596
+ return r.selectNumberingPlan(d), r.numberingPlan.possibleLengths().indexOf(t.length) >= 0;
597
+ }
598
+ var he = 2, bd = 17, yd = 3, h = "0-90-9٠-٩۰-۹", hd = "-‐-―−ー-", Ed = "//", Cd = "..", Pd = "  ­​⁠ ", vd = "()()[]\\[\\]", _d = "~⁓∼~", z = "".concat(hd).concat(Ed).concat(Cd).concat(Pd).concat(vd).concat(_d), Ee = "++", Nd = new RegExp("([" + h + "])");
599
+ function Id(t, d, n, r) {
600
+ if (d) {
601
+ var o = new g(r);
602
+ o.selectNumberingPlan(d, n);
603
+ var a = new RegExp(o.IDDPrefix());
604
+ if (t.search(a) === 0) {
605
+ t = t.slice(t.match(a)[0].length);
606
+ var $ = t.match(Nd);
607
+ if (!($ && $[1] != null && $[1].length > 0 && $[1] === "0"))
608
+ return t;
609
+ }
610
+ }
611
+ }
612
+ function Fd(t, d) {
613
+ if (t && d.numberingPlan.nationalPrefixForParsing()) {
614
+ var n = new RegExp("^(?:" + d.numberingPlan.nationalPrefixForParsing() + ")"), r = n.exec(t);
615
+ if (r) {
616
+ var o, a, $ = r.length - 1, s = $ > 0 && r[$];
617
+ if (d.nationalPrefixTransformRule() && s)
618
+ o = t.replace(n, d.nationalPrefixTransformRule()), $ > 1 && (a = r[1]);
619
+ else {
620
+ var l = r[0];
621
+ o = t.slice(l.length), s && (a = r[1]);
622
+ }
623
+ var u;
624
+ if (s) {
625
+ var p = t.indexOf(r[1]), y = t.slice(0, p);
626
+ y === d.numberingPlan.nationalPrefix() && (u = d.numberingPlan.nationalPrefix());
627
+ } else
628
+ u = r[0];
629
+ return {
630
+ nationalNumber: o,
631
+ nationalPrefix: u,
632
+ carrierCode: a
633
+ };
634
+ }
635
+ }
636
+ return {
637
+ nationalNumber: t
638
+ };
639
+ }
640
+ function Rd(t, d) {
641
+ var n = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
642
+ if (n) return (n = n.call(t)).next.bind(n);
643
+ if (Array.isArray(t) || (n = Od(t)) || d) {
644
+ n && (t = n);
645
+ var r = 0;
646
+ return function() {
647
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
648
+ };
649
+ }
650
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
651
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
652
+ }
653
+ function Od(t, d) {
654
+ if (t) {
655
+ if (typeof t == "string") return xe(t, d);
656
+ var n = {}.toString.call(t).slice(8, -1);
657
+ return n === "Object" && t.constructor && (n = t.constructor.name), n === "Map" || n === "Set" ? Array.from(t) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? xe(t, d) : void 0;
658
+ }
659
+ }
660
+ function xe(t, d) {
661
+ (d == null || d > t.length) && (d = t.length);
662
+ for (var n = 0, r = Array(d); n < d; n++) r[n] = t[n];
663
+ return r;
664
+ }
665
+ function Ad(t, d) {
666
+ var n = d.countries, r = d.metadata;
667
+ r = new g(r);
668
+ for (var o = Rd(n), a; !(a = o()).done; ) {
669
+ var $ = a.value;
670
+ if (r.selectNumberingPlan($), r.leadingDigits()) {
671
+ if (t && t.search(r.leadingDigits()) === 0)
672
+ return $;
673
+ } else if (ye({
674
+ phone: t,
675
+ country: $
676
+ }, void 0, r.metadata))
677
+ return $;
678
+ }
679
+ }
680
+ function at(t, d) {
681
+ var n = d.nationalNumber, r = d.metadata, o = r.getCountryCodesForCallingCode(t);
682
+ if (o)
683
+ return o.length === 1 ? o[0] : Ad(n, {
684
+ countries: o,
685
+ metadata: r.metadata
686
+ });
687
+ }
688
+ function ue(t, d, n) {
689
+ var r = Fd(t, n), o = r.carrierCode, a = r.nationalNumber;
690
+ if (a !== t) {
691
+ if (!Td(t, a, n))
692
+ return {
693
+ nationalNumber: t
694
+ };
695
+ if (n.numberingPlan.possibleLengths() && (d || (d = at(n.numberingPlan.callingCode(), {
696
+ nationalNumber: a,
697
+ metadata: n
698
+ })), !Sd(a, d, n)))
699
+ return {
700
+ nationalNumber: t
701
+ };
702
+ }
703
+ return {
704
+ nationalNumber: a,
705
+ carrierCode: o
706
+ };
707
+ }
708
+ function Td(t, d, n) {
709
+ return !(I(t, n.nationalNumberPattern()) && !I(d, n.nationalNumberPattern()));
710
+ }
711
+ function Sd(t, d, n) {
712
+ switch (be(t, d, n)) {
713
+ case "TOO_SHORT":
714
+ case "INVALID_LENGTH":
715
+ return !1;
716
+ default:
717
+ return !0;
718
+ }
719
+ }
720
+ function xd(t, d, n, r, o) {
721
+ var a = n ? ge(n, o) : r;
722
+ if (t.indexOf(a) === 0) {
723
+ o = new g(o), o.selectNumberingPlan(n, a);
724
+ var $ = t.slice(a.length), s = ue($, d, o), l = s.nationalNumber, u = ue(t, d, o), p = u.nationalNumber;
725
+ if (!I(p, o.nationalNumberPattern()) && I(l, o.nationalNumberPattern()) || be(p, d, o) === "TOO_LONG")
726
+ return {
727
+ countryCallingCode: a,
728
+ number: $
729
+ };
730
+ }
731
+ return {
732
+ number: t
733
+ };
734
+ }
735
+ function $t(t, d, n, r, o) {
736
+ if (!t)
737
+ return {};
738
+ var a;
739
+ if (t[0] !== "+") {
740
+ var $ = Id(t, n, r, o);
741
+ if ($ && $ !== t)
742
+ a = !0, t = "+" + $;
743
+ else {
744
+ if (n || r) {
745
+ var s = xd(t, d, n, r, o), l = s.countryCallingCode, u = s.number;
746
+ if (l)
747
+ return {
748
+ countryCallingCodeSource: "FROM_NUMBER_WITHOUT_PLUS_SIGN",
749
+ countryCallingCode: l,
750
+ number: u
751
+ };
752
+ }
753
+ return {
754
+ // No need to set it to `UNSPECIFIED`. It can be just `undefined`.
755
+ // countryCallingCodeSource: 'UNSPECIFIED',
756
+ number: t
757
+ };
758
+ }
759
+ }
760
+ if (t[1] === "0")
761
+ return {};
762
+ o = new g(o);
763
+ for (var p = 2; p - 1 <= yd && p <= t.length; ) {
764
+ var y = t.slice(1, p);
765
+ if (o.hasCallingCode(y))
766
+ return o.selectNumberingPlan(y), {
767
+ countryCallingCodeSource: a ? "FROM_NUMBER_WITH_IDD" : "FROM_NUMBER_WITH_PLUS_SIGN",
768
+ countryCallingCode: y,
769
+ number: t.slice(p)
770
+ };
771
+ p++;
772
+ }
773
+ return {};
774
+ }
775
+ function Dd(t) {
776
+ return t.replace(new RegExp("[".concat(z, "]+"), "g"), " ").trim();
777
+ }
778
+ var Md = /(\$\d)/;
779
+ function Ld(t, d, n) {
780
+ var r = n.useInternationalFormat, o = n.withNationalPrefix, a = t.replace(new RegExp(d.pattern()), r ? d.internationalFormat() : (
781
+ // This library doesn't use `domestic_carrier_code_formatting_rule`,
782
+ // because that one is only used when formatting phone numbers
783
+ // for dialing from a mobile phone, and this is not a dialing library.
784
+ // carrierCode && format.domesticCarrierCodeFormattingRule()
785
+ // // First, replace the $CC in the formatting rule with the desired carrier code.
786
+ // // Then, replace the $FG in the formatting rule with the first group
787
+ // // and the carrier code combined in the appropriate way.
788
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))
789
+ // : (
790
+ // withNationalPrefix && format.nationalPrefixFormattingRule()
791
+ // ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())
792
+ // : format.format()
793
+ // )
794
+ o && d.nationalPrefixFormattingRule() ? d.format().replace(Md, d.nationalPrefixFormattingRule()) : d.format()
795
+ ));
796
+ return r ? Dd(a) : a;
797
+ }
798
+ var wd = /^[\d]+(?:[~\u2053\u223C\uFF5E][\d]+)?$/;
799
+ function jd(t, d, n) {
800
+ var r = new g(n);
801
+ if (r.selectNumberingPlan(t, d), r.defaultIDDPrefix())
802
+ return r.defaultIDDPrefix();
803
+ if (wd.test(r.IDDPrefix()))
804
+ return r.IDDPrefix();
805
+ }
806
+ var Bd = ";ext=", T = function(d) {
807
+ return "([".concat(h, "]{1,").concat(d, "})");
808
+ };
809
+ function st(t) {
810
+ var d = "20", n = "15", r = "9", o = "6", a = "[  \\t,]*", $ = "[:\\..]?[  \\t,-]*", s = "#?", l = "(?:e?xt(?:ensi(?:ó?|ó))?n?|e?xtn?|доб|anexo)", u = "(?:[xx##~~]|int|int)", p = "[- ]+", y = "[  \\t]*", v = "(?:,{2}|;)", R = Bd + T(d), B = a + l + $ + T(d) + s, Ut = a + u + $ + T(r) + s, Gt = p + T(o) + "#", kt = y + v + $ + T(n) + s, Ht = y + "(?:,)+" + $ + T(r) + s;
811
+ return R + "|" + B + "|" + Ut + "|" + Gt + "|" + kt + "|" + Ht;
812
+ }
813
+ var Ud = "[" + h + "]{" + he + "}", Gd = "[" + Ee + "]{0,1}(?:[" + z + "]*[" + h + "]){3,}[" + z + h + "]*", kd = new RegExp("^[" + Ee + "]{0,1}(?:[" + z + "]*[" + h + "]){1,2}$", "i"), Hd = Gd + // Phone number extensions
814
+ "(?:" + st() + ")?", Vd = new RegExp(
815
+ // Either a short two-digit-only phone number
816
+ "^" + Ud + "$|^" + Hd + "$",
817
+ "i"
818
+ );
819
+ function Kd(t) {
820
+ return t.length >= he && Vd.test(t);
821
+ }
822
+ function Wd(t) {
823
+ return kd.test(t);
824
+ }
825
+ function zd(t) {
826
+ var d = t.number, n = t.ext;
827
+ if (!d)
828
+ return "";
829
+ if (d[0] !== "+")
830
+ throw new Error('"formatRFC3966()" expects "number" to be in E.164 format.');
831
+ return "tel:".concat(d).concat(n ? ";ext=" + n : "");
832
+ }
833
+ var De = {
834
+ formatExtension: function(d, n, r) {
835
+ return "".concat(d).concat(r.ext()).concat(n);
836
+ }
837
+ };
838
+ function Yd(t, d, n, r) {
839
+ if (n ? n = Jd({}, De, n) : n = De, r = new g(r), t.country && t.country !== "001") {
840
+ if (!r.hasCountry(t.country))
841
+ throw new Error("Unknown country: ".concat(t.country));
842
+ r.selectNumberingPlan(t.country);
843
+ } else if (t.countryCallingCode)
844
+ r.selectNumberingPlan(t.countryCallingCode);
845
+ else return t.phone || "";
846
+ var o = r.countryCallingCode(), a = n.v2 ? t.nationalNumber : t.phone, $;
847
+ switch (d) {
848
+ case "NATIONAL":
849
+ return a ? ($ = Y(a, t.carrierCode, "NATIONAL", r, n), se($, t.ext, r, n.formatExtension)) : "";
850
+ case "INTERNATIONAL":
851
+ return a ? ($ = Y(a, null, "INTERNATIONAL", r, n), $ = "+".concat(o, " ").concat($), se($, t.ext, r, n.formatExtension)) : "+".concat(o);
852
+ case "E.164":
853
+ return "+".concat(o).concat(a);
854
+ case "RFC3966":
855
+ return zd({
856
+ number: "+".concat(o).concat(a),
857
+ ext: t.ext
858
+ });
859
+ case "IDD":
860
+ if (!n.fromCountry)
861
+ return;
862
+ var s = Zd(a, t.carrierCode, o, n.fromCountry, r);
863
+ return s ? se(s, t.ext, r, n.formatExtension) : void 0;
864
+ default:
865
+ throw new Error('Unknown "format" argument passed to "formatNumber()": "'.concat(d, '"'));
866
+ }
867
+ }
868
+ function Y(t, d, n, r, o) {
869
+ var a = Xd(r.formats(), t);
870
+ return a ? Ld(t, a, {
871
+ useInternationalFormat: n === "INTERNATIONAL",
872
+ withNationalPrefix: !(a.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && o && o.nationalPrefix === !1),
873
+ carrierCode: d,
874
+ metadata: r
875
+ }) : t;
876
+ }
877
+ function Xd(t, d) {
878
+ return qd(t, function(n) {
879
+ if (n.leadingDigitsPatterns().length > 0) {
880
+ var r = n.leadingDigitsPatterns()[n.leadingDigitsPatterns().length - 1];
881
+ if (d.search(r) !== 0)
882
+ return !1;
883
+ }
884
+ return I(d, n.pattern());
885
+ });
886
+ }
887
+ function se(t, d, n, r) {
888
+ return d ? r(t, d, n) : t;
889
+ }
890
+ function Zd(t, d, n, r, o) {
891
+ var a = ge(r, o.metadata);
892
+ if (a === n) {
893
+ var $ = Y(t, d, "NATIONAL", o);
894
+ return n === "1" ? n + " " + $ : $;
895
+ }
896
+ var s = jd(r, void 0, o.metadata);
897
+ if (s)
898
+ return "".concat(s, " ").concat(n, " ").concat(Y(t, null, "INTERNATIONAL", o));
899
+ }
900
+ function Jd() {
901
+ for (var t = 1, d = arguments.length, n = new Array(d), r = 0; r < d; r++)
902
+ n[r] = arguments[r];
903
+ for (; t < n.length; ) {
904
+ if (n[t])
905
+ for (var o in n[t])
906
+ n[0][o] = n[t][o];
907
+ t++;
908
+ }
909
+ return n[0];
910
+ }
911
+ function qd(t, d) {
912
+ for (var n = 0; n < t.length; ) {
913
+ if (d(t[n]))
914
+ return t[n];
915
+ n++;
916
+ }
917
+ }
918
+ function U(t) {
919
+ "@babel/helpers - typeof";
920
+ return U = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
921
+ return typeof d;
922
+ } : function(d) {
923
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
924
+ }, U(t);
925
+ }
926
+ function Me(t, d) {
927
+ var n = Object.keys(t);
928
+ if (Object.getOwnPropertySymbols) {
929
+ var r = Object.getOwnPropertySymbols(t);
930
+ d && (r = r.filter(function(o) {
931
+ return Object.getOwnPropertyDescriptor(t, o).enumerable;
932
+ })), n.push.apply(n, r);
933
+ }
934
+ return n;
935
+ }
936
+ function Le(t) {
937
+ for (var d = 1; d < arguments.length; d++) {
938
+ var n = arguments[d] != null ? arguments[d] : {};
939
+ d % 2 ? Me(Object(n), !0).forEach(function(r) {
940
+ Qd(t, r, n[r]);
941
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Me(Object(n)).forEach(function(r) {
942
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r));
943
+ });
944
+ }
945
+ return t;
946
+ }
947
+ function Qd(t, d, n) {
948
+ return (d = lt(d)) in t ? Object.defineProperty(t, d, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[d] = n, t;
949
+ }
950
+ function en(t, d) {
951
+ if (!(t instanceof d)) throw new TypeError("Cannot call a class as a function");
952
+ }
953
+ function tn(t, d) {
954
+ for (var n = 0; n < d.length; n++) {
955
+ var r = d[n];
956
+ r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, lt(r.key), r);
957
+ }
958
+ }
959
+ function dn(t, d, n) {
960
+ return d && tn(t.prototype, d), Object.defineProperty(t, "prototype", { writable: !1 }), t;
961
+ }
962
+ function lt(t) {
963
+ var d = nn(t, "string");
964
+ return U(d) == "symbol" ? d : d + "";
965
+ }
966
+ function nn(t, d) {
967
+ if (U(t) != "object" || !t) return t;
968
+ var n = t[Symbol.toPrimitive];
969
+ if (n !== void 0) {
970
+ var r = n.call(t, d || "default");
971
+ if (U(r) != "object") return r;
972
+ throw new TypeError("@@toPrimitive must return a primitive value.");
973
+ }
974
+ return (d === "string" ? String : Number)(t);
975
+ }
976
+ var rn = /* @__PURE__ */ function() {
977
+ function t(d, n, r) {
978
+ if (en(this, t), !d)
979
+ throw new TypeError("First argument is required");
980
+ if (typeof d != "string")
981
+ throw new TypeError("First argument must be a string");
982
+ if (d[0] === "+" && !n)
983
+ throw new TypeError("`metadata` argument not passed");
984
+ if (x(n) && x(n.countries)) {
985
+ r = n;
986
+ var o = d;
987
+ if (!$n.test(o))
988
+ throw new Error('Invalid `number` argument passed: must consist of a "+" followed by digits');
989
+ var a = $t(o, void 0, void 0, void 0, r), $ = a.countryCallingCode, s = a.number;
990
+ if (n = s, d = $, !n)
991
+ throw new Error("Invalid `number` argument passed: too short");
992
+ }
993
+ if (!n)
994
+ throw new TypeError("`nationalNumber` argument is required");
995
+ if (typeof n != "string")
996
+ throw new TypeError("`nationalNumber` argument must be a string");
997
+ rt(r);
998
+ var l = an(d, r), u = l.country, p = l.countryCallingCode;
999
+ this.country = u, this.countryCallingCode = p, this.nationalNumber = n, this.number = "+" + this.countryCallingCode + this.nationalNumber, this.getMetadata = function() {
1000
+ return r;
1001
+ };
1002
+ }
1003
+ return dn(t, [{
1004
+ key: "setExt",
1005
+ value: function(n) {
1006
+ this.ext = n;
1007
+ }
1008
+ }, {
1009
+ key: "getPossibleCountries",
1010
+ value: function() {
1011
+ return this.country ? [this.country] : pd(this.countryCallingCode, this.nationalNumber, this.getMetadata());
1012
+ }
1013
+ }, {
1014
+ key: "isPossible",
1015
+ value: function() {
1016
+ return ld(this, {
1017
+ v2: !0
1018
+ }, this.getMetadata());
1019
+ }
1020
+ }, {
1021
+ key: "isValid",
1022
+ value: function() {
1023
+ return md(this, {
1024
+ v2: !0
1025
+ }, this.getMetadata());
1026
+ }
1027
+ }, {
1028
+ key: "isNonGeographic",
1029
+ value: function() {
1030
+ var n = new g(this.getMetadata());
1031
+ return n.isNonGeographicCallingCode(this.countryCallingCode);
1032
+ }
1033
+ }, {
1034
+ key: "isEqual",
1035
+ value: function(n) {
1036
+ return this.number === n.number && this.ext === n.ext;
1037
+ }
1038
+ // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,
1039
+ // but later it was found out that it doesn't include the possible `TOO_SHORT` result
1040
+ // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,
1041
+ // so eventually I simply commented out this method from the `PhoneNumber` class
1042
+ // and just left the `validatePhoneNumberLength()` function, even though that one would require
1043
+ // and additional step to also validate the actual country / calling code of the phone number.
1044
+ // validateLength() {
1045
+ // const metadata = new Metadata(this.getMetadata())
1046
+ // metadata.selectNumberingPlan(this.countryCallingCode)
1047
+ // const result = checkNumberLength(this.nationalNumber, metadata)
1048
+ // if (result !== 'IS_POSSIBLE') {
1049
+ // return result
1050
+ // }
1051
+ // }
1052
+ }, {
1053
+ key: "getType",
1054
+ value: function() {
1055
+ return ye(this, {
1056
+ v2: !0
1057
+ }, this.getMetadata());
1058
+ }
1059
+ }, {
1060
+ key: "format",
1061
+ value: function(n, r) {
1062
+ return Yd(this, n, r ? Le(Le({}, r), {}, {
1063
+ v2: !0
1064
+ }) : {
1065
+ v2: !0
1066
+ }, this.getMetadata());
1067
+ }
1068
+ }, {
1069
+ key: "formatNational",
1070
+ value: function(n) {
1071
+ return this.format("NATIONAL", n);
1072
+ }
1073
+ }, {
1074
+ key: "formatInternational",
1075
+ value: function(n) {
1076
+ return this.format("INTERNATIONAL", n);
1077
+ }
1078
+ }, {
1079
+ key: "getURI",
1080
+ value: function(n) {
1081
+ return this.format("RFC3966", n);
1082
+ }
1083
+ }]);
1084
+ }(), on = function(d) {
1085
+ return /^[A-Z]{2}$/.test(d);
1086
+ };
1087
+ function an(t, d) {
1088
+ var n, r, o = new g(d);
1089
+ return on(t) ? (n = t, o.selectNumberingPlan(n), r = o.countryCallingCode()) : r = t, {
1090
+ country: n,
1091
+ countryCallingCode: r
1092
+ };
1093
+ }
1094
+ var $n = /^\+\d+$/;
1095
+ function ce(t) {
1096
+ "@babel/helpers - typeof";
1097
+ return ce = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
1098
+ return typeof d;
1099
+ } : function(d) {
1100
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
1101
+ }, ce(t);
1102
+ }
1103
+ function sn(t, d, n) {
1104
+ return Object.defineProperty(t, "prototype", { writable: !1 }), t;
1105
+ }
1106
+ function ln(t, d) {
1107
+ if (!(t instanceof d)) throw new TypeError("Cannot call a class as a function");
1108
+ }
1109
+ function un(t, d, n) {
1110
+ return d = k(d), cn(t, Ce() ? Reflect.construct(d, n || [], k(t).constructor) : d.apply(t, n));
1111
+ }
1112
+ function cn(t, d) {
1113
+ if (d && (ce(d) == "object" || typeof d == "function")) return d;
1114
+ if (d !== void 0) throw new TypeError("Derived constructors may only return object or undefined");
1115
+ return fn(t);
1116
+ }
1117
+ function fn(t) {
1118
+ if (t === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1119
+ return t;
1120
+ }
1121
+ function mn(t, d) {
1122
+ if (typeof d != "function" && d !== null) throw new TypeError("Super expression must either be null or a function");
1123
+ t.prototype = Object.create(d && d.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), d && G(t, d);
1124
+ }
1125
+ function fe(t) {
1126
+ var d = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
1127
+ return fe = function(r) {
1128
+ if (r === null || !gn(r)) return r;
1129
+ if (typeof r != "function") throw new TypeError("Super expression must either be null or a function");
1130
+ if (d !== void 0) {
1131
+ if (d.has(r)) return d.get(r);
1132
+ d.set(r, o);
1133
+ }
1134
+ function o() {
1135
+ return pn(r, arguments, k(this).constructor);
1136
+ }
1137
+ return o.prototype = Object.create(r.prototype, { constructor: { value: o, enumerable: !1, writable: !0, configurable: !0 } }), G(o, r);
1138
+ }, fe(t);
1139
+ }
1140
+ function pn(t, d, n) {
1141
+ if (Ce()) return Reflect.construct.apply(null, arguments);
1142
+ var r = [null];
1143
+ r.push.apply(r, d);
1144
+ var o = new (t.bind.apply(t, r))();
1145
+ return n && G(o, n.prototype), o;
1146
+ }
1147
+ function Ce() {
1148
+ try {
1149
+ var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
1150
+ }));
1151
+ } catch {
1152
+ }
1153
+ return (Ce = function() {
1154
+ return !!t;
1155
+ })();
1156
+ }
1157
+ function gn(t) {
1158
+ try {
1159
+ return Function.toString.call(t).indexOf("[native code]") !== -1;
1160
+ } catch {
1161
+ return typeof t == "function";
1162
+ }
1163
+ }
1164
+ function G(t, d) {
1165
+ return G = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(n, r) {
1166
+ return n.__proto__ = r, n;
1167
+ }, G(t, d);
1168
+ }
1169
+ function k(t) {
1170
+ return k = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(d) {
1171
+ return d.__proto__ || Object.getPrototypeOf(d);
1172
+ }, k(t);
1173
+ }
1174
+ var _ = /* @__PURE__ */ function(t) {
1175
+ function d(n) {
1176
+ var r;
1177
+ return ln(this, d), r = un(this, d, [n]), Object.setPrototypeOf(r, d.prototype), r.name = r.constructor.name, r;
1178
+ }
1179
+ return mn(d, t), sn(d);
1180
+ }(/* @__PURE__ */ fe(Error)), we = new RegExp("(?:" + st() + ")$", "i");
1181
+ function bn(t) {
1182
+ var d = t.search(we);
1183
+ if (d < 0)
1184
+ return {};
1185
+ for (var n = t.slice(0, d), r = t.match(we), o = 1; o < r.length; ) {
1186
+ if (r[o])
1187
+ return {
1188
+ number: n,
1189
+ ext: r[o]
1190
+ };
1191
+ o++;
1192
+ }
1193
+ }
1194
+ var yn = {
1195
+ 0: "0",
1196
+ 1: "1",
1197
+ 2: "2",
1198
+ 3: "3",
1199
+ 4: "4",
1200
+ 5: "5",
1201
+ 6: "6",
1202
+ 7: "7",
1203
+ 8: "8",
1204
+ 9: "9",
1205
+ "0": "0",
1206
+ // Fullwidth digit 0
1207
+ "1": "1",
1208
+ // Fullwidth digit 1
1209
+ "2": "2",
1210
+ // Fullwidth digit 2
1211
+ "3": "3",
1212
+ // Fullwidth digit 3
1213
+ "4": "4",
1214
+ // Fullwidth digit 4
1215
+ "5": "5",
1216
+ // Fullwidth digit 5
1217
+ "6": "6",
1218
+ // Fullwidth digit 6
1219
+ "7": "7",
1220
+ // Fullwidth digit 7
1221
+ "8": "8",
1222
+ // Fullwidth digit 8
1223
+ "9": "9",
1224
+ // Fullwidth digit 9
1225
+ "٠": "0",
1226
+ // Arabic-indic digit 0
1227
+ "١": "1",
1228
+ // Arabic-indic digit 1
1229
+ "٢": "2",
1230
+ // Arabic-indic digit 2
1231
+ "٣": "3",
1232
+ // Arabic-indic digit 3
1233
+ "٤": "4",
1234
+ // Arabic-indic digit 4
1235
+ "٥": "5",
1236
+ // Arabic-indic digit 5
1237
+ "٦": "6",
1238
+ // Arabic-indic digit 6
1239
+ "٧": "7",
1240
+ // Arabic-indic digit 7
1241
+ "٨": "8",
1242
+ // Arabic-indic digit 8
1243
+ "٩": "9",
1244
+ // Arabic-indic digit 9
1245
+ "۰": "0",
1246
+ // Eastern-Arabic digit 0
1247
+ "۱": "1",
1248
+ // Eastern-Arabic digit 1
1249
+ "۲": "2",
1250
+ // Eastern-Arabic digit 2
1251
+ "۳": "3",
1252
+ // Eastern-Arabic digit 3
1253
+ "۴": "4",
1254
+ // Eastern-Arabic digit 4
1255
+ "۵": "5",
1256
+ // Eastern-Arabic digit 5
1257
+ "۶": "6",
1258
+ // Eastern-Arabic digit 6
1259
+ "۷": "7",
1260
+ // Eastern-Arabic digit 7
1261
+ "۸": "8",
1262
+ // Eastern-Arabic digit 8
1263
+ "۹": "9"
1264
+ // Eastern-Arabic digit 9
1265
+ };
1266
+ function hn(t) {
1267
+ return yn[t];
1268
+ }
1269
+ function En(t, d) {
1270
+ var n = typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1271
+ if (n) return (n = n.call(t)).next.bind(n);
1272
+ if (Array.isArray(t) || (n = Cn(t)) || d) {
1273
+ n && (t = n);
1274
+ var r = 0;
1275
+ return function() {
1276
+ return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
1277
+ };
1278
+ }
1279
+ throw new TypeError(`Invalid attempt to iterate non-iterable instance.
1280
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1281
+ }
1282
+ function Cn(t, d) {
1283
+ if (t) {
1284
+ if (typeof t == "string") return je(t, d);
1285
+ var n = {}.toString.call(t).slice(8, -1);
1286
+ return n === "Object" && t.constructor && (n = t.constructor.name), n === "Map" || n === "Set" ? Array.from(t) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? je(t, d) : void 0;
1287
+ }
1288
+ }
1289
+ function je(t, d) {
1290
+ (d == null || d > t.length) && (d = t.length);
1291
+ for (var n = 0, r = Array(d); n < d; n++) r[n] = t[n];
1292
+ return r;
1293
+ }
1294
+ function Be(t) {
1295
+ for (var d = "", n = En(t.split("")), r; !(r = n()).done; ) {
1296
+ var o = r.value;
1297
+ d += Pn(o, d) || "";
1298
+ }
1299
+ return d;
1300
+ }
1301
+ function Pn(t, d, n) {
1302
+ return t === "+" ? d ? void 0 : "+" : hn(t);
1303
+ }
1304
+ var ut = "+", vn = "[\\-\\.\\(\\)]?", Ue = "([" + h + "]|" + vn + ")", _n = "^\\" + ut + Ue + "*[" + h + "]" + Ue + "*$", Nn = new RegExp(_n, "g"), me = h, In = "[" + me + "]+((\\-)*[" + me + "])*", Fn = "a-zA-Z", Rn = "[" + Fn + "]+((\\-)*[" + me + "])*", On = "^(" + In + "\\.)*" + Rn + "\\.?$", An = new RegExp(On, "g"), Ge = "tel:", pe = ";phone-context=", Tn = ";isub=";
1305
+ function Sn(t) {
1306
+ var d = t.indexOf(pe);
1307
+ if (d < 0)
1308
+ return null;
1309
+ var n = d + pe.length;
1310
+ if (n >= t.length)
1311
+ return "";
1312
+ var r = t.indexOf(";", n);
1313
+ return r >= 0 ? t.substring(n, r) : t.substring(n);
1314
+ }
1315
+ function xn(t) {
1316
+ return t === null ? !0 : t.length === 0 ? !1 : Nn.test(t) || An.test(t);
1317
+ }
1318
+ function Dn(t, d) {
1319
+ var n = d.extractFormattedPhoneNumber, r = Sn(t);
1320
+ if (!xn(r))
1321
+ throw new _("NOT_A_NUMBER");
1322
+ var o;
1323
+ if (r === null)
1324
+ o = n(t) || "";
1325
+ else {
1326
+ o = "", r.charAt(0) === ut && (o += r);
1327
+ var a = t.indexOf(Ge), $;
1328
+ a >= 0 ? $ = a + Ge.length : $ = 0;
1329
+ var s = t.indexOf(pe);
1330
+ o += t.substring($, s);
1331
+ }
1332
+ var l = o.indexOf(Tn);
1333
+ if (l > 0 && (o = o.substring(0, l)), o !== "")
1334
+ return o;
1335
+ }
1336
+ var Mn = 250, Ln = new RegExp("[" + Ee + h + "]"), wn = new RegExp("[^" + h + "#]+$");
1337
+ function jn(t, d, n) {
1338
+ if (d = d || {}, n = new g(n), d.defaultCountry && !n.hasCountry(d.defaultCountry))
1339
+ throw d.v2 ? new _("INVALID_COUNTRY") : new Error("Unknown country: ".concat(d.defaultCountry));
1340
+ var r = Un(t, d.v2, d.extract), o = r.number, a = r.ext, $ = r.error;
1341
+ if (!o) {
1342
+ if (d.v2)
1343
+ throw $ === "TOO_SHORT" ? new _("TOO_SHORT") : new _("NOT_A_NUMBER");
1344
+ return {};
1345
+ }
1346
+ var s = kn(o, d.defaultCountry, d.defaultCallingCode, n), l = s.country, u = s.nationalNumber, p = s.countryCallingCode, y = s.countryCallingCodeSource, v = s.carrierCode;
1347
+ if (!n.hasSelectedNumberingPlan()) {
1348
+ if (d.v2)
1349
+ throw new _("INVALID_COUNTRY");
1350
+ return {};
1351
+ }
1352
+ if (!u || u.length < he) {
1353
+ if (d.v2)
1354
+ throw new _("TOO_SHORT");
1355
+ return {};
1356
+ }
1357
+ if (u.length > bd) {
1358
+ if (d.v2)
1359
+ throw new _("TOO_LONG");
1360
+ return {};
1361
+ }
1362
+ if (d.v2) {
1363
+ var R = new rn(p, u, n.metadata);
1364
+ return l && (R.country = l), v && (R.carrierCode = v), a && (R.ext = a), R.__countryCallingCodeSource = y, R;
1365
+ }
1366
+ var B = (d.extended ? n.hasSelectedNumberingPlan() : l) ? I(u, n.nationalNumberPattern()) : !1;
1367
+ return d.extended ? {
1368
+ country: l,
1369
+ countryCallingCode: p,
1370
+ carrierCode: v,
1371
+ valid: B,
1372
+ possible: B ? !0 : !!(d.extended === !0 && n.possibleLengths() && it(u, l, n)),
1373
+ phone: u,
1374
+ ext: a
1375
+ } : B ? Gn(l, u, a) : {};
1376
+ }
1377
+ function Bn(t, d, n) {
1378
+ if (t) {
1379
+ if (t.length > Mn) {
1380
+ if (n)
1381
+ throw new _("TOO_LONG");
1382
+ return;
1383
+ }
1384
+ if (d === !1)
1385
+ return t;
1386
+ var r = t.search(Ln);
1387
+ if (!(r < 0))
1388
+ return t.slice(r).replace(wn, "");
1389
+ }
1390
+ }
1391
+ function Un(t, d, n) {
1392
+ var r = Dn(t, {
1393
+ extractFormattedPhoneNumber: function($) {
1394
+ return Bn($, n, d);
1395
+ }
1396
+ });
1397
+ if (!r)
1398
+ return {};
1399
+ if (!Kd(r))
1400
+ return Wd(r) ? {
1401
+ error: "TOO_SHORT"
1402
+ } : {};
1403
+ var o = bn(r);
1404
+ return o.ext ? o : {
1405
+ number: r
1406
+ };
1407
+ }
1408
+ function Gn(t, d, n) {
1409
+ var r = {
1410
+ country: t,
1411
+ phone: d
1412
+ };
1413
+ return n && (r.ext = n), r;
1414
+ }
1415
+ function kn(t, d, n, r) {
1416
+ var o = $t(Be(t), void 0, d, n, r.metadata), a = o.countryCallingCodeSource, $ = o.countryCallingCode, s = o.number, l;
1417
+ if ($)
1418
+ r.selectNumberingPlan($);
1419
+ else if (s && (d || n))
1420
+ r.selectNumberingPlan(d, n), d && (l = d), $ = n || ge(d, r.metadata);
1421
+ else return {};
1422
+ if (!s)
1423
+ return {
1424
+ countryCallingCodeSource: a,
1425
+ countryCallingCode: $
1426
+ };
1427
+ var u = ue(Be(s), l, r), p = u.nationalNumber, y = u.carrierCode, v = at($, {
1428
+ nationalNumber: p,
1429
+ metadata: r
1430
+ });
1431
+ return v && (l = v, v === "001" || r.selectNumberingPlan(l)), {
1432
+ country: l,
1433
+ countryCallingCode: $,
1434
+ countryCallingCodeSource: a,
1435
+ nationalNumber: p,
1436
+ carrierCode: y
1437
+ };
1438
+ }
1439
+ function H(t) {
1440
+ "@babel/helpers - typeof";
1441
+ return H = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
1442
+ return typeof d;
1443
+ } : function(d) {
1444
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
1445
+ }, H(t);
1446
+ }
1447
+ function ke(t, d) {
1448
+ var n = Object.keys(t);
1449
+ if (Object.getOwnPropertySymbols) {
1450
+ var r = Object.getOwnPropertySymbols(t);
1451
+ d && (r = r.filter(function(o) {
1452
+ return Object.getOwnPropertyDescriptor(t, o).enumerable;
1453
+ })), n.push.apply(n, r);
1454
+ }
1455
+ return n;
1456
+ }
1457
+ function He(t) {
1458
+ for (var d = 1; d < arguments.length; d++) {
1459
+ var n = arguments[d] != null ? arguments[d] : {};
1460
+ d % 2 ? ke(Object(n), !0).forEach(function(r) {
1461
+ Hn(t, r, n[r]);
1462
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : ke(Object(n)).forEach(function(r) {
1463
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r));
1464
+ });
1465
+ }
1466
+ return t;
1467
+ }
1468
+ function Hn(t, d, n) {
1469
+ return (d = Vn(d)) in t ? Object.defineProperty(t, d, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[d] = n, t;
1470
+ }
1471
+ function Vn(t) {
1472
+ var d = Kn(t, "string");
1473
+ return H(d) == "symbol" ? d : d + "";
1474
+ }
1475
+ function Kn(t, d) {
1476
+ if (H(t) != "object" || !t) return t;
1477
+ var n = t[Symbol.toPrimitive];
1478
+ if (n !== void 0) {
1479
+ var r = n.call(t, d || "default");
1480
+ if (H(r) != "object") return r;
1481
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1482
+ }
1483
+ return (d === "string" ? String : Number)(t);
1484
+ }
1485
+ function Wn(t, d, n) {
1486
+ return jn(t, He(He({}, d), {}, {
1487
+ v2: !0
1488
+ }), n);
1489
+ }
1490
+ function V(t) {
1491
+ "@babel/helpers - typeof";
1492
+ return V = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
1493
+ return typeof d;
1494
+ } : function(d) {
1495
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
1496
+ }, V(t);
1497
+ }
1498
+ function Ve(t, d) {
1499
+ var n = Object.keys(t);
1500
+ if (Object.getOwnPropertySymbols) {
1501
+ var r = Object.getOwnPropertySymbols(t);
1502
+ d && (r = r.filter(function(o) {
1503
+ return Object.getOwnPropertyDescriptor(t, o).enumerable;
1504
+ })), n.push.apply(n, r);
1505
+ }
1506
+ return n;
1507
+ }
1508
+ function zn(t) {
1509
+ for (var d = 1; d < arguments.length; d++) {
1510
+ var n = arguments[d] != null ? arguments[d] : {};
1511
+ d % 2 ? Ve(Object(n), !0).forEach(function(r) {
1512
+ Yn(t, r, n[r]);
1513
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Ve(Object(n)).forEach(function(r) {
1514
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r));
1515
+ });
1516
+ }
1517
+ return t;
1518
+ }
1519
+ function Yn(t, d, n) {
1520
+ return (d = Xn(d)) in t ? Object.defineProperty(t, d, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[d] = n, t;
1521
+ }
1522
+ function Xn(t) {
1523
+ var d = Zn(t, "string");
1524
+ return V(d) == "symbol" ? d : d + "";
1525
+ }
1526
+ function Zn(t, d) {
1527
+ if (V(t) != "object" || !t) return t;
1528
+ var n = t[Symbol.toPrimitive];
1529
+ if (n !== void 0) {
1530
+ var r = n.call(t, d || "default");
1531
+ if (V(r) != "object") return r;
1532
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1533
+ }
1534
+ return (d === "string" ? String : Number)(t);
1535
+ }
1536
+ function Jn(t, d) {
1537
+ return t0(t) || e0(t, d) || Qn(t, d) || qn();
1538
+ }
1539
+ function qn() {
1540
+ throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1541
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
1542
+ }
1543
+ function Qn(t, d) {
1544
+ if (t) {
1545
+ if (typeof t == "string") return Ke(t, d);
1546
+ var n = {}.toString.call(t).slice(8, -1);
1547
+ return n === "Object" && t.constructor && (n = t.constructor.name), n === "Map" || n === "Set" ? Array.from(t) : n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? Ke(t, d) : void 0;
1548
+ }
1549
+ }
1550
+ function Ke(t, d) {
1551
+ (d == null || d > t.length) && (d = t.length);
1552
+ for (var n = 0, r = Array(d); n < d; n++) r[n] = t[n];
1553
+ return r;
1554
+ }
1555
+ function e0(t, d) {
1556
+ var n = t == null ? null : typeof Symbol < "u" && t[Symbol.iterator] || t["@@iterator"];
1557
+ if (n != null) {
1558
+ var r, o, a, $, s = [], l = !0, u = !1;
1559
+ try {
1560
+ if (a = (n = n.call(t)).next, d !== 0) for (; !(l = (r = a.call(n)).done) && (s.push(r.value), s.length !== d); l = !0) ;
1561
+ } catch (p) {
1562
+ u = !0, o = p;
1563
+ } finally {
1564
+ try {
1565
+ if (!l && n.return != null && ($ = n.return(), Object($) !== $)) return;
1566
+ } finally {
1567
+ if (u) throw o;
1568
+ }
1569
+ }
1570
+ return s;
1571
+ }
1572
+ }
1573
+ function t0(t) {
1574
+ if (Array.isArray(t)) return t;
1575
+ }
1576
+ function d0(t) {
1577
+ var d = Array.prototype.slice.call(t), n = Jn(d, 4), r = n[0], o = n[1], a = n[2], $ = n[3], s, l, u;
1578
+ if (typeof r == "string")
1579
+ s = r;
1580
+ else throw new TypeError("A text for parsing must be a string.");
1581
+ if (!o || typeof o == "string")
1582
+ $ ? (l = a, u = $) : (l = void 0, u = a), o && (l = zn({
1583
+ defaultCountry: o
1584
+ }, l));
1585
+ else if (x(o))
1586
+ a ? (l = o, u = a) : u = o;
1587
+ else throw new Error("Invalid second argument: ".concat(o));
1588
+ return {
1589
+ text: s,
1590
+ options: l,
1591
+ metadata: u
1592
+ };
1593
+ }
1594
+ function K(t) {
1595
+ "@babel/helpers - typeof";
1596
+ return K = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
1597
+ return typeof d;
1598
+ } : function(d) {
1599
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
1600
+ }, K(t);
1601
+ }
1602
+ function We(t, d) {
1603
+ var n = Object.keys(t);
1604
+ if (Object.getOwnPropertySymbols) {
1605
+ var r = Object.getOwnPropertySymbols(t);
1606
+ d && (r = r.filter(function(o) {
1607
+ return Object.getOwnPropertyDescriptor(t, o).enumerable;
1608
+ })), n.push.apply(n, r);
1609
+ }
1610
+ return n;
1611
+ }
1612
+ function ze(t) {
1613
+ for (var d = 1; d < arguments.length; d++) {
1614
+ var n = arguments[d] != null ? arguments[d] : {};
1615
+ d % 2 ? We(Object(n), !0).forEach(function(r) {
1616
+ n0(t, r, n[r]);
1617
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : We(Object(n)).forEach(function(r) {
1618
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r));
1619
+ });
1620
+ }
1621
+ return t;
1622
+ }
1623
+ function n0(t, d, n) {
1624
+ return (d = r0(d)) in t ? Object.defineProperty(t, d, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[d] = n, t;
1625
+ }
1626
+ function r0(t) {
1627
+ var d = o0(t, "string");
1628
+ return K(d) == "symbol" ? d : d + "";
1629
+ }
1630
+ function o0(t, d) {
1631
+ if (K(t) != "object" || !t) return t;
1632
+ var n = t[Symbol.toPrimitive];
1633
+ if (n !== void 0) {
1634
+ var r = n.call(t, d || "default");
1635
+ if (K(r) != "object") return r;
1636
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1637
+ }
1638
+ return (d === "string" ? String : Number)(t);
1639
+ }
1640
+ function i0(t, d, n) {
1641
+ d && d.defaultCountry && !$d(d.defaultCountry, n) && (d = ze(ze({}, d), {}, {
1642
+ defaultCountry: void 0
1643
+ }));
1644
+ try {
1645
+ return Wn(t, d, n);
1646
+ } catch (r) {
1647
+ if (!(r instanceof _)) throw r;
1648
+ }
1649
+ }
1650
+ function W(t) {
1651
+ "@babel/helpers - typeof";
1652
+ return W = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(d) {
1653
+ return typeof d;
1654
+ } : function(d) {
1655
+ return d && typeof Symbol == "function" && d.constructor === Symbol && d !== Symbol.prototype ? "symbol" : typeof d;
1656
+ }, W(t);
1657
+ }
1658
+ function Ye(t, d) {
1659
+ var n = Object.keys(t);
1660
+ if (Object.getOwnPropertySymbols) {
1661
+ var r = Object.getOwnPropertySymbols(t);
1662
+ d && (r = r.filter(function(o) {
1663
+ return Object.getOwnPropertyDescriptor(t, o).enumerable;
1664
+ })), n.push.apply(n, r);
1665
+ }
1666
+ return n;
1667
+ }
1668
+ function Xe(t) {
1669
+ for (var d = 1; d < arguments.length; d++) {
1670
+ var n = arguments[d] != null ? arguments[d] : {};
1671
+ d % 2 ? Ye(Object(n), !0).forEach(function(r) {
1672
+ a0(t, r, n[r]);
1673
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(n)) : Ye(Object(n)).forEach(function(r) {
1674
+ Object.defineProperty(t, r, Object.getOwnPropertyDescriptor(n, r));
1675
+ });
1676
+ }
1677
+ return t;
1678
+ }
1679
+ function a0(t, d, n) {
1680
+ return (d = $0(d)) in t ? Object.defineProperty(t, d, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[d] = n, t;
1681
+ }
1682
+ function $0(t) {
1683
+ var d = s0(t, "string");
1684
+ return W(d) == "symbol" ? d : d + "";
1685
+ }
1686
+ function s0(t, d) {
1687
+ if (W(t) != "object" || !t) return t;
1688
+ var n = t[Symbol.toPrimitive];
1689
+ if (n !== void 0) {
1690
+ var r = n.call(t, d || "default");
1691
+ if (W(r) != "object") return r;
1692
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1693
+ }
1694
+ return (d === "string" ? String : Number)(t);
1695
+ }
1696
+ function l0() {
1697
+ var t = d0(arguments), d = t.text, n = t.options, r = t.metadata;
1698
+ n = Xe(Xe({}, n), {}, {
1699
+ extract: !1
1700
+ });
1701
+ var o = i0(d, n, r);
1702
+ return o && o.isValid() || !1;
1703
+ }
1704
+ function u0() {
1705
+ return Zt(l0, arguments);
1706
+ }
1707
+ const c0 = {
1708
+ collectionName: "Segmentations",
1709
+ transform: {
1710
+ _id: "oid",
1711
+ business: "oid"
1712
+ }
1713
+ }, f0 = e.enum(["DYNAMIC", "STATIC"]), Lr = e.object({
1714
+ _id: i,
1715
+ rule: M,
1716
+ name: e.string().min(1),
1717
+ business: i,
1718
+ members: e.array(i),
1719
+ memberCount: e.number().optional(),
1720
+ lastUpdated: e.coerce.date().nullish(),
1721
+ type: f0.nullish(),
1722
+ isActive: e.boolean().nullish(),
1723
+ importFile: e.string().nullish()
1724
+ }).describe(b.describe(c0)), m0 = e.enum([
1725
+ "PORTAL",
1726
+ "BENEFIT",
1727
+ "STORE",
1728
+ "ORDER",
1729
+ "BILL",
1730
+ "BILL_DISCOUNT",
1731
+ "CASHBACK",
1732
+ "FEEDBACK",
1733
+ "CYCLE",
1734
+ "COUNTER",
1735
+ "GAME",
1736
+ "COUNTER_CONSUME",
1737
+ "STAMP_REWARD",
1738
+ "STAMP_CARRY_FORWARD",
1739
+ "STAMP_MAX_REACHED",
1740
+ "POS_CLAIM",
1741
+ "MEMBER_APP-CLAIM",
1742
+ "MEMBER_APP-TRANSFER",
1743
+ "FEEDVIBE_APP-CLAIM",
1744
+ "REFERRAL",
1745
+ "REFERRAL_REWARD",
1746
+ "ORDER_APP-CLAIM",
1747
+ "ORDER_APP-APPLY"
1748
+ ]), te = e.string(), de = e.record(e.string(), e.any()).nullish(), p0 = {
1749
+ collectionName: "Transactions",
1750
+ transform: {
1751
+ _id: "oid",
1752
+ user: "oid",
1753
+ collectible: "oid",
1754
+ collection: "oid",
1755
+ business: "oid",
1756
+ refundedFrom: "oid",
1757
+ createdAt: "date"
1758
+ },
1759
+ lookups: {
1760
+ user: {
1761
+ fromCollection: "UsersV2",
1762
+ as: "pf_user"
1763
+ },
1764
+ collectible: {
1765
+ fromCollection: "CollectibleConfigs",
1766
+ as: "pf_collectible"
1767
+ },
1768
+ collection: {
1769
+ fromCollection: "Collections",
1770
+ as: "pf_collection"
1771
+ }
1772
+ }
1773
+ }, ct = e.object({
1774
+ _id: i,
1775
+ user: i.nullable(),
1776
+ collectible: i,
1777
+ collection: i,
1778
+ business: i,
1779
+ amount: e.number(),
1780
+ expiryAmount: e.array(e.lazy(() => Pe)),
1781
+ from: e.lazy(() => N),
1782
+ to: e.lazy(() => N),
1783
+ source: te,
1784
+ ref: e.string(),
1785
+ refunded: e.boolean().optional(),
1786
+ refundedFrom: i.optional(),
1787
+ metadata: de,
1788
+ createdAt: e.coerce.date().optional(),
1789
+ pf_user: e.any().optional(),
1790
+ pf_collectible: e.any().optional(),
1791
+ pf_collection: e.any().optional(),
1792
+ totalAmount: e.number().optional()
1793
+ }).describe(b.describe(p0));
1794
+ e.object({
1795
+ amount: e.number(),
1796
+ expiryAmount: e.array(e.lazy(() => Pe)),
1797
+ collection: e.lazy(() => X),
1798
+ source: te,
1799
+ ref: e.string(),
1800
+ from: e.lazy(() => N).optional(),
1801
+ to: e.lazy(() => N),
1802
+ metadata: de,
1803
+ refunded: e.boolean().optional(),
1804
+ refundedFrom: i.optional()
1805
+ });
1806
+ e.object({
1807
+ id: e.string()
1808
+ });
1809
+ m0.options;
1810
+ const J = class J {
1811
+ constructor(d) {
1812
+ this.redemptionCode = d.generate(), this.expiredAt = new Date(Date.now() + J.EXPIRY_TIME);
1813
+ }
1814
+ };
1815
+ J.EXPIRY_TIME = 5 * 60 * 1e3;
1816
+ let Ze = J;
1817
+ const ft = e.enum(["NORMAL", "EXPIRABLE"]), Pe = e.object({
1818
+ _id: i,
1819
+ amount: e.number(),
1820
+ expiredAt: e.coerce.date()
1821
+ }), N = e.object({
1822
+ balance: e.number(),
1823
+ expiryBalance: e.array(Pe).optional()
1824
+ }), g0 = {
1825
+ collectionName: "Collections",
1826
+ transform: {
1827
+ _id: "oid",
1828
+ business: "oid",
1829
+ collectible: "oid",
1830
+ user: "oid",
1831
+ deactivatedAt: "date"
1832
+ },
1833
+ lookups: {
1834
+ user: {
1835
+ as: "pf_user",
1836
+ fromCollection: "UsersV2"
1837
+ },
1838
+ collectible: {
1839
+ as: "pf_collectible",
1840
+ fromCollection: "CollectibleConfigs"
1841
+ }
1842
+ }
1843
+ }, b0 = e.object({
1844
+ redemptionCode: e.string(),
1845
+ expiredAt: e.coerce.date()
1846
+ }), X = e.object({
1847
+ _id: i,
1848
+ business: i,
1849
+ user: i.nullish(),
1850
+ code: e.string().optional(),
1851
+ collectible: i,
1852
+ type: nt,
1853
+ extras: Wt.nullish(),
1854
+ options: zt,
1855
+ ref: e.string().nullish(),
1856
+ deactivatedAt: e.date().nullish(),
1857
+ redemption: b0.optional(),
1858
+ pf_user: e.any().optional(),
1859
+ pf_collectible: e.any().optional(),
1860
+ pf_campaign: e.any().optional()
1861
+ }).merge(N).describe(b.describe(g0)), L = e.object({
1862
+ amount: e.number(),
1863
+ ref: e.string(),
1864
+ source: te,
1865
+ metadata: de
1866
+ });
1867
+ L.extend({
1868
+ code: e.string().optional(),
1869
+ collectible: i,
1870
+ channelConfig: q.nullish(),
1871
+ business: i,
1872
+ user: i.nullable()
1873
+ });
1874
+ L.extend({
1875
+ codes: e.array(e.string()),
1876
+ collectible: i,
1877
+ channelConfig: q.nullish(),
1878
+ business: i,
1879
+ user: i.nullable()
1880
+ });
1881
+ L.extend({
1882
+ user: i,
1883
+ business: i,
1884
+ collectible: i,
1885
+ expiredAt: e.date({ coerce: !0 }).nullish()
1886
+ });
1887
+ L.extend({
1888
+ id: i,
1889
+ code: e.string().optional(),
1890
+ type: ft.optional(),
1891
+ skipValidateOption: e.boolean().optional()
1892
+ });
1893
+ e.object({
1894
+ collection: i,
1895
+ to: i,
1896
+ ref: e.string(),
1897
+ source: te,
1898
+ metadata: de
1899
+ });
1900
+ const y0 = e.object({
1901
+ length: e.coerce.number().optional(),
1902
+ charset: e.string(),
1903
+ prefix: e.string().optional(),
1904
+ suffix: e.string().optional(),
1905
+ pattern: e.string().optional()
1906
+ });
1907
+ e.object({
1908
+ quantity: e.number(),
1909
+ code: e.string(),
1910
+ codeConfig: y0
1911
+ });
1912
+ const wr = e.object({
1913
+ amount: e.coerce.number().min(1).max(1e7).multipleOf(0.01, "Amount must be maximum of two decimal places (0.00)"),
1914
+ day: e.coerce.number().min(1).max(9999),
1915
+ remark: e.string().optional()
1916
+ }), jr = e.object({
1917
+ amount: e.coerce.number().min(1),
1918
+ remark: e.string().optional()
1919
+ }), Br = e.object({
1920
+ amount: e.coerce.number().min(1),
1921
+ day: e.coerce.number().min(1).max(9999).optional(),
1922
+ remark: e.string().optional()
1923
+ }), Ur = e.object({
1924
+ amount: e.coerce.number().min(1),
1925
+ remark: e.string().optional()
1926
+ });
1927
+ L.extend({
1928
+ business: e.string(),
1929
+ user: e.string(),
1930
+ type: ft.optional()
1931
+ });
1932
+ L.extend({
1933
+ business: e.string(),
1934
+ user: e.string(),
1935
+ channelConfig: q.nullish()
1936
+ });
1937
+ const Gr = e.object({
1938
+ memberId: e.array(i).min(1),
1939
+ amount: e.coerce.number().min(1).max(9999).optional(),
1940
+ ref: e.string().optional()
1941
+ });
1942
+ e.object({
1943
+ userId: i
1944
+ });
1945
+ e.lazy(
1946
+ () => ne.omit({ password: !0 }).extend({
1947
+ coin: e.lazy(() => N),
1948
+ point: e.lazy(() => N),
1949
+ credit: e.lazy(() => N),
1950
+ voucherCount: e.number(),
1951
+ gameCount: e.number(),
1952
+ tier: e.lazy(() => N),
1953
+ titles: e.lazy(() => e.array(X)),
1954
+ collection: e.record(nt, e.array(X)).nullish()
1955
+ })
1956
+ );
1957
+ e.object({
1958
+ userId: i
1959
+ });
1960
+ const h0 = e.enum([
1961
+ "REGISTER",
1962
+ "UPDATE_PHONE"
1963
+ ]), E0 = e.object({
1964
+ name: e.string(),
1965
+ id: e.string()
1966
+ }), C0 = e.object({
1967
+ lastVisit: e.coerce.date(),
1968
+ topupCount: e.number(),
1969
+ // { [productId]: count }
1970
+ products: e.record(e.string(), e.number()),
1971
+ visitCount: e.number(),
1972
+ avgVisitFrequency: e.number(),
1973
+ avgBillSize: e.number(),
1974
+ feedbackCount: e.number(),
1975
+ lastSeasonTierEarned: e.number().optional(),
1976
+ lastSeasonPointEarned: e.number().optional()
1977
+ }), P0 = e.object({
1978
+ name: e.string(),
1979
+ address: e.string(),
1980
+ coordinates: e.array(e.number())
1981
+ }), v0 = {
1982
+ collectionName: "UsersV2",
1983
+ transform: {
1984
+ _id: "oid",
1985
+ business: "oid"
1986
+ },
1987
+ lookups: {
1988
+ segment: {
1989
+ as: "pf_segment",
1990
+ fromCollection: "Segments"
1991
+ }
1992
+ }
1993
+ }, ne = e.object({
1994
+ // user meta
1995
+ _id: i,
1996
+ name: e.string(),
1997
+ birthday: e.coerce.date().nullish(),
1998
+ gender: e.enum(["MALE", "FEMALE"]).nullish(),
1999
+ address: e.array(P0).nullish(),
2000
+ email: e.string().email().nullish(),
2001
+ phoneNumber: e.string().refine((t) => u0(t)),
2002
+ externalMemberId: e.string().optional(),
2003
+ cardNo: e.string().optional(),
2004
+ joinAt: e.coerce.date().nullish(),
2005
+ photoUrl: e.string().nullish(),
2006
+ location: i.nullish(),
2007
+ // member meta
2008
+ business: i,
2009
+ stats: C0,
2010
+ // segment
2011
+ segment: e.array(i),
2012
+ member: e.boolean(),
2013
+ // pf_segment: z
2014
+ // .array(z.lazy(() => FdoSegment))
2015
+ // .describe(
2016
+ // zm
2017
+ // .mongo()
2018
+ // .populate({
2019
+ // fromCollection: 'Segment',
2020
+ // localField: 'segment',
2021
+ // as: 'pf_segment',
2022
+ // })
2023
+ // .build(),
2024
+ // )
2025
+ // .optional(),
2026
+ expiringVouchers: e.object({
2027
+ days7: e.number(),
2028
+ days30: e.number(),
2029
+ days90: e.number()
2030
+ }).and(e.record(e.string(), e.number())).optional(),
2031
+ lastReadAt: e.coerce.date().nullish(),
2032
+ importCollection: e.record(e.string(), e.any()).optional(),
2033
+ // referral feature
2034
+ referralCode: e.string().optional(),
2035
+ parentReferralCode: e.string().optional(),
2036
+ password: e.string().optional(),
2037
+ birthdayUpdateCount: e.number().optional(),
2038
+ authProvider: e.array(E0).optional()
2039
+ }).describe(b.describe(v0)), _0 = e.object({
2040
+ id: i,
2041
+ expiredAt: e.coerce.number().min(0, "Expire in days must be greater than 0").max(9999, "Expire in days must not exceed 9999")
2042
+ }), kr = e.object({
2043
+ titles: e.array(_0).optional(),
2044
+ tier: e.number().optional(),
2045
+ experience: e.number().optional(),
2046
+ cardNo: e.string().optional()
2047
+ });
2048
+ e.object({
2049
+ phoneNumber: e.string(),
2050
+ password: e.string(),
2051
+ business: e.string()
2052
+ });
2053
+ e.object({
2054
+ _id: i,
2055
+ name: e.string().optional(),
2056
+ birthday: e.coerce.date().optional(),
2057
+ gender: e.enum(["MALE", "FEMALE"]).optional(),
2058
+ email: e.string().email().optional()
2059
+ });
2060
+ e.object({
2061
+ phoneNumber: e.string(),
2062
+ newPhoneNumber: e.string()
2063
+ });
2064
+ e.object({
2065
+ token: e.string(),
2066
+ password: e.string(),
2067
+ business: e.string()
2068
+ });
2069
+ e.object({
2070
+ id: e.string(),
2071
+ password: e.string(),
2072
+ business: e.string()
2073
+ });
2074
+ e.object({
2075
+ phoneNumber: e.string(),
2076
+ business: e.string()
2077
+ });
2078
+ e.object({
2079
+ phoneNumber: e.string(),
2080
+ otp: e.string(),
2081
+ business: e.string(),
2082
+ type: h0
2083
+ });
2084
+ e.object({
2085
+ provider: e.string(),
2086
+ oauthToken: e.string(),
2087
+ business: e.string()
2088
+ });
2089
+ e.object({
2090
+ location: i,
2091
+ memberId: i,
2092
+ nettTotal: S,
2093
+ remark: e.string().optional()
2094
+ });
2095
+ const N0 = e.enum(["COUNTER", "POS"]);
2096
+ e.object({
2097
+ id: e.string(),
2098
+ userId: e.string(),
2099
+ name: e.string().nullish(),
2100
+ birthday: e.string().nullish(),
2101
+ phoneNumber: e.string().nullish(),
2102
+ balance: e.number().nullish(),
2103
+ level: e.number().nullish(),
2104
+ mostPurchasedItems: e.array(e.string()).nullish()
2105
+ });
2106
+ const I0 = {
2107
+ collectionName: "Bills"
2108
+ }, mt = e.object({
2109
+ _id: e.string(),
2110
+ items: e.record(e.string(), e.number()).nullish(),
2111
+ // business: z.string(),
2112
+ // adjustments: z.record(FdoBillAdjustment),
2113
+ // refundedFrom: z.string().nullish(),
2114
+ user: e.string().nullish(),
2115
+ memberid: e.string().nullish(),
2116
+ // roundToNearest: z.number().nullish(),
2117
+ nettTotal: S,
2118
+ // activeItems: z.array(z.string()),
2119
+ remark: e.string().nullish(),
2120
+ createdAt: e.coerce.date(),
2121
+ completedAt: e.coerce.date(),
2122
+ refunded: e.boolean().nullish(),
2123
+ refundRecord: e.array(e.string()).nullish(),
2124
+ location: e.string(),
2125
+ channel: N0.optional()
2126
+ }).transform((t) => ({
2127
+ ...t,
2128
+ createdTime: t.createdAt,
2129
+ completedTime: t.completedAt,
2130
+ get amount() {
2131
+ return t.nettTotal.amount / 10 ** t.nettTotal.precision;
2132
+ }
2133
+ })).describe(b.describe(I0)), F0 = e.object({
2134
+ _id: e.string(),
2135
+ rating: e.coerce.number(),
2136
+ user: e.string(),
2137
+ restaurant: e.string(),
2138
+ message: e.string(),
2139
+ submittedAt: e.coerce.date()
2140
+ }), f = e.enum([
2141
+ "SIMPLE_CLAIM",
2142
+ "LINK_CLAIM",
2143
+ "BILL_COMPLETED",
2144
+ "BILL_REFUNDED",
2145
+ "SCHEDULE",
2146
+ "BIRTHDAY",
2147
+ "FEEDBACK",
2148
+ "ENTER_SEGMENT",
2149
+ "MEMBERSHIP_JOINED",
2150
+ "TIER_UPGRADED",
2151
+ "MAKING_ORDER",
2152
+ "ISSUE_REWARD",
2153
+ "MEMBER_REWARD",
2154
+ "GAME_COMPLETED",
2155
+ "PAGINATE_SCHEDULE",
2156
+ "REFERRAL_ADDED",
2157
+ "MEMBER_IMPORTED",
2158
+ "SEGMENTATION_IMPORTED"
2159
+ ]), Hr = f.extract([
2160
+ "BILL_COMPLETED",
2161
+ "FEEDBACK",
2162
+ "GAME_COMPLETED",
2163
+ "MAKING_ORDER",
2164
+ "MEMBERSHIP_JOINED",
2165
+ "SCHEDULE",
2166
+ "SIMPLE_CLAIM",
2167
+ "TIER_UPGRADED",
2168
+ "ISSUE_REWARD"
2169
+ ]);
2170
+ e.enum(["START_OF", "BEFORE"]);
2171
+ e.enum(["WEEK", "MONTH"]);
2172
+ const R0 = e.enum([
2173
+ "WAITING",
2174
+ "ACTIVE",
2175
+ "COMPLETED",
2176
+ "FAILED"
2177
+ ]), m = e.object({
2178
+ // type: F_EVENT_TYPE,
2179
+ rule: M.optional()
2180
+ }), O0 = m.extend({
2181
+ type: e.literal(f.enum.BILL_COMPLETED)
2182
+ }), A0 = m.extend({
2183
+ type: e.literal(f.enum.FEEDBACK)
2184
+ }), T0 = m.extend({
2185
+ type: e.literal(f.enum.SIMPLE_CLAIM)
2186
+ });
2187
+ m.extend({
2188
+ type: e.literal(f.enum.ENTER_SEGMENT),
2189
+ segment: e.string()
2190
+ });
2191
+ const S0 = m.extend({
2192
+ type: e.literal(f.enum.MEMBER_REWARD)
2193
+ }), x0 = m.extend({
2194
+ type: e.literal(f.enum.SCHEDULE)
2195
+ // option: FdoCronRule,
2196
+ }), D0 = m.extend({
2197
+ type: e.literal(f.enum.MEMBERSHIP_JOINED)
2198
+ }), M0 = m.extend({
2199
+ type: e.literal(f.enum.TIER_UPGRADED)
2200
+ }), L0 = m.extend({
2201
+ type: e.literal(f.enum.MAKING_ORDER)
2202
+ }), w0 = m.extend({
2203
+ type: e.literal(f.enum.ISSUE_REWARD)
2204
+ }), j0 = m.extend({
2205
+ type: e.literal(f.enum.GAME_COMPLETED)
2206
+ });
2207
+ m.extend({
2208
+ type: e.literal(f.enum.REFERRAL_ADDED)
2209
+ });
2210
+ m.extend({
2211
+ type: e.literal(f.enum.MEMBER_IMPORTED)
2212
+ });
2213
+ const B0 = e.discriminatedUnion("type", [
2214
+ T0,
2215
+ O0,
2216
+ x0,
2217
+ A0,
2218
+ D0,
2219
+ M0,
2220
+ L0,
2221
+ w0,
2222
+ S0,
2223
+ j0
2224
+ ]);
2225
+ e.object({
2226
+ _id: i,
2227
+ type: f,
2228
+ ref: e.string(),
2229
+ status: R0.optional(),
2230
+ context: e.record(e.string(), e.any()).optional(),
2231
+ failedReason: e.any().optional()
2232
+ }).describe(JSON.stringify({ collectionName: "EventLogs" }));
2233
+ const E = e.object({
2234
+ type: f,
2235
+ context: e.any(),
2236
+ businessIds: e.array(i).optional(),
2237
+ campaignIds: e.array(i).optional(),
2238
+ slackWebhookUrl: e.string().optional(),
2239
+ emittedAt: e.coerce.date().default(/* @__PURE__ */ new Date())
2240
+ }), U0 = E.extend({
2241
+ type: e.literal(f.enum.BILL_COMPLETED),
2242
+ context: e.object({
2243
+ bill: mt,
2244
+ rawBill: e.any()
2245
+ })
2246
+ }), G0 = E.extend({
2247
+ type: e.literal(f.enum.BILL_REFUNDED),
2248
+ context: e.object({
2249
+ bill: mt,
2250
+ rawBill: e.any()
2251
+ })
2252
+ }), k0 = E.extend({
2253
+ type: e.literal(f.enum.SCHEDULE),
2254
+ context: e.object({
2255
+ triggeredAt: e.coerce.date()
2256
+ })
2257
+ }), H0 = E.extend({
2258
+ type: e.literal(f.enum.PAGINATE_SCHEDULE),
2259
+ context: e.object({
2260
+ triggeredAt: e.coerce.date(),
2261
+ business: i,
2262
+ skip: e.coerce.number(),
2263
+ limit: e.coerce.number()
2264
+ })
2265
+ }), V0 = E.extend({
2266
+ type: e.literal(f.enum.FEEDBACK),
2267
+ context: e.object({
2268
+ feedback: F0
2269
+ })
2270
+ }), K0 = E.extend({
2271
+ type: e.literal(f.enum.MEMBERSHIP_JOINED),
2272
+ context: e.object({
2273
+ user: ne
2274
+ })
2275
+ }), W0 = E.extend({
2276
+ type: e.literal(f.enum.TIER_UPGRADED),
2277
+ context: e.object({
2278
+ transaction: ct
2279
+ })
2280
+ }), z0 = E.extend({
2281
+ type: e.literal(f.enum.ISSUE_REWARD),
2282
+ context: e.object({
2283
+ transaction: ct,
2284
+ collection: X
2285
+ })
2286
+ }), Y0 = E.extend({
2287
+ type: e.literal(f.enum.REFERRAL_ADDED),
2288
+ context: e.object({
2289
+ user: ne
2290
+ })
2291
+ }), pt = e.object({
2292
+ ref: i,
2293
+ originalName: e.string(),
2294
+ mimeType: e.string(),
2295
+ size: e.number(),
2296
+ fbFilePath: e.string(),
2297
+ isFbFileDeleted: e.boolean().nullish()
2298
+ }), X0 = e.object({
2299
+ resetCollectionExpiryBalance: e.boolean().nullish()
2300
+ }), Z0 = E.extend({
2301
+ type: e.literal(f.enum.MEMBER_IMPORTED),
2302
+ context: e.object({
2303
+ business: e.string(),
2304
+ file: pt,
2305
+ config: X0.optional()
2306
+ })
2307
+ }), J0 = E.extend({
2308
+ type: e.literal(f.enum.SEGMENTATION_IMPORTED),
2309
+ context: e.object({
2310
+ business: e.string(),
2311
+ segment: e.string(),
2312
+ file: pt
2313
+ })
2314
+ });
2315
+ e.discriminatedUnion("type", [
2316
+ U0,
2317
+ G0,
2318
+ k0,
2319
+ V0,
2320
+ K0,
2321
+ W0,
2322
+ z0,
2323
+ H0,
2324
+ Y0,
2325
+ Z0,
2326
+ J0
2327
+ ]);
2328
+ const q0 = e.object({
2329
+ from: e.coerce.number(),
2330
+ to: e.coerce.number().optional()
2331
+ }).superRefine((t, d) => {
2332
+ t.from && t.to && t.from > t.to && d.addIssue({
2333
+ code: "custom",
2334
+ message: "Max experience must be more than min experience"
2335
+ });
2336
+ }), Q0 = e.enum(["MULTIPLIER", "FIXED"]);
2337
+ e.object({
2338
+ type: Q0
2339
+ });
2340
+ const er = e.object({
2341
+ _id: i.optional(),
2342
+ rule: M,
2343
+ tierExpression: e.string().nullish(),
2344
+ expExpression: e.string().nullish()
2345
+ }), ve = e.object({
2346
+ _id: i,
2347
+ name: e.string().min(1),
2348
+ image: e.string().nullish(),
2349
+ option: q0,
2350
+ cycleOptions: e.array(e.lazy(() => er)).nullish(),
2351
+ member_count: e.number().optional()
2352
+ });
2353
+ ve.partial({
2354
+ _id: !0
2355
+ });
2356
+ const Vr = ve.partial({
2357
+ _id: !0
2358
+ }), tr = e.object({
2359
+ icon: e.string(),
2360
+ label: e.string(),
2361
+ value: e.string()
2362
+ }), dr = e.object({
2363
+ gatewayKey: e.enum([
2364
+ "REVENUE_MONSTER",
2365
+ "FEEDME",
2366
+ "FEEDME_MEMBER_CREDIT",
2367
+ "RAZER_MERCHANT_SERVICE",
2368
+ "E_GHL",
2369
+ "FEEDME_TERMINAL",
2370
+ "MACAU_PASS",
2371
+ "NETS",
2372
+ "FEEDME_CARD"
2373
+ ]),
2374
+ checkoutUrl: e.string().optional(),
2375
+ checkoutId: e.string().optional(),
2376
+ callbackUrl: e.string().optional(),
2377
+ vcode: e.string().optional(),
2378
+ merchantId: e.string().optional(),
2379
+ amount: e.string().optional(),
2380
+ currency: e.string().optional(),
2381
+ returnUrl: e.string().optional(),
2382
+ notifyUrl: e.string().optional(),
2383
+ url: e.string().optional(),
2384
+ channels: e.array(tr).optional(),
2385
+ transactionId: e.string().optional()
2386
+ }), nr = e.object({
2387
+ url: e.string(),
2388
+ transactionId: e.string()
2389
+ });
2390
+ e.object({
2391
+ trx: e.lazy(() => Pt),
2392
+ onlineTrx: dr.optional().or(nr),
2393
+ url: e.string().optional()
2394
+ });
2395
+ e.object({
2396
+ remaining: e.number().nullish(),
2397
+ isSoldOut: e.boolean()
2398
+ });
2399
+ const gt = e.enum(["POS", "APP", "ADMIN"]), bt = e.enum(["topupCount"]), rr = e.object({
2400
+ line1: e.string(),
2401
+ line2: e.string().optional(),
2402
+ state: e.string(),
2403
+ city: e.string(),
2404
+ postcode: e.string(),
2405
+ country: e.string()
2406
+ }), yt = e.object({
2407
+ name: e.string(),
2408
+ regNo: e.string(),
2409
+ address: rr,
2410
+ phoneNo: e.string(),
2411
+ sstRegNo: e.string().optional()
2412
+ }), ht = e.object({
2413
+ systemCode: e.string(),
2414
+ inclusive: e.boolean()
2415
+ }), or = e.object({
2416
+ id: i,
2417
+ dayToExpire: e.number().max(9999, "Max expiry is 9999 days")
2418
+ }), ir = e.object({
2419
+ normal: e.coerce.number(),
2420
+ free: e.object({
2421
+ day: e.coerce.number(),
2422
+ amount: e.coerce.number(),
2423
+ remark: e.string().nullish()
2424
+ }).nullish()
2425
+ }), ar = e.object({
2426
+ systemCode: e.string(),
2427
+ taxCode: e.string()
2428
+ }), $r = e.object({
2429
+ name: e.string(),
2430
+ systemCode: e.string(),
2431
+ taxCode: e.string(),
2432
+ rate: Vt,
2433
+ total: S
2434
+ });
2435
+ e.object({
2436
+ canPurchase: e.boolean(),
2437
+ reason: e.string()
2438
+ });
2439
+ e.object({
2440
+ type: bt
2441
+ });
2442
+ e.object({
2443
+ type: bt,
2444
+ min: e.number().nullish(),
2445
+ max: e.number().nullish()
2446
+ });
2447
+ const sr = e.object({
2448
+ options: e.object({
2449
+ maxReceive: e.number().min(1).nullish(),
2450
+ maxPerUser: e.number().min(1).nullish()
2451
+ }),
2452
+ rule: M.nullish()
2453
+ }), lr = (t, d) => {
2454
+ const n = t;
2455
+ n.isFeedvibe && le.Dinero.fromFdoDinero(n.price).toUnit() < 1 && d.addIssue({
2456
+ code: "custom",
2457
+ path: ["price"],
2458
+ message: "Price must be at least RM1"
2459
+ });
2460
+ }, Et = e.object({
2461
+ _id: e.string(),
2462
+ isFeedvibe: e.boolean().nullish(),
2463
+ // conditions: z.array(FdoTopupCountCondition),
2464
+ image: e.string().nullish(),
2465
+ rule: M.nullish(),
2466
+ name: e.string().min(1, "Name is required"),
2467
+ price: S,
2468
+ originalPrice: S.nullish(),
2469
+ // new field to indicate coinPrice
2470
+ coinPrice: e.number().nullish(),
2471
+ titles: e.array(or),
2472
+ credit: ir,
2473
+ taxes: e.array(ar),
2474
+ taxTotals: e.array($r),
2475
+ priceWithTaxes: S.nullish(),
2476
+ vouchers: e.array(i),
2477
+ _inclusiveTaxes: e.array(ht).nullish(),
2478
+ _taxSystem: e.array(e.string()).nullish(),
2479
+ stripePriceId: e.string().nullish(),
2480
+ subscriptionValidity: e.number().min(1, "Must be at least 1 day").max(365, "Maximum is 365").nullish(),
2481
+ redeemWithCode: e.boolean().nullish(),
2482
+ internal: e.boolean().optional(),
2483
+ hideInPos: e.boolean().optional(),
2484
+ // Distribution tracking: running counter of units purchased
2485
+ distributed: e.coerce.number().optional(),
2486
+ config: sr.optional(),
2487
+ pf_titles: e.array(e.any()).optional(),
2488
+ pf_vouchers: e.array(e.any()).optional(),
2489
+ pf_credit: e.number().optional()
2490
+ }).superRefine((t, d) => {
2491
+ var n, r;
2492
+ t.stripePriceId && !t.subscriptionValidity && d.addIssue({
2493
+ code: "custom",
2494
+ message: "Validity is required when stripePriceId is provided",
2495
+ path: ["subscriptionValidity"]
2496
+ }), t.originalPrice && t.originalPrice.amount && t.originalPrice.amount < t.price.amount && d.addIssue({
2497
+ code: "custom",
2498
+ message: "Original price must be greater than price",
2499
+ path: ["originalPrice"]
2500
+ }), t.price.amount < 0 && d.addIssue({
2501
+ code: "custom",
2502
+ path: ["price"],
2503
+ message: "Price cannot be less than 0"
2504
+ }), t.coinPrice && t.coinPrice < 0 && d.addIssue({
2505
+ code: "custom",
2506
+ path: ["coinPrice"],
2507
+ message: "Point price cannot be less than 0"
2508
+ }), t.credit.normal < 0 && d.addIssue({
2509
+ code: "custom",
2510
+ path: ["credit", "normal"],
2511
+ message: "Normal credit cannot be less than 0"
2512
+ }), t.credit.free && (t.credit.free.amount < 0 && d.addIssue({
2513
+ code: "custom",
2514
+ path: ["credit", "free", "amount"],
2515
+ message: "Free credit cannot be less than 0"
2516
+ }), t.credit.free.amount && t.credit.free.day < 0 && d.addIssue({
2517
+ code: "custom",
2518
+ path: ["credit", "free", "day"],
2519
+ message: "Expiry must be at least 0 (expire same day)"
2520
+ })), t.credit.normal && t.coinPrice && d.addIssue({
2521
+ code: "custom",
2522
+ message: "Bundle redeem with point cannot set normal credit.",
2523
+ path: ["credit", "normal"]
2524
+ }), t.credit.normal > le.Dinero.fromFdoDinero(t.price).toUnit() && d.addIssue({
2525
+ code: "custom",
2526
+ message: `Normal credit cannot be more than price. Max: ${le.Dinero.fromFdoDinero(
2527
+ t.price
2528
+ ).toUnit()}`,
2529
+ path: ["credit", "normal"]
2530
+ }), t.titles.length > 0 && t.titles.some((o) => o.dayToExpire < 0) && d.addIssue({
2531
+ code: "custom",
2532
+ path: ["titles"],
2533
+ message: "Title expiry must be at least 0 day (expire same day)"
2534
+ }), (((r = (n = t.config) == null ? void 0 : n.options) == null ? void 0 : r.maxPerUser) || 0) < 0 && d.addIssue({
2535
+ code: "custom",
2536
+ path: ["config.options.maxPerUser"],
2537
+ message: "Max purchase per user cannot be negative"
2538
+ });
2539
+ }).superRefine(lr), Ct = e.object({
2540
+ name: e.string(),
2541
+ bundles: e.array(Et)
2542
+ });
2543
+ e.object({
2544
+ _id: e.string(),
2545
+ name: e.string(),
2546
+ expiredAt: e.string()
2547
+ });
2548
+ const ur = e.object({
2549
+ apiKey: e.string(),
2550
+ webhookSecret: e.string()
2551
+ }), cr = e.object({
2552
+ company: yt.nullish(),
2553
+ inclusiveTaxes: e.array(ht).nullish(),
2554
+ stripe: ur.nullable().optional()
2555
+ }), fr = {
2556
+ collectionName: "Stores",
2557
+ transform: {
2558
+ _id: "oid",
2559
+ business: "oid"
2560
+ }
2561
+ };
2562
+ cr.extend({
2563
+ _id: i,
2564
+ business: i,
2565
+ categories: e.array(Ct),
2566
+ priorityBundleIds: e.array(e.string()).optional()
2567
+ }).describe(b.describe(fr));
2568
+ const mr = e.object({
2569
+ refundedAt: e.coerce.date(),
2570
+ reason: e.string(),
2571
+ transactions: e.array(i)
2572
+ }), _e = e.object({
2573
+ type: e.enum([
2574
+ "ONLINE",
2575
+ "OFFLINE",
2576
+ "COIN",
2577
+ "STRIPE",
2578
+ "CARD",
2579
+ "FEEDVIBE",
2580
+ "ADMIN"
2581
+ ]),
2582
+ extra: e.string().nullish(),
2583
+ gateway: e.string().nullish(),
2584
+ method: e.string().nullish()
2585
+ }), pr = {
2586
+ collectionName: "StoreTransactions",
2587
+ transform: {
2588
+ _id: "oid",
2589
+ business: "oid",
2590
+ location: "oid",
2591
+ member: "oid",
2592
+ transactions: "oid"
2593
+ },
2594
+ lookups: {
2595
+ member: {
2596
+ fromCollection: "UsersV2",
2597
+ as: "pf_member"
2598
+ }
2599
+ }
2600
+ }, gr = e.enum([
2601
+ "PENDING_PAYMENT",
2602
+ "PENDING_TRANSACTION",
2603
+ "COMPLETED",
2604
+ "REFUNDED",
2605
+ "PAYMENT_EXPIRED",
2606
+ "PAYMENT_CANCEL"
2607
+ ]), Pt = e.object({
2608
+ _id: i,
2609
+ source: gt,
2610
+ // can be memberStorePurchase
2611
+ ref: e.string(),
2612
+ business: i,
2613
+ company: yt,
2614
+ location: i.optional(),
2615
+ member: i,
2616
+ // createdAt: z.coerce.date(),
2617
+ bundle: Et,
2618
+ transactions: e.array(i),
2619
+ // array of transaction id (voucher, credit, title)
2620
+ status: gr,
2621
+ refund: mr.nullish(),
2622
+ paymentType: _e.nullish(),
2623
+ paymentRef: e.string().nullish(),
2624
+ previousPaymentRefs: e.array(e.string()).optional(),
2625
+ paymentUrl: e.string().optional(),
2626
+ webhookUrl: e.string().optional(),
2627
+ webhookSent: e.boolean().optional(),
2628
+ quantity: e.number().optional(),
2629
+ pf_transactions: e.array(e.any()).optional(),
2630
+ pf_member: e.any().optional(),
2631
+ pf_location: e.any().optional(),
2632
+ pf_ref: e.any().optional()
2633
+ }).describe(b.describe(pr));
2634
+ e.object({
2635
+ bundle: i,
2636
+ member: e.string(),
2637
+ ref: e.string(),
2638
+ paymentType: _e.nullish(),
2639
+ withCoin: e.boolean().optional(),
2640
+ card: e.string().optional(),
2641
+ location: i.optional(),
2642
+ source: gt,
2643
+ webhookUrl: e.string().optional(),
2644
+ quantity: e.coerce.number().int().min(1).max(10).optional()
2645
+ });
2646
+ e.object({
2647
+ transactionId: e.string()
2648
+ });
2649
+ e.object({
2650
+ transactionId: e.string(),
2651
+ paymentType: _e
2652
+ });
2653
+ e.object({
2654
+ categories: e.array(Ct)
2655
+ });
2656
+ e.object({
2657
+ id: i,
2658
+ reason: e.string(),
2659
+ location: i.optional()
2660
+ });
2661
+ e.object({
2662
+ _id: i,
2663
+ business: i,
2664
+ user: i,
2665
+ bundleId: e.string(),
2666
+ transaction: e.array(i),
2667
+ subscriptionId: e.string(),
2668
+ expiredAt: e.coerce.date()
2669
+ }).describe(
2670
+ b.describe({
2671
+ collectionName: "StoreSubscriptions",
2672
+ transform: {
2673
+ _id: "oid",
2674
+ business: "oid",
2675
+ user: "oid",
2676
+ transaction: "oid",
2677
+ expiredAt: "date"
2678
+ }
2679
+ })
2680
+ );
2681
+ e.object({
2682
+ member: e.string(),
2683
+ subscriptionId: e.string()
2684
+ });
2685
+ const br = {
2686
+ collectionName: "Cards",
2687
+ transform: {
2688
+ _id: "oid",
2689
+ business: "oid",
2690
+ member: "oid",
2691
+ redeemedAt: "date"
2692
+ },
2693
+ lookups: {
2694
+ business: {
2695
+ as: "business",
2696
+ fromCollection: "Business"
2697
+ },
2698
+ member: {
2699
+ as: "pf_member",
2700
+ fromCollection: "UsersV2"
2701
+ }
2702
+ }
2703
+ };
2704
+ e.object({
2705
+ _id: i,
2706
+ business: i,
2707
+ serialNumber: e.string(),
2708
+ setCardOnBind: e.boolean().nullish(),
2709
+ redeemedAt: e.date().nullish(),
2710
+ member: i.nullish(),
2711
+ design: e.string().nullish(),
2712
+ bundle: e.string().nullish(),
2713
+ subscriptionBundle: e.string().nullish(),
2714
+ pf_member: e.lazy(() => ne).nullish(),
2715
+ pf_transaction: e.lazy(() => Pt).nullish()
2716
+ }).describe(b.describe(br));
2717
+ const yr = e.object({
2718
+ length: e.coerce.number().optional(),
2719
+ charset: e.string(),
2720
+ prefix: e.string().optional(),
2721
+ suffix: e.string().optional(),
2722
+ pattern: e.string().optional()
2723
+ });
2724
+ e.object({
2725
+ quantity: e.number(),
2726
+ code: e.string(),
2727
+ codeConfig: yr,
2728
+ setCardOnBind: e.boolean().optional(),
2729
+ design: e.string().nullish(),
2730
+ bundle: e.string().optional(),
2731
+ subscriptionBundle: e.string().optional()
2732
+ });
2733
+ const hr = e.enum(["SMS", "WHATSAPP", "EMAIL"]), w = e.object({
2734
+ channel: hr,
2735
+ variables: e.array(e.string()),
2736
+ title: e.string().nullish(),
2737
+ design: e.any(),
2738
+ content: e.string(),
2739
+ language: e.string(),
2740
+ imageUrl: e.string().nullish()
2741
+ }).superRefine((t, d) => {
2742
+ t.content.length == 0 && d.addIssue({
2743
+ code: e.ZodIssueCode.custom,
2744
+ message: "Content is required"
2745
+ });
2746
+ const n = /{{(.*?)}}/g, r = [...t.content.matchAll(n)].map(($) => $[1]), o = t.variables, a = r.filter(($) => o.indexOf($) < 0);
2747
+ a.length && d.addIssue({
2748
+ code: e.ZodIssueCode.custom,
2749
+ message: "Invalid variable(s): " + a.join(", ")
2750
+ });
2751
+ });
2752
+ function Kr(t, d) {
2753
+ return t.replace(/{{(.*?)}}/g, (n, r) => {
2754
+ const a = r.trim().split(".").reduce(($, s) => ($ != null ? $[s] : null) ?? null, d);
2755
+ return a !== null ? a : n;
2756
+ });
2757
+ }
2758
+ const Ne = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), Ie = e.number().min(0, "Weight need to be at least 0"), Fe = e.number().int("Must be integer").min(0, "Threshold need to be at least 0"), vt = e.object({
2759
+ type: e.literal(Ne.enum.NO_REWARD),
2760
+ collectible: e.null(),
2761
+ weight: Ie
2762
+ }), _t = e.object({
2763
+ type: e.literal(Ne.enum.VOUCHER),
2764
+ collectible: i,
2765
+ collectibleConfig: e.lazy(() => et._def.right.options[0]),
2766
+ earningOption: e.lazy(() => F)
2767
+ }), re = e.object({
2768
+ type: e.literal(Ne.enum.LOYALTY),
2769
+ collectible: i,
2770
+ earningOption: e.lazy(() => F),
2771
+ validityOption: e.lazy(() => Yt)
2772
+ }), Nt = _t.extend({
2773
+ weight: Ie
2774
+ }), It = re.extend({
2775
+ weight: e.number().min(0, "Weight need to be at least 0")
2776
+ }), Wr = re.extend({
2777
+ validityOption: tt,
2778
+ weight: Ie
2779
+ }), Er = e.discriminatedUnion("type", [
2780
+ Nt,
2781
+ It,
2782
+ vt
2783
+ ]), Je = e.discriminatedUnion("type", [
2784
+ Nt.extend({
2785
+ collectible: i.nullish(),
2786
+ business: i.nullish()
2787
+ }),
2788
+ It.extend({
2789
+ collectible: i.nullish(),
2790
+ business: i.nullish()
2791
+ }),
2792
+ vt
2793
+ ]), Ft = _t.extend({
2794
+ threshold: Fe
2795
+ }), Rt = re.extend({
2796
+ threshold: Fe
2797
+ }), zr = re.extend({
2798
+ validityOption: tt,
2799
+ threshold: Fe
2800
+ }), Ot = e.discriminatedUnion("type", [
2801
+ Ft,
2802
+ Rt
2803
+ ]), Cr = e.discriminatedUnion("type", [
2804
+ Ft.extend({
2805
+ collectible: i.nullish(),
2806
+ business: i.nullish()
2807
+ }),
2808
+ Rt.extend({
2809
+ collectible: i.nullish(),
2810
+ collectibleConfig: et.nullish(),
2811
+ business: i.nullish()
2812
+ })
2813
+ ]), Pr = {
2814
+ collectionName: "Locations",
2815
+ transform: {
2816
+ _id: "oid",
2817
+ business: "oid"
2818
+ }
2819
+ }, At = e.object({
2820
+ _id: i,
2821
+ business: i,
2822
+ name: e.string(),
2823
+ code: e.string().nullish(),
2824
+ otp: e.string().nullish(),
2825
+ otpExpiredAt: e.coerce.date().nullish(),
2826
+ apiToken: e.string().nullish(),
2827
+ customAttribute: e.record(e.any()).nullish()
2828
+ }).describe(b.describe(Pr));
2829
+ e.object({
2830
+ _id: i,
2831
+ name: e.string(),
2832
+ location: i,
2833
+ os: e.string(),
2834
+ apiToken: e.string().nullish()
2835
+ }).describe(b.describe({
2836
+ collectionName: "LocationDevices",
2837
+ transform: {
2838
+ _id: "oid",
2839
+ location: "oid"
2840
+ }
2841
+ }));
2842
+ const vr = e.enum(["PROGRESSIVE", "STAMP"]), _r = e.object({
2843
+ type: vr,
2844
+ end: e.number().int().min(0, "Threshold need to be at least 1"),
2845
+ rewards: e.array(e.lazy(() => Ot)).nullish()
2846
+ }).superRefine((t, d) => {
2847
+ t.type == "STAMP" && t.end > 40 && (d.addIssue({
2848
+ code: "custom",
2849
+ path: [],
2850
+ message: "Stamp mission can have at most 40 threshold"
2851
+ }), d.addIssue({
2852
+ code: "custom",
2853
+ path: ["end"],
2854
+ message: "Stamp mission can have at most 40 threshold"
2855
+ }));
2856
+ }), oe = e.object({
2857
+ totalCount: e.number().optional(),
2858
+ totalCountPerUser: e.number().optional()
2859
+ }), O = e.object({
2860
+ periods: e.array(
2861
+ e.object({
2862
+ startTime: e.string(),
2863
+ endTime: e.string()
2864
+ })
2865
+ )
2866
+ }), ie = e.object({
2867
+ startTime: e.string(),
2868
+ // ISO 8601 date string
2869
+ endTime: e.string(),
2870
+ // ISO 8601 date string
2871
+ eaterType: e.enum(["all", "new", "existing"]),
2872
+ minBasketAmount: e.number().optional(),
2873
+ bundleQuantity: e.number().optional(),
2874
+ workingHour: e.object({
2875
+ mon: O.optional(),
2876
+ tue: O.optional(),
2877
+ wed: O.optional(),
2878
+ thu: O.optional(),
2879
+ fri: O.optional(),
2880
+ sat: O.optional(),
2881
+ sun: O.optional()
2882
+ }).optional()
2883
+ }), Nr = e.object({
2884
+ type: e.enum(["items", "category", "order"]),
2885
+ objectIDs: e.array(e.string()).optional()
2886
+ }), ae = e.object({
2887
+ type: e.enum([
2888
+ "net",
2889
+ // dollar off
2890
+ "percentage",
2891
+ // percentage off
2892
+ "bundleSameFixPrice",
2893
+ // bundle fix price (same item)
2894
+ "bundleDiffFixPrice",
2895
+ // bundle fix price (different items)
2896
+ "bundleSameNet",
2897
+ // bundle dollar off (same item)
2898
+ "bundleDiffNet",
2899
+ // bundle dollar off (different items)
2900
+ "bundleSamePercentage",
2901
+ // bundle percentage off (same item)
2902
+ "bundleDiffPercentage",
2903
+ // bundle percentage off (different items)
2904
+ "delivery",
2905
+ // delivery fee off
2906
+ "freeItem"
2907
+ // free item
2908
+ ]),
2909
+ value: e.number(),
2910
+ cap: e.number().optional(),
2911
+ // for percentage off campaigns
2912
+ scope: Nr
2913
+ });
2914
+ e.object({
2915
+ merchantID: e.string().optional(),
2916
+ name: e.string().max(256),
2917
+ quotas: oe.optional(),
2918
+ conditions: ie,
2919
+ discount: ae,
2920
+ customTag: e.string().max(22).optional()
2921
+ });
2922
+ e.object({
2923
+ id: e.string()
2924
+ });
2925
+ e.object({
2926
+ merchantID: e.string().optional(),
2927
+ name: e.string().max(256).optional(),
2928
+ quotas: oe.optional(),
2929
+ conditions: ie.optional(),
2930
+ discount: ae.optional(),
2931
+ customTag: e.string().max(22).optional()
2932
+ });
2933
+ const qe = e.object({
2934
+ id: e.string(),
2935
+ merchantID: e.string(),
2936
+ name: e.string(),
2937
+ quotas: oe.optional(),
2938
+ conditions: ie,
2939
+ discount: ae,
2940
+ customTag: e.string().optional(),
2941
+ status: e.enum(["ongoing", "upcoming", "expired", "cancelled"]).optional(),
2942
+ createdAt: e.string().optional(),
2943
+ updatedAt: e.string().optional()
2944
+ });
2945
+ e.object({
2946
+ ongoing: e.array(qe),
2947
+ upcoming: e.array(qe)
2948
+ });
2949
+ e.object({
2950
+ merchantID: e.string()
2951
+ });
2952
+ e.object({
2953
+ target: e.string(),
2954
+ reason: e.string(),
2955
+ message: e.string()
2956
+ });
2957
+ const Ir = {
2958
+ collectionName: "Groups",
2959
+ transform: {
2960
+ _id: "oid",
2961
+ business: "oid"
2962
+ },
2963
+ lookups: {
2964
+ business: {
2965
+ fromCollection: "Businesses",
2966
+ as: "pf_business"
2967
+ },
2968
+ pf_campaigns: {
2969
+ fromCollection: "Campaigns",
2970
+ as: "pf_campaigns",
2971
+ localField: "_id",
2972
+ foreignField: "group"
2973
+ }
2974
+ }
2975
+ }, Yr = e.object({
2976
+ _id: i,
2977
+ name: e.string().min(1).max(300),
2978
+ business: i,
2979
+ pf_campaigns: e.array(e.any()).optional()
2980
+ }).describe(b.describe(Ir)), Fr = e.object({
2981
+ from: e.string().email().nullish(),
2982
+ name: e.string().min(1).max(50).nullish()
2983
+ }), Rr = e.object({
2984
+ _id: e.string(),
2985
+ url: e.string(),
2986
+ targetLocation: e.array(i).nullish(),
2987
+ // null/empty = all locations
2988
+ order: e.number().optional()
2989
+ }), Tt = e.object({
2990
+ type: e.literal(Qe.enum.MEMBERSHIP),
2991
+ business: i,
2992
+ name: e.string().min(1).max(50),
2993
+ image: e.string().nullish(),
2994
+ url: e.string().nullish(),
2995
+ tiers: e.array(e.lazy(() => ve)),
2996
+ titles: e.array(i),
2997
+ tierCycleEnable: e.boolean().optional(),
2998
+ tierCycle: e.lazy(() => M).nullish(),
2999
+ welcomeMessage: w.optional(),
3000
+ advertisements: e.union([e.array(e.string()), e.array(Rr)]).optional(),
3001
+ cardEnable: e.boolean().optional(),
3002
+ autoRevertReward: e.boolean().optional(),
3003
+ design: e.array(
3004
+ e.object({
3005
+ _id: i,
3006
+ image: e.string()
3007
+ })
3008
+ ).optional(),
3009
+ targetLocation: e.array(i).nullish(),
3010
+ brand: e.string().nullish(),
3011
+ email: Fr.nullish(),
3012
+ freeCreditAsDiscount: e.boolean().optional(),
3013
+ pf_title: e.array(e.lazy(() => A)).optional(),
3014
+ pf_targetLocation: e.array(e.lazy(() => At)).optional(),
3015
+ allowedPhoneCountries: e.union([
3016
+ e.array(e.string().regex(/^\+\d{1,4}$/)),
3017
+ e.null()
3018
+ ]).optional(),
3019
+ // new structure
3020
+ group: e.string().nullish(),
3021
+ templateId: i.nullish()
3022
+ }), c = Qe.exclude(["MEMBERSHIP"]), C = e.object({
3023
+ _id: i.nullish(),
3024
+ type: c,
3025
+ // common information
3026
+ business: i,
3027
+ name: e.string().min(1).max(50),
3028
+ image: e.string().nullish(),
3029
+ description: e.string().max(500).nullish(),
3030
+ timeframeOptions: dt.superRefine((t, d) => {
3031
+ t.start && t.end && t.end < t.start && d.addIssue({
3032
+ code: "custom",
3033
+ path: [],
3034
+ params: {
3035
+ i18n: "connectZodCustom:timeframe.end_before_start"
3036
+ }
3037
+ });
3038
+ }).nullish(),
3039
+ targetLocation: e.array(i).nullish(),
3040
+ event: B0,
3041
+ config: q.nullish(),
3042
+ currentReceive: e.coerce.number().optional(),
3043
+ // new group structure
3044
+ group: i.nullish(),
3045
+ templateId: i.nullish(),
3046
+ pf_targetLocation: e.array(e.lazy(() => At)).optional(),
3047
+ deletedAt: e.coerce.date().optional()
3048
+ }), P = {
3049
+ [c.enum.VOUCHER]: [
3050
+ "BILL_COMPLETED",
3051
+ "FEEDBACK",
3052
+ "MEMBERSHIP_JOINED",
3053
+ "TIER_UPGRADED",
3054
+ "SCHEDULE",
3055
+ "SIMPLE_CLAIM"
3056
+ ],
3057
+ [c.enum.PROMOTION]: ["MAKING_ORDER"],
3058
+ [c.enum.GRAB]: ["MAKING_ORDER"],
3059
+ [c.enum.POINT]: [
3060
+ "BILL_COMPLETED",
3061
+ "FEEDBACK",
3062
+ "MEMBERSHIP_JOINED",
3063
+ "TIER_UPGRADED",
3064
+ "SCHEDULE"
3065
+ ],
3066
+ [c.enum.CREDIT]: [
3067
+ "BILL_COMPLETED",
3068
+ "FEEDBACK",
3069
+ "MEMBERSHIP_JOINED",
3070
+ "TIER_UPGRADED",
3071
+ "SCHEDULE"
3072
+ ],
3073
+ [c.enum.BROADCAST]: [
3074
+ "SCHEDULE",
3075
+ "ISSUE_REWARD",
3076
+ "FEEDBACK"
3077
+ ],
3078
+ [c.enum.COIN]: [
3079
+ "BILL_COMPLETED",
3080
+ "FEEDBACK",
3081
+ "MEMBERSHIP_JOINED",
3082
+ "TIER_UPGRADED",
3083
+ "SCHEDULE"
3084
+ ],
3085
+ [c.enum.REWARD_POOL]: ["GAME_COMPLETED"],
3086
+ [c.enum.GAME]: [
3087
+ "BILL_COMPLETED",
3088
+ "FEEDBACK",
3089
+ "MEMBERSHIP_JOINED",
3090
+ "TIER_UPGRADED",
3091
+ "SCHEDULE",
3092
+ "SIMPLE_CLAIM"
3093
+ ],
3094
+ [c.enum.MISSION]: [
3095
+ "BILL_COMPLETED",
3096
+ "FEEDBACK",
3097
+ "SCHEDULE"
3098
+ ]
3099
+ }, St = C.extend({
3100
+ type: e.literal(c.enum.VOUCHER),
3101
+ // event
3102
+ code: e.string().min(0).max(15).regex(/^[A-Za-z0-9\-_.@]*$/, {
3103
+ message: "Code can only contain letters, numbers, and - _ . @"
3104
+ }).optional(),
3105
+ event: m.merge(
3106
+ e.object({
3107
+ type: e.enum(P[c.enum.VOUCHER])
3108
+ })
3109
+ ),
3110
+ earningOption: F.default({
3111
+ amount: 1,
3112
+ type: "FIXED"
3113
+ }),
3114
+ collectible: i,
3115
+ hideInApp: e.boolean().optional(),
3116
+ notify: e.boolean().optional(),
3117
+ notifyMessage: e.lazy(() => w).optional(),
3118
+ notifyCampaign: i.nullish(),
3119
+ pf_collectible: e.lazy(() => A).optional(),
3120
+ pf_notifyCampaign: e.lazy(() => j).optional()
3121
+ }), Or = e.object({
3122
+ gameType: e.string()
3123
+ }), xt = C.extend({
3124
+ type: e.literal(c.enum.PROMOTION),
3125
+ // event
3126
+ event: m.merge(
3127
+ e.object({
3128
+ type: e.enum(P[c.enum.PROMOTION])
3129
+ })
3130
+ ),
3131
+ effect: e.custom().superRefine((t, d) => {
3132
+ t || d.addIssue({
3133
+ code: "custom",
3134
+ path: [],
3135
+ params: {
3136
+ i18n: "connectZodCustom:campaign.effect_required"
3137
+ }
3138
+ });
3139
+ }),
3140
+ gameConfig: Or.nullish()
3141
+ }), Dt = C.extend({
3142
+ type: e.literal(c.enum.POINT),
3143
+ // event
3144
+ event: m.merge(
3145
+ e.object({
3146
+ type: e.enum(P[c.enum.POINT])
3147
+ })
3148
+ ),
3149
+ earningOption: F,
3150
+ collectible: i,
3151
+ notify: e.boolean().optional(),
3152
+ notifyMessage: e.lazy(() => w).optional(),
3153
+ notifyCampaign: i.nullish(),
3154
+ pf_collectible: e.lazy(() => A).optional(),
3155
+ pf_notifyCampaign: e.lazy(() => j).optional()
3156
+ }), Mt = C.extend({
3157
+ type: e.literal(c.enum.CREDIT),
3158
+ // event
3159
+ event: m.merge(
3160
+ e.object({
3161
+ type: e.enum(P[c.enum.CREDIT])
3162
+ })
3163
+ ),
3164
+ earningOption: F,
3165
+ collectible: i,
3166
+ notify: e.boolean().optional(),
3167
+ notifyMessage: e.lazy(() => w).optional(),
3168
+ notifyCampaign: i.nullish(),
3169
+ pf_collectible: e.lazy(() => A).optional(),
3170
+ pf_notifyCampaign: e.lazy(() => j).optional()
3171
+ }), j = C.extend({
3172
+ type: e.literal(c.enum.BROADCAST),
3173
+ // event
3174
+ event: m.merge(
3175
+ e.object({
3176
+ type: e.enum(P[c.enum.BROADCAST])
3177
+ })
3178
+ ),
3179
+ message: w,
3180
+ linkedCampaign: i.nullish()
3181
+ }), Lt = C.extend({
3182
+ type: e.literal(c.enum.COIN),
3183
+ // event
3184
+ event: m.merge(
3185
+ e.object({
3186
+ type: e.enum(P[c.enum.COIN])
3187
+ })
3188
+ ),
3189
+ earningOption: F,
3190
+ collectible: i,
3191
+ notify: e.boolean().optional(),
3192
+ notifyMessage: e.lazy(() => w).optional(),
3193
+ notifyCampaign: i.nullish(),
3194
+ pf_collectible: e.lazy(() => A).optional(),
3195
+ pf_notifyCampaign: e.lazy(() => j).optional()
3196
+ }), Z = C.extend({
3197
+ type: e.literal(c.enum.REWARD_POOL),
3198
+ // event
3199
+ event: m.merge(
3200
+ e.object({
3201
+ type: e.enum(P[c.enum.REWARD_POOL])
3202
+ })
3203
+ ),
3204
+ rewards: e.array(e.lazy(() => Er)).min(1, "Requires at least 1 reward")
3205
+ }), wt = C.extend({
3206
+ type: e.literal(c.enum.GAME),
3207
+ // event
3208
+ event: m.merge(
3209
+ e.object({
3210
+ type: e.enum(P[c.enum.GAME])
3211
+ })
3212
+ ),
3213
+ earningOption: F,
3214
+ collectible: i,
3215
+ game: e.lazy(() => Z).optional(),
3216
+ pf_collectible: e.lazy(() => A).optional(),
3217
+ rewardPool: i.optional()
3218
+ }), jt = C.extend({
3219
+ type: e.literal(c.enum.MISSION),
3220
+ event: m.merge(
3221
+ e.object({
3222
+ type: e.enum(P[c.enum.MISSION])
3223
+ })
3224
+ ),
3225
+ earningOption: F,
3226
+ collectible: i,
3227
+ pf_collectible: e.lazy(() => A).optional(),
3228
+ mission: e.lazy(() => _r),
3229
+ rewards: e.array(e.lazy(() => Ot)).min(1, "Requires at least 1 reward")
3230
+ }), Bt = C.omit({
3231
+ timeframeOptions: !0
3232
+ }).extend({
3233
+ type: e.literal(c.enum.GRAB),
3234
+ event: m.merge(
3235
+ e.object({
3236
+ type: e.enum(P[c.enum.GRAB])
3237
+ })
3238
+ ),
3239
+ business: i,
3240
+ name: e.string().min(1).max(50),
3241
+ targetLocation: e.array(i).nullish(),
3242
+ group: e.string().nullish(),
3243
+ templateId: i.nullish(),
3244
+ // Grab specific fields
3245
+ conditions: ie,
3246
+ quotas: oe,
3247
+ discount: ae,
3248
+ grabCampaignMeta: e.array(
3249
+ e.object({
3250
+ locationId: e.string(),
3251
+ campaignId: e.string()
3252
+ })
3253
+ ).optional(),
3254
+ // Make timeframeOptions required (remove .nullish() from parent)
3255
+ timeframeOptions: dt.superRefine((t, d) => {
3256
+ (!t.start || !t.end) && d.addIssue({
3257
+ code: "custom",
3258
+ path: [],
3259
+ params: {
3260
+ i18n: { key: "timeframe.required" }
3261
+ }
3262
+ }), t.start && t.end && t.end < t.start && d.addIssue({
3263
+ code: "custom",
3264
+ path: [],
3265
+ params: {
3266
+ i18n: { key: "timeframe.end_before_start" }
3267
+ }
3268
+ });
3269
+ })
3270
+ }), Ar = {
3271
+ collectionName: "Campaigns",
3272
+ transform: {
3273
+ _id: "oid",
3274
+ business: "oid",
3275
+ collectible: "oid",
3276
+ templateId: "oid",
3277
+ group: "oid",
3278
+ notifyCampaign: "oid",
3279
+ linkedCampaign: "oid",
3280
+ rewardPool: "oid"
3281
+ },
3282
+ lookups: {
3283
+ business: {
3284
+ fromCollection: "Businesses",
3285
+ as: "pf_business"
3286
+ },
3287
+ targetLocation: {
3288
+ fromCollection: "Locations",
3289
+ as: "pf_targetLocation"
3290
+ },
3291
+ collectible: {
3292
+ fromCollection: "CollectibleConfigs",
3293
+ as: "pf_collectible"
3294
+ },
3295
+ titles: {
3296
+ fromCollection: "CollectibleConfigs",
3297
+ as: "pf_title"
3298
+ },
3299
+ templateId: {
3300
+ fromCollection: "Templates",
3301
+ as: "template"
3302
+ },
3303
+ notifyCampaign: {
3304
+ fromCollection: "Campaigns",
3305
+ as: "pf_notifyCampaign"
3306
+ },
3307
+ rewardPool: {
3308
+ fromCollection: "Campaigns",
3309
+ as: "game"
3310
+ }
3311
+ }
3312
+ }, Xr = e.object({ _id: i }).and(
3313
+ e.discriminatedUnion("type", [
3314
+ Tt,
3315
+ St,
3316
+ xt,
3317
+ Dt,
3318
+ Mt,
3319
+ j,
3320
+ Lt,
3321
+ Z,
3322
+ wt,
3323
+ jt,
3324
+ Bt
3325
+ ])
3326
+ ).describe(b.describe(Ar)), Zr = e.discriminatedUnion("type", [
3327
+ St.extend({
3328
+ business: i.nullish()
3329
+ }),
3330
+ xt.extend({
3331
+ business: i.nullish()
3332
+ }),
3333
+ Dt.extend({
3334
+ business: i.nullish()
3335
+ }),
3336
+ Mt.extend({
3337
+ business: i.nullish()
3338
+ }),
3339
+ j.extend({
3340
+ business: i.nullish()
3341
+ }),
3342
+ Lt.extend({
3343
+ business: i.nullish()
3344
+ }),
3345
+ Z.extend({
3346
+ rewards: e.array(e.lazy(() => Je)).min(1, "Requires at least 1 reward")
3347
+ }),
3348
+ wt.extend({
3349
+ business: i.nullish(),
3350
+ game: Z.extend({
3351
+ business: i.nullish(),
3352
+ rewards: e.array(e.lazy(() => Je)).min(1, "Requires at least 1 reward")
3353
+ })
3354
+ }),
3355
+ jt.extend({
3356
+ business: i.nullish(),
3357
+ rewards: e.array(e.lazy(() => Cr)).min(1, "Requires at least 1 reward")
3358
+ }),
3359
+ Bt.extend({
3360
+ business: i.nullish()
3361
+ })
3362
+ ]);
3363
+ Tt.pick({
3364
+ business: !0,
3365
+ name: !0,
3366
+ image: !0,
3367
+ // url: true,
3368
+ tiers: !0,
3369
+ // titles: true,
3370
+ cardEnable: !0,
3371
+ // design: true,
3372
+ targetLocation: !0,
3373
+ brand: !0,
3374
+ email: !0,
3375
+ freeCreditAsDiscount: !0,
3376
+ allowedPhoneCountries: !0,
3377
+ pf_title: !0,
3378
+ pf_targetLocation: !0
3379
+ }).extend({
3380
+ allowedPhoneCountryDetails: e.array(Kt).nullish()
3381
+ });
3382
+ export {
3383
+ u0 as A,
3384
+ ct as B,
3385
+ X as C,
3386
+ B0 as D,
3387
+ ne as E,
3388
+ Vr as F,
3389
+ P as G,
3390
+ Kr as H,
3391
+ Tt as I,
3392
+ R0 as J,
3393
+ c as a,
3394
+ Gr as b,
3395
+ f as c,
3396
+ kr as d,
3397
+ Br as e,
3398
+ wr as f,
3399
+ Ur as g,
3400
+ jr as h,
3401
+ Lr as i,
3402
+ f0 as j,
3403
+ Xr as k,
3404
+ Hr as l,
3405
+ cr as m,
3406
+ yt as n,
3407
+ rr as o,
3408
+ Et as p,
3409
+ gt as q,
3410
+ m0 as r,
3411
+ Yr as s,
3412
+ Zr as t,
3413
+ Wr as u,
3414
+ Je as v,
3415
+ vr as w,
3416
+ zr as x,
3417
+ Cr as y,
3418
+ _r as z
3419
+ };