@gravity-rail/cli 0.18.1 → 0.21.0
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.
- package/README.md +13 -1
- package/dist/{account-verify-phone-LKTAJQD7.js → account-verify-phone-QJDC57CB.js} +3 -3
- package/dist/{chunk-RO6EEXTM.js → chunk-EGO3LMNZ.js} +9 -2
- package/dist/chunk-EGO3LMNZ.js.map +1 -0
- package/dist/{chunk-PODEUTUQ.js → chunk-IYCL6P6B.js} +85 -35
- package/dist/chunk-IYCL6P6B.js.map +1 -0
- package/dist/{cli-client-context-D81-ym1X.d.ts → cli-client-context-dl4gw0Fb.d.ts} +3 -1
- package/dist/cli-utils.d.ts +68 -3
- package/dist/cli-utils.js +7 -1
- package/dist/gr.js +1686 -180
- package/dist/gr.js.map +1 -1
- package/dist/lib.d.ts +32 -3
- package/dist/lib.js +988 -97
- package/dist/lib.js.map +1 -1
- package/package.json +4 -4
- package/dist/chunk-PODEUTUQ.js.map +0 -1
- package/dist/chunk-RO6EEXTM.js.map +0 -1
- /package/dist/{account-verify-phone-LKTAJQD7.js.map → account-verify-phone-QJDC57CB.js.map} +0 -0
package/dist/gr.js
CHANGED
|
@@ -12,6 +12,7 @@ import readline2__default from 'readline';
|
|
|
12
12
|
import os, { homedir } from 'os';
|
|
13
13
|
import * as readline5 from 'readline/promises';
|
|
14
14
|
import { stdout, stdin } from 'process';
|
|
15
|
+
import { writeFile } from 'fs/promises';
|
|
15
16
|
import { EventEmitter } from 'events';
|
|
16
17
|
|
|
17
18
|
createRequire(import.meta.url);
|
|
@@ -207,7 +208,7 @@ var init_pagination = __esm({
|
|
|
207
208
|
}
|
|
208
209
|
});
|
|
209
210
|
|
|
210
|
-
// ../sdk/dist/chunk-
|
|
211
|
+
// ../sdk/dist/chunk-7OLBLLV7.js
|
|
211
212
|
function getCookieValue(name) {
|
|
212
213
|
if (typeof document === "undefined") return void 0;
|
|
213
214
|
const cookies = document.cookie.split(";");
|
|
@@ -265,8 +266,8 @@ function setOrgAuthHeader(headers2, token) {
|
|
|
265
266
|
headers2.set(orgAuthHeaderName(token), token);
|
|
266
267
|
}
|
|
267
268
|
var ApiError, BaseApiClient;
|
|
268
|
-
var
|
|
269
|
-
"../sdk/dist/chunk-
|
|
269
|
+
var init_chunk_7OLBLLV7 = __esm({
|
|
270
|
+
"../sdk/dist/chunk-7OLBLLV7.js"() {
|
|
270
271
|
ApiError = class extends Error {
|
|
271
272
|
statusCode;
|
|
272
273
|
/** Legacy string-array errors — kept for non-validation callers. */
|
|
@@ -516,7 +517,11 @@ ${formattedErrors}`, response.status);
|
|
|
516
517
|
throw error;
|
|
517
518
|
}
|
|
518
519
|
const errorMessage = typeof errorData.detail === "string" ? errorData.detail : errorData.message || response.statusText;
|
|
519
|
-
|
|
520
|
+
const simpleError = new ApiError(errorMessage, response.status);
|
|
521
|
+
if (typeof errorData.code === "string") {
|
|
522
|
+
simpleError.errorData = errorData;
|
|
523
|
+
}
|
|
524
|
+
throw simpleError;
|
|
520
525
|
}
|
|
521
526
|
if (response.status === 204) {
|
|
522
527
|
return void 0;
|
|
@@ -688,7 +693,7 @@ ${formattedErrors}`, response.status);
|
|
|
688
693
|
var metadata_min_json_default;
|
|
689
694
|
var init_metadata_min_json = __esm({
|
|
690
695
|
"../../node_modules/libphonenumber-js/metadata.min.json.js"() {
|
|
691
|
-
metadata_min_json_default = { "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|[2-467])\\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]))|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)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\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]|3[01]|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", "(?:400|[5-9]\\d\\d)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "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{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[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]))|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]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[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(?:(?: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)|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(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|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]|3[129]|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(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|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])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|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]))|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", ["11|2[16]"], "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{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-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-9]"]], ["(\\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, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?: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[013]|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{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], ["(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\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-7]\\d{7}", [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-79]"], "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{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?: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, [["(?:472[2-47-9]|983[2-57-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[02469]|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{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|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", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?: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}"]]] } };
|
|
696
|
+
metadata_min_json_default = { "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|[2-467])\\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]))|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)?", "(?:[2-7]\\d\\d|8001)\\d{5}", [8, 9], [["(\\d)(\\d{7})", "$1 $2", ["[23]|4[46]|50"]], ["(\\d{8})", "$1", ["[5-7]"]], ["(\\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]|3[01]|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", "(?:400|[5-9]\\d\\d)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[4-9]"]]]], "ET": ["251", "00", "(?:11|[2-57-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-57-9]"], "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{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[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", "[48]\\d{8}|[2-9]\\d{6}", [7, 9], [["(\\d{3})(\\d{4})", "$1 $2", ["[235-9]|4(?:[0-35]|4[16-9])"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[48]"]]]], "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]))|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(?:05|[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]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67)[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(?:(?: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)|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(?:3171|5[15][2-6]|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|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]|3[129]|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(?:[23569]|8[0-57-9])|8[1-6])|7(?:1(?:[013-8]|9[6-9])|3(?:17|2[0-49]|9[2-57])|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])\\d|7(?:[23569]\\d|8[0-57-9])|8(?:[14-6]\\d|2[0-79]))|7(?:1(?:[013-8]\\d|9[6-9])|3(?:2[0-49]|9[2-57])|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]))|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", ["11|2[16]"], "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{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[1-37-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-9]"]], ["(\\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, [["2631[0-6]\\d{4}|26(?:2\\d|30|88)\\d{5}"], ["(?: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[013]|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{2})(\\d{5,7})", "$1 $2", ["1|28|9[2-9]"]], ["(\\d)(\\d{7})", "$1 $2", ["[267]|904"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[346-9]"]]], "0"], "SR": ["597", "00", "(?:[2-5]|[6-9]\\d)\\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-7]\\d{7}", [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$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{3})(\\d{5})", "$1 $2", ["826"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["83"], "0$1"], ["(\\d{2})(\\d{2})(\\d{4})", "$1 $2 $3", ["82"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[25]0|37|49|8[09]"], "0$1"], ["(\\d)(\\d{3,4})(\\d{4})", "$1 $2 $3", ["[23568]|4(?:0[02-48]|[1-478])|7[1-9]", "[23568]|4(?:0[2-48]|[1-478])|(?: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", "20240"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["20[0-35-7]|4(?:6[45]|[7-9])|[7-9]", "20(?:[0135-7]|2[5-9])|4(?:6[45]|[7-9])|[7-9]"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["[2-4]"], "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, [["(?:472[2-47-9]|983[2-57-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[02469]|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{6,7}|7\\d{6}", [7, 8, 9, 10], [["(\\d{4})(\\d{4,6})", "$1 $2", ["1(?:2[02]|[89])"], 0, 1], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[26]|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", "(?:639\\d|7093)\\d{5}|(?:26|80|9\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["26(?:89\\d|9(?: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}"]]] } };
|
|
692
697
|
}
|
|
693
698
|
});
|
|
694
699
|
|
|
@@ -3220,7 +3225,7 @@ var init_libphonenumber_js = __esm({
|
|
|
3220
3225
|
}
|
|
3221
3226
|
});
|
|
3222
3227
|
|
|
3223
|
-
// ../sdk/dist/chunk-
|
|
3228
|
+
// ../sdk/dist/chunk-24L4RD4Z.js
|
|
3224
3229
|
function sanitizePhoneForBackend(phoneNumber) {
|
|
3225
3230
|
try {
|
|
3226
3231
|
let parsed = parsePhoneNumber4(phoneNumber);
|
|
@@ -3343,6 +3348,14 @@ function supportRequestParams(params) {
|
|
|
3343
3348
|
const query = searchParams.toString();
|
|
3344
3349
|
return query ? `?${query}` : "";
|
|
3345
3350
|
}
|
|
3351
|
+
function notesPath(wid, workflowId, noteId, query) {
|
|
3352
|
+
const base = noteId == null ? `w/${wid}/workflows/${workflowId}/notes` : `w/${wid}/workflows/${workflowId}/notes/${noteId}`;
|
|
3353
|
+
if (query?.workflowRevisionId == null) return base;
|
|
3354
|
+
const params = new URLSearchParams({
|
|
3355
|
+
workflowRevisionId: String(query.workflowRevisionId)
|
|
3356
|
+
});
|
|
3357
|
+
return `${base}?${params.toString()}`;
|
|
3358
|
+
}
|
|
3346
3359
|
function withFilters(params, options) {
|
|
3347
3360
|
if (options.dateFrom) params.append("dateFrom", options.dateFrom);
|
|
3348
3361
|
if (options.dateTo) params.append("dateTo", options.dateTo);
|
|
@@ -3374,6 +3387,7 @@ function createApiModules(apiKey, baseUrl3, customFetch) {
|
|
|
3374
3387
|
customToolkits: new CustomToolkitsApi(apiKey, baseUrl3, customFetch),
|
|
3375
3388
|
dashboards: new DashboardsApi(apiKey, baseUrl3, customFetch),
|
|
3376
3389
|
dataTypes: new DataTypesApi(apiKey, baseUrl3, customFetch),
|
|
3390
|
+
devices: new DevicesApi(apiKey, baseUrl3, customFetch),
|
|
3377
3391
|
discordBots: new DiscordBotsApi(apiKey, baseUrl3, customFetch),
|
|
3378
3392
|
slackApps: new SlackAppsApi(apiKey, baseUrl3, customFetch),
|
|
3379
3393
|
teamsApps: new TeamsAppsApi(apiKey, baseUrl3, customFetch),
|
|
@@ -3596,6 +3610,8 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
3596
3610
|
target.getDataRecordChanges = dataTypes.getDataRecordChanges.bind(dataTypes);
|
|
3597
3611
|
target.upsertDataRecord = dataTypes.upsertDataRecord.bind(dataTypes);
|
|
3598
3612
|
target.toggleFieldIndex = dataTypes.toggleFieldIndex.bind(dataTypes);
|
|
3613
|
+
target.previewRenameFieldSlug = dataTypes.previewRenameFieldSlug.bind(dataTypes);
|
|
3614
|
+
target.renameFieldSlug = dataTypes.renameFieldSlug.bind(dataTypes);
|
|
3599
3615
|
target.getFieldIndexStatus = dataTypes.getFieldIndexStatus.bind(dataTypes);
|
|
3600
3616
|
target.validateDataTypeSlug = dataTypes.validateDataTypeSlug.bind(dataTypes);
|
|
3601
3617
|
target.getMemberRecordCounts = dataTypes.getMemberRecordCounts.bind(dataTypes);
|
|
@@ -3606,8 +3622,22 @@ function bindDataTypesMethods(target, dataTypes) {
|
|
|
3606
3622
|
target.deleteDataRecordFilter = dataTypes.deleteDataRecordFilter.bind(dataTypes);
|
|
3607
3623
|
target.getDataRecordFilterCount = dataTypes.getDataRecordFilterCount.bind(dataTypes);
|
|
3608
3624
|
}
|
|
3625
|
+
function bindDevicesMethods(target, devices) {
|
|
3626
|
+
target.getDevices = devices.getDevices.bind(devices);
|
|
3627
|
+
target.getDevice = devices.getDevice.bind(devices);
|
|
3628
|
+
target.getDeviceKinds = devices.getDeviceKinds.bind(devices);
|
|
3629
|
+
target.claimDevicePairing = devices.claimDevicePairing.bind(devices);
|
|
3630
|
+
target.updateDevice = devices.updateDevice.bind(devices);
|
|
3631
|
+
target.revokeDevice = devices.revokeDevice.bind(devices);
|
|
3632
|
+
}
|
|
3609
3633
|
function bindMembersMethods(target, members) {
|
|
3610
3634
|
target.getCurrentMember = members.getCurrentMember.bind(members);
|
|
3635
|
+
target.getMyDataTypes = members.getMyDataTypes.bind(members);
|
|
3636
|
+
target.getMyRecords = members.getMyRecords.bind(members);
|
|
3637
|
+
target.getMemberWorkflowVoices = members.getMemberWorkflowVoices.bind(members);
|
|
3638
|
+
target.previewMemberWorkflowVoice = members.previewMemberWorkflowVoice.bind(members);
|
|
3639
|
+
target.setMemberWorkflowVoice = members.setMemberWorkflowVoice.bind(members);
|
|
3640
|
+
target.clearMemberWorkflowVoice = members.clearMemberWorkflowVoice.bind(members);
|
|
3611
3641
|
target.getOwnedMembers = members.getOwnedMembers.bind(members);
|
|
3612
3642
|
target.switchMember = members.switchMember.bind(members);
|
|
3613
3643
|
target.clearMemberSwitch = members.clearMemberSwitch.bind(members);
|
|
@@ -3698,6 +3728,7 @@ function bindWorkspacesMethods(target, workspaces, signupRequests) {
|
|
|
3698
3728
|
target.updateProduct = workspaces.updateProduct.bind(workspaces);
|
|
3699
3729
|
target.deleteProduct = workspaces.deleteProduct.bind(workspaces);
|
|
3700
3730
|
target.exportWorkspace = workspaces.exportWorkspace.bind(workspaces);
|
|
3731
|
+
target.exportWorkspaceZip = workspaces.exportWorkspaceZip.bind(workspaces);
|
|
3701
3732
|
target.previewWorkspaceImport = workspaces.previewWorkspaceImport.bind(workspaces);
|
|
3702
3733
|
target.importWorkspace = workspaces.importWorkspace.bind(workspaces);
|
|
3703
3734
|
target.previewImportWorkspace = workspaces.previewImportWorkspace.bind(workspaces);
|
|
@@ -3876,6 +3907,8 @@ function bindProjectsMethods(target, projects) {
|
|
|
3876
3907
|
target.getProjects = projects.getProjects.bind(projects);
|
|
3877
3908
|
target.getProject = projects.getProject.bind(projects);
|
|
3878
3909
|
target.getPlan = projects.getPlan.bind(projects);
|
|
3910
|
+
target.updateProject = projects.updateProject.bind(projects);
|
|
3911
|
+
target.updatePlan = projects.updatePlan.bind(projects);
|
|
3879
3912
|
}
|
|
3880
3913
|
function bindEventsMethods(target, events) {
|
|
3881
3914
|
target.getEventRules = events.getEventRules.bind(events);
|
|
@@ -4026,6 +4059,7 @@ function bindCommunicationsMethods(target, phoneNumbers, inboxes, notificationRu
|
|
|
4026
4059
|
target.getInboxEmail = inboxes.getInboxEmail.bind(inboxes);
|
|
4027
4060
|
target.markEmailAsRead = inboxes.markEmailAsRead.bind(inboxes);
|
|
4028
4061
|
target.markEmailAsUnread = inboxes.markEmailAsUnread.bind(inboxes);
|
|
4062
|
+
target.addEmailSenderAsMember = inboxes.addEmailSenderAsMember.bind(inboxes);
|
|
4029
4063
|
target.convertEmail = inboxes.convertEmail.bind(inboxes);
|
|
4030
4064
|
target.downloadEmailAttachment = inboxes.downloadEmailAttachment.bind(inboxes);
|
|
4031
4065
|
target.getInboxThreads = inboxes.getInboxThreads.bind(inboxes);
|
|
@@ -4091,6 +4125,12 @@ function bindBillingMethods(target, apiKeys, subscriptions, reports) {
|
|
|
4091
4125
|
target.addWorkspaceToSubscription = subscriptions.addWorkspaceToSubscription.bind(subscriptions);
|
|
4092
4126
|
target.purchaseCredits = subscriptions.purchaseCredits.bind(subscriptions);
|
|
4093
4127
|
target.createCheckoutSession = subscriptions.createCheckoutSession.bind(subscriptions);
|
|
4128
|
+
target.createMemberCheckoutSession = subscriptions.createMemberCheckoutSession.bind(subscriptions);
|
|
4129
|
+
target.createMemberPortalSession = subscriptions.createMemberPortalSession.bind(subscriptions);
|
|
4130
|
+
target.getMemberSubscriptionStatus = subscriptions.getMemberSubscriptionStatus.bind(subscriptions);
|
|
4131
|
+
target.createDeviceOrderCheckoutSession = subscriptions.createDeviceOrderCheckoutSession.bind(subscriptions);
|
|
4132
|
+
target.listDeviceOrders = subscriptions.listDeviceOrders.bind(subscriptions);
|
|
4133
|
+
target.getCheckoutAttemptStatus = subscriptions.getCheckoutAttemptStatus.bind(subscriptions);
|
|
4094
4134
|
target.listSelfServeProducts = subscriptions.listSelfServeProducts.bind(subscriptions);
|
|
4095
4135
|
target.getAIUsageReport = reports.getAIUsageReport.bind(reports);
|
|
4096
4136
|
target.getSMSUsageReport = reports.getSMSUsageReport.bind(reports);
|
|
@@ -4264,6 +4304,7 @@ function bindIntegrationsMethods(target, mondayIntegration, discordBots, slackAp
|
|
|
4264
4304
|
target.getLinkedSalesforceMembers = salesforce.getLinkedSalesforceMembers.bind(salesforce);
|
|
4265
4305
|
target.getSalesforceSyncConfig = salesforce.getSalesforceSyncConfig.bind(salesforce);
|
|
4266
4306
|
target.updateSalesforceSyncConfig = salesforce.updateSalesforceSyncConfig.bind(salesforce);
|
|
4307
|
+
target.resyncSalesforceLinkedMembers = salesforce.resyncSalesforceLinkedMembers.bind(salesforce);
|
|
4267
4308
|
target.listSalesforceObjects = salesforce.listSalesforceObjects.bind(salesforce);
|
|
4268
4309
|
target.describeSalesforceObject = salesforce.describeSalesforceObject.bind(salesforce);
|
|
4269
4310
|
target.searchSalesforceRecords = salesforce.searchSalesforceRecords.bind(salesforce);
|
|
@@ -4331,6 +4372,7 @@ function bindOrgMethods(target, org) {
|
|
|
4331
4372
|
target.disableOrgDomainEmail = org.disableOrgDomainEmail.bind(org);
|
|
4332
4373
|
target.enableOrgDomainSite = org.enableOrgDomainSite.bind(org);
|
|
4333
4374
|
target.getOrgDomainSite = org.getOrgDomainSite.bind(org);
|
|
4375
|
+
target.preflightOrgDomainSite = org.preflightOrgDomainSite.bind(org);
|
|
4334
4376
|
target.verifyOrgDomainSite = org.verifyOrgDomainSite.bind(org);
|
|
4335
4377
|
target.disableOrgDomainSite = org.disableOrgDomainSite.bind(org);
|
|
4336
4378
|
target.getBusinessProfile = org.getBusinessProfile.bind(org);
|
|
@@ -4477,10 +4519,21 @@ function bindSupportRequestMethods(target, supportRequests) {
|
|
|
4477
4519
|
target.reopenWorkspaceSupportRequest = supportRequests.reopenWorkspaceSupportRequest.bind(supportRequests);
|
|
4478
4520
|
target.clickWorkspaceSupportRequestResource = supportRequests.clickWorkspaceSupportRequestResource.bind(supportRequests);
|
|
4479
4521
|
}
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
|
|
4522
|
+
function getRevisionState(workflow, revision) {
|
|
4523
|
+
const draftIsLive = workflow.activeRevisionId === workflow.draftRevisionId;
|
|
4524
|
+
const hasUnpublishedChanges = workflow.draftModifiedAt != null;
|
|
4525
|
+
return {
|
|
4526
|
+
isActive: revision != null && revision.id === workflow.activeRevisionId,
|
|
4527
|
+
isDraft: revision != null && revision.id === workflow.draftRevisionId,
|
|
4528
|
+
draftIsLive,
|
|
4529
|
+
hasUnpublishedChanges,
|
|
4530
|
+
state: revision?.publishedAt != null ? "published" : "draft"
|
|
4531
|
+
};
|
|
4532
|
+
}
|
|
4533
|
+
var AbilitiesApi, AccessGrantsApi, AgentTasksApi, AgentsApi, AIModelsApi, ApiKeysApi, AppsApi, AssignmentsApi, VoiceApi, AuthApi, BuildersApi, CalendarsApi, CallsApi, CELApi, ChatsApi, ConfluenceApi, CustomToolkitsApi, DataTypesApi, DiscordBotsApi, SlackAppsApi, EventsApi, FeaturesApi, FhirConnectionsApi, InboundFaxStatus, DocumoFaxApi, HealthieApi, FilesApi, InboxesApi, InquiriesApi, AppConnectionsApi, McpServersApi, MemberImportValidationError, MembersApi, MondayIntegrationApi, NotificationRulesApi, OperatorApi, OrgApi, OAuthConnectionsApi, OAuthApi, PhoneNumbersApi, PronunciationsApi, PromptsApi, PersonasApi, QueriesApi, QualificationsApi, ReportsApi, SalesforceApi, ConnectionSyncApi, HubspotApi, SitesApi, SubscriptionsApi, SupportRequestsApi, CustomersApi, ResellersApi, SupervisorsApi, TasksApi, TemplatesApi, ToolkitsApi, JourneysApi, WorkflowsApi, WorkflowNotesApi, EventRuleObjectType, EventRuleEventType, EventRuleActionType, DriverMode, WorkspaceInvitationsApi, WorkspacesApi, DashboardsApi, DevicesApi, TeamsAppsApi, ExperimentsApi, PatientSyncConnectionsApi, ActivityTimelineApi, MotdApi, InterventionRequestsApi, MetricsApi, ProjectsApi, TrackedLinksApi, WORKSPACE_METHOD_NAMES, WORKSPACE_METHOD_NAME_SET, GravityRailClient, WIDGET_SLUGS, CHAT_TYPES, BUILTIN_ASSISTANT_CHAT_TYPES, MEMBER_AGENT_CHAT_TYPES;
|
|
4534
|
+
var init_chunk_24L4RD4Z = __esm({
|
|
4535
|
+
"../sdk/dist/chunk-24L4RD4Z.js"() {
|
|
4536
|
+
init_chunk_7OLBLLV7();
|
|
4484
4537
|
init_libphonenumber_js();
|
|
4485
4538
|
AbilitiesApi = class extends BaseApiClient {
|
|
4486
4539
|
/**
|
|
@@ -4675,6 +4728,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
4675
4728
|
if (options.search) params.append("search", options.search);
|
|
4676
4729
|
if (options.includeArchived)
|
|
4677
4730
|
params.append("includeArchived", options.includeArchived.toString());
|
|
4731
|
+
if (options.owner) params.append("owner", options.owner);
|
|
4678
4732
|
return this.fetch(
|
|
4679
4733
|
`w/${wid}/agents${params.toString() ? `?${params.toString()}` : ""}`
|
|
4680
4734
|
);
|
|
@@ -5042,33 +5096,36 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
5042
5096
|
});
|
|
5043
5097
|
}
|
|
5044
5098
|
/** Initiate SMS login by sending a verification code to the given phone number. */
|
|
5045
|
-
async login(phoneNumber, wid, organizationUuid) {
|
|
5099
|
+
async login(phoneNumber, wid, organizationUuid, isSignUp = false) {
|
|
5046
5100
|
const params = new URLSearchParams();
|
|
5047
5101
|
if (wid) params.append("wid", wid);
|
|
5048
5102
|
const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
|
|
5049
5103
|
if (organizationUuid) body.organizationUuid = organizationUuid;
|
|
5104
|
+
if (isSignUp) body.isSignUp = true;
|
|
5050
5105
|
return await this.fetch(`auth/login?${params.toString()}`, {
|
|
5051
5106
|
method: "POST",
|
|
5052
5107
|
body: JSON.stringify(body)
|
|
5053
5108
|
});
|
|
5054
5109
|
}
|
|
5055
5110
|
/** Resend the SMS verification code to the given phone number. */
|
|
5056
|
-
async resendCode(phoneNumber, organizationUuid) {
|
|
5111
|
+
async resendCode(phoneNumber, organizationUuid, isSignUp = false) {
|
|
5057
5112
|
const body = { phoneNumber: sanitizePhoneForBackend(phoneNumber) };
|
|
5058
5113
|
if (organizationUuid) body.organizationUuid = organizationUuid;
|
|
5114
|
+
if (isSignUp) body.isSignUp = true;
|
|
5059
5115
|
return await this.fetch("auth/resend-code", {
|
|
5060
5116
|
method: "POST",
|
|
5061
5117
|
body: JSON.stringify(body)
|
|
5062
5118
|
});
|
|
5063
5119
|
}
|
|
5064
5120
|
/** Verify an SMS code and complete authentication, handling 2FA if required. */
|
|
5065
|
-
async verifyCodeWith2FA(phoneNumber, code, organizationUuid) {
|
|
5121
|
+
async verifyCodeWith2FA(phoneNumber, code, organizationUuid, isSignUp = false) {
|
|
5066
5122
|
const verifyResponse = await this.fetch("auth/verify-with-2fa", {
|
|
5067
5123
|
method: "POST",
|
|
5068
5124
|
body: JSON.stringify({
|
|
5069
5125
|
phoneNumber: sanitizePhoneForBackend(phoneNumber),
|
|
5070
5126
|
code,
|
|
5071
|
-
organizationUuid
|
|
5127
|
+
organizationUuid,
|
|
5128
|
+
isSignUp
|
|
5072
5129
|
})
|
|
5073
5130
|
});
|
|
5074
5131
|
if (!verifyResponse.requiresTwoFactor && verifyResponse.token) {
|
|
@@ -5318,14 +5375,17 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
5318
5375
|
// ===== CREDENTIAL CHANGE METHODS =====
|
|
5319
5376
|
/**
|
|
5320
5377
|
* Request to change email or phone credential.
|
|
5321
|
-
* Sends an OTP to the NEW credential to verify ownership.
|
|
5378
|
+
* Sends an OTP to the NEW credential to verify ownership. For phone, the
|
|
5379
|
+
* code can be delivered by SMS (default) or read aloud over a voice call
|
|
5380
|
+
* (`deliveryMethod: 'voice'`) so landlines can be verified too.
|
|
5322
5381
|
*/
|
|
5323
|
-
async requestCredentialChange(credentialType, newValue) {
|
|
5382
|
+
async requestCredentialChange(credentialType, newValue, deliveryMethod = "sms") {
|
|
5324
5383
|
return this.fetch("account/request-credential-change", {
|
|
5325
5384
|
method: "POST",
|
|
5326
5385
|
body: JSON.stringify({
|
|
5327
5386
|
credential_type: credentialType,
|
|
5328
|
-
new_value: newValue
|
|
5387
|
+
new_value: newValue,
|
|
5388
|
+
delivery_method: deliveryMethod
|
|
5329
5389
|
})
|
|
5330
5390
|
});
|
|
5331
5391
|
}
|
|
@@ -5603,10 +5663,12 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
5603
5663
|
}
|
|
5604
5664
|
/** Generate or regenerate an iCal feed token for a calendar. */
|
|
5605
5665
|
async generateICalToken(wid, calendarId, regenerate = false) {
|
|
5606
|
-
|
|
5607
|
-
|
|
5608
|
-
|
|
5609
|
-
|
|
5666
|
+
const qs = new URLSearchParams();
|
|
5667
|
+
qs.set("regenerate", regenerate ? "true" : "false");
|
|
5668
|
+
return this.fetch(
|
|
5669
|
+
`w/${wid}/calendars/${calendarId}/ical-token?${qs.toString()}`,
|
|
5670
|
+
{ method: "POST" }
|
|
5671
|
+
);
|
|
5610
5672
|
}
|
|
5611
5673
|
/** Revoke the iCal feed token for a calendar, disabling external feed access. */
|
|
5612
5674
|
async revokeICalToken(wid, calendarId) {
|
|
@@ -6481,6 +6543,34 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
6481
6543
|
async getFieldIndexStatus(wid, dataTypeId, fieldSlug) {
|
|
6482
6544
|
return this.fetch(`w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/index-status`);
|
|
6483
6545
|
}
|
|
6546
|
+
/**
|
|
6547
|
+
* Preview renaming a field's slug — read-only.
|
|
6548
|
+
*
|
|
6549
|
+
* A field slug is the key its answers are stored under, so a rename moves
|
|
6550
|
+
* stored data. This reports whether the new slug is allowed, how many records
|
|
6551
|
+
* would move, and every configured place still naming the old slug (CEL,
|
|
6552
|
+
* templates, sync maps) which this rename does NOT rewrite.
|
|
6553
|
+
*/
|
|
6554
|
+
async previewRenameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
|
|
6555
|
+
return this.fetch(
|
|
6556
|
+
`w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename-preview`,
|
|
6557
|
+
{ method: "POST", body: JSON.stringify({ newSlug }) }
|
|
6558
|
+
);
|
|
6559
|
+
}
|
|
6560
|
+
/**
|
|
6561
|
+
* Rename a field's slug, preserving stored answers.
|
|
6562
|
+
*
|
|
6563
|
+
* The schema change commits synchronously; the answers are moved by the
|
|
6564
|
+
* existing cleanup workflow, so this resolves on ACCEPTANCE, not completion.
|
|
6565
|
+
* Call {@link previewRenameFieldSlug} first — references naming the old slug
|
|
6566
|
+
* are reported, never rewritten.
|
|
6567
|
+
*/
|
|
6568
|
+
async renameFieldSlug(wid, dataTypeId, fieldSlug, newSlug) {
|
|
6569
|
+
return this.fetch(
|
|
6570
|
+
`w/${wid}/data-types/${dataTypeId}/fields/${fieldSlug}/rename`,
|
|
6571
|
+
{ method: "POST", body: JSON.stringify({ newSlug }) }
|
|
6572
|
+
);
|
|
6573
|
+
}
|
|
6484
6574
|
/**
|
|
6485
6575
|
* Validate if a data type slug is available.
|
|
6486
6576
|
* Returns availability and a suggested alternative if taken.
|
|
@@ -6862,6 +6952,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
6862
6952
|
if (options.sortBy) params.append("sortBy", options.sortBy);
|
|
6863
6953
|
if (options.sortOrder) params.append("sortOrder", options.sortOrder);
|
|
6864
6954
|
if (options.owner) params.append("owner", options.owner);
|
|
6955
|
+
if (options.ownerId) params.append("ownerId", options.ownerId.toString());
|
|
6865
6956
|
return this.fetch(
|
|
6866
6957
|
`w/${wid}/routines${params.toString() ? `?${params.toString()}` : ""}`
|
|
6867
6958
|
);
|
|
@@ -7738,6 +7829,23 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
7738
7829
|
body: JSON.stringify({ content })
|
|
7739
7830
|
});
|
|
7740
7831
|
}
|
|
7832
|
+
/**
|
|
7833
|
+
* Make a stored email's sender a Member of this workspace.
|
|
7834
|
+
*
|
|
7835
|
+
* The explicit alternative to auto-signup for inboxes that accept
|
|
7836
|
+
* non-member mail. Requires `members:write` AND `inboxes:read`. Responds
|
|
7837
|
+
* 409 when a Member already holds the address — gate the call on
|
|
7838
|
+
* `Email.senderIsMember` rather than discovering it from the error.
|
|
7839
|
+
*/
|
|
7840
|
+
async addEmailSenderAsMember(wid, inboxId, emailId, body) {
|
|
7841
|
+
return this.fetch(
|
|
7842
|
+
`w/${wid}/inboxes/${inboxId}/emails/${emailId}/add-sender-as-member`,
|
|
7843
|
+
{
|
|
7844
|
+
method: "POST",
|
|
7845
|
+
body: JSON.stringify(body)
|
|
7846
|
+
}
|
|
7847
|
+
);
|
|
7848
|
+
}
|
|
7741
7849
|
/** Convert an email to text, markdown, or PDF format. */
|
|
7742
7850
|
async convertEmail(wid, inboxId, emailId, format = "pdf") {
|
|
7743
7851
|
return this.fetch(
|
|
@@ -8055,6 +8163,54 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
8055
8163
|
async getCurrentMember(wid) {
|
|
8056
8164
|
return this.fetch(`w/${wid}/me`);
|
|
8057
8165
|
}
|
|
8166
|
+
/**
|
|
8167
|
+
* One row per workflow available to the member, with its voice state
|
|
8168
|
+
* (Custom Voice). Own-data-or-scope: a member reads their OWN rows with
|
|
8169
|
+
* no member scope; others need members:read.
|
|
8170
|
+
*/
|
|
8171
|
+
async getMemberWorkflowVoices(wid, memberId) {
|
|
8172
|
+
return this.fetch(
|
|
8173
|
+
`w/${wid}/members/${memberId}/workflow-voices`
|
|
8174
|
+
);
|
|
8175
|
+
}
|
|
8176
|
+
/** Audition a voice the member can pick for this workflow (PCM16). */
|
|
8177
|
+
async previewMemberWorkflowVoice(wid, memberId, workflowId, body) {
|
|
8178
|
+
const response = await this.fetchRaw(
|
|
8179
|
+
`w/${wid}/members/${memberId}/workflow-voices/${workflowId}/preview`,
|
|
8180
|
+
{ method: "POST", body: JSON.stringify(body) }
|
|
8181
|
+
);
|
|
8182
|
+
return response.arrayBuffer();
|
|
8183
|
+
}
|
|
8184
|
+
/** Set the member's preferred voice for one workflow (Custom Voice). */
|
|
8185
|
+
async setMemberWorkflowVoice(wid, memberId, workflowId, body) {
|
|
8186
|
+
return this.fetch(
|
|
8187
|
+
`w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
|
|
8188
|
+
{ method: "PUT", body: JSON.stringify(body) }
|
|
8189
|
+
);
|
|
8190
|
+
}
|
|
8191
|
+
/** Clear the member's preferred voice for one workflow (Custom Voice). */
|
|
8192
|
+
async clearMemberWorkflowVoice(wid, memberId, workflowId) {
|
|
8193
|
+
return this.fetch(
|
|
8194
|
+
`w/${wid}/members/${memberId}/workflow-voices/${workflowId}`,
|
|
8195
|
+
{ method: "DELETE" }
|
|
8196
|
+
);
|
|
8197
|
+
}
|
|
8198
|
+
/**
|
|
8199
|
+
* Member-scoped DataTypes the current member may use (self-access — works
|
|
8200
|
+
* on a Site session, which can hold no records scope by construction).
|
|
8201
|
+
*/
|
|
8202
|
+
async getMyDataTypes(wid) {
|
|
8203
|
+
return this.fetch(`w/${wid}/me/data-types`);
|
|
8204
|
+
}
|
|
8205
|
+
/** The current member's own records for one DataType (self-access). */
|
|
8206
|
+
async getMyRecords(wid, dataTypeId, options) {
|
|
8207
|
+
const params = new URLSearchParams({ data_type_id: String(dataTypeId) });
|
|
8208
|
+
if (options?.page) params.set("page", String(options.page));
|
|
8209
|
+
if (options?.pageSize) params.set("page_size", String(options.pageSize));
|
|
8210
|
+
return this.fetch(
|
|
8211
|
+
`w/${wid}/me/records?${params.toString()}`
|
|
8212
|
+
);
|
|
8213
|
+
}
|
|
8058
8214
|
/**
|
|
8059
8215
|
* Get all members owned by the current member in this workspace.
|
|
8060
8216
|
* Returns the authenticated member plus any members they own (via owner_id).
|
|
@@ -8910,7 +9066,11 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
8910
9066
|
});
|
|
8911
9067
|
}
|
|
8912
9068
|
/**
|
|
8913
|
-
* Get the billing customer
|
|
9069
|
+
* Get the billing customer and this organization's billable subscription.
|
|
9070
|
+
*
|
|
9071
|
+
* `subscriptionId` is the org-scoped row — never pick the customer's
|
|
9072
|
+
* newest subscription from the list endpoint. One customer can bill many
|
|
9073
|
+
* organizations.
|
|
8914
9074
|
*/
|
|
8915
9075
|
async getOrgBillingCustomer(orgIdOrUuid) {
|
|
8916
9076
|
return this.fetch(`o/${orgIdOrUuid}/billing-customer`);
|
|
@@ -9250,6 +9410,17 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
9250
9410
|
async getOrgDomainSite(orgIdOrUuid, domainUuid) {
|
|
9251
9411
|
return this.fetch(`o/${orgIdOrUuid}/domains/${domainUuid}/site`);
|
|
9252
9412
|
}
|
|
9413
|
+
/**
|
|
9414
|
+
* Pre-enable DNS check: is the site CNAME resolving to the routing
|
|
9415
|
+
* endpoint yet? Pure DNS — consumes no enable budget.
|
|
9416
|
+
*/
|
|
9417
|
+
async preflightOrgDomainSite(orgIdOrUuid, domainUuid) {
|
|
9418
|
+
return this.fetch(
|
|
9419
|
+
`o/${orgIdOrUuid}/domains/${domainUuid}/site/preflight`,
|
|
9420
|
+
// Empty JSON body: the route requires one as a CSRF barrier.
|
|
9421
|
+
{ method: "POST", body: JSON.stringify({}) }
|
|
9422
|
+
);
|
|
9423
|
+
}
|
|
9253
9424
|
/**
|
|
9254
9425
|
* Verify the site CNAME points at the Gravity Rail sites domain.
|
|
9255
9426
|
*/
|
|
@@ -9293,10 +9464,10 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
9293
9464
|
* is required — brands register per legal entity (Customer Profile);
|
|
9294
9465
|
* there is no primary-entity fallback.
|
|
9295
9466
|
*/
|
|
9296
|
-
async startA2PRegistration(orgUuid, legalEntityUuid, brandName,
|
|
9467
|
+
async startA2PRegistration(orgUuid, legalEntityUuid, brandName, brandUuid = null) {
|
|
9297
9468
|
return this.fetch(`o/${orgUuid}/phone-numbers/a2p/start`, {
|
|
9298
9469
|
method: "POST",
|
|
9299
|
-
body: JSON.stringify({ legalEntityUuid, brandName,
|
|
9470
|
+
body: JSON.stringify({ legalEntityUuid, brandName, brandUuid })
|
|
9300
9471
|
});
|
|
9301
9472
|
}
|
|
9302
9473
|
/**
|
|
@@ -9400,7 +9571,12 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
9400
9571
|
* Reconcile trust product state against Twilio (discovery + status
|
|
9401
9572
|
* refresh). Returns the refreshed products plus which product keys were
|
|
9402
9573
|
* newly discovered. Responds 409 when another Trust Hub operation holds
|
|
9403
|
-
*
|
|
9574
|
+
* this legal entity's lock, failing fast rather than queueing.
|
|
9575
|
+
*
|
|
9576
|
+
* No `Retry-After` is sent, deliberately (#23601): holders range from a
|
|
9577
|
+
* sub-second JSONB write to a multi-minute Twilio sequence, so no interval
|
|
9578
|
+
* would be honest. Back off on your own schedule, and re-read before
|
|
9579
|
+
* retrying — the operation you collided with may have committed SIDs.
|
|
9404
9580
|
*/
|
|
9405
9581
|
async syncVoiceTrustProducts(orgUuid, legalEntityUuid) {
|
|
9406
9582
|
return this.fetch(
|
|
@@ -9433,6 +9609,16 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
9433
9609
|
async listA2PBrands(orgUuid) {
|
|
9434
9610
|
return this.fetch(`o/${orgUuid}/a2p-brands`);
|
|
9435
9611
|
}
|
|
9612
|
+
/**
|
|
9613
|
+
* Live per-brand campaign use-case eligibility. Approved brands only — a
|
|
9614
|
+
* brand still under TCR review comes back as a structured 412 the picker
|
|
9615
|
+
* renders as the supported-list fallback, not an error.
|
|
9616
|
+
*/
|
|
9617
|
+
async getA2PBrandUseCases(orgUuid, brandUuid) {
|
|
9618
|
+
return this.fetch(
|
|
9619
|
+
`o/${orgUuid}/a2p-brands/${brandUuid}/use-cases`
|
|
9620
|
+
);
|
|
9621
|
+
}
|
|
9436
9622
|
/**
|
|
9437
9623
|
* Fetch a brand's resolved A2P campaign config. The response carries both the
|
|
9438
9624
|
* raw `overrides` and the `resolved` payload (defaults + overrides) the editor
|
|
@@ -10234,6 +10420,26 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
10234
10420
|
}
|
|
10235
10421
|
);
|
|
10236
10422
|
}
|
|
10423
|
+
/**
|
|
10424
|
+
* Pull linked members' Salesforce records now, ignoring the sync cursor.
|
|
10425
|
+
*
|
|
10426
|
+
* The inbound poll only ever returns records modified after the stored
|
|
10427
|
+
* cursor, so a member linked to a record that has not changed since is
|
|
10428
|
+
* unreachable by any poll and its link never receives a field — silently.
|
|
10429
|
+
* This fetches the records by Id and leaves the cursor untouched, so it is
|
|
10430
|
+
* safe to call at any time.
|
|
10431
|
+
*
|
|
10432
|
+
* Omit `memberIds` to resync every linked member (capped server-side).
|
|
10433
|
+
*/
|
|
10434
|
+
async resyncSalesforceLinkedMembers(wid, data = {}) {
|
|
10435
|
+
return this.fetch(
|
|
10436
|
+
`w/${wid}/app-connections/salesforce/sync/resync-members`,
|
|
10437
|
+
{
|
|
10438
|
+
method: "POST",
|
|
10439
|
+
body: JSON.stringify(data)
|
|
10440
|
+
}
|
|
10441
|
+
);
|
|
10442
|
+
}
|
|
10237
10443
|
/**
|
|
10238
10444
|
* List the sObjects available in the connected org.
|
|
10239
10445
|
*
|
|
@@ -10798,6 +11004,62 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
10798
11004
|
headers: { "Content-Type": "application/json" }
|
|
10799
11005
|
});
|
|
10800
11006
|
}
|
|
11007
|
+
/** Purchase a role-granting membership in an existing workspace. */
|
|
11008
|
+
async createMemberCheckoutSession(productId, planPeriod = "month", options = {}) {
|
|
11009
|
+
return this.fetch(`subscriptions/member-checkout-session`, {
|
|
11010
|
+
method: "POST",
|
|
11011
|
+
credentials: "include",
|
|
11012
|
+
body: JSON.stringify({ productId, planPeriod, ...options }),
|
|
11013
|
+
headers: { "Content-Type": "application/json" }
|
|
11014
|
+
});
|
|
11015
|
+
}
|
|
11016
|
+
async getMemberSubscriptionStatus(siteUuidOrOptions) {
|
|
11017
|
+
const options = typeof siteUuidOrOptions === "string" ? { siteUuid: siteUuidOrOptions } : siteUuidOrOptions;
|
|
11018
|
+
const params = new URLSearchParams();
|
|
11019
|
+
if (options.siteUuid) params.set("siteUuid", options.siteUuid);
|
|
11020
|
+
if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
|
|
11021
|
+
return this.fetch(
|
|
11022
|
+
`subscriptions/member-subscription?${params.toString()}`,
|
|
11023
|
+
{ credentials: "include" }
|
|
11024
|
+
);
|
|
11025
|
+
}
|
|
11026
|
+
/** Open Stripe's hosted membership-management portal. */
|
|
11027
|
+
async createMemberPortalSession(options) {
|
|
11028
|
+
return this.fetch(`subscriptions/member-portal-session`, {
|
|
11029
|
+
method: "POST",
|
|
11030
|
+
credentials: "include",
|
|
11031
|
+
body: JSON.stringify(options),
|
|
11032
|
+
headers: { "Content-Type": "application/json" }
|
|
11033
|
+
});
|
|
11034
|
+
}
|
|
11035
|
+
/**
|
|
11036
|
+
* Purchase one physical companion device (one-time payment; Stripe collects
|
|
11037
|
+
* the shipping address in hosted Checkout).
|
|
11038
|
+
*/
|
|
11039
|
+
async createDeviceOrderCheckoutSession(productId, options = {}) {
|
|
11040
|
+
return this.fetch(`device-orders/checkout-session`, {
|
|
11041
|
+
method: "POST",
|
|
11042
|
+
credentials: "include",
|
|
11043
|
+
body: JSON.stringify({ productId, ...options }),
|
|
11044
|
+
headers: { "Content-Type": "application/json" }
|
|
11045
|
+
});
|
|
11046
|
+
}
|
|
11047
|
+
/** List the authenticated Account's own device orders in one workspace. */
|
|
11048
|
+
async listDeviceOrders(options) {
|
|
11049
|
+
const params = new URLSearchParams();
|
|
11050
|
+
if (options.siteUuid) params.set("siteUuid", options.siteUuid);
|
|
11051
|
+
if (options.workspaceUuid) params.set("workspaceUuid", options.workspaceUuid);
|
|
11052
|
+
return this.fetch(`device-orders?${params.toString()}`, {
|
|
11053
|
+
credentials: "include"
|
|
11054
|
+
});
|
|
11055
|
+
}
|
|
11056
|
+
/** Read one authenticated, server-owned checkout attempt. */
|
|
11057
|
+
async getCheckoutAttemptStatus(attemptId) {
|
|
11058
|
+
return this.fetch(
|
|
11059
|
+
`subscriptions/checkout-attempts/${encodeURIComponent(attemptId)}`,
|
|
11060
|
+
{ credentials: "include" }
|
|
11061
|
+
);
|
|
11062
|
+
}
|
|
10801
11063
|
/**
|
|
10802
11064
|
* List self-service, purchasable organization plans or add-ons. Only products
|
|
10803
11065
|
* with a Stripe Price are returned; zero-amount plans are allowed.
|
|
@@ -10976,6 +11238,9 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
10976
11238
|
if (opts?.status) params.set("status", opts.status);
|
|
10977
11239
|
if (opts?.page !== void 0) params.set("page", String(opts.page));
|
|
10978
11240
|
if (opts?.pageSize !== void 0) params.set("page_size", String(opts.pageSize));
|
|
11241
|
+
if (opts?.subscriptionId !== void 0) {
|
|
11242
|
+
params.set("subscription_id", String(opts.subscriptionId));
|
|
11243
|
+
}
|
|
10979
11244
|
const qs = params.toString();
|
|
10980
11245
|
return this.fetch(`customers/${uuid}/subscriptions${qs ? "?" + qs : ""}`);
|
|
10981
11246
|
}
|
|
@@ -11852,31 +12117,47 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
11852
12117
|
}
|
|
11853
12118
|
};
|
|
11854
12119
|
WorkflowNotesApi = class extends BaseApiClient {
|
|
11855
|
-
/** List
|
|
11856
|
-
async getWorkflowNotes(wid, workflowId) {
|
|
11857
|
-
return this.fetch(
|
|
12120
|
+
/** List notes for a workflow root (draft unless `workflowRevisionId` is set). */
|
|
12121
|
+
async getWorkflowNotes(wid, workflowId, query) {
|
|
12122
|
+
return this.fetch(notesPath(wid, workflowId, void 0, query));
|
|
11858
12123
|
}
|
|
11859
|
-
/** Create a new note on a workflow. */
|
|
11860
|
-
async createWorkflowNote(wid, workflowId, data) {
|
|
11861
|
-
return this.fetch(
|
|
12124
|
+
/** Create a new note on a workflow's draft (or a pinned draft revision). */
|
|
12125
|
+
async createWorkflowNote(wid, workflowId, data, query) {
|
|
12126
|
+
return this.fetch(notesPath(wid, workflowId, void 0, query), {
|
|
11862
12127
|
method: "POST",
|
|
11863
12128
|
body: JSON.stringify(data)
|
|
11864
12129
|
});
|
|
11865
12130
|
}
|
|
11866
12131
|
/** Update an existing workflow note with partial data. */
|
|
11867
|
-
async updateWorkflowNote(wid, workflowId, noteId, data) {
|
|
11868
|
-
return this.fetch(
|
|
12132
|
+
async updateWorkflowNote(wid, workflowId, noteId, data, query) {
|
|
12133
|
+
return this.fetch(notesPath(wid, workflowId, noteId, query), {
|
|
11869
12134
|
method: "PUT",
|
|
11870
12135
|
body: JSON.stringify(data)
|
|
11871
12136
|
});
|
|
11872
12137
|
}
|
|
11873
12138
|
/** Delete a workflow note by ID. */
|
|
11874
|
-
async deleteWorkflowNote(wid, workflowId, noteId) {
|
|
11875
|
-
return this.fetch(
|
|
12139
|
+
async deleteWorkflowNote(wid, workflowId, noteId, query) {
|
|
12140
|
+
return this.fetch(notesPath(wid, workflowId, noteId, query), {
|
|
11876
12141
|
method: "DELETE"
|
|
11877
12142
|
});
|
|
11878
12143
|
}
|
|
11879
12144
|
};
|
|
12145
|
+
EventRuleObjectType = /* @__PURE__ */ ((EventRuleObjectType2) => {
|
|
12146
|
+
EventRuleObjectType2["TASK"] = "task";
|
|
12147
|
+
EventRuleObjectType2["WORKSPACE"] = "workspace";
|
|
12148
|
+
EventRuleObjectType2["CHAT"] = "chat";
|
|
12149
|
+
EventRuleObjectType2["DATA_RECORD"] = "data_record";
|
|
12150
|
+
EventRuleObjectType2["MEMBER"] = "member";
|
|
12151
|
+
EventRuleObjectType2["ROUTINE"] = "routine";
|
|
12152
|
+
EventRuleObjectType2["WORKFLOW"] = "workflow";
|
|
12153
|
+
EventRuleObjectType2["CALENDAR"] = "calendar";
|
|
12154
|
+
EventRuleObjectType2["CALENDAR_EVENT_TYPE"] = "calendar_event_type";
|
|
12155
|
+
EventRuleObjectType2["JOURNEY"] = "journey";
|
|
12156
|
+
EventRuleObjectType2["CALL"] = "call";
|
|
12157
|
+
EventRuleObjectType2["VOICEMAIL"] = "voicemail";
|
|
12158
|
+
EventRuleObjectType2["FAX"] = "fax";
|
|
12159
|
+
return EventRuleObjectType2;
|
|
12160
|
+
})(EventRuleObjectType || {});
|
|
11880
12161
|
EventRuleEventType = /* @__PURE__ */ ((EventRuleEventType2) => {
|
|
11881
12162
|
EventRuleEventType2["TASK_EXECUTE"] = "task:execute";
|
|
11882
12163
|
EventRuleEventType2["TASK_ENTER"] = "task:enter";
|
|
@@ -11900,6 +12181,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
11900
12181
|
EventRuleEventType2["CALENDAR_EVENT_CANCELLED"] = "calendar_event:cancelled";
|
|
11901
12182
|
EventRuleEventType2["CALENDAR_EVENT_STARTING"] = "calendar_event:starting";
|
|
11902
12183
|
EventRuleEventType2["CALENDAR_EVENT_ENDED"] = "calendar_event:ended";
|
|
12184
|
+
EventRuleEventType2["CALENDAR_EVENT_NO_SHOW"] = "calendar_event:no_show";
|
|
11903
12185
|
EventRuleEventType2["CONNECTOR_EVENT"] = "connector:event";
|
|
11904
12186
|
EventRuleEventType2["ASSIGNMENT_CONCLUDED"] = "assignment:concluded";
|
|
11905
12187
|
EventRuleEventType2["JOURNEY_STEP_EXECUTE"] = "journey_step:execute";
|
|
@@ -11912,6 +12194,38 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
11912
12194
|
EventRuleEventType2["FAX_RECEIVED"] = "fax:received";
|
|
11913
12195
|
return EventRuleEventType2;
|
|
11914
12196
|
})(EventRuleEventType || {});
|
|
12197
|
+
EventRuleActionType = /* @__PURE__ */ ((EventRuleActionType2) => {
|
|
12198
|
+
EventRuleActionType2["MEMBER_NOTIFY_ACTION"] = "member:notify";
|
|
12199
|
+
EventRuleActionType2["MEMBER_LABEL_ACTION"] = "member:label";
|
|
12200
|
+
EventRuleActionType2["MEMBER_UPSERT"] = "member:upsert";
|
|
12201
|
+
EventRuleActionType2["SEND_WEBHOOK"] = "webhook:send";
|
|
12202
|
+
EventRuleActionType2["SWITCH_TASK_ACTION"] = "task:switch";
|
|
12203
|
+
EventRuleActionType2["ASSISTANT_MESSAGE"] = "assistant:message";
|
|
12204
|
+
EventRuleActionType2["FORM_FIELD_UPDATE"] = "form:update_field";
|
|
12205
|
+
EventRuleActionType2["CEL_MUTATE"] = "record:cel_mutate";
|
|
12206
|
+
EventRuleActionType2["RECORD_COPY_FIELDS"] = "record:copy_fields";
|
|
12207
|
+
EventRuleActionType2["RECORD_UPSERT_LINKED"] = "record:upsert_linked";
|
|
12208
|
+
EventRuleActionType2["RECORD_VERIFY_FIELDS"] = "record:verify_fields";
|
|
12209
|
+
EventRuleActionType2["MESSAGE_VALIDATION"] = "message:validation";
|
|
12210
|
+
EventRuleActionType2["CHAT_CREATE"] = "chat:create";
|
|
12211
|
+
EventRuleActionType2["CHAT_CONTINUE"] = "chat:continue";
|
|
12212
|
+
EventRuleActionType2["CHAT_PAUSE"] = "chat:pause";
|
|
12213
|
+
EventRuleActionType2["CHAT_SUMMARIZE"] = "chat:summarize";
|
|
12214
|
+
EventRuleActionType2["EMAIL_SEND"] = "email:send";
|
|
12215
|
+
EventRuleActionType2["INVOKE_CUSTOM_TOOL"] = "custom_tool:invoke";
|
|
12216
|
+
EventRuleActionType2["MONDAY_UPSERT_ITEM"] = "monday:upsert_item";
|
|
12217
|
+
EventRuleActionType2["MONDAY_REFRESH"] = "monday:refresh";
|
|
12218
|
+
EventRuleActionType2["ASSIGNMENT_CONCLUDE"] = "assignment:conclude";
|
|
12219
|
+
EventRuleActionType2["JOURNEY_ENROLL"] = "journey:enroll";
|
|
12220
|
+
EventRuleActionType2["SMS_SEND"] = "sms:send";
|
|
12221
|
+
EventRuleActionType2["WHATSAPP_SEND"] = "whatsapp:send";
|
|
12222
|
+
EventRuleActionType2["PHONE_CALL"] = "phone:call";
|
|
12223
|
+
EventRuleActionType2["CONNECTION_SYNC"] = "connection:sync";
|
|
12224
|
+
EventRuleActionType2["CONNECTOR_OPERATION"] = "connector:operation";
|
|
12225
|
+
EventRuleActionType2["ECW_REFRESH_MEMBER_ENCOUNTERS"] = "ecw:refresh_member_encounters";
|
|
12226
|
+
EventRuleActionType2["PLAY_AUDIO"] = "audio:play";
|
|
12227
|
+
return EventRuleActionType2;
|
|
12228
|
+
})(EventRuleActionType || {});
|
|
11915
12229
|
DriverMode = /* @__PURE__ */ ((DriverMode2) => {
|
|
11916
12230
|
DriverMode2["AUTO"] = "auto";
|
|
11917
12231
|
DriverMode2["HUMAN"] = "human";
|
|
@@ -12305,6 +12619,13 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12305
12619
|
signal: options?.signal
|
|
12306
12620
|
});
|
|
12307
12621
|
}
|
|
12622
|
+
/** Provision the one-month direct organization plan carried by a promo code. */
|
|
12623
|
+
async startPromoPlanTrial(request) {
|
|
12624
|
+
return this.fetch("promo-codes/plan-trial", {
|
|
12625
|
+
method: "POST",
|
|
12626
|
+
body: JSON.stringify(request)
|
|
12627
|
+
});
|
|
12628
|
+
}
|
|
12308
12629
|
/** Get a publicly accessible product by ID. */
|
|
12309
12630
|
async getPublicProduct(id) {
|
|
12310
12631
|
return this.fetch(`products/${id}`);
|
|
@@ -12355,15 +12676,47 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12355
12676
|
})
|
|
12356
12677
|
});
|
|
12357
12678
|
}
|
|
12358
|
-
/**
|
|
12359
|
-
async
|
|
12679
|
+
/** Download a workspace export ZIP (``export.json`` + file blobs). */
|
|
12680
|
+
async exportWorkspaceZip(wid, workflowId, scope, exclude) {
|
|
12681
|
+
const searchParams = new URLSearchParams();
|
|
12682
|
+
if (workflowId !== void 0) searchParams.set("workflow_id", String(workflowId));
|
|
12683
|
+
if (scope !== void 0) searchParams.set("scope", scope);
|
|
12684
|
+
if (exclude !== void 0) searchParams.set("exclude", exclude);
|
|
12685
|
+
const qs = searchParams.toString();
|
|
12686
|
+
const response = await this.fetchRaw(`w/${wid}/export.zip${qs ? `?${qs}` : ""}`);
|
|
12687
|
+
return response.arrayBuffer();
|
|
12688
|
+
}
|
|
12689
|
+
/** Import workspace configuration from exported JSON, or from a ZIP archive.
|
|
12690
|
+
* Pass ``archive`` (the ZIP from ``exportWorkspaceZip``) to restore file
|
|
12691
|
+
* contents. ``exportData`` may be omitted when the ZIP contains it.
|
|
12692
|
+
*/
|
|
12693
|
+
async importWorkspace(wid, exportData, importMappings, createNew, archive) {
|
|
12694
|
+
const payload = {
|
|
12695
|
+
importMappings,
|
|
12696
|
+
createNew
|
|
12697
|
+
};
|
|
12698
|
+
if (exportData) {
|
|
12699
|
+
payload.exportData = exportData;
|
|
12700
|
+
}
|
|
12701
|
+
if (archive) {
|
|
12702
|
+
const form = new FormData();
|
|
12703
|
+
form.append(
|
|
12704
|
+
"request",
|
|
12705
|
+
new Blob([JSON.stringify(payload)], { type: "application/json" }),
|
|
12706
|
+
"import.json"
|
|
12707
|
+
);
|
|
12708
|
+
form.append("archive", archive, "workspace-export.zip");
|
|
12709
|
+
return this.fetch(`w/${wid}/import.zip`, {
|
|
12710
|
+
method: "POST",
|
|
12711
|
+
body: form
|
|
12712
|
+
});
|
|
12713
|
+
}
|
|
12714
|
+
if (!exportData) {
|
|
12715
|
+
throw new Error("exportData is required for JSON import");
|
|
12716
|
+
}
|
|
12360
12717
|
return this.fetch(`w/${wid}/import`, {
|
|
12361
12718
|
method: "POST",
|
|
12362
|
-
body: JSON.stringify(
|
|
12363
|
-
exportData,
|
|
12364
|
-
importMappings,
|
|
12365
|
-
createNew
|
|
12366
|
-
})
|
|
12719
|
+
body: JSON.stringify(payload)
|
|
12367
12720
|
});
|
|
12368
12721
|
}
|
|
12369
12722
|
/** Preview a workspace import using the legacy untyped interface. */
|
|
@@ -12405,7 +12758,6 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12405
12758
|
* Get billing dashboard data for a workspace.
|
|
12406
12759
|
*
|
|
12407
12760
|
* This endpoint is available to organization owners (with org:info scope).
|
|
12408
|
-
* Superusers should use the admin endpoint via getWorkspaceUsageDashboard.
|
|
12409
12761
|
*
|
|
12410
12762
|
* Returns comprehensive billing information including:
|
|
12411
12763
|
* - Subscription status and plan details
|
|
@@ -12486,6 +12838,42 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12486
12838
|
);
|
|
12487
12839
|
}
|
|
12488
12840
|
};
|
|
12841
|
+
DevicesApi = class extends BaseApiClient {
|
|
12842
|
+
/** List devices visible to the caller (own devices, or all with devices:admin). */
|
|
12843
|
+
async getDevices(wid, options = {}) {
|
|
12844
|
+
const qs = options.mine ? "?mine=true" : "";
|
|
12845
|
+
return this.fetch(`w/${wid}/devices${qs}`);
|
|
12846
|
+
}
|
|
12847
|
+
/** Fetch one device by UUID. Non-owners without devices:admin receive 404. */
|
|
12848
|
+
async getDevice(wid, deviceUuid) {
|
|
12849
|
+
return this.fetch(`w/${wid}/devices/${deviceUuid}`);
|
|
12850
|
+
}
|
|
12851
|
+
/** List shippable companion-device products (Lantern, later SKUs). */
|
|
12852
|
+
async getDeviceKinds(wid) {
|
|
12853
|
+
return this.fetch(`w/${wid}/devices/kinds`);
|
|
12854
|
+
}
|
|
12855
|
+
/** Claim a pairing code shown on a companion device. Requires devices:write. */
|
|
12856
|
+
async claimDevicePairing(wid, body) {
|
|
12857
|
+
return this.fetch(`w/${wid}/devices/pairing/claim`, {
|
|
12858
|
+
method: "POST",
|
|
12859
|
+
body: JSON.stringify(body)
|
|
12860
|
+
});
|
|
12861
|
+
}
|
|
12862
|
+
/** Update display name and/or LAN capability flags. Requires devices:write. */
|
|
12863
|
+
async updateDevice(wid, deviceUuid, body) {
|
|
12864
|
+
return this.fetch(`w/${wid}/devices/${deviceUuid}`, {
|
|
12865
|
+
method: "PATCH",
|
|
12866
|
+
body: JSON.stringify(body)
|
|
12867
|
+
});
|
|
12868
|
+
}
|
|
12869
|
+
/** Revoke a device credential. The device must pair again. Requires devices:write. */
|
|
12870
|
+
async revokeDevice(wid, deviceUuid) {
|
|
12871
|
+
return this.fetch(`w/${wid}/devices/${deviceUuid}/revoke`, {
|
|
12872
|
+
method: "POST",
|
|
12873
|
+
body: JSON.stringify({})
|
|
12874
|
+
});
|
|
12875
|
+
}
|
|
12876
|
+
};
|
|
12489
12877
|
TeamsAppsApi = class extends BaseApiClient {
|
|
12490
12878
|
/**
|
|
12491
12879
|
* List all Teams apps configured for a workspace.
|
|
@@ -12774,6 +13162,20 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12774
13162
|
`w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`
|
|
12775
13163
|
);
|
|
12776
13164
|
}
|
|
13165
|
+
/** Typed update of a project README; absent fields are untouched. */
|
|
13166
|
+
async updateProject(wid, slug, update) {
|
|
13167
|
+
return this.fetch(`w/${wid}/projects/${encodeURIComponent(slug)}`, {
|
|
13168
|
+
method: "PATCH",
|
|
13169
|
+
body: JSON.stringify(update)
|
|
13170
|
+
});
|
|
13171
|
+
}
|
|
13172
|
+
/** Typed update of a plan README; absent fields are untouched. */
|
|
13173
|
+
async updatePlan(wid, slug, plan, update) {
|
|
13174
|
+
return this.fetch(
|
|
13175
|
+
`w/${wid}/projects/${encodeURIComponent(slug)}/plans/${encodeURIComponent(plan)}`,
|
|
13176
|
+
{ method: "PATCH", body: JSON.stringify(update) }
|
|
13177
|
+
);
|
|
13178
|
+
}
|
|
12777
13179
|
};
|
|
12778
13180
|
TrackedLinksApi = class extends BaseApiClient {
|
|
12779
13181
|
/** Header counters plus whether shortening is configured and enabled. */
|
|
@@ -12877,6 +13279,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12877
13279
|
};
|
|
12878
13280
|
WORKSPACE_METHOD_NAMES = [
|
|
12879
13281
|
"activateWorkflowRevision",
|
|
13282
|
+
"addEmailSenderAsMember",
|
|
12880
13283
|
"addGroupMember",
|
|
12881
13284
|
"advanceStep",
|
|
12882
13285
|
"approveWorkspaceInvitation",
|
|
@@ -12907,6 +13310,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
12907
13310
|
"checkAvailability",
|
|
12908
13311
|
"checkSiteDomainAvailability",
|
|
12909
13312
|
"checkSiteSlugAvailability",
|
|
13313
|
+
"claimDevicePairing",
|
|
12910
13314
|
"clearConnectionMemberExclusion",
|
|
12911
13315
|
"clearMemberSwitch",
|
|
12912
13316
|
"clearTrackedLinkDestinations",
|
|
@@ -13094,6 +13498,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13094
13498
|
"exportMembers",
|
|
13095
13499
|
"exportPhoneNumberOutboundAnalyticsCsv",
|
|
13096
13500
|
"exportWorkspace",
|
|
13501
|
+
"exportWorkspaceZip",
|
|
13097
13502
|
"fetchVoicemailAudio",
|
|
13098
13503
|
"fhirBackfillEncounterSync",
|
|
13099
13504
|
"fhirCheckPatientLinks",
|
|
@@ -13190,6 +13595,11 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13190
13595
|
"getConnectionSyncConfig",
|
|
13191
13596
|
"getCredentialUpdateInvites",
|
|
13192
13597
|
"getCurrentMember",
|
|
13598
|
+
"clearMemberWorkflowVoice",
|
|
13599
|
+
"getMemberWorkflowVoices",
|
|
13600
|
+
"getMyDataTypes",
|
|
13601
|
+
"getMyRecords",
|
|
13602
|
+
"setMemberWorkflowVoice",
|
|
13193
13603
|
"getCurrentSmsChat",
|
|
13194
13604
|
"getCustomToolkit",
|
|
13195
13605
|
"getCustomToolkits",
|
|
@@ -13207,6 +13617,9 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13207
13617
|
"getDataTypeByUuid",
|
|
13208
13618
|
"getDataTypeBySlug",
|
|
13209
13619
|
"getDataTypes",
|
|
13620
|
+
"getDevice",
|
|
13621
|
+
"getDeviceKinds",
|
|
13622
|
+
"getDevices",
|
|
13210
13623
|
"getDiscordBot",
|
|
13211
13624
|
"getDiscordBotAccounts",
|
|
13212
13625
|
"getDiscordBotByUuid",
|
|
@@ -13360,6 +13773,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13360
13773
|
"getPublicFolderFiles",
|
|
13361
13774
|
"getPublicProducts",
|
|
13362
13775
|
"previewPromoCode",
|
|
13776
|
+
"startPromoPlanTrial",
|
|
13363
13777
|
"getQualification",
|
|
13364
13778
|
"getQualifications",
|
|
13365
13779
|
"getRecordingInfo",
|
|
@@ -13507,6 +13921,8 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13507
13921
|
"markNotificationAsRead",
|
|
13508
13922
|
"mergeMemberRoles",
|
|
13509
13923
|
"previewImportMembers",
|
|
13924
|
+
"previewMemberWorkflowVoice",
|
|
13925
|
+
"previewRenameFieldSlug",
|
|
13510
13926
|
"previewImportWorkspace",
|
|
13511
13927
|
"previewRoutineWorkflowAccess",
|
|
13512
13928
|
"previewSchedule",
|
|
@@ -13519,6 +13935,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13519
13935
|
"rateMessage",
|
|
13520
13936
|
"getChatFeedback",
|
|
13521
13937
|
"reenrollMember",
|
|
13938
|
+
"renameFieldSlug",
|
|
13522
13939
|
"registerLinkedRolesMetadata",
|
|
13523
13940
|
"registerPushSubscription",
|
|
13524
13941
|
"reindexFolder",
|
|
@@ -13538,6 +13955,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13538
13955
|
"restoreFileVersion",
|
|
13539
13956
|
"revokeAccessGrant",
|
|
13540
13957
|
"revokeApiKey",
|
|
13958
|
+
"revokeDevice",
|
|
13541
13959
|
"revokeICalToken",
|
|
13542
13960
|
"runRoutine",
|
|
13543
13961
|
"searchEventRules",
|
|
@@ -13608,6 +14026,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13608
14026
|
"updateDataRecord",
|
|
13609
14027
|
"updateDataRecordFilter",
|
|
13610
14028
|
"updateDataType",
|
|
14029
|
+
"updateDevice",
|
|
13611
14030
|
"updateDiscordBot",
|
|
13612
14031
|
"updateEventAttendee",
|
|
13613
14032
|
"updateEventRule",
|
|
@@ -13641,9 +14060,12 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13641
14060
|
"updatePersona",
|
|
13642
14061
|
"updatePhoneNumber",
|
|
13643
14062
|
"updatePlatformApp",
|
|
14063
|
+
"updatePlan",
|
|
13644
14064
|
"updateProduct",
|
|
14065
|
+
"updateProject",
|
|
13645
14066
|
"updateRoutine",
|
|
13646
14067
|
"updateSalesforceSyncConfig",
|
|
14068
|
+
"resyncSalesforceLinkedMembers",
|
|
13647
14069
|
"updateScenario",
|
|
13648
14070
|
"updateSite",
|
|
13649
14071
|
"updateSiteSharing",
|
|
@@ -13775,6 +14197,8 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13775
14197
|
getDataRecordChanges;
|
|
13776
14198
|
upsertDataRecord;
|
|
13777
14199
|
toggleFieldIndex;
|
|
14200
|
+
previewRenameFieldSlug;
|
|
14201
|
+
renameFieldSlug;
|
|
13778
14202
|
getFieldIndexStatus;
|
|
13779
14203
|
validateDataTypeSlug;
|
|
13780
14204
|
getMemberRecordCounts;
|
|
@@ -13786,6 +14210,12 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
13786
14210
|
getDataRecordFilterCount;
|
|
13787
14211
|
// Members API
|
|
13788
14212
|
getCurrentMember;
|
|
14213
|
+
getMyDataTypes;
|
|
14214
|
+
getMyRecords;
|
|
14215
|
+
getMemberWorkflowVoices;
|
|
14216
|
+
previewMemberWorkflowVoice;
|
|
14217
|
+
setMemberWorkflowVoice;
|
|
14218
|
+
clearMemberWorkflowVoice;
|
|
13789
14219
|
getOwnedMembers;
|
|
13790
14220
|
switchMember;
|
|
13791
14221
|
clearMemberSwitch;
|
|
@@ -14020,11 +14450,13 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14020
14450
|
getWorkspaceProduct;
|
|
14021
14451
|
getPublicProducts;
|
|
14022
14452
|
previewPromoCode;
|
|
14453
|
+
startPromoPlanTrial;
|
|
14023
14454
|
getPublicProduct;
|
|
14024
14455
|
createProduct;
|
|
14025
14456
|
updateProduct;
|
|
14026
14457
|
deleteProduct;
|
|
14027
14458
|
exportWorkspace;
|
|
14459
|
+
exportWorkspaceZip;
|
|
14028
14460
|
previewWorkspaceImport;
|
|
14029
14461
|
importWorkspace;
|
|
14030
14462
|
previewImportWorkspace;
|
|
@@ -14051,6 +14483,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14051
14483
|
disableOrgDomainEmail;
|
|
14052
14484
|
enableOrgDomainSite;
|
|
14053
14485
|
getOrgDomainSite;
|
|
14486
|
+
preflightOrgDomainSite;
|
|
14054
14487
|
verifyOrgDomainSite;
|
|
14055
14488
|
disableOrgDomainSite;
|
|
14056
14489
|
getBusinessProfile;
|
|
@@ -14187,6 +14620,8 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14187
14620
|
getProjects;
|
|
14188
14621
|
getProject;
|
|
14189
14622
|
getPlan;
|
|
14623
|
+
updateProject;
|
|
14624
|
+
updatePlan;
|
|
14190
14625
|
resolveFilePath;
|
|
14191
14626
|
downloadFilesZip;
|
|
14192
14627
|
createFile;
|
|
@@ -14357,6 +14792,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14357
14792
|
getInboxEmail;
|
|
14358
14793
|
markEmailAsRead;
|
|
14359
14794
|
markEmailAsUnread;
|
|
14795
|
+
addEmailSenderAsMember;
|
|
14360
14796
|
convertEmail;
|
|
14361
14797
|
downloadEmailAttachment;
|
|
14362
14798
|
getInboxThreads;
|
|
@@ -14405,6 +14841,13 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14405
14841
|
getFeatureRegistry;
|
|
14406
14842
|
getPublicFeatureRegistry;
|
|
14407
14843
|
getFeatureBySlug;
|
|
14844
|
+
// Devices API
|
|
14845
|
+
getDevices;
|
|
14846
|
+
getDevice;
|
|
14847
|
+
getDeviceKinds;
|
|
14848
|
+
claimDevicePairing;
|
|
14849
|
+
updateDevice;
|
|
14850
|
+
revokeDevice;
|
|
14408
14851
|
// Billing API
|
|
14409
14852
|
getApiKeys;
|
|
14410
14853
|
createApiKey;
|
|
@@ -14420,6 +14863,12 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14420
14863
|
addWorkspaceToSubscription;
|
|
14421
14864
|
purchaseCredits;
|
|
14422
14865
|
createCheckoutSession;
|
|
14866
|
+
createMemberCheckoutSession;
|
|
14867
|
+
createMemberPortalSession;
|
|
14868
|
+
getMemberSubscriptionStatus;
|
|
14869
|
+
createDeviceOrderCheckoutSession;
|
|
14870
|
+
listDeviceOrders;
|
|
14871
|
+
getCheckoutAttemptStatus;
|
|
14423
14872
|
listSelfServeProducts;
|
|
14424
14873
|
getAIUsageReport;
|
|
14425
14874
|
getSMSUsageReport;
|
|
@@ -14599,6 +15048,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14599
15048
|
getLinkedSalesforceMembers;
|
|
14600
15049
|
getSalesforceSyncConfig;
|
|
14601
15050
|
updateSalesforceSyncConfig;
|
|
15051
|
+
resyncSalesforceLinkedMembers;
|
|
14602
15052
|
listSalesforceObjects;
|
|
14603
15053
|
describeSalesforceObject;
|
|
14604
15054
|
searchSalesforceRecords;
|
|
@@ -14701,6 +15151,7 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14701
15151
|
bindChatsMethods(this, apis.chats);
|
|
14702
15152
|
bindCallsMethods(this, apis.calls, apis.cel);
|
|
14703
15153
|
bindDataTypesMethods(this, apis.dataTypes);
|
|
15154
|
+
bindDevicesMethods(this, apis.devices);
|
|
14704
15155
|
bindMembersMethods(this, apis.members);
|
|
14705
15156
|
bindAgentTasksMethods(this, apis.agentTasks);
|
|
14706
15157
|
bindAgentsMethods(this, apis.agents);
|
|
@@ -14888,9 +15339,9 @@ var init_chunk_PUIYXJSZ = __esm({
|
|
|
14888
15339
|
}
|
|
14889
15340
|
});
|
|
14890
15341
|
|
|
14891
|
-
// ../sdk/dist/chunk-
|
|
14892
|
-
var
|
|
14893
|
-
"../sdk/dist/chunk-
|
|
15342
|
+
// ../sdk/dist/chunk-3HAV5XUJ.js
|
|
15343
|
+
var init_chunk_3HAV5XUJ = __esm({
|
|
15344
|
+
"../sdk/dist/chunk-3HAV5XUJ.js"() {
|
|
14894
15345
|
}
|
|
14895
15346
|
});
|
|
14896
15347
|
|
|
@@ -14898,9 +15349,9 @@ var init_chunk_2YLKG4TT = __esm({
|
|
|
14898
15349
|
var SEARCHABLE_EVENT_RULE_SOURCE_FIELDS;
|
|
14899
15350
|
var init_dist = __esm({
|
|
14900
15351
|
"../sdk/dist/index.js"() {
|
|
14901
|
-
|
|
14902
|
-
|
|
14903
|
-
|
|
15352
|
+
init_chunk_24L4RD4Z();
|
|
15353
|
+
init_chunk_3HAV5XUJ();
|
|
15354
|
+
init_chunk_7OLBLLV7();
|
|
14904
15355
|
SEARCHABLE_EVENT_RULE_SOURCE_FIELDS = [
|
|
14905
15356
|
"taskId",
|
|
14906
15357
|
"dataTypeId",
|
|
@@ -15117,7 +15568,7 @@ var init_credentials_manager = __esm({
|
|
|
15117
15568
|
isCredentialShape(value) {
|
|
15118
15569
|
if (!value || typeof value !== "object") return false;
|
|
15119
15570
|
const v = value;
|
|
15120
|
-
const hasOAuth = typeof v.clientId === "string" &&
|
|
15571
|
+
const hasOAuth = typeof v.clientId === "string" && v.clientId.length > 0;
|
|
15121
15572
|
const hasToken = typeof v.accessToken === "string" && v.accessToken.length > 0;
|
|
15122
15573
|
return hasOAuth || hasToken;
|
|
15123
15574
|
}
|
|
@@ -15460,6 +15911,19 @@ function startCallbackServer() {
|
|
|
15460
15911
|
timeout.unref();
|
|
15461
15912
|
});
|
|
15462
15913
|
}
|
|
15914
|
+
async function fetchFirstPartyClientId(envConfig) {
|
|
15915
|
+
try {
|
|
15916
|
+
const response = await fetch(`${envConfig.apiUrl}/.well-known/oauth-authorization-server`, {
|
|
15917
|
+
headers: { Accept: "application/json" }
|
|
15918
|
+
});
|
|
15919
|
+
if (!response.ok) return null;
|
|
15920
|
+
const metadata = await response.json();
|
|
15921
|
+
const clientId = metadata[FIRST_PARTY_CLIENT_METADATA_FIELD];
|
|
15922
|
+
return typeof clientId === "string" && clientId.length > 0 ? clientId : null;
|
|
15923
|
+
} catch {
|
|
15924
|
+
return null;
|
|
15925
|
+
}
|
|
15926
|
+
}
|
|
15463
15927
|
async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI") {
|
|
15464
15928
|
stderr(" Registering OAuth client...");
|
|
15465
15929
|
const registrationUrl = `${envConfig.apiUrl}/api/v2/oauth/register`;
|
|
@@ -15481,27 +15945,52 @@ async function dynamicClientRegistration(envConfig, clientName = "Gravity CLI")
|
|
|
15481
15945
|
}
|
|
15482
15946
|
return await response.json();
|
|
15483
15947
|
}
|
|
15948
|
+
function tokenRequestAuth(clientId, clientSecret) {
|
|
15949
|
+
if (clientSecret) {
|
|
15950
|
+
const authHeader = Buffer.from(`${clientId}:${clientSecret}`).toString("base64");
|
|
15951
|
+
return {
|
|
15952
|
+
headers: { Authorization: `Basic ${authHeader}` },
|
|
15953
|
+
params: {}
|
|
15954
|
+
};
|
|
15955
|
+
}
|
|
15956
|
+
return { headers: {}, params: { client_id: clientId } };
|
|
15957
|
+
}
|
|
15958
|
+
async function resolveOAuthClient(envConfig, stored, clientName = "Gravity CLI", forceDynamicRegistration = false) {
|
|
15959
|
+
if (!forceDynamicRegistration) {
|
|
15960
|
+
const pinned = await fetchFirstPartyClientId(envConfig);
|
|
15961
|
+
if (pinned) {
|
|
15962
|
+
stderr(" Using the first-party CLI client");
|
|
15963
|
+
return { clientId: pinned };
|
|
15964
|
+
}
|
|
15965
|
+
if (stored?.clientId && stored.clientSecret) {
|
|
15966
|
+
stderr(" Using cached client credentials");
|
|
15967
|
+
return { clientId: stored.clientId, clientSecret: stored.clientSecret };
|
|
15968
|
+
}
|
|
15969
|
+
}
|
|
15970
|
+
const registration = await dynamicClientRegistration(envConfig, clientName);
|
|
15971
|
+
return { clientId: registration.client_id, clientSecret: registration.client_secret };
|
|
15972
|
+
}
|
|
15484
15973
|
async function performOAuthFlow(options) {
|
|
15485
|
-
const {
|
|
15974
|
+
const {
|
|
15975
|
+
env,
|
|
15976
|
+
envConfig,
|
|
15977
|
+
credentialsManager,
|
|
15978
|
+
clientName = "Gravity CLI",
|
|
15979
|
+
profile,
|
|
15980
|
+
startCallback = startCallbackServer,
|
|
15981
|
+
openAuthUrl = openBrowser
|
|
15982
|
+
} = options;
|
|
15486
15983
|
const profileName = credentialsManager.resolveProfileName(profile, env);
|
|
15487
15984
|
let hasRetried = false;
|
|
15985
|
+
let forceDynamicRegistration = false;
|
|
15488
15986
|
while (true) {
|
|
15489
|
-
|
|
15490
|
-
|
|
15491
|
-
|
|
15492
|
-
|
|
15493
|
-
|
|
15494
|
-
|
|
15495
|
-
|
|
15496
|
-
credentialsManager.save(env, creds, profileName);
|
|
15497
|
-
} else {
|
|
15498
|
-
stderr(" Using cached client credentials");
|
|
15499
|
-
}
|
|
15500
|
-
if (!creds.clientId || !creds.clientSecret) {
|
|
15501
|
-
throw new Error("OAuth client credentials missing after registration");
|
|
15502
|
-
}
|
|
15503
|
-
const clientId = creds.clientId;
|
|
15504
|
-
const clientSecret = creds.clientSecret;
|
|
15987
|
+
const stored = credentialsManager.load(env, profileName);
|
|
15988
|
+
const { clientId, clientSecret } = await resolveOAuthClient(
|
|
15989
|
+
envConfig,
|
|
15990
|
+
stored,
|
|
15991
|
+
clientName,
|
|
15992
|
+
forceDynamicRegistration
|
|
15993
|
+
);
|
|
15505
15994
|
const { codeVerifier, codeChallenge } = generatePKCE();
|
|
15506
15995
|
const state = randomBytes(32).toString("base64url");
|
|
15507
15996
|
const authParams = new URLSearchParams({
|
|
@@ -15514,13 +16003,13 @@ async function performOAuthFlow(options) {
|
|
|
15514
16003
|
code_challenge_method: "S256"
|
|
15515
16004
|
});
|
|
15516
16005
|
const authUrl = `${envConfig.apiUrl}/api/v2/oauth/authorize?${authParams}`;
|
|
15517
|
-
const callbackPromise =
|
|
16006
|
+
const callbackPromise = startCallback();
|
|
15518
16007
|
stderr("\n Opening browser for authorization...");
|
|
15519
16008
|
stderr(` Profile: ${profileName}`);
|
|
15520
16009
|
stderr(` If browser doesn't open, visit:
|
|
15521
16010
|
${authUrl}
|
|
15522
16011
|
`);
|
|
15523
|
-
|
|
16012
|
+
openAuthUrl(authUrl);
|
|
15524
16013
|
stderr(" Waiting for authorization (timeout: 5 minutes)...");
|
|
15525
16014
|
let code;
|
|
15526
16015
|
let receivedState;
|
|
@@ -15529,9 +16018,9 @@ async function performOAuthFlow(options) {
|
|
|
15529
16018
|
} catch (err) {
|
|
15530
16019
|
const msg = err instanceof Error ? err.message : String(err);
|
|
15531
16020
|
if (!hasRetried && isOAuthError(msg, "invalid_client")) {
|
|
15532
|
-
stderr("
|
|
15533
|
-
credentialsManager.clear(env, profileName);
|
|
16021
|
+
stderr(" Client rejected by the server, re-registering...");
|
|
15534
16022
|
hasRetried = true;
|
|
16023
|
+
forceDynamicRegistration = true;
|
|
15535
16024
|
continue;
|
|
15536
16025
|
}
|
|
15537
16026
|
throw err;
|
|
@@ -15542,35 +16031,42 @@ async function performOAuthFlow(options) {
|
|
|
15542
16031
|
stderr(" Authorization code received!");
|
|
15543
16032
|
stderr(" Exchanging code for tokens...");
|
|
15544
16033
|
const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
|
|
15545
|
-
const
|
|
16034
|
+
const auth = tokenRequestAuth(clientId, clientSecret);
|
|
15546
16035
|
const tokenResponse = await fetch(tokenUrl, {
|
|
15547
16036
|
method: "POST",
|
|
15548
16037
|
headers: {
|
|
15549
|
-
|
|
16038
|
+
...auth.headers,
|
|
15550
16039
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
15551
16040
|
},
|
|
15552
16041
|
body: new URLSearchParams({
|
|
15553
16042
|
grant_type: "authorization_code",
|
|
15554
16043
|
code,
|
|
15555
16044
|
redirect_uri: REDIRECT_URI,
|
|
15556
|
-
code_verifier: codeVerifier
|
|
16045
|
+
code_verifier: codeVerifier,
|
|
16046
|
+
...auth.params
|
|
15557
16047
|
})
|
|
15558
16048
|
});
|
|
15559
16049
|
if (!tokenResponse.ok) {
|
|
15560
16050
|
const body = await tokenResponse.text();
|
|
15561
16051
|
if (!hasRetried && isOAuthError(body, "invalid_client")) {
|
|
15562
|
-
stderr("
|
|
15563
|
-
credentialsManager.clear(env, profileName);
|
|
16052
|
+
stderr(" Client rejected by the server, re-registering...");
|
|
15564
16053
|
hasRetried = true;
|
|
16054
|
+
forceDynamicRegistration = true;
|
|
15565
16055
|
continue;
|
|
15566
16056
|
}
|
|
15567
16057
|
throw new Error(`Token exchange failed: ${tokenResponse.status} - ${body}`);
|
|
15568
16058
|
}
|
|
15569
16059
|
const tokenData = await tokenResponse.json();
|
|
15570
16060
|
const { accessToken, refreshToken, expiresIn } = validateTokenResponse(tokenData);
|
|
15571
|
-
|
|
15572
|
-
creds
|
|
15573
|
-
|
|
16061
|
+
const clientChanged = stored?.clientId !== clientId;
|
|
16062
|
+
const creds = {
|
|
16063
|
+
...stored ?? {},
|
|
16064
|
+
clientId,
|
|
16065
|
+
clientSecret,
|
|
16066
|
+
accessToken,
|
|
16067
|
+
refreshToken: refreshToken ?? (clientChanged ? void 0 : stored?.refreshToken),
|
|
16068
|
+
expiresAt: new Date(Date.now() + expiresIn * 1e3).toISOString()
|
|
16069
|
+
};
|
|
15574
16070
|
credentialsManager.save(env, creds, profileName);
|
|
15575
16071
|
credentialsManager.setCurrentProfile(env, profileName);
|
|
15576
16072
|
stderr(" Authentication successful!");
|
|
@@ -15578,23 +16074,24 @@ async function performOAuthFlow(options) {
|
|
|
15578
16074
|
}
|
|
15579
16075
|
}
|
|
15580
16076
|
async function refreshAccessToken(envConfig, creds, credentialsManager, env, profile) {
|
|
15581
|
-
if (!creds.refreshToken || !creds.clientId
|
|
16077
|
+
if (!creds.refreshToken || !creds.clientId) {
|
|
15582
16078
|
stderr(" Cannot refresh: missing credentials (re-login required)");
|
|
15583
16079
|
return null;
|
|
15584
16080
|
}
|
|
15585
16081
|
const profileName = credentialsManager.resolveProfileName(profile, env);
|
|
15586
16082
|
const tokenUrl = `${envConfig.apiUrl}/api/v2/oauth/token`;
|
|
15587
|
-
const
|
|
16083
|
+
const auth = tokenRequestAuth(creds.clientId, creds.clientSecret);
|
|
15588
16084
|
try {
|
|
15589
16085
|
const response = await fetch(tokenUrl, {
|
|
15590
16086
|
method: "POST",
|
|
15591
16087
|
headers: {
|
|
15592
|
-
|
|
16088
|
+
...auth.headers,
|
|
15593
16089
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
15594
16090
|
},
|
|
15595
16091
|
body: new URLSearchParams({
|
|
15596
16092
|
grant_type: "refresh_token",
|
|
15597
|
-
refresh_token: creds.refreshToken
|
|
16093
|
+
refresh_token: creds.refreshToken,
|
|
16094
|
+
...auth.params
|
|
15598
16095
|
})
|
|
15599
16096
|
});
|
|
15600
16097
|
if (!response.ok) {
|
|
@@ -15624,10 +16121,12 @@ async function refreshAccessToken(envConfig, creds, credentialsManager, env, pro
|
|
|
15624
16121
|
return null;
|
|
15625
16122
|
}
|
|
15626
16123
|
}
|
|
16124
|
+
var FIRST_PARTY_CLIENT_METADATA_FIELD;
|
|
15627
16125
|
var init_auth = __esm({
|
|
15628
16126
|
"src/cli-utils/auth.ts"() {
|
|
15629
16127
|
init_config();
|
|
15630
16128
|
init_credentials_manager();
|
|
16129
|
+
FIRST_PARTY_CLIENT_METADATA_FIELD = "gravityrail_first_party_cli_client_id";
|
|
15631
16130
|
}
|
|
15632
16131
|
});
|
|
15633
16132
|
async function selectFromList(items, options = {}) {
|
|
@@ -16190,6 +16689,12 @@ function hint(opts, lines) {
|
|
|
16190
16689
|
function stderr2(msg) {
|
|
16191
16690
|
process.stderr.write(msg + "\n");
|
|
16192
16691
|
}
|
|
16692
|
+
async function flushStdout() {
|
|
16693
|
+
if (process.stdout.writableLength === 0) return;
|
|
16694
|
+
await new Promise((resolve3) => {
|
|
16695
|
+
process.stdout.write("", () => resolve3());
|
|
16696
|
+
});
|
|
16697
|
+
}
|
|
16193
16698
|
var COL;
|
|
16194
16699
|
var init_output = __esm({
|
|
16195
16700
|
"src/lib/output.ts"() {
|
|
@@ -16850,7 +17355,10 @@ function parseArgs(defs, argv) {
|
|
|
16850
17355
|
if (!def) {
|
|
16851
17356
|
if ((flagPart.startsWith("--") || flagPart.startsWith("-")) && !KNOWN_GLOBAL_FLAGS.has(flagPart)) {
|
|
16852
17357
|
const knownFlags = allDefs.map((d) => `--${d.name}`).join(", ");
|
|
16853
|
-
const
|
|
17358
|
+
const takesNamedFields = defs.some(
|
|
17359
|
+
(d) => !d.isFlag && d.name !== "id" && d.name !== "uuid"
|
|
17360
|
+
);
|
|
17361
|
+
const dataHint = takesNamedFields ? "" : ` Entity fields are passed as JSON via --data (e.g. --data '{"name":"..."}'), not as individual flags.`;
|
|
16854
17362
|
throw new CLIError(
|
|
16855
17363
|
`Unknown flag "${flagPart}". Known flags: ${knownFlags || "(none)"}.${dataHint}`
|
|
16856
17364
|
);
|
|
@@ -16974,6 +17482,10 @@ init_errors();
|
|
|
16974
17482
|
|
|
16975
17483
|
// src/lib/input.ts
|
|
16976
17484
|
init_errors();
|
|
17485
|
+
var WORKSPACE_EXPORT_ZIP = "__grWorkspaceExportZip";
|
|
17486
|
+
function isWorkspaceExportZip(data) {
|
|
17487
|
+
return typeof data === "object" && data !== null && data[WORKSPACE_EXPORT_ZIP] === true;
|
|
17488
|
+
}
|
|
16977
17489
|
var JSON_BODY_ACTIONS = /* @__PURE__ */ new Set([
|
|
16978
17490
|
"create",
|
|
16979
17491
|
"update",
|
|
@@ -17020,8 +17532,15 @@ async function readJsonInput(args) {
|
|
|
17020
17532
|
}
|
|
17021
17533
|
if (filePath) {
|
|
17022
17534
|
try {
|
|
17023
|
-
const
|
|
17024
|
-
|
|
17535
|
+
const buf = readFileSync(filePath);
|
|
17536
|
+
if (buf.length >= 2 && buf[0] === 80 && buf[1] === 75) {
|
|
17537
|
+
return {
|
|
17538
|
+
[WORKSPACE_EXPORT_ZIP]: true,
|
|
17539
|
+
bytes: buf,
|
|
17540
|
+
path: filePath
|
|
17541
|
+
};
|
|
17542
|
+
}
|
|
17543
|
+
return JSON.parse(buf.toString("utf-8"));
|
|
17025
17544
|
} catch (err) {
|
|
17026
17545
|
if (err instanceof SyntaxError) {
|
|
17027
17546
|
throw new CLIError(`Invalid JSON in file: ${filePath}`);
|
|
@@ -17484,8 +18003,9 @@ var CommandRegistry = class {
|
|
|
17484
18003
|
for (const cmd of matching.sort((a, b) => a.path.join(" ").localeCompare(b.path.join(" ")))) {
|
|
17485
18004
|
const subPath = cmd.path.slice(prefix.length).join(" ") || cmd.path[cmd.path.length - 1];
|
|
17486
18005
|
const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
|
|
17487
|
-
lines.push(` ${subPath.padEnd(28)} ${description}`);
|
|
18006
|
+
lines.push(` ${subPath.padEnd(28)} ${summaryLine(description)}`);
|
|
17488
18007
|
}
|
|
18008
|
+
lines.push("", `Run \`gr ${prefixStr} <command> --help\` for arguments and examples.`);
|
|
17489
18009
|
return lines.join("\n") + "\n";
|
|
17490
18010
|
}
|
|
17491
18011
|
getCommandHelp(cmd) {
|
|
@@ -17550,7 +18070,7 @@ var CommandRegistry = class {
|
|
|
17550
18070
|
if (!seen.has(topWord) && cmd.path.length === 1) {
|
|
17551
18071
|
seen.add(topWord);
|
|
17552
18072
|
const description = inSandbox ? sandboxHelpText(cmd.description) : cmd.description;
|
|
17553
|
-
lines.push(` ${topWord.padEnd(28)} ${description}`);
|
|
18073
|
+
lines.push(` ${topWord.padEnd(28)} ${summaryLine(description)}`);
|
|
17554
18074
|
}
|
|
17555
18075
|
}
|
|
17556
18076
|
const globalOptions = [
|
|
@@ -17582,6 +18102,9 @@ var CommandRegistry = class {
|
|
|
17582
18102
|
return lines.join("\n") + "\n";
|
|
17583
18103
|
}
|
|
17584
18104
|
};
|
|
18105
|
+
function summaryLine(text) {
|
|
18106
|
+
return text.split("\n", 1)[0].trimEnd();
|
|
18107
|
+
}
|
|
17585
18108
|
function sandboxHelpText(text) {
|
|
17586
18109
|
return text.replace(/\byarn gr\b/g, "gr").replace(/\s--allow-write\b/g, "").replace(/\s--profile\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s--account\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "").replace(/\s-w\s+(?:"[^"]+"|'[^']+'|<[^>]+>|\S+)/g, "");
|
|
17587
18110
|
}
|
|
@@ -19264,6 +19787,7 @@ After changing assistant/realtime fields, publish so live traffic picks them up:
|
|
|
19264
19787
|
// src/domains/workflows.ts
|
|
19265
19788
|
init_output();
|
|
19266
19789
|
init_context();
|
|
19790
|
+
init_dist();
|
|
19267
19791
|
var COLUMNS5 = [
|
|
19268
19792
|
{ header: "ID", getValue: (item) => String(item.workflow?.id ?? item.id ?? "") },
|
|
19269
19793
|
{ header: "UUID", getValue: (item) => String(item.workflow?.uuid ?? item.uuid ?? "") },
|
|
@@ -19343,13 +19867,19 @@ var REVISION_LIST_COLUMNS = [
|
|
|
19343
19867
|
{ header: "CREATED", getValue: (r) => r.createdAt ?? "" }
|
|
19344
19868
|
];
|
|
19345
19869
|
function deriveRevisionBadges(revisionId, activeRevisionId, draftRevisionId) {
|
|
19346
|
-
|
|
19347
|
-
|
|
19348
|
-
badges.push("active");
|
|
19349
|
-
}
|
|
19350
|
-
if (draftRevisionId != null && Number(revisionId) === Number(draftRevisionId)) {
|
|
19351
|
-
badges.push("draft");
|
|
19870
|
+
if (revisionId == null || activeRevisionId == null && draftRevisionId == null) {
|
|
19871
|
+
return "";
|
|
19352
19872
|
}
|
|
19873
|
+
const state = getRevisionState(
|
|
19874
|
+
{
|
|
19875
|
+
activeRevisionId: Number(activeRevisionId),
|
|
19876
|
+
draftRevisionId: Number(draftRevisionId)
|
|
19877
|
+
},
|
|
19878
|
+
{ id: Number(revisionId) }
|
|
19879
|
+
);
|
|
19880
|
+
const badges = [];
|
|
19881
|
+
if (state.isActive) badges.push("active");
|
|
19882
|
+
if (state.isDraft) badges.push("draft");
|
|
19353
19883
|
return badges.join("+");
|
|
19354
19884
|
}
|
|
19355
19885
|
var workflowsDomain = {
|
|
@@ -19504,10 +20034,17 @@ var workflowsDomain = {
|
|
|
19504
20034
|
path: ["workflows", "notes", "list"],
|
|
19505
20035
|
description: "List workflow notes",
|
|
19506
20036
|
requiresWorkspace: true,
|
|
19507
|
-
args: [
|
|
20037
|
+
args: [
|
|
20038
|
+
{ name: "workflow-id", description: "Workflow (root) ID", required: true },
|
|
20039
|
+
{ name: "revision-id", description: "Optional revision pin (default: draft)" }
|
|
20040
|
+
],
|
|
19508
20041
|
handler: async ({ ctx, workspace, args }) => {
|
|
19509
20042
|
const workflowId = requireNumber(args, "workflow-id");
|
|
19510
|
-
const
|
|
20043
|
+
const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
|
|
20044
|
+
const notesApi = requireAuth(ctx).apiClient;
|
|
20045
|
+
const result2 = revisionId != null ? await notesApi.getWorkflowNotes(workspace, workflowId, {
|
|
20046
|
+
workflowRevisionId: revisionId
|
|
20047
|
+
}) : await notesApi.getWorkflowNotes(workspace, workflowId);
|
|
19511
20048
|
outputData(result2, ctx, NOTE_COLUMNS);
|
|
19512
20049
|
}
|
|
19513
20050
|
},
|
|
@@ -19516,15 +20053,18 @@ var workflowsDomain = {
|
|
|
19516
20053
|
description: "Create a workflow note",
|
|
19517
20054
|
mutates: true,
|
|
19518
20055
|
requiresWorkspace: true,
|
|
19519
|
-
args: [
|
|
20056
|
+
args: [
|
|
20057
|
+
{ name: "workflow-id", description: "Workflow (root) ID", required: true },
|
|
20058
|
+
{ name: "revision-id", description: "Optional revision pin (default: draft)" }
|
|
20059
|
+
],
|
|
19520
20060
|
handler: async ({ ctx, workspace, args, data }) => {
|
|
19521
20061
|
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
19522
20062
|
const workflowId = requireNumber(args, "workflow-id");
|
|
19523
|
-
const
|
|
19524
|
-
|
|
19525
|
-
|
|
19526
|
-
|
|
19527
|
-
);
|
|
20063
|
+
const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
|
|
20064
|
+
const notesApi = requireAuth(ctx).apiClient;
|
|
20065
|
+
const result2 = revisionId != null ? await notesApi.createWorkflowNote(workspace, workflowId, data, {
|
|
20066
|
+
workflowRevisionId: revisionId
|
|
20067
|
+
}) : await notesApi.createWorkflowNote(workspace, workflowId, data);
|
|
19528
20068
|
outputSingle(result2, ctx, NOTE_COLUMNS);
|
|
19529
20069
|
}
|
|
19530
20070
|
},
|
|
@@ -19534,19 +20074,19 @@ var workflowsDomain = {
|
|
|
19534
20074
|
mutates: true,
|
|
19535
20075
|
requiresWorkspace: true,
|
|
19536
20076
|
args: [
|
|
19537
|
-
{ name: "workflow-id", description: "Workflow ID", required: true },
|
|
19538
|
-
{ name: "id", description: "Note ID", required: true }
|
|
20077
|
+
{ name: "workflow-id", description: "Workflow (root) ID", required: true },
|
|
20078
|
+
{ name: "id", description: "Note ID", required: true },
|
|
20079
|
+
{ name: "revision-id", description: "Optional revision pin (default: draft)" }
|
|
19539
20080
|
],
|
|
19540
20081
|
handler: async ({ ctx, workspace, args, data }) => {
|
|
19541
20082
|
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
19542
20083
|
const workflowId = requireNumber(args, "workflow-id");
|
|
19543
20084
|
const noteId = requireNumber(args, "id");
|
|
19544
|
-
const
|
|
19545
|
-
|
|
19546
|
-
|
|
19547
|
-
|
|
19548
|
-
|
|
19549
|
-
);
|
|
20085
|
+
const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
|
|
20086
|
+
const notesApi = requireAuth(ctx).apiClient;
|
|
20087
|
+
const result2 = revisionId != null ? await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data, {
|
|
20088
|
+
workflowRevisionId: revisionId
|
|
20089
|
+
}) : await notesApi.updateWorkflowNote(workspace, workflowId, noteId, data);
|
|
19550
20090
|
outputSingle(result2, ctx, NOTE_COLUMNS);
|
|
19551
20091
|
}
|
|
19552
20092
|
},
|
|
@@ -19556,13 +20096,22 @@ var workflowsDomain = {
|
|
|
19556
20096
|
mutates: true,
|
|
19557
20097
|
requiresWorkspace: true,
|
|
19558
20098
|
args: [
|
|
19559
|
-
{ name: "workflow-id", description: "Workflow ID", required: true },
|
|
19560
|
-
{ name: "id", description: "Note ID", required: true }
|
|
20099
|
+
{ name: "workflow-id", description: "Workflow (root) ID", required: true },
|
|
20100
|
+
{ name: "id", description: "Note ID", required: true },
|
|
20101
|
+
{ name: "revision-id", description: "Optional revision pin (default: draft)" }
|
|
19561
20102
|
],
|
|
19562
20103
|
handler: async ({ ctx, workspace, args }) => {
|
|
19563
20104
|
const workflowId = requireNumber(args, "workflow-id");
|
|
19564
20105
|
const noteId = requireNumber(args, "id");
|
|
19565
|
-
|
|
20106
|
+
const revisionId = args["revision-id"] != null ? requireNumber(args, "revision-id") : void 0;
|
|
20107
|
+
const notesApi = requireAuth(ctx).apiClient;
|
|
20108
|
+
if (revisionId != null) {
|
|
20109
|
+
await notesApi.deleteWorkflowNote(workspace, workflowId, noteId, {
|
|
20110
|
+
workflowRevisionId: revisionId
|
|
20111
|
+
});
|
|
20112
|
+
} else {
|
|
20113
|
+
await notesApi.deleteWorkflowNote(workspace, workflowId, noteId);
|
|
20114
|
+
}
|
|
19566
20115
|
process.stdout.write(`Deleted workflow note ${noteId}
|
|
19567
20116
|
`);
|
|
19568
20117
|
}
|
|
@@ -19924,6 +20473,126 @@ ${WORKFLOW_FIELD_REFERENCE}`,
|
|
|
19924
20473
|
]
|
|
19925
20474
|
};
|
|
19926
20475
|
|
|
20476
|
+
// ../sdk/dist/helpers.js
|
|
20477
|
+
init_chunk_7OLBLLV7();
|
|
20478
|
+
new TextEncoder();
|
|
20479
|
+
var WORKSPACE_EXPORT_JSON_MEMBER = "export.json";
|
|
20480
|
+
var MAX_EXPORT_JSON_BYTES = 8 * 1024 * 1024;
|
|
20481
|
+
var EOCD_SIGNATURE = 101010256;
|
|
20482
|
+
var CDFH_SIGNATURE = 33639248;
|
|
20483
|
+
var LFH_SIGNATURE = 67324752;
|
|
20484
|
+
var ZIP_STORED = 0;
|
|
20485
|
+
var ZIP_DEFLATED = 8;
|
|
20486
|
+
function requireRange(bytes, start, length) {
|
|
20487
|
+
if (start < 0 || length < 0 || start + length > bytes.length) {
|
|
20488
|
+
throw new Error("ZIP offsets are out of range.");
|
|
20489
|
+
}
|
|
20490
|
+
}
|
|
20491
|
+
function u16(bytes, offset) {
|
|
20492
|
+
requireRange(bytes, offset, 2);
|
|
20493
|
+
return bytes[offset] | bytes[offset + 1] << 8;
|
|
20494
|
+
}
|
|
20495
|
+
function u32(bytes, offset) {
|
|
20496
|
+
requireRange(bytes, offset, 4);
|
|
20497
|
+
return (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] << 24) >>> 0;
|
|
20498
|
+
}
|
|
20499
|
+
async function inflateRaw(data, maxBytes) {
|
|
20500
|
+
if (typeof DecompressionStream === "function") {
|
|
20501
|
+
const stream = new Blob([data]).stream().pipeThrough(new DecompressionStream("deflate-raw"));
|
|
20502
|
+
const reader = stream.getReader();
|
|
20503
|
+
const chunks = [];
|
|
20504
|
+
let total = 0;
|
|
20505
|
+
while (true) {
|
|
20506
|
+
const { done, value } = await reader.read();
|
|
20507
|
+
if (done) break;
|
|
20508
|
+
total += value.byteLength;
|
|
20509
|
+
if (total > maxBytes) {
|
|
20510
|
+
await reader.cancel();
|
|
20511
|
+
throw new Error("ZIP member exceeds the export.json size limit.");
|
|
20512
|
+
}
|
|
20513
|
+
chunks.push(value);
|
|
20514
|
+
}
|
|
20515
|
+
const out = new Uint8Array(total);
|
|
20516
|
+
let offset = 0;
|
|
20517
|
+
for (const chunk of chunks) {
|
|
20518
|
+
out.set(chunk, offset);
|
|
20519
|
+
offset += chunk.byteLength;
|
|
20520
|
+
}
|
|
20521
|
+
return out;
|
|
20522
|
+
}
|
|
20523
|
+
const zlib = await import('zlib');
|
|
20524
|
+
return Uint8Array.from(zlib.inflateRawSync(data, { maxOutputLength: maxBytes }));
|
|
20525
|
+
}
|
|
20526
|
+
function findEocdOffset(bytes) {
|
|
20527
|
+
const min = 22;
|
|
20528
|
+
const maxComment = 65535;
|
|
20529
|
+
const start = Math.max(0, bytes.length - (min + maxComment));
|
|
20530
|
+
for (let i = bytes.length - min; i >= start; i--) {
|
|
20531
|
+
if (u32(bytes, i) !== EOCD_SIGNATURE) continue;
|
|
20532
|
+
const commentLength = u16(bytes, i + 20);
|
|
20533
|
+
if (i + min + commentLength === bytes.length) {
|
|
20534
|
+
return i;
|
|
20535
|
+
}
|
|
20536
|
+
}
|
|
20537
|
+
throw new Error("Not a ZIP archive (missing end-of-central-directory).");
|
|
20538
|
+
}
|
|
20539
|
+
async function extractZipMember(bytes, memberName) {
|
|
20540
|
+
const eocd = findEocdOffset(bytes);
|
|
20541
|
+
const entries = u16(bytes, eocd + 10);
|
|
20542
|
+
let offset = u32(bytes, eocd + 16);
|
|
20543
|
+
for (let i = 0; i < entries; i++) {
|
|
20544
|
+
if (u32(bytes, offset) !== CDFH_SIGNATURE) {
|
|
20545
|
+
throw new Error("ZIP central directory is corrupt.");
|
|
20546
|
+
}
|
|
20547
|
+
requireRange(bytes, offset, 46);
|
|
20548
|
+
const method = u16(bytes, offset + 10);
|
|
20549
|
+
const compressedSize = u32(bytes, offset + 20);
|
|
20550
|
+
const uncompressedSize = u32(bytes, offset + 24);
|
|
20551
|
+
const nameLen = u16(bytes, offset + 28);
|
|
20552
|
+
const extraLen = u16(bytes, offset + 30);
|
|
20553
|
+
const commentLen = u16(bytes, offset + 32);
|
|
20554
|
+
const localOffset = u32(bytes, offset + 42);
|
|
20555
|
+
requireRange(bytes, offset + 46, nameLen);
|
|
20556
|
+
const name = new TextDecoder().decode(bytes.subarray(offset + 46, offset + 46 + nameLen));
|
|
20557
|
+
offset += 46 + nameLen + extraLen + commentLen;
|
|
20558
|
+
requireRange(bytes, offset, 0);
|
|
20559
|
+
if (name !== memberName) continue;
|
|
20560
|
+
if (uncompressedSize === 4294967295 || compressedSize === 4294967295) {
|
|
20561
|
+
throw new Error("ZIP64 members are not supported for export.json.");
|
|
20562
|
+
}
|
|
20563
|
+
if (uncompressedSize > MAX_EXPORT_JSON_BYTES || compressedSize > MAX_EXPORT_JSON_BYTES) {
|
|
20564
|
+
throw new Error("ZIP member exceeds the export.json size limit.");
|
|
20565
|
+
}
|
|
20566
|
+
if (u32(bytes, localOffset) !== LFH_SIGNATURE) {
|
|
20567
|
+
throw new Error(`ZIP local header for ${memberName} is corrupt.`);
|
|
20568
|
+
}
|
|
20569
|
+
const localNameLen = u16(bytes, localOffset + 26);
|
|
20570
|
+
const localExtraLen = u16(bytes, localOffset + 28);
|
|
20571
|
+
const dataStart = localOffset + 30 + localNameLen + localExtraLen;
|
|
20572
|
+
requireRange(bytes, dataStart, compressedSize);
|
|
20573
|
+
const compressed = bytes.subarray(dataStart, dataStart + compressedSize);
|
|
20574
|
+
if (method === ZIP_STORED) {
|
|
20575
|
+
if (compressed.length !== uncompressedSize) {
|
|
20576
|
+
throw new Error("ZIP stored member size does not match the directory.");
|
|
20577
|
+
}
|
|
20578
|
+
return compressed.slice();
|
|
20579
|
+
}
|
|
20580
|
+
if (method === ZIP_DEFLATED) {
|
|
20581
|
+
const inflated = await inflateRaw(compressed, MAX_EXPORT_JSON_BYTES);
|
|
20582
|
+
if (inflated.length !== uncompressedSize) {
|
|
20583
|
+
throw new Error("ZIP deflated member size does not match the directory.");
|
|
20584
|
+
}
|
|
20585
|
+
return inflated;
|
|
20586
|
+
}
|
|
20587
|
+
throw new Error(`Unsupported ZIP compression method ${method} for ${memberName}.`);
|
|
20588
|
+
}
|
|
20589
|
+
throw new Error(`ZIP is missing ${memberName}.`);
|
|
20590
|
+
}
|
|
20591
|
+
async function extractWorkspaceExportJson(bytes) {
|
|
20592
|
+
const raw = await extractZipMember(bytes, WORKSPACE_EXPORT_JSON_MEMBER);
|
|
20593
|
+
return new TextDecoder().decode(raw);
|
|
20594
|
+
}
|
|
20595
|
+
|
|
19927
20596
|
// src/domains/workspaces.ts
|
|
19928
20597
|
init_errors();
|
|
19929
20598
|
init_output();
|
|
@@ -20127,18 +20796,29 @@ Provisioning started. Watch it come up with:
|
|
|
20127
20796
|
{
|
|
20128
20797
|
name: "exclude",
|
|
20129
20798
|
description: 'Comma-separated categories to exclude (e.g. "channels")'
|
|
20799
|
+
},
|
|
20800
|
+
{
|
|
20801
|
+
name: "format",
|
|
20802
|
+
description: "json (default, configuration only) or zip (single archive including files)"
|
|
20803
|
+
},
|
|
20804
|
+
{
|
|
20805
|
+
name: "output",
|
|
20806
|
+
description: "Write the export to this path. Required for --format zip."
|
|
20130
20807
|
}
|
|
20131
20808
|
],
|
|
20132
20809
|
examples: [
|
|
20133
20810
|
"yarn gr workspaces export -w $UUID --env prod",
|
|
20134
20811
|
"yarn gr workspaces export -w $UUID --env prod --scope workflows",
|
|
20135
20812
|
"yarn gr workspaces export -w $UUID --env prod --workflow-id 42",
|
|
20136
|
-
"yarn gr workspaces export -w $UUID --env prod --exclude channels"
|
|
20813
|
+
"yarn gr workspaces export -w $UUID --env prod --exclude channels",
|
|
20814
|
+
"yarn gr workspaces export -w $UUID --env prod --format zip --output export.zip"
|
|
20137
20815
|
],
|
|
20138
20816
|
handler: async ({ ctx, workspace, args }) => {
|
|
20139
20817
|
const scope = args["scope"];
|
|
20140
20818
|
const workflowIdStr = args["workflow-id"];
|
|
20141
20819
|
const exclude = args["exclude"];
|
|
20820
|
+
const outputPath = args["output"];
|
|
20821
|
+
const formatArg = args["format"];
|
|
20142
20822
|
const workflowId = workflowIdStr ? Number(workflowIdStr) : void 0;
|
|
20143
20823
|
if (workflowId !== void 0 && isNaN(workflowId)) {
|
|
20144
20824
|
throw new CLIError("--workflow-id must be a number");
|
|
@@ -20149,12 +20829,39 @@ Provisioning started. Watch it come up with:
|
|
|
20149
20829
|
if (scope && scope !== "workflows") {
|
|
20150
20830
|
throw new CLIError('--scope must be "workflows"');
|
|
20151
20831
|
}
|
|
20152
|
-
const
|
|
20832
|
+
const format = formatArg ?? (outputPath?.toLowerCase().endsWith(".zip") ? "zip" : "json");
|
|
20833
|
+
if (format !== "json" && format !== "zip") {
|
|
20834
|
+
throw new CLIError('--format must be "json" or "zip"');
|
|
20835
|
+
}
|
|
20836
|
+
const client = requireAuth(ctx).apiClient;
|
|
20837
|
+
if (format === "zip") {
|
|
20838
|
+
if (!outputPath) {
|
|
20839
|
+
throw new CLIError("--output is required for ZIP export");
|
|
20840
|
+
}
|
|
20841
|
+
const zip = await client.exportWorkspaceZip(
|
|
20842
|
+
workspace,
|
|
20843
|
+
workflowId,
|
|
20844
|
+
scope,
|
|
20845
|
+
exclude
|
|
20846
|
+
);
|
|
20847
|
+
await writeFile(outputPath, Buffer.from(zip));
|
|
20848
|
+
process.stdout.write(`Saved ZIP export to ${outputPath}
|
|
20849
|
+
`);
|
|
20850
|
+
return;
|
|
20851
|
+
}
|
|
20852
|
+
const result2 = await client.exportWorkspace(
|
|
20153
20853
|
workspace,
|
|
20154
20854
|
workflowId,
|
|
20155
20855
|
scope,
|
|
20156
20856
|
exclude
|
|
20157
20857
|
);
|
|
20858
|
+
if (outputPath) {
|
|
20859
|
+
await writeFile(outputPath, `${JSON.stringify(result2, null, 2)}
|
|
20860
|
+
`);
|
|
20861
|
+
process.stdout.write(`Saved JSON export to ${outputPath}
|
|
20862
|
+
`);
|
|
20863
|
+
return;
|
|
20864
|
+
}
|
|
20158
20865
|
outputSingle(result2, ctx);
|
|
20159
20866
|
}
|
|
20160
20867
|
},
|
|
@@ -20172,11 +20879,25 @@ Provisioning started. Watch it come up with:
|
|
|
20172
20879
|
],
|
|
20173
20880
|
examples: [
|
|
20174
20881
|
"yarn gr workspaces import -w $UUID --env dev --file export.json --create-all",
|
|
20882
|
+
"yarn gr workspaces import -w $UUID --env dev --file export.zip --create-all",
|
|
20175
20883
|
`yarn gr workspaces import -w $UUID --env dev --data '{"exportData": ..., "createNew": ..., "importMappings": {}}'`
|
|
20176
20884
|
],
|
|
20177
20885
|
handler: async ({ ctx, workspace, data, args }) => {
|
|
20178
|
-
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
20179
|
-
|
|
20886
|
+
if (!data) throw new CLIError("JSON or ZIP data required (--data, --file, or stdin)");
|
|
20887
|
+
let archive;
|
|
20888
|
+
let payload;
|
|
20889
|
+
if (isWorkspaceExportZip(data)) {
|
|
20890
|
+
try {
|
|
20891
|
+
payload = JSON.parse(await extractWorkspaceExportJson(data.bytes));
|
|
20892
|
+
} catch (err) {
|
|
20893
|
+
throw new CLIError(
|
|
20894
|
+
err instanceof Error ? err.message : `ZIP is not a workspace export archive: ${data.path}`
|
|
20895
|
+
);
|
|
20896
|
+
}
|
|
20897
|
+
archive = new Blob([Uint8Array.from(data.bytes)]);
|
|
20898
|
+
} else {
|
|
20899
|
+
payload = data;
|
|
20900
|
+
}
|
|
20180
20901
|
const createAll = args["create-all"] === true;
|
|
20181
20902
|
let exportData;
|
|
20182
20903
|
let importMappings;
|
|
@@ -20238,7 +20959,8 @@ Provisioning started. Watch it come up with:
|
|
|
20238
20959
|
workspace,
|
|
20239
20960
|
exportData,
|
|
20240
20961
|
importMappings,
|
|
20241
|
-
createNew
|
|
20962
|
+
createNew,
|
|
20963
|
+
archive
|
|
20242
20964
|
);
|
|
20243
20965
|
outputSingle(result2, ctx);
|
|
20244
20966
|
}
|
|
@@ -21088,6 +21810,50 @@ ${DATA_TYPE_FIELD_REFERENCE}`
|
|
|
21088
21810
|
outputSingle(result2, ctx, COLUMNS9);
|
|
21089
21811
|
}
|
|
21090
21812
|
},
|
|
21813
|
+
// Field-slug rename. Two commands, deliberately: a field slug is the key
|
|
21814
|
+
// its answers are stored under, so preview is the read-only half an
|
|
21815
|
+
// operator runs first and rename is the explicit mutation. Neither is
|
|
21816
|
+
// reachable from `data-types update`, so a rename can never happen as a
|
|
21817
|
+
// side effect of saving a form.
|
|
21818
|
+
{
|
|
21819
|
+
path: ["data-types", "fields", "rename-preview"],
|
|
21820
|
+
description: "Preview renaming a form field slug (read-only)",
|
|
21821
|
+
requiresWorkspace: true,
|
|
21822
|
+
args: [
|
|
21823
|
+
{ name: "data-type-id", description: "Data type ID", required: true },
|
|
21824
|
+
{ name: "slug", description: "Current field slug", required: true },
|
|
21825
|
+
{ name: "new-slug", description: "Proposed new field slug", required: true }
|
|
21826
|
+
],
|
|
21827
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
21828
|
+
const result2 = await requireAuth(ctx).apiClient.previewRenameFieldSlug(
|
|
21829
|
+
workspace,
|
|
21830
|
+
requireNumber(args, "data-type-id"),
|
|
21831
|
+
requireString(args, "slug"),
|
|
21832
|
+
requireString(args, "new-slug")
|
|
21833
|
+
);
|
|
21834
|
+
outputSingle(result2, ctx);
|
|
21835
|
+
}
|
|
21836
|
+
},
|
|
21837
|
+
{
|
|
21838
|
+
path: ["data-types", "fields", "rename"],
|
|
21839
|
+
description: "Rename a form field slug, preserving stored answers",
|
|
21840
|
+
mutates: true,
|
|
21841
|
+
requiresWorkspace: true,
|
|
21842
|
+
args: [
|
|
21843
|
+
{ name: "data-type-id", description: "Data type ID", required: true },
|
|
21844
|
+
{ name: "slug", description: "Current field slug", required: true },
|
|
21845
|
+
{ name: "new-slug", description: "New field slug", required: true }
|
|
21846
|
+
],
|
|
21847
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
21848
|
+
const result2 = await requireAuth(ctx).apiClient.renameFieldSlug(
|
|
21849
|
+
workspace,
|
|
21850
|
+
requireNumber(args, "data-type-id"),
|
|
21851
|
+
requireString(args, "slug"),
|
|
21852
|
+
requireString(args, "new-slug")
|
|
21853
|
+
);
|
|
21854
|
+
outputSingle(result2, ctx);
|
|
21855
|
+
}
|
|
21856
|
+
},
|
|
21091
21857
|
// Data Records sub-resource
|
|
21092
21858
|
{
|
|
21093
21859
|
path: ["data-types", "records", "list"],
|
|
@@ -21192,10 +21958,225 @@ ${DATA_TYPE_FIELD_REFERENCE}`
|
|
|
21192
21958
|
]
|
|
21193
21959
|
};
|
|
21194
21960
|
|
|
21961
|
+
// src/domains/devices.ts
|
|
21962
|
+
init_output();
|
|
21963
|
+
init_context();
|
|
21964
|
+
var DEVICE_COLUMNS = [
|
|
21965
|
+
{ header: "UUID", getValue: (item) => item.uuid ?? "" },
|
|
21966
|
+
{ header: "NAME", getValue: (item) => item.displayName ?? "" },
|
|
21967
|
+
{ header: "KIND", getValue: (item) => item.kindName ?? "" },
|
|
21968
|
+
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
21969
|
+
{ header: "MEMBER", getValue: (item) => String(item.memberId ?? "") },
|
|
21970
|
+
{ header: "REVOKED", getValue: (item) => item.isRevoked ? "yes" : "" },
|
|
21971
|
+
{ header: "LAST SEEN", getValue: (item) => item.lastSeenAt ?? "" },
|
|
21972
|
+
{ header: "FIRMWARE", getValue: (item) => item.firmwareVersion ?? "" }
|
|
21973
|
+
];
|
|
21974
|
+
var KIND_COLUMNS = [
|
|
21975
|
+
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
21976
|
+
{ header: "NAME", getValue: (item) => item.name ?? "" },
|
|
21977
|
+
{ header: "FAMILY", getValue: (item) => item.family ?? "" }
|
|
21978
|
+
];
|
|
21979
|
+
var devicesDomain = {
|
|
21980
|
+
name: "devices",
|
|
21981
|
+
description: "Registered devices: list, inspect, rename, revoke, claim pairing",
|
|
21982
|
+
commands: [
|
|
21983
|
+
{
|
|
21984
|
+
path: ["devices", "list"],
|
|
21985
|
+
description: "List registered devices (all with devices:admin; --mine for the session member\u2019s own)",
|
|
21986
|
+
requiresWorkspace: true,
|
|
21987
|
+
args: [
|
|
21988
|
+
{
|
|
21989
|
+
name: "mine",
|
|
21990
|
+
description: "Only the session member\u2019s own devices",
|
|
21991
|
+
isFlag: true
|
|
21992
|
+
}
|
|
21993
|
+
],
|
|
21994
|
+
examples: ["gr devices list -w $WID", "gr devices list -w $WID --mine"],
|
|
21995
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
21996
|
+
const auth = requireAuth(ctx);
|
|
21997
|
+
const result2 = await auth.apiClient.getDevices(workspace, {
|
|
21998
|
+
mine: args.mine === true
|
|
21999
|
+
});
|
|
22000
|
+
outputData(result2, ctx, DEVICE_COLUMNS);
|
|
22001
|
+
}
|
|
22002
|
+
},
|
|
22003
|
+
{
|
|
22004
|
+
path: ["devices", "get"],
|
|
22005
|
+
description: "Show one device",
|
|
22006
|
+
requiresWorkspace: true,
|
|
22007
|
+
args: [{ name: "uuid", description: "Device UUID", required: true }],
|
|
22008
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
22009
|
+
const auth = requireAuth(ctx);
|
|
22010
|
+
const result2 = await auth.apiClient.getDevice(workspace, requireString(args, "uuid"));
|
|
22011
|
+
outputSingle(result2, ctx, DEVICE_COLUMNS);
|
|
22012
|
+
}
|
|
22013
|
+
},
|
|
22014
|
+
{
|
|
22015
|
+
path: ["devices", "kinds"],
|
|
22016
|
+
description: "List the device catalog (kinds a device can register as)",
|
|
22017
|
+
requiresWorkspace: true,
|
|
22018
|
+
handler: async ({ ctx, workspace }) => {
|
|
22019
|
+
const auth = requireAuth(ctx);
|
|
22020
|
+
const result2 = await auth.apiClient.getDeviceKinds(workspace);
|
|
22021
|
+
outputData(result2, ctx, KIND_COLUMNS);
|
|
22022
|
+
}
|
|
22023
|
+
},
|
|
22024
|
+
{
|
|
22025
|
+
path: ["devices", "update"],
|
|
22026
|
+
description: "Update a device (displayName, lanReceive, lanBroadcast)",
|
|
22027
|
+
mutates: true,
|
|
22028
|
+
requiresWorkspace: true,
|
|
22029
|
+
args: [{ name: "uuid", description: "Device UUID", required: true }],
|
|
22030
|
+
examples: [
|
|
22031
|
+
`gr devices update -w $WID --uuid $UUID --data '{"displayName":"Kitchen Lantern"}' --allow-write`
|
|
22032
|
+
],
|
|
22033
|
+
handler: async ({ ctx, workspace, args, data }) => {
|
|
22034
|
+
const auth = requireAuth(ctx);
|
|
22035
|
+
const result2 = await auth.apiClient.updateDevice(
|
|
22036
|
+
workspace,
|
|
22037
|
+
requireString(args, "uuid"),
|
|
22038
|
+
data ?? {}
|
|
22039
|
+
);
|
|
22040
|
+
outputSingle(result2, ctx, DEVICE_COLUMNS);
|
|
22041
|
+
}
|
|
22042
|
+
},
|
|
22043
|
+
{
|
|
22044
|
+
path: ["devices", "revoke"],
|
|
22045
|
+
description: "Revoke a device credential (the device must pair again)",
|
|
22046
|
+
mutates: true,
|
|
22047
|
+
requiresWorkspace: true,
|
|
22048
|
+
args: [{ name: "uuid", description: "Device UUID", required: true }],
|
|
22049
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
22050
|
+
const auth = requireAuth(ctx);
|
|
22051
|
+
const result2 = await auth.apiClient.revokeDevice(
|
|
22052
|
+
workspace,
|
|
22053
|
+
requireString(args, "uuid")
|
|
22054
|
+
);
|
|
22055
|
+
outputSingle(result2, ctx, DEVICE_COLUMNS);
|
|
22056
|
+
}
|
|
22057
|
+
},
|
|
22058
|
+
{
|
|
22059
|
+
path: ["devices", "claim"],
|
|
22060
|
+
description: "Claim a device pairing code (binds the device to the CLAIMING member \u2014 the normal self-service pairing flow)",
|
|
22061
|
+
mutates: true,
|
|
22062
|
+
requiresWorkspace: true,
|
|
22063
|
+
args: [
|
|
22064
|
+
{ name: "code", description: "Pairing code shown on the device", required: true },
|
|
22065
|
+
{ name: "name", description: "Optional display name", required: false }
|
|
22066
|
+
],
|
|
22067
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
22068
|
+
const auth = requireAuth(ctx);
|
|
22069
|
+
const displayName = optionalString(args, "name");
|
|
22070
|
+
const result2 = await auth.apiClient.claimDevicePairing(workspace, {
|
|
22071
|
+
pairingCode: requireString(args, "code"),
|
|
22072
|
+
...displayName !== void 0 ? { displayName } : {}
|
|
22073
|
+
});
|
|
22074
|
+
outputSingle(result2, ctx, DEVICE_COLUMNS);
|
|
22075
|
+
}
|
|
22076
|
+
}
|
|
22077
|
+
]
|
|
22078
|
+
};
|
|
22079
|
+
|
|
21195
22080
|
// src/domains/events.ts
|
|
21196
22081
|
init_output();
|
|
21197
22082
|
init_pagination();
|
|
21198
22083
|
init_context();
|
|
22084
|
+
init_errors();
|
|
22085
|
+
|
|
22086
|
+
// src/lib/events/action-params.ts
|
|
22087
|
+
var ACTION_PARAM_HINTS = {
|
|
22088
|
+
"chat:create": {
|
|
22089
|
+
summary: "outbound voice/SMS/web \u2014 starts a workflow chat",
|
|
22090
|
+
shape: [
|
|
22091
|
+
'{"workflowUUID":"<workflow-uuid>","channel":"web-chat"|"phone-voice"|"phone-sms",',
|
|
22092
|
+
' "phoneNumberUUID":"<uuid>","inboxUUID":"<optional-uuid>","assistantEnabled":<bool>}'
|
|
22093
|
+
],
|
|
22094
|
+
notes: [
|
|
22095
|
+
"Keys are UUID strings: workflowUUID (not workflowId), phoneNumberUUID (not",
|
|
22096
|
+
"phoneNumberId), inboxUUID (not inboxId). Unknown keys are rejected.",
|
|
22097
|
+
"workflowUUID is the STABLE workflow uuid, not a revision uuid:",
|
|
22098
|
+
" gr workflows get --id <workflow-id> -w $WID --jq .uuid",
|
|
22099
|
+
"phone-voice and phone-sms need a phone at the rule, workflow, or workspace level."
|
|
22100
|
+
]
|
|
22101
|
+
},
|
|
22102
|
+
"sms:send": {
|
|
22103
|
+
summary: "send an SMS, or start an SMS workflow chat",
|
|
22104
|
+
shape: [
|
|
22105
|
+
'One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}',
|
|
22106
|
+
'Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",',
|
|
22107
|
+
' "initialUserMessage":"<optional seed>"}'
|
|
22108
|
+
],
|
|
22109
|
+
notes: [
|
|
22110
|
+
"phoneNumberUUID (the from-number) is required. The message body is messageTemplate",
|
|
22111
|
+
'(supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.',
|
|
22112
|
+
"Provide messageTemplate for a one-off text, OR workflowUUID to start a chat."
|
|
22113
|
+
]
|
|
22114
|
+
},
|
|
22115
|
+
"whatsapp:send": {
|
|
22116
|
+
summary: "send a WhatsApp message, or start a WhatsApp workflow chat",
|
|
22117
|
+
shape: [
|
|
22118
|
+
'{"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"\u2026"} (one-off)',
|
|
22119
|
+
'{"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>"} (chat)'
|
|
22120
|
+
],
|
|
22121
|
+
notes: ["Same param model as sms:send."]
|
|
22122
|
+
},
|
|
22123
|
+
"email:send": {
|
|
22124
|
+
summary: "send an email, or start an email workflow chat",
|
|
22125
|
+
shape: [
|
|
22126
|
+
'{"inboxUUID":"<uuid>","subjectTemplate":"\u2026","bodyTemplate":"\u2026"}',
|
|
22127
|
+
'{"inboxUUID":"<uuid>","workflowUUID":"<workflow-uuid>"} (starts a chat instead)'
|
|
22128
|
+
],
|
|
22129
|
+
notes: [
|
|
22130
|
+
"inboxUUID is required \u2014 list them with `gr inboxes list -w $WID`.",
|
|
22131
|
+
'Optional: toEmail, contentType ("text" default), initialUserMessage.'
|
|
22132
|
+
]
|
|
22133
|
+
},
|
|
22134
|
+
"member:label": {
|
|
22135
|
+
summary: "add/remove labels on the triggering member",
|
|
22136
|
+
shape: ['{"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}'],
|
|
22137
|
+
notes: ["Label UUIDs, not names: `gr members labels list -w $WID --jq '.[].uuid'`."]
|
|
22138
|
+
},
|
|
22139
|
+
"member:notify": {
|
|
22140
|
+
summary: "notify a workspace member",
|
|
22141
|
+
shape: [
|
|
22142
|
+
'{"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)'
|
|
22143
|
+
],
|
|
22144
|
+
notes: [
|
|
22145
|
+
"messageTemplate is required (supports {{member}} template vars). Target exactly one",
|
|
22146
|
+
"of memberId or sendToOwner."
|
|
22147
|
+
]
|
|
22148
|
+
},
|
|
22149
|
+
"webhook:send": {
|
|
22150
|
+
summary: "POST the event payload to a URL",
|
|
22151
|
+
shape: ['{"webhookUrl":"https://example.com/hook"}'],
|
|
22152
|
+
notes: [
|
|
22153
|
+
"webhookUrl is required and must be https in production.",
|
|
22154
|
+
"signingSecret is generated for you when omitted."
|
|
22155
|
+
]
|
|
22156
|
+
},
|
|
22157
|
+
"assistant:message": {
|
|
22158
|
+
summary: "inject an assistant message into the chat",
|
|
22159
|
+
shape: ['{"message":"Welcome! \u2026","suggestions":["Yes","No"],"waitForResponse":<bool>}'],
|
|
22160
|
+
notes: ['message is required. The key is "message", not "messageTemplate".']
|
|
22161
|
+
},
|
|
22162
|
+
"chat:pause": {
|
|
22163
|
+
summary: "pause the chat for a human response",
|
|
22164
|
+
shape: ['{"message":"<optional assistant message shown on pause>"}']
|
|
22165
|
+
}
|
|
22166
|
+
};
|
|
22167
|
+
function renderHint(actionType, entry) {
|
|
22168
|
+
const lines = [`${actionType} actionParams (${entry.summary})`];
|
|
22169
|
+
for (const line of entry.shape) lines.push(` ${line}`);
|
|
22170
|
+
for (const note of entry.notes ?? []) lines.push(` ${note}`);
|
|
22171
|
+
return lines.join("\n");
|
|
22172
|
+
}
|
|
22173
|
+
function renderActionParamHint(actionType) {
|
|
22174
|
+
const entry = ACTION_PARAM_HINTS[actionType];
|
|
22175
|
+
return entry ? renderHint(actionType, entry) : void 0;
|
|
22176
|
+
}
|
|
22177
|
+
function renderAllActionParamHints() {
|
|
22178
|
+
return Object.entries(ACTION_PARAM_HINTS).map(([actionType, entry]) => renderHint(actionType, entry)).join("\n\n");
|
|
22179
|
+
}
|
|
21199
22180
|
|
|
21200
22181
|
// src/lib/events/field-help.ts
|
|
21201
22182
|
var EVENT_RULE_FIELD_REFERENCE = `
|
|
@@ -21217,29 +22198,194 @@ Common optional
|
|
|
21217
22198
|
Scope (set exactly one when objectType requires it)
|
|
21218
22199
|
routineId, workflowId, taskId, dataTypeId, journeyStepId, calendarId, ...
|
|
21219
22200
|
|
|
21220
|
-
|
|
21221
|
-
|
|
21222
|
-
|
|
21223
|
-
|
|
21224
|
-
|
|
21225
|
-
|
|
21226
|
-
|
|
21227
|
-
One-off text: {"phoneNumberUUID":"<from-number-uuid>","messageTemplate":"Hi {{name}} \u2026"}
|
|
21228
|
-
Workflow chat: {"phoneNumberUUID":"<from-number-uuid>","workflowUUID":"<workflow-uuid>",
|
|
21229
|
-
"initialUserMessage":"<optional seed>"}
|
|
21230
|
-
phoneNumberUUID (the from-number) is required. The message body is messageTemplate
|
|
21231
|
-
(supports {{record/member}} template vars) \u2014 there is no "body"/"message" key.
|
|
21232
|
-
Provide messageTemplate for a one-off text, OR workflowUUID to start a chat.
|
|
21233
|
-
|
|
21234
|
-
member:label actionParams
|
|
21235
|
-
{"addLabelIds":["<uuid>"],"removeLabelIds":["<uuid>"]}
|
|
21236
|
-
|
|
21237
|
-
member:notify actionParams
|
|
21238
|
-
{"messageTemplate":"Hi {{member.name}} \u2026","memberId":<member-id>} (or "sendToOwner":true)
|
|
21239
|
-
messageTemplate is required (supports {{member}} template vars). Target exactly one
|
|
21240
|
-
of memberId or sendToOwner.
|
|
22201
|
+
${renderAllActionParamHints()}
|
|
22202
|
+
|
|
22203
|
+
Prefer a typed creator over hand-built JSON when one fits the trigger:
|
|
22204
|
+
gr events rules create-routine-rule routine fires
|
|
22205
|
+
gr events rules create-task-rule member reaches a task
|
|
22206
|
+
gr events rules create-data-record-rule form record created/updated
|
|
22207
|
+
gr events rules types triggers and the actions each accepts
|
|
21241
22208
|
`;
|
|
21242
22209
|
|
|
22210
|
+
// src/lib/events/rule-create.ts
|
|
22211
|
+
init_dist();
|
|
22212
|
+
init_errors();
|
|
22213
|
+
var ALL_ACTION_TYPES = Object.values(EventRuleActionType).sort();
|
|
22214
|
+
var DATA_RECORD_EVENT_TYPES = [
|
|
22215
|
+
EventRuleEventType.DATA_RECORD_CREATED,
|
|
22216
|
+
EventRuleEventType.DATA_RECORD_UPDATED
|
|
22217
|
+
];
|
|
22218
|
+
var DEFAULT_CHAT_CHANNEL = "web-chat";
|
|
22219
|
+
function editDistance(a, b) {
|
|
22220
|
+
const rows = a.length + 1;
|
|
22221
|
+
const cols = b.length + 1;
|
|
22222
|
+
let prev = Array.from({ length: cols }, (_, j) => j);
|
|
22223
|
+
for (let i = 1; i < rows; i++) {
|
|
22224
|
+
const curr = Array.from({ length: cols }, (_, j) => j === 0 ? i : 0);
|
|
22225
|
+
for (let j = 1; j < cols; j++) {
|
|
22226
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
22227
|
+
curr[j] = Math.min(prev[j] + 1, curr[j - 1] + 1, prev[j - 1] + cost);
|
|
22228
|
+
}
|
|
22229
|
+
prev = curr;
|
|
22230
|
+
}
|
|
22231
|
+
return prev[cols - 1];
|
|
22232
|
+
}
|
|
22233
|
+
function suggestValues(input2, allowed) {
|
|
22234
|
+
const namespace = input2.includes(":") ? input2.slice(0, input2.indexOf(":") + 1) : null;
|
|
22235
|
+
const scored = allowed.map((candidate) => ({ candidate, distance: editDistance(input2, candidate) })).filter(
|
|
22236
|
+
({ candidate, distance }) => distance <= 3 || namespace !== null && candidate.startsWith(namespace)
|
|
22237
|
+
).sort((a, b) => a.distance - b.distance || a.candidate.localeCompare(b.candidate));
|
|
22238
|
+
return scored.slice(0, 3).map(({ candidate }) => candidate);
|
|
22239
|
+
}
|
|
22240
|
+
function requireEnumValue(raw, allowed, flag, trailingHint, listLabel = "Valid values") {
|
|
22241
|
+
const match = allowed.find((candidate) => candidate === raw);
|
|
22242
|
+
if (match !== void 0) return match;
|
|
22243
|
+
const suggestions = suggestValues(raw, allowed);
|
|
22244
|
+
const didYouMean = suggestions.length ? ` Did you mean: ${suggestions.join(", ")}?` : "";
|
|
22245
|
+
const tail = trailingHint ? ` ${trailingHint}` : "";
|
|
22246
|
+
throw new CLIError(
|
|
22247
|
+
`Unknown --${flag} "${raw}".${didYouMean} ${listLabel}: ${allowed.join(", ")}.${tail}`
|
|
22248
|
+
);
|
|
22249
|
+
}
|
|
22250
|
+
function requireActionType(args) {
|
|
22251
|
+
const raw = optionalString(args, "action-type");
|
|
22252
|
+
const pointer = "Run `gr events rules types` for the trigger\u2192action matrix this workspace accepts.";
|
|
22253
|
+
if (raw === void 0) {
|
|
22254
|
+
throw new CLIError(
|
|
22255
|
+
`Missing required argument: --action-type. Known action types: ${ALL_ACTION_TYPES.join(", ")}. ${pointer}`
|
|
22256
|
+
);
|
|
22257
|
+
}
|
|
22258
|
+
return requireEnumValue(raw, ALL_ACTION_TYPES, "action-type", pointer, "Known action types");
|
|
22259
|
+
}
|
|
22260
|
+
function parseActionParams(args, actionType) {
|
|
22261
|
+
const raw = optionalString(args, "action-params");
|
|
22262
|
+
if (raw === void 0) return void 0;
|
|
22263
|
+
const hint2 = renderActionParamHint(actionType);
|
|
22264
|
+
const withHint = (message) => new CLIError(hint2 ? `${message}
|
|
22265
|
+
|
|
22266
|
+
${hint2}` : message);
|
|
22267
|
+
let parsed;
|
|
22268
|
+
try {
|
|
22269
|
+
parsed = JSON.parse(raw);
|
|
22270
|
+
} catch (err) {
|
|
22271
|
+
throw withHint(
|
|
22272
|
+
`--action-params must be a JSON object: ${err instanceof Error ? err.message : String(err)}`
|
|
22273
|
+
);
|
|
22274
|
+
}
|
|
22275
|
+
if (typeof parsed === "string") {
|
|
22276
|
+
try {
|
|
22277
|
+
parsed = JSON.parse(parsed);
|
|
22278
|
+
} catch {
|
|
22279
|
+
}
|
|
22280
|
+
}
|
|
22281
|
+
if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
22282
|
+
throw withHint(`--action-params must be a JSON object, got ${describeJson(parsed)}.`);
|
|
22283
|
+
}
|
|
22284
|
+
return parsed;
|
|
22285
|
+
}
|
|
22286
|
+
function describeJson(value) {
|
|
22287
|
+
if (value === null) return "null";
|
|
22288
|
+
if (Array.isArray(value)) return "an array";
|
|
22289
|
+
return `a ${typeof value}`;
|
|
22290
|
+
}
|
|
22291
|
+
function parseCommonRuleFlags(args) {
|
|
22292
|
+
const actionType = requireActionType(args);
|
|
22293
|
+
return {
|
|
22294
|
+
actionType,
|
|
22295
|
+
actionParams: parseActionParams(args, actionType),
|
|
22296
|
+
name: optionalString(args, "name"),
|
|
22297
|
+
conditions: optionalString(args, "conditions"),
|
|
22298
|
+
active: optionalBool(args, "active") ?? true
|
|
22299
|
+
};
|
|
22300
|
+
}
|
|
22301
|
+
function parseDelay(args) {
|
|
22302
|
+
const delay = optionalNumber(args, "delay") ?? 0;
|
|
22303
|
+
if (delay < 0 || !Number.isInteger(delay)) {
|
|
22304
|
+
throw new CLIError(`--delay must be a non-negative whole number of seconds (got ${delay})`);
|
|
22305
|
+
}
|
|
22306
|
+
return delay;
|
|
22307
|
+
}
|
|
22308
|
+
function assertChatCreateWorkflowResolvable(params, howToSupply) {
|
|
22309
|
+
if (typeof params.workflowUUID === "string" && params.workflowUUID.trim() !== "") return;
|
|
22310
|
+
throw new CLIError(
|
|
22311
|
+
`chat:create needs a workflowUUID \u2014 the stable workflow uuid, not a revision uuid. ${howToSupply} Find it with: gr workflows get --id <workflow-id> -w $WID --jq .uuid
|
|
22312
|
+
|
|
22313
|
+
` + renderActionParamHint(EventRuleActionType.CHAT_CREATE)
|
|
22314
|
+
);
|
|
22315
|
+
}
|
|
22316
|
+
function hydrateChatCreateParams(actionType, actionParams, workflowUuid) {
|
|
22317
|
+
if (actionType !== EventRuleActionType.CHAT_CREATE) {
|
|
22318
|
+
if (workflowUuid !== void 0) {
|
|
22319
|
+
throw new CLIError(
|
|
22320
|
+
`--workflow-uuid only applies to --action-type chat:create (got "${actionType}"). Other actions take their workflow UUID inside --action-params.`
|
|
22321
|
+
);
|
|
22322
|
+
}
|
|
22323
|
+
return actionParams;
|
|
22324
|
+
}
|
|
22325
|
+
const params = { ...actionParams ?? {} };
|
|
22326
|
+
if (workflowUuid !== void 0 && !params.workflowUUID) {
|
|
22327
|
+
params.workflowUUID = workflowUuid;
|
|
22328
|
+
}
|
|
22329
|
+
if (params.channel === void 0) {
|
|
22330
|
+
params.channel = DEFAULT_CHAT_CHANNEL;
|
|
22331
|
+
}
|
|
22332
|
+
assertChatCreateWorkflowResolvable(
|
|
22333
|
+
params,
|
|
22334
|
+
'Pass --workflow-uuid <uuid>, or put "workflowUUID" in --action-params.'
|
|
22335
|
+
);
|
|
22336
|
+
return params;
|
|
22337
|
+
}
|
|
22338
|
+
function assertTaskChatCreateParams(actionType, actionParams) {
|
|
22339
|
+
if (actionType !== EventRuleActionType.CHAT_CREATE) return;
|
|
22340
|
+
assertChatCreateWorkflowResolvable(
|
|
22341
|
+
actionParams ?? {},
|
|
22342
|
+
'Put "workflowUUID" in --action-params (task rules have no --workflow-uuid shorthand, matching create_task_rule).'
|
|
22343
|
+
);
|
|
22344
|
+
}
|
|
22345
|
+
function buildRoutineRuleData(routineId, common, delay, workflowUuid) {
|
|
22346
|
+
return {
|
|
22347
|
+
name: common.name ?? `Routine Rule #${routineId}`,
|
|
22348
|
+
objectType: EventRuleObjectType.ROUTINE,
|
|
22349
|
+
eventType: EventRuleEventType.ROUTINE_TRIGGERED,
|
|
22350
|
+
actionType: common.actionType,
|
|
22351
|
+
actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
|
|
22352
|
+
routineId,
|
|
22353
|
+
conditions: common.conditions ?? null,
|
|
22354
|
+
active: common.active,
|
|
22355
|
+
delay,
|
|
22356
|
+
order: 0
|
|
22357
|
+
};
|
|
22358
|
+
}
|
|
22359
|
+
function buildTaskRuleData(taskId, common) {
|
|
22360
|
+
assertTaskChatCreateParams(common.actionType, common.actionParams);
|
|
22361
|
+
return {
|
|
22362
|
+
name: common.name ?? `Task Rule (Task #${taskId})`,
|
|
22363
|
+
objectType: EventRuleObjectType.TASK,
|
|
22364
|
+
eventType: EventRuleEventType.TASK_EXECUTE,
|
|
22365
|
+
actionType: common.actionType,
|
|
22366
|
+
actionParams: common.actionParams ?? {},
|
|
22367
|
+
taskId,
|
|
22368
|
+
conditions: common.conditions ?? null,
|
|
22369
|
+
active: common.active,
|
|
22370
|
+
delay: 0,
|
|
22371
|
+
order: 0
|
|
22372
|
+
};
|
|
22373
|
+
}
|
|
22374
|
+
function buildDataRecordRuleData(dataTypeId, eventType, common, workflowUuid) {
|
|
22375
|
+
return {
|
|
22376
|
+
name: common.name ?? `Data Record Rule (Type #${dataTypeId})`,
|
|
22377
|
+
objectType: EventRuleObjectType.DATA_RECORD,
|
|
22378
|
+
eventType,
|
|
22379
|
+
actionType: common.actionType,
|
|
22380
|
+
actionParams: hydrateChatCreateParams(common.actionType, common.actionParams, workflowUuid) ?? {},
|
|
22381
|
+
dataTypeId,
|
|
22382
|
+
conditions: common.conditions ?? null,
|
|
22383
|
+
active: common.active,
|
|
22384
|
+
delay: 0,
|
|
22385
|
+
order: 0
|
|
22386
|
+
};
|
|
22387
|
+
}
|
|
22388
|
+
|
|
21243
22389
|
// src/domains/events.ts
|
|
21244
22390
|
var RULE_COLUMNS = [
|
|
21245
22391
|
COL.id(),
|
|
@@ -21338,7 +22484,247 @@ var eventRulesListCmd = {
|
|
|
21338
22484
|
outputData(listResult(result2, true), ctx, RULE_COLUMNS);
|
|
21339
22485
|
}
|
|
21340
22486
|
};
|
|
21341
|
-
var
|
|
22487
|
+
var CREATE_RULE_COMMON_ARGS = [
|
|
22488
|
+
{
|
|
22489
|
+
name: "action-type",
|
|
22490
|
+
description: "What to run when the rule fires (see `gr events rules types`)",
|
|
22491
|
+
required: true
|
|
22492
|
+
},
|
|
22493
|
+
{
|
|
22494
|
+
name: "action-params",
|
|
22495
|
+
description: "Action parameters as a JSON object (shapes in Examples below)"
|
|
22496
|
+
},
|
|
22497
|
+
{ name: "name", description: "Rule name (auto-generated when omitted)" },
|
|
22498
|
+
{ name: "conditions", description: "CEL expression; the rule only fires when it is true" },
|
|
22499
|
+
{ name: "active", description: "true or false (default: true)" }
|
|
22500
|
+
];
|
|
22501
|
+
var VERIFY_EXAMPLE_LINES = [
|
|
22502
|
+
"",
|
|
22503
|
+
"Verify what was created (the rule id is in the output above):",
|
|
22504
|
+
"gr events rules get --id <rule-id> -w $WID --jq '{eventType,actionType,actionParams,active}'"
|
|
22505
|
+
];
|
|
22506
|
+
function actionParamExampleLines(actionTypes) {
|
|
22507
|
+
const lines = ["", "Action params by action type:"];
|
|
22508
|
+
for (const actionType of actionTypes) {
|
|
22509
|
+
const rendered = renderActionParamHint(actionType);
|
|
22510
|
+
if (rendered) lines.push(...rendered.split("\n"));
|
|
22511
|
+
}
|
|
22512
|
+
return lines;
|
|
22513
|
+
}
|
|
22514
|
+
async function submitRule(hctx, rule, label) {
|
|
22515
|
+
const created = await requireAuth(hctx.ctx).apiClient.createEventRule(hctx.workspace, rule);
|
|
22516
|
+
outputSingle(created, hctx.ctx, RULE_COLUMNS);
|
|
22517
|
+
hint(hctx.ctx, [
|
|
22518
|
+
`Created ${label}. Confirm it before reporting success:`,
|
|
22519
|
+
` gr events rules get --id ${created.id} -w $WID -o json`
|
|
22520
|
+
]);
|
|
22521
|
+
}
|
|
22522
|
+
var createRoutineRuleCmd = {
|
|
22523
|
+
path: ["events", "rules", "create-routine-rule"],
|
|
22524
|
+
description: "Create a rule that fires when a routine triggers (tool: create_routine_rule)",
|
|
22525
|
+
mutates: true,
|
|
22526
|
+
requiresWorkspace: true,
|
|
22527
|
+
columns: RULE_COLUMNS,
|
|
22528
|
+
args: [
|
|
22529
|
+
{ name: "routine-id", description: "Routine ID from `gr routines list`", required: true },
|
|
22530
|
+
...CREATE_RULE_COMMON_ARGS,
|
|
22531
|
+
{
|
|
22532
|
+
name: "workflow-uuid",
|
|
22533
|
+
description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
|
|
22534
|
+
},
|
|
22535
|
+
{ name: "delay", description: "Seconds to wait before running the action (default: 0)" }
|
|
22536
|
+
],
|
|
22537
|
+
examples: [
|
|
22538
|
+
"Trigger: routine:triggered. Common actions: chat:create, webhook:send,",
|
|
22539
|
+
"email:send, member:notify.",
|
|
22540
|
+
"",
|
|
22541
|
+
"Scheduled outbound voice check-in:",
|
|
22542
|
+
"gr events rules create-routine-rule -w $WID --allow-write \\",
|
|
22543
|
+
" --routine-id 12 --action-type chat:create \\",
|
|
22544
|
+
' --workflow-uuid "$(gr workflows get --id 3 -w $WID --jq .uuid)" \\',
|
|
22545
|
+
` --action-params '{"channel":"phone-voice","phoneNumberUUID":"<uuid>"}'`,
|
|
22546
|
+
"",
|
|
22547
|
+
"Webhook on every fire, only for high-priority members:",
|
|
22548
|
+
"gr events rules create-routine-rule -w $WID --allow-write \\",
|
|
22549
|
+
" --routine-id 12 --action-type webhook:send \\",
|
|
22550
|
+
` --action-params '{"webhookUrl":"https://example.com/hook"}' \\`,
|
|
22551
|
+
` --conditions 'member.labels.exists(l, l == "priority")'`,
|
|
22552
|
+
...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:notify"]),
|
|
22553
|
+
...VERIFY_EXAMPLE_LINES
|
|
22554
|
+
],
|
|
22555
|
+
handler: async (hctx) => {
|
|
22556
|
+
const routineId = requireNumberFrom(hctx.args, "routine-id");
|
|
22557
|
+
const common = parseCommonRuleFlags(hctx.args);
|
|
22558
|
+
const rule = buildRoutineRuleData(
|
|
22559
|
+
routineId,
|
|
22560
|
+
common,
|
|
22561
|
+
parseDelay(hctx.args),
|
|
22562
|
+
optionalString(hctx.args, "workflow-uuid")
|
|
22563
|
+
);
|
|
22564
|
+
await submitRule(hctx, rule, `routine rule on routine ${routineId}`);
|
|
22565
|
+
}
|
|
22566
|
+
};
|
|
22567
|
+
var createTaskRuleCmd = {
|
|
22568
|
+
path: ["events", "rules", "create-task-rule"],
|
|
22569
|
+
description: "Create a rule that fires when a member reaches a task (tool: create_task_rule)",
|
|
22570
|
+
mutates: true,
|
|
22571
|
+
requiresWorkspace: true,
|
|
22572
|
+
columns: RULE_COLUMNS,
|
|
22573
|
+
args: [
|
|
22574
|
+
{ name: "task-id", description: "Task ID from `gr tasks list`", required: true },
|
|
22575
|
+
...CREATE_RULE_COMMON_ARGS
|
|
22576
|
+
],
|
|
22577
|
+
examples: [
|
|
22578
|
+
"Trigger: task:execute. Common actions: assistant:message, chat:pause,",
|
|
22579
|
+
"member:notify, member:label.",
|
|
22580
|
+
"",
|
|
22581
|
+
"Welcome message when the member enters the task:",
|
|
22582
|
+
"gr events rules create-task-rule -w $WID --allow-write \\",
|
|
22583
|
+
" --task-id 88 --action-type assistant:message \\",
|
|
22584
|
+
` --action-params '{"message":"Welcome! Let us start with a few questions."}'`,
|
|
22585
|
+
"",
|
|
22586
|
+
"Label the member on arrival:",
|
|
22587
|
+
"gr events rules create-task-rule -w $WID --allow-write \\",
|
|
22588
|
+
" --task-id 88 --action-type member:label \\",
|
|
22589
|
+
` --action-params "{\\"addLabelIds\\":[\\"$(gr members labels list -w $WID --jq '.[0].uuid')\\"]}"`,
|
|
22590
|
+
...actionParamExampleLines([
|
|
22591
|
+
"assistant:message",
|
|
22592
|
+
"chat:pause",
|
|
22593
|
+
"member:notify",
|
|
22594
|
+
"member:label"
|
|
22595
|
+
]),
|
|
22596
|
+
...VERIFY_EXAMPLE_LINES
|
|
22597
|
+
],
|
|
22598
|
+
handler: async (hctx) => {
|
|
22599
|
+
const taskId = requireNumberFrom(hctx.args, "task-id");
|
|
22600
|
+
const rule = buildTaskRuleData(taskId, parseCommonRuleFlags(hctx.args));
|
|
22601
|
+
await submitRule(hctx, rule, `task rule on task ${taskId}`);
|
|
22602
|
+
}
|
|
22603
|
+
};
|
|
22604
|
+
var createDataRecordRuleCmd = {
|
|
22605
|
+
path: ["events", "rules", "create-data-record-rule"],
|
|
22606
|
+
description: "Create a rule that fires on form record changes (tool: create_data_record_event_rule)",
|
|
22607
|
+
mutates: true,
|
|
22608
|
+
requiresWorkspace: true,
|
|
22609
|
+
columns: RULE_COLUMNS,
|
|
22610
|
+
args: [
|
|
22611
|
+
{
|
|
22612
|
+
name: "data-type-id",
|
|
22613
|
+
description: "DataType (Form) ID from `gr data-types list`",
|
|
22614
|
+
required: true
|
|
22615
|
+
},
|
|
22616
|
+
{
|
|
22617
|
+
name: "event-type",
|
|
22618
|
+
description: `Trigger: ${DATA_RECORD_EVENT_TYPES.join(" or ")}`,
|
|
22619
|
+
required: true
|
|
22620
|
+
},
|
|
22621
|
+
...CREATE_RULE_COMMON_ARGS,
|
|
22622
|
+
{
|
|
22623
|
+
name: "workflow-uuid",
|
|
22624
|
+
description: "Workflow UUID for chat:create (stable workflow uuid, not a revision)"
|
|
22625
|
+
}
|
|
22626
|
+
],
|
|
22627
|
+
examples: [
|
|
22628
|
+
"Triggers: data_record:created, data_record:updated. Common actions:",
|
|
22629
|
+
"chat:create, webhook:send, email:send, member:label.",
|
|
22630
|
+
"",
|
|
22631
|
+
"CEL conditions read record fields as record.data.<fieldname>:",
|
|
22632
|
+
"gr events rules create-data-record-rule -w $WID --allow-write \\",
|
|
22633
|
+
" --data-type-id 45 --event-type data_record:created \\",
|
|
22634
|
+
" --action-type member:notify \\",
|
|
22635
|
+
" --conditions 'record.data.total_score >= 15' \\",
|
|
22636
|
+
` --action-params '{"sendToOwner":true,"messageTemplate":"High-risk screening submitted."}'`,
|
|
22637
|
+
"",
|
|
22638
|
+
"Webhook on every update of the form:",
|
|
22639
|
+
"gr events rules create-data-record-rule -w $WID --allow-write \\",
|
|
22640
|
+
" --data-type-id 45 --event-type data_record:updated \\",
|
|
22641
|
+
` --action-type webhook:send --action-params '{"webhookUrl":"https://example.com/hook"}'`,
|
|
22642
|
+
...actionParamExampleLines(["chat:create", "webhook:send", "email:send", "member:label"]),
|
|
22643
|
+
...VERIFY_EXAMPLE_LINES
|
|
22644
|
+
],
|
|
22645
|
+
handler: async (hctx) => {
|
|
22646
|
+
const dataTypeId = requireNumberFrom(hctx.args, "data-type-id");
|
|
22647
|
+
const eventType = requireEnumValue(
|
|
22648
|
+
optionalString(hctx.args, "event-type") ?? "",
|
|
22649
|
+
DATA_RECORD_EVENT_TYPES,
|
|
22650
|
+
"event-type",
|
|
22651
|
+
"Other triggers need `gr events rules create --data` or another create-*-rule command."
|
|
22652
|
+
);
|
|
22653
|
+
const rule = buildDataRecordRuleData(
|
|
22654
|
+
dataTypeId,
|
|
22655
|
+
eventType,
|
|
22656
|
+
parseCommonRuleFlags(hctx.args),
|
|
22657
|
+
optionalString(hctx.args, "workflow-uuid")
|
|
22658
|
+
);
|
|
22659
|
+
await submitRule(hctx, rule, `data record rule on data type ${dataTypeId}`);
|
|
22660
|
+
}
|
|
22661
|
+
};
|
|
22662
|
+
function isEventRuleTypeRow(item) {
|
|
22663
|
+
if (item === null || typeof item !== "object") return false;
|
|
22664
|
+
const row = item;
|
|
22665
|
+
return typeof row.eventType === "string" && Array.isArray(row.actions);
|
|
22666
|
+
}
|
|
22667
|
+
var TYPE_COLUMNS = [
|
|
22668
|
+
{
|
|
22669
|
+
header: "EVENT TYPE",
|
|
22670
|
+
getValue: (item) => isEventRuleTypeRow(item) ? item.eventType : ""
|
|
22671
|
+
},
|
|
22672
|
+
{
|
|
22673
|
+
header: "ACTIONS",
|
|
22674
|
+
getValue: (item) => isEventRuleTypeRow(item) ? item.actions.join(", ") : ""
|
|
22675
|
+
}
|
|
22676
|
+
];
|
|
22677
|
+
var eventRuleTypesCmd = {
|
|
22678
|
+
path: ["events", "rules", "types"],
|
|
22679
|
+
description: "List triggers and the actions each accepts (tool: list_event_rule_types)",
|
|
22680
|
+
requiresWorkspace: true,
|
|
22681
|
+
columns: TYPE_COLUMNS,
|
|
22682
|
+
args: [
|
|
22683
|
+
{ name: "event-type", description: "Show only this trigger" },
|
|
22684
|
+
{ name: "action-type", description: "Show only triggers that accept this action" }
|
|
22685
|
+
],
|
|
22686
|
+
examples: [
|
|
22687
|
+
"gr events rules types -w $WID",
|
|
22688
|
+
"gr events rules types -w $WID --event-type routine:triggered",
|
|
22689
|
+
"gr events rules types -w $WID --action-type sms:send --jq '.[].eventType'",
|
|
22690
|
+
"",
|
|
22691
|
+
"This is the authoritative compatibility matrix \u2014 a value appearing in the",
|
|
22692
|
+
"request schema is not proof the API accepts it as a trigger. Read it before",
|
|
22693
|
+
"creating a rule with an eventType you have not used before."
|
|
22694
|
+
],
|
|
22695
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
22696
|
+
const result2 = await requireAuth(ctx).apiClient.getAvailableActions(workspace);
|
|
22697
|
+
let mappings = (result2.mappings ?? []).map((m) => ({
|
|
22698
|
+
eventType: m.eventType,
|
|
22699
|
+
actions: m.actions
|
|
22700
|
+
}));
|
|
22701
|
+
const eventType = optionalString(args, "event-type");
|
|
22702
|
+
if (eventType !== void 0) {
|
|
22703
|
+
const known = mappings.map((m) => m.eventType);
|
|
22704
|
+
requireEnumValue(eventType, known, "event-type");
|
|
22705
|
+
mappings = mappings.filter((m) => m.eventType === eventType);
|
|
22706
|
+
}
|
|
22707
|
+
const actionType = optionalString(args, "action-type");
|
|
22708
|
+
if (actionType !== void 0) {
|
|
22709
|
+
requireEnumValue(actionType, ALL_ACTION_TYPES, "action-type");
|
|
22710
|
+
mappings = mappings.filter((m) => m.actions.includes(actionType));
|
|
22711
|
+
if (mappings.length === 0) {
|
|
22712
|
+
throw new CLIError(
|
|
22713
|
+
`No trigger accepts action "${actionType}" in this workspace. Run \`gr events rules types\` without filters for the full matrix.`
|
|
22714
|
+
);
|
|
22715
|
+
}
|
|
22716
|
+
}
|
|
22717
|
+
outputData(mappings, ctx, TYPE_COLUMNS);
|
|
22718
|
+
}
|
|
22719
|
+
};
|
|
22720
|
+
var eventRulesCrud = [
|
|
22721
|
+
eventRulesListCmd,
|
|
22722
|
+
eventRuleTypesCmd,
|
|
22723
|
+
createRoutineRuleCmd,
|
|
22724
|
+
createTaskRuleCmd,
|
|
22725
|
+
createDataRecordRuleCmd,
|
|
22726
|
+
...eventRulesCrudNoList
|
|
22727
|
+
];
|
|
21342
22728
|
var eventRulesAliases = eventRulesCrud.filter((cmd) => {
|
|
21343
22729
|
const verb = cmd.path[cmd.path.length - 1];
|
|
21344
22730
|
return verb === "list" || verb === "get";
|
|
@@ -21850,7 +23236,6 @@ var STEP_COLUMNS = [
|
|
|
21850
23236
|
{ header: "UUID", getValue: (item) => (item.uuid ?? "").slice(0, 8) },
|
|
21851
23237
|
COL.name(),
|
|
21852
23238
|
{ header: "TYPE", getValue: (item) => item.stepType ?? "" },
|
|
21853
|
-
{ header: "TRIGGER", getValue: (item) => item.triggerType ?? "" },
|
|
21854
23239
|
{ header: "ORDER", getValue: (item) => String(item.order ?? "") }
|
|
21855
23240
|
];
|
|
21856
23241
|
var MEMBER_JOURNEY_COLUMNS = [
|
|
@@ -23002,13 +24387,24 @@ function estimateRealtimeRunCostUsd(modelId) {
|
|
|
23002
24387
|
function projectRealtimeBatchCostUsd(jobs) {
|
|
23003
24388
|
return jobs.filter((j) => j.realtime).reduce((sum, j) => sum + estimateRealtimeRunCostUsd(j.modelId), 0);
|
|
23004
24389
|
}
|
|
23005
|
-
function
|
|
24390
|
+
function finiteNonNegative(value) {
|
|
24391
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : void 0;
|
|
24392
|
+
}
|
|
24393
|
+
function billableRealtimeRowMinutes(row) {
|
|
23006
24394
|
const summary = row.timing_summary;
|
|
23007
|
-
|
|
23008
|
-
|
|
23009
|
-
|
|
23010
|
-
|
|
23011
|
-
return
|
|
24395
|
+
if (!summary) return void 0;
|
|
24396
|
+
const billableMs = finiteNonNegative(summary["billable_audio_ms_total"]);
|
|
24397
|
+
if (billableMs === void 0) return void 0;
|
|
24398
|
+
if (summary["billable_audio_source"] === "generated_audio_floor") return void 0;
|
|
24399
|
+
return billableMs / 6e4;
|
|
24400
|
+
}
|
|
24401
|
+
function actualRealtimeRowCostUsd(row, modelId) {
|
|
24402
|
+
const usdPerMin = realtimeAudioUsdPerMin(modelId);
|
|
24403
|
+
const billableMinutes = billableRealtimeRowMinutes(row);
|
|
24404
|
+
const measured = billableMinutes === void 0 ? estimateRealtimeRunCostUsd(modelId) : billableMinutes * usdPerMin + EST_TEXT_USD_PER_RUN;
|
|
24405
|
+
const generatedMs = row.timing_summary ? finiteNonNegative(row.timing_summary["audio_output_ms_total"]) : void 0;
|
|
24406
|
+
const generatedFloor = generatedMs === void 0 ? 0 : generatedMs / 6e4 * usdPerMin + EST_TEXT_USD_PER_RUN;
|
|
24407
|
+
return Math.max(measured, generatedFloor);
|
|
23012
24408
|
}
|
|
23013
24409
|
function parseMaxBudgetUsd(raw, flagName) {
|
|
23014
24410
|
if (raw === void 0 || raw === null || raw === "") {
|
|
@@ -23029,12 +24425,26 @@ function summarizeCriterionResults(run) {
|
|
|
23029
24425
|
score: c.score ?? null
|
|
23030
24426
|
}));
|
|
23031
24427
|
}
|
|
23032
|
-
function
|
|
24428
|
+
function formatRevisionLabel(row) {
|
|
24429
|
+
const pin = row.workflow_revision_pinned ? "(pinned)" : "";
|
|
24430
|
+
if (row.workflow_revision_number != null) {
|
|
24431
|
+
return `#${row.workflow_revision_number}${pin}`;
|
|
24432
|
+
}
|
|
24433
|
+
if (row.workflow_revision_id != null) {
|
|
24434
|
+
return `id${row.workflow_revision_id}${pin}`;
|
|
24435
|
+
}
|
|
24436
|
+
return `?${pin}`;
|
|
24437
|
+
}
|
|
24438
|
+
function runToBatchRow(job, workflowId, run, error, batchLabel, pinnedRevisionId) {
|
|
23033
24439
|
return {
|
|
23034
24440
|
ts: (/* @__PURE__ */ new Date()).toISOString(),
|
|
23035
24441
|
round: job.round,
|
|
23036
24442
|
warmup: job.warmup,
|
|
23037
24443
|
workflow_id: workflowId,
|
|
24444
|
+
workflow_revision_id: run?.workflowRevisionId ?? null,
|
|
24445
|
+
workflow_revision_number: run?.workflowRevisionNumber ?? null,
|
|
24446
|
+
workflow_revision_name: run?.workflowRevisionName ?? null,
|
|
24447
|
+
...pinnedRevisionId != null ? { workflow_revision_pinned: true } : {},
|
|
23038
24448
|
scenario_id: job.scenarioId,
|
|
23039
24449
|
scenario_slug: job.scenarioSlug,
|
|
23040
24450
|
scenario_name: job.scenarioName,
|
|
@@ -23060,21 +24470,32 @@ function parseConcurrency(raw, flagName, fallback) {
|
|
|
23060
24470
|
}
|
|
23061
24471
|
return value;
|
|
23062
24472
|
}
|
|
24473
|
+
var BatchWaitTimeoutError = class extends CLIError {
|
|
24474
|
+
constructor(message, lastPolledRun) {
|
|
24475
|
+
super(message);
|
|
24476
|
+
this.lastPolledRun = lastPolledRun;
|
|
24477
|
+
}
|
|
24478
|
+
lastPolledRun;
|
|
24479
|
+
};
|
|
23063
24480
|
async function waitForRunTerminal(api, workspace, runId, timeoutMs, pollMs, sleep) {
|
|
23064
24481
|
const deadline = Date.now() + timeoutMs;
|
|
24482
|
+
let lastPolled;
|
|
23065
24483
|
while (Date.now() < deadline) {
|
|
23066
24484
|
const run = await api.getTestChatRun(workspace, runId);
|
|
24485
|
+
lastPolled = run;
|
|
23067
24486
|
if (run.completedAt || run.failedAt) {
|
|
23068
24487
|
return run;
|
|
23069
24488
|
}
|
|
23070
24489
|
await sleep(pollMs);
|
|
23071
24490
|
}
|
|
23072
|
-
throw new
|
|
24491
|
+
throw new BatchWaitTimeoutError(`Timed out waiting for run ${runId} to complete`, lastPolled);
|
|
23073
24492
|
}
|
|
23074
24493
|
async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep) {
|
|
24494
|
+
let lastPolled;
|
|
23075
24495
|
const deadline = Date.now() + timeoutMs;
|
|
23076
24496
|
while (Date.now() < deadline) {
|
|
23077
24497
|
const run = await api.getTestChatRun(workspace, runId);
|
|
24498
|
+
lastPolled = run;
|
|
23078
24499
|
if (run.evaluatedAt) {
|
|
23079
24500
|
return run;
|
|
23080
24501
|
}
|
|
@@ -23083,25 +24504,27 @@ async function waitForEvaluation(api, workspace, runId, timeoutMs, pollMs, sleep
|
|
|
23083
24504
|
}
|
|
23084
24505
|
await sleep(pollMs);
|
|
23085
24506
|
}
|
|
23086
|
-
throw new
|
|
24507
|
+
throw new BatchWaitTimeoutError(`Timed out waiting for evaluation on run ${runId}`, lastPolled);
|
|
23087
24508
|
}
|
|
23088
24509
|
function formatBatchProgressLine(job, row) {
|
|
23089
24510
|
const ttftP50 = row.timing_summary && typeof row.timing_summary === "object" && row.timing_summary.ttft_ms && typeof row.timing_summary.ttft_ms === "object" && "p50" in row.timing_summary.ttft_ms ? String(row.timing_summary.ttft_ms.p50) : "-";
|
|
23090
24511
|
const cfg = isConfigurationBlockerFailure(row.failure_reason) ? " CONFIG_BLOCKER" : "";
|
|
23091
24512
|
const skipped = row.batch_skipped ? " SKIPPED" : "";
|
|
23092
|
-
return `r${job.round} ${job.modelId} scenario=${job.scenarioId} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
|
|
24513
|
+
return `r${job.round} ${job.modelId} scenario=${job.scenarioId} rev=${formatRevisionLabel(row)} run=${row.run_id ?? "ERR"} passed=${row.passed ?? "-"} score=${row.overall_score != null ? row.overall_score.toFixed(2) : "-"} ttft_p50=${ttftP50}ms${row.error ? ` [${formatProgressError(row.error)}]` : ""}${cfg}${skipped}${job.warmup ? " WARM" : ""}`;
|
|
23093
24514
|
}
|
|
23094
24515
|
async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sleep) {
|
|
24516
|
+
let run;
|
|
23095
24517
|
try {
|
|
23096
24518
|
const started = await api.startTestChatRun(options.workspace, options.workflowId, {
|
|
23097
24519
|
scenarioId: job.scenarioId,
|
|
23098
24520
|
driver: DriverMode.AUTO,
|
|
24521
|
+
...options.workflowRevisionId != null ? { workflowRevisionId: options.workflowRevisionId } : {},
|
|
23099
24522
|
...job.realtime ? {
|
|
23100
24523
|
assistantRealtimeModelId: job.modelId,
|
|
23101
24524
|
...options.realtimeConfig ? { assistantRealtimeModelConfig: options.realtimeConfig } : {}
|
|
23102
24525
|
} : { assistantChatModelId: job.modelId }
|
|
23103
24526
|
});
|
|
23104
|
-
|
|
24527
|
+
run = await waitForRunTerminal(
|
|
23105
24528
|
api,
|
|
23106
24529
|
options.workspace,
|
|
23107
24530
|
started.run.id,
|
|
@@ -23120,10 +24543,25 @@ async function executeModelEvalJob(api, options, job, waitTimeoutMs, pollMs, sle
|
|
|
23120
24543
|
sleep
|
|
23121
24544
|
);
|
|
23122
24545
|
}
|
|
23123
|
-
return runToBatchRow(
|
|
24546
|
+
return runToBatchRow(
|
|
24547
|
+
job,
|
|
24548
|
+
options.workflowId,
|
|
24549
|
+
run,
|
|
24550
|
+
void 0,
|
|
24551
|
+
options.batchLabel,
|
|
24552
|
+
options.workflowRevisionId
|
|
24553
|
+
);
|
|
23124
24554
|
} catch (e) {
|
|
23125
24555
|
const message = e instanceof Error ? e.message : String(e);
|
|
23126
|
-
|
|
24556
|
+
const lastKnown = (e instanceof BatchWaitTimeoutError ? e.lastPolledRun : void 0) ?? run ?? null;
|
|
24557
|
+
return runToBatchRow(
|
|
24558
|
+
job,
|
|
24559
|
+
options.workflowId,
|
|
24560
|
+
lastKnown,
|
|
24561
|
+
message,
|
|
24562
|
+
options.batchLabel,
|
|
24563
|
+
options.workflowRevisionId
|
|
24564
|
+
);
|
|
23127
24565
|
}
|
|
23128
24566
|
}
|
|
23129
24567
|
function createSpacingGate(spacingSec, sleep) {
|
|
@@ -23197,7 +24635,8 @@ async function executeModelEvalBatch(api, options) {
|
|
|
23197
24635
|
options.workflowId,
|
|
23198
24636
|
null,
|
|
23199
24637
|
budgetStopped ? "batch stopped: realtime budget cap reached" : "batch aborted before start",
|
|
23200
|
-
options.batchLabel
|
|
24638
|
+
options.batchLabel,
|
|
24639
|
+
options.workflowRevisionId
|
|
23201
24640
|
),
|
|
23202
24641
|
batch_skipped: true
|
|
23203
24642
|
});
|
|
@@ -23495,6 +24934,16 @@ var qualificationsDomain = {
|
|
|
23495
24934
|
},
|
|
23496
24935
|
{ name: "goal", description: "Goal for the user simulator", required: false },
|
|
23497
24936
|
{ name: "driver", description: "Driver mode: auto | human", required: false },
|
|
24937
|
+
{
|
|
24938
|
+
name: "workflow-revision-id",
|
|
24939
|
+
description: "Pin runs to this workflow revision (e.g. an unpublished draft) instead of the active one",
|
|
24940
|
+
required: false
|
|
24941
|
+
},
|
|
24942
|
+
{
|
|
24943
|
+
name: "workflow-revision-uuid",
|
|
24944
|
+
description: "Pin runs to this workflow revision by uuid",
|
|
24945
|
+
required: false
|
|
24946
|
+
},
|
|
23498
24947
|
{
|
|
23499
24948
|
name: "assistant-chat-model-id",
|
|
23500
24949
|
description: "Override assistant chat model for this run",
|
|
@@ -23537,6 +24986,8 @@ var qualificationsDomain = {
|
|
|
23537
24986
|
{
|
|
23538
24987
|
...scenarioId != null ? { scenarioId } : {},
|
|
23539
24988
|
...personaId != null ? { personaId } : {},
|
|
24989
|
+
...args["workflow-revision-id"] ? { workflowRevisionId: requireNumber(args, "workflow-revision-id") } : {},
|
|
24990
|
+
...args["workflow-revision-uuid"] ? { workflowRevisionUuid: String(args["workflow-revision-uuid"]) } : {},
|
|
23540
24991
|
...args["goal"] ? { goal: String(args["goal"]) } : {},
|
|
23541
24992
|
...args["assistant-chat-model-id"] ? { assistantChatModelId: String(args["assistant-chat-model-id"]) } : {},
|
|
23542
24993
|
...args["assistant-realtime-model-id"] ? {
|
|
@@ -23572,6 +25023,11 @@ var qualificationsDomain = {
|
|
|
23572
25023
|
requiresWorkspace: true,
|
|
23573
25024
|
args: [
|
|
23574
25025
|
{ name: "workflow-id", description: "Workflow ID", required: true },
|
|
25026
|
+
{
|
|
25027
|
+
name: "workflow-revision-id",
|
|
25028
|
+
description: "Pin every run to this workflow revision (e.g. an unpublished draft) instead of the active one",
|
|
25029
|
+
required: false
|
|
25030
|
+
},
|
|
23575
25031
|
{
|
|
23576
25032
|
name: "models",
|
|
23577
25033
|
description: "Comma-separated assistant chat model IDs (optional with --realtime-models)",
|
|
@@ -23677,6 +25133,7 @@ var qualificationsDomain = {
|
|
|
23677
25133
|
return id;
|
|
23678
25134
|
}) : null;
|
|
23679
25135
|
const workflowId = requireNumber(args, "workflow-id");
|
|
25136
|
+
const workflowRevisionId = args["workflow-revision-id"] ? requireNumber(args, "workflow-revision-id") : void 0;
|
|
23680
25137
|
const rounds = parsePositiveInt(args.rounds, "--rounds", 1);
|
|
23681
25138
|
if (rounds < 1) throw new CLIError("--rounds must be >= 1");
|
|
23682
25139
|
const warmup = parsePositiveInt(args.warmup, "--warmup", 0);
|
|
@@ -23700,6 +25157,7 @@ var qualificationsDomain = {
|
|
|
23700
25157
|
await executeModelEvalBatch(auth.apiClient, {
|
|
23701
25158
|
workspace,
|
|
23702
25159
|
workflowId,
|
|
25160
|
+
workflowRevisionId,
|
|
23703
25161
|
models,
|
|
23704
25162
|
realtimeModels,
|
|
23705
25163
|
realtimeConfig,
|
|
@@ -24493,7 +25951,7 @@ function toAbilityData(a) {
|
|
|
24493
25951
|
...a.celCondition ? { celCondition: a.celCondition } : {}
|
|
24494
25952
|
};
|
|
24495
25953
|
}
|
|
24496
|
-
var
|
|
25954
|
+
var TYPE_COLUMNS2 = [
|
|
24497
25955
|
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
24498
25956
|
{ header: "TITLE", getValue: (item) => item.title ?? "" },
|
|
24499
25957
|
{ header: "CATEGORY", getValue: (item) => item.category ?? "" },
|
|
@@ -24514,7 +25972,7 @@ var abilitiesDomain = {
|
|
|
24514
25972
|
path: ["abilities", "list"],
|
|
24515
25973
|
description: "List builtin ability types with their channel constraints and param specs. Table shows SLUG, TITLE, CATEGORY, CHANNELS (all = every channel), SINGLETON, FEATURE-GATE; use -o json for full specs including the params JSON Schema.",
|
|
24516
25974
|
requiresWorkspace: true,
|
|
24517
|
-
columns:
|
|
25975
|
+
columns: TYPE_COLUMNS2,
|
|
24518
25976
|
args: [
|
|
24519
25977
|
{
|
|
24520
25978
|
name: "include-system",
|
|
@@ -24528,7 +25986,7 @@ var abilitiesDomain = {
|
|
|
24528
25986
|
hctx.workspace,
|
|
24529
25987
|
includeSystem ? { includeSystem: true } : {}
|
|
24530
25988
|
);
|
|
24531
|
-
outputData(result2.types ?? [], hctx.ctx,
|
|
25989
|
+
outputData(result2.types ?? [], hctx.ctx, TYPE_COLUMNS2);
|
|
24532
25990
|
}
|
|
24533
25991
|
},
|
|
24534
25992
|
{
|
|
@@ -26822,8 +28280,15 @@ var LEGAL_ENTITY_COLUMNS = [
|
|
|
26822
28280
|
{ header: "PRIMARY", getValue: (e) => e.isPrimary ? "yes" : "" },
|
|
26823
28281
|
{ header: "ID TYPE", getValue: (e) => e.registrationIdentifierType ?? "" },
|
|
26824
28282
|
{ header: "PROFILE SID", getValue: (e) => e.customerProfileSid ?? "" },
|
|
26825
|
-
//
|
|
26826
|
-
|
|
28283
|
+
// Both are CACHED hints. `org business-profile get` reads Twilio live.
|
|
28284
|
+
// Two columns since #23568: lifecycle and compliance answer different
|
|
28285
|
+
// questions and used to share one overloaded field, so a blank status no
|
|
28286
|
+
// longer means "nothing known" — check the evaluation column too.
|
|
28287
|
+
{ header: "PROFILE STATUS (cached)", getValue: (e) => e.customerProfileStatus ?? "" },
|
|
28288
|
+
{
|
|
28289
|
+
header: "EVALUATION (cached)",
|
|
28290
|
+
getValue: (e) => e.customerProfileEvaluation ?? ""
|
|
28291
|
+
}
|
|
26827
28292
|
];
|
|
26828
28293
|
var LEGAL_ENTITY_UUID_ARG = {
|
|
26829
28294
|
name: "legal-entity-uuid",
|
|
@@ -27002,7 +28467,7 @@ var commands2 = [
|
|
|
27002
28467
|
},
|
|
27003
28468
|
{
|
|
27004
28469
|
path: ["org", "trust-products", "sync"],
|
|
27005
|
-
description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds
|
|
28470
|
+
description: "Reconcile voice trust products against Twilio: claim products staged outside the app and refresh non-terminal statuses. This is the prerequisite for `admin phone-numbers migrate`, whose preflight reads the cached state. 409 if another Trust Hub operation holds this legal entity lock \u2014 it fails fast and sends no Retry-After, because holders range from milliseconds to minutes. Back off on your own schedule and re-read before retrying.",
|
|
27006
28471
|
// Writes trust_hub_state and calls Twilio. Read-only in business terms
|
|
27007
28472
|
// (it discovers, it does not create or submit), but it mutates our cache,
|
|
27008
28473
|
// so it takes --allow-write like every other state-changing verb.
|
|
@@ -27301,9 +28766,9 @@ Caller-facing messages
|
|
|
27301
28766
|
voicemailGreeting (string)
|
|
27302
28767
|
|
|
27303
28768
|
Inbound calls (inboundCallHandling)
|
|
27304
|
-
agent | fax | always_forward | forward_off_hours | always_message | message_off_hours | voicemail | voicemail_off_hours | ring_operators
|
|
28769
|
+
agent | fax | always_forward | forward_off_hours | forward_business_hours | forward_unknown_callers | always_message | message_off_hours | message_business_hours | voicemail | voicemail_off_hours | voicemail_business_hours | ring_operators
|
|
27305
28770
|
SMS work modes (smsWorkMode)
|
|
27306
|
-
always_forward | forward_off_hours | always_message | message_off_hours
|
|
28771
|
+
always_forward | forward_off_hours | forward_business_hours | always_message | message_off_hours | message_business_hours
|
|
27307
28772
|
voiceForwardNumber, smsForwardNumber, voiceOffHoursMessage, smsOffHoursMessage
|
|
27308
28773
|
|
|
27309
28774
|
Provider link
|
|
@@ -27560,8 +29025,15 @@ function simulateInboundRouting(phone, opts = {}) {
|
|
|
27560
29025
|
outcome: callerRole,
|
|
27561
29026
|
detail: resolutionDetail
|
|
27562
29027
|
});
|
|
29028
|
+
const inboundCallHandling = phone.inboundCallHandling ?? "agent";
|
|
27563
29029
|
if (callerRole === "member") {
|
|
27564
29030
|
steps.push({ step: "member_access", outcome: "proceed" });
|
|
29031
|
+
} else if (inboundCallHandling === "forward_unknown_callers" && phone.voiceForwardNumber) {
|
|
29032
|
+
steps.push({
|
|
29033
|
+
step: "inbound_call_handling",
|
|
29034
|
+
outcome: "forward_unknown_callers"
|
|
29035
|
+
});
|
|
29036
|
+
return finish("forward_pstn", false, true, steps, recommendations, callerRole);
|
|
27565
29037
|
} else if (callerRole === "anonymous") {
|
|
27566
29038
|
if (!phone.anonymousMemberRoleId) {
|
|
27567
29039
|
steps.push({
|
|
@@ -27586,7 +29058,6 @@ function simulateInboundRouting(phone, opts = {}) {
|
|
|
27586
29058
|
});
|
|
27587
29059
|
return finish("anonymous_rejection_tts", false, true, steps, recommendations, callerRole);
|
|
27588
29060
|
}
|
|
27589
|
-
const inboundCallHandling = phone.inboundCallHandling ?? "agent";
|
|
27590
29061
|
if (inboundCallHandling === "fax") {
|
|
27591
29062
|
steps.push({ step: "inbound_call_handling", outcome: "receive_fax" });
|
|
27592
29063
|
return finish("fax_receive", true, true, steps, recommendations, callerRole);
|
|
@@ -27603,11 +29074,15 @@ function simulateInboundRouting(phone, opts = {}) {
|
|
|
27603
29074
|
steps.push({ step: "inbound_call_handling", outcome: "forward_off_hours" });
|
|
27604
29075
|
return finish("forward_pstn", false, true, steps, recommendations, callerRole);
|
|
27605
29076
|
}
|
|
27606
|
-
if (inboundCallHandling === "
|
|
29077
|
+
if (inboundCallHandling === "forward_business_hours" && isBusinessHours && phone.voiceForwardNumber) {
|
|
29078
|
+
steps.push({ step: "inbound_call_handling", outcome: "forward_business_hours" });
|
|
29079
|
+
return finish("forward_pstn", false, true, steps, recommendations, callerRole);
|
|
29080
|
+
}
|
|
29081
|
+
if (inboundCallHandling === "voicemail" || inboundCallHandling === "voicemail_off_hours" && !isBusinessHours || inboundCallHandling === "voicemail_business_hours" && isBusinessHours) {
|
|
27607
29082
|
steps.push({ step: "inbound_call_handling", outcome: "voicemail" });
|
|
27608
29083
|
return finish("voicemail_record", true, true, steps, recommendations, callerRole);
|
|
27609
29084
|
}
|
|
27610
|
-
if ((inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours"
|
|
29085
|
+
if (phone.voiceOffHoursMessage && (inboundCallHandling === "always_message" || inboundCallHandling === "message_off_hours" && !isBusinessHours || inboundCallHandling === "message_business_hours" && isBusinessHours)) {
|
|
27611
29086
|
steps.push({ step: "inbound_call_handling", outcome: "play_message" });
|
|
27612
29087
|
return finish("play_message_hangup", false, false, steps, recommendations, callerRole);
|
|
27613
29088
|
}
|
|
@@ -28840,7 +30315,7 @@ var ROUTINE_COLUMNS = [
|
|
|
28840
30315
|
COL.name(),
|
|
28841
30316
|
{ header: "MODE", getValue: (item) => item.scheduleMode ?? "" },
|
|
28842
30317
|
{ header: "CRON", getValue: (item) => item.cronString ?? "" },
|
|
28843
|
-
{ header: "TZ", getValue: (item) => item.timezone ?? "
|
|
30318
|
+
{ header: "TZ", getValue: (item) => item.timezone ?? "(workspace)" },
|
|
28844
30319
|
{ header: "ENABLED", getValue: (item) => String(item.scheduleEnabled ?? "") },
|
|
28845
30320
|
{ header: "NEXT RUN", getValue: (item) => item.nextRun ?? "" }
|
|
28846
30321
|
];
|
|
@@ -28870,7 +30345,7 @@ ${ROUTINE_FIELD_REFERENCE}`,
|
|
|
28870
30345
|
' "scheduleEnabled":true,"scheduleMode":"CRON","cronString":"0 7 * * *",',
|
|
28871
30346
|
` "timezone":"America/Los_Angeles","targetMemberId":1,"workflowId":2}'`,
|
|
28872
30347
|
" (timezone is an IANA name; omit it to default to the workspace timezone, else UTC.",
|
|
28873
|
-
'
|
|
30348
|
+
' A workspace with no timezone configured reads "0 7 * * *" as 07:00 UTC.)',
|
|
28874
30349
|
"",
|
|
28875
30350
|
"To actually send via SMS/voice, pair the routine with an event rule:",
|
|
28876
30351
|
' gr events rules create \u2014 objectType "routine", eventType "routine:triggered",',
|
|
@@ -31212,6 +32687,33 @@ var salesforceDomain = {
|
|
|
31212
32687
|
outputSingle(result2, ctx);
|
|
31213
32688
|
}
|
|
31214
32689
|
},
|
|
32690
|
+
{
|
|
32691
|
+
path: ["salesforce", "resync-members"],
|
|
32692
|
+
description: "Pull linked members\u2019 Salesforce records now, ignoring the sync cursor",
|
|
32693
|
+
mutates: true,
|
|
32694
|
+
requiresWorkspace: true,
|
|
32695
|
+
args: [
|
|
32696
|
+
{
|
|
32697
|
+
name: "member-ids",
|
|
32698
|
+
description: "Comma-separated member IDs. Omit to resync every linked member."
|
|
32699
|
+
}
|
|
32700
|
+
],
|
|
32701
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
32702
|
+
const raw = args["member-ids"];
|
|
32703
|
+
const memberIds = raw ? String(raw).split(",").map((v) => v.trim()).filter(Boolean).map((v) => {
|
|
32704
|
+
const n = Number(v);
|
|
32705
|
+
if (!Number.isInteger(n)) {
|
|
32706
|
+
throw new CLIError(`Invalid member id: ${v}`);
|
|
32707
|
+
}
|
|
32708
|
+
return n;
|
|
32709
|
+
}) : void 0;
|
|
32710
|
+
const result2 = await requireAuth(ctx).apiClient.resyncSalesforceLinkedMembers(
|
|
32711
|
+
workspace,
|
|
32712
|
+
memberIds ? { memberIds } : {}
|
|
32713
|
+
);
|
|
32714
|
+
outputSingle(result2, ctx);
|
|
32715
|
+
}
|
|
32716
|
+
},
|
|
31215
32717
|
{
|
|
31216
32718
|
path: ["salesforce", "reconciliation"],
|
|
31217
32719
|
description: "Find matching Salesforce records for workspace members",
|
|
@@ -31563,6 +33065,7 @@ function registerPublicDomains(registry) {
|
|
|
31563
33065
|
registry.register(agentTasksDomain);
|
|
31564
33066
|
registry.register(assignmentsDomain);
|
|
31565
33067
|
registry.register(dataTypesDomain);
|
|
33068
|
+
registry.register(devicesDomain);
|
|
31566
33069
|
registry.register(sitesDomain);
|
|
31567
33070
|
registry.register(filesDomain);
|
|
31568
33071
|
registry.register(eventsDomain);
|
|
@@ -31786,9 +33289,12 @@ function isCliLocalFileInterrupt(value) {
|
|
|
31786
33289
|
return v.type === "cli_local_file" && typeof v.action === "string" && typeof v.path === "string";
|
|
31787
33290
|
}
|
|
31788
33291
|
|
|
33292
|
+
// src/lib/decline-message.ts
|
|
33293
|
+
var UI_CHOICE_DECLINE_MESSAGE = "The user declined to make a selection.";
|
|
33294
|
+
|
|
31789
33295
|
// src/lib/openui-parse.ts
|
|
31790
33296
|
function markupIsInteractive(markup) {
|
|
31791
|
-
return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(");
|
|
33297
|
+
return markup.includes("ChoiceButton(") || markup.includes("Form(") || markup.includes("Input(") || markup.includes("TextArea(") || markup.includes("Select(") || markup.includes("ChoiceField(");
|
|
31792
33298
|
}
|
|
31793
33299
|
function parseOpenUiMarkup(markup) {
|
|
31794
33300
|
const bindings = parseBindings(markup);
|
|
@@ -31967,7 +33473,7 @@ function extractForm(bindings) {
|
|
|
31967
33473
|
}
|
|
31968
33474
|
if (!formBinding) return null;
|
|
31969
33475
|
const name = asString(formBinding.args[0]) || "form";
|
|
31970
|
-
const title = asString(formBinding.args[1])
|
|
33476
|
+
const title = asString(formBinding.args[1]) ?? name;
|
|
31971
33477
|
const description = asString(formBinding.args[2]) || void 0;
|
|
31972
33478
|
const buttonsArg = formBinding.args[3];
|
|
31973
33479
|
const fieldsArg = formBinding.args[4];
|
|
@@ -31998,7 +33504,7 @@ function resolveFormControl(bindings, ref) {
|
|
|
31998
33504
|
const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 1);
|
|
31999
33505
|
return { name: fieldName, label, kind: "textarea", placeholder, required, hint: hint2 };
|
|
32000
33506
|
}
|
|
32001
|
-
if (inputBinding.component === "Select") {
|
|
33507
|
+
if (inputBinding.component === "Select" || inputBinding.component === "ChoiceField") {
|
|
32002
33508
|
const fieldName = asString(inputBinding.args[0]) || labelToName(label);
|
|
32003
33509
|
const itemsArg = inputBinding.args[1];
|
|
32004
33510
|
const { placeholder, required } = splitPlaceholderAndRules(inputBinding.args, 2);
|
|
@@ -32164,8 +33670,8 @@ function writeParsedSummary(parsed, markup) {
|
|
|
32164
33670
|
);
|
|
32165
33671
|
}
|
|
32166
33672
|
} else if (parsed.form) {
|
|
32167
|
-
writeOut(` Form: ${parsed.form.title}
|
|
32168
|
-
`);
|
|
33673
|
+
writeOut(parsed.form.title ? ` Form: ${parsed.form.title}
|
|
33674
|
+
` : " Form:\n");
|
|
32169
33675
|
for (const f of parsed.form.fields) {
|
|
32170
33676
|
writeOut(` - ${f.label} (${f.name})
|
|
32171
33677
|
`);
|
|
@@ -32329,9 +33835,11 @@ async function selectChoice(choices) {
|
|
|
32329
33835
|
});
|
|
32330
33836
|
}
|
|
32331
33837
|
async function promptForm(form, extraChoices) {
|
|
32332
|
-
|
|
33838
|
+
if (form.title) {
|
|
33839
|
+
writeOut(`
|
|
32333
33840
|
${BOLD}${form.title}${RESET}
|
|
32334
33841
|
`);
|
|
33842
|
+
}
|
|
32335
33843
|
if (form.description) {
|
|
32336
33844
|
writeOut(`${DIM}${form.description}${RESET}
|
|
32337
33845
|
`);
|
|
@@ -32392,7 +33900,7 @@ ${DIM}Select an action:${RESET}
|
|
|
32392
33900
|
return action.choiceValue ?? action.label;
|
|
32393
33901
|
}
|
|
32394
33902
|
if (action.kind === "cancel") {
|
|
32395
|
-
return
|
|
33903
|
+
return UI_CHOICE_DECLINE_MESSAGE;
|
|
32396
33904
|
}
|
|
32397
33905
|
if (action.kind === "open_url" && action.url) {
|
|
32398
33906
|
writeOut(`${DIM}Open URL: ${action.url}${RESET}
|
|
@@ -32671,7 +34179,7 @@ async function handleUIChoiceTerminal(payload) {
|
|
|
32671
34179
|
} catch (err) {
|
|
32672
34180
|
if (err instanceof OpenUiTerminalAbortError) {
|
|
32673
34181
|
return {
|
|
32674
|
-
resumeValue:
|
|
34182
|
+
resumeValue: UI_CHOICE_DECLINE_MESSAGE,
|
|
32675
34183
|
resumeInterruptId: stringField(payload, "interruptId", "interrupt_id")
|
|
32676
34184
|
};
|
|
32677
34185
|
}
|
|
@@ -35765,7 +37273,7 @@ init_concierge_api();
|
|
|
35765
37273
|
|
|
35766
37274
|
// package.json
|
|
35767
37275
|
var package_default = {
|
|
35768
|
-
version: "0.
|
|
37276
|
+
version: "0.21.0"};
|
|
35769
37277
|
|
|
35770
37278
|
// src/gr.ts
|
|
35771
37279
|
var VERSION = package_default.version;
|
|
@@ -35842,9 +37350,7 @@ async function main() {
|
|
|
35842
37350
|
process.exit(1);
|
|
35843
37351
|
}
|
|
35844
37352
|
await cmd.handler(hctx);
|
|
35845
|
-
|
|
35846
|
-
await new Promise((resolve3) => process.stdout.once("drain", resolve3));
|
|
35847
|
-
}
|
|
37353
|
+
await flushStdout();
|
|
35848
37354
|
process.exit(process.exitCode ?? 0);
|
|
35849
37355
|
}
|
|
35850
37356
|
main().catch(handleError);
|