@gravity-rail/cli 0.10.0 → 0.11.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 +136 -83
- package/dist/{account-verify-phone-XNXA7HNG.js → account-verify-phone-7YQXKU3X.js} +3 -3
- package/dist/{chunk-XJ2EBXJZ.js → chunk-GRLUFHMI.js} +48 -117
- package/dist/chunk-GRLUFHMI.js.map +1 -0
- package/dist/{chunk-GVUGFPCN.js → chunk-SIV2WU2I.js} +284 -45
- package/dist/chunk-SIV2WU2I.js.map +1 -0
- package/dist/cli-client-context-C5l8lg7h.d.ts +130 -0
- package/dist/cli-utils.d.ts +60 -3
- package/dist/cli-utils.js +3 -1
- package/dist/gr.js +5664 -1943
- package/dist/gr.js.map +1 -1
- package/dist/lib.d.ts +65 -9
- package/dist/lib.js +1329 -639
- package/dist/lib.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-GVUGFPCN.js.map +0 -1
- package/dist/chunk-XJ2EBXJZ.js.map +0 -1
- package/dist/cli-client-context-BbyBEGcg.d.ts +0 -99
- /package/dist/{account-verify-phone-XNXA7HNG.js.map → account-verify-phone-7YQXKU3X.js.map} +0 -0
package/dist/lib.js
CHANGED
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
startAccountPhoneVerify,
|
|
31
31
|
stderr,
|
|
32
32
|
unwrapItems
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-GRLUFHMI.js";
|
|
34
34
|
import {
|
|
35
35
|
AGUIClient,
|
|
36
36
|
formatTimestamp,
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
getTextDelta,
|
|
39
39
|
performOAuthFlow,
|
|
40
40
|
selectFromList
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-SIV2WU2I.js";
|
|
42
42
|
import {
|
|
43
43
|
AuthRequiredError,
|
|
44
44
|
CLIError,
|
|
@@ -67,7 +67,9 @@ function parseArgs(defs, argv) {
|
|
|
67
67
|
}
|
|
68
68
|
const KNOWN_GLOBAL_FLAGS = /* @__PURE__ */ new Set([
|
|
69
69
|
"--env",
|
|
70
|
-
"--
|
|
70
|
+
"--profile",
|
|
71
|
+
"--account",
|
|
72
|
+
"--api-url",
|
|
71
73
|
"--output-format",
|
|
72
74
|
"-o",
|
|
73
75
|
"--verbose",
|
|
@@ -920,7 +922,9 @@ var CommandRegistry = class {
|
|
|
920
922
|
const lines = [`${description}
|
|
921
923
|
`, `Usage: gr ${cmdStr} [options]`];
|
|
922
924
|
if (cmd.requiresWorkspace && !inSandbox) {
|
|
923
|
-
lines.push(
|
|
925
|
+
lines.push(
|
|
926
|
+
" Requires: -w <workspace-uuid> (or --profile workspace/member after gr auth import-dev)"
|
|
927
|
+
);
|
|
924
928
|
}
|
|
925
929
|
if (cmd.mutates && !inSandbox) {
|
|
926
930
|
lines.push(" Requires: --allow-write");
|
|
@@ -981,7 +985,7 @@ var CommandRegistry = class {
|
|
|
981
985
|
"Global Options:",
|
|
982
986
|
...!inSandbox ? [
|
|
983
987
|
" --env <env> Environment: dev, staging, prod (default: dev)",
|
|
984
|
-
" --
|
|
988
|
+
" --profile <name> Named credential profile (alias: --account)",
|
|
985
989
|
" --api-url <url> API base URL (or GRAVITY_RAIL_API_URL)",
|
|
986
990
|
" -w, --workspace <uuid> Workspace UUID"
|
|
987
991
|
] : [],
|
|
@@ -1006,7 +1010,7 @@ var CommandRegistry = class {
|
|
|
1006
1010
|
}
|
|
1007
1011
|
};
|
|
1008
1012
|
function sandboxHelpText(text) {
|
|
1009
|
-
return text.replace(/\byarn gr\b/g, "gr").replace(/\s--allow-write\b/g, "").replace(/\s--
|
|
1013
|
+
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, "");
|
|
1010
1014
|
}
|
|
1011
1015
|
function sandboxExample(example) {
|
|
1012
1016
|
return sandboxHelpText(example);
|
|
@@ -1189,42 +1193,6 @@ var agentTasksDomain = {
|
|
|
1189
1193
|
|
|
1190
1194
|
// src/domains/agents.ts
|
|
1191
1195
|
var COLUMNS = [COL.id(), COL.uuid(), COL.name(), COL.status(), COL.created()];
|
|
1192
|
-
var TOOL_COLUMNS = [
|
|
1193
|
-
COL.name(),
|
|
1194
|
-
{ header: "DESCRIPTION", getValue: (item) => (item.description ?? "").slice(0, 60) }
|
|
1195
|
-
];
|
|
1196
|
-
var ABILITY_COLUMNS = [
|
|
1197
|
-
COL.uuid(),
|
|
1198
|
-
{ header: "ABILITY-TYPE", getValue: (item) => item.abilityType ?? "" },
|
|
1199
|
-
COL.enabled(),
|
|
1200
|
-
{ header: "CEL-CONDITION", getValue: (item) => item.celCondition ?? "" }
|
|
1201
|
-
];
|
|
1202
|
-
function requireAbilityScope(args) {
|
|
1203
|
-
const hasWorkflow = typeof args["workflow-id"] === "string";
|
|
1204
|
-
const hasTask = typeof args["task-id"] === "string";
|
|
1205
|
-
if (hasWorkflow === hasTask) {
|
|
1206
|
-
throw new CLIError(
|
|
1207
|
-
"Specify exactly one of --workflow-id or --task-id. Abilities are scoped to a workflow or task, not to the agent row itself."
|
|
1208
|
-
);
|
|
1209
|
-
}
|
|
1210
|
-
if (hasTask) {
|
|
1211
|
-
const taskId = Number(args["task-id"]);
|
|
1212
|
-
if (isNaN(taskId)) throw new CLIError("--task-id must be a number");
|
|
1213
|
-
return { taskId };
|
|
1214
|
-
}
|
|
1215
|
-
const workflowId = Number(args["workflow-id"]);
|
|
1216
|
-
if (isNaN(workflowId)) throw new CLIError("--workflow-id must be a number");
|
|
1217
|
-
return { workflowId };
|
|
1218
|
-
}
|
|
1219
|
-
function normalizeChannel(channel) {
|
|
1220
|
-
const aliases = {
|
|
1221
|
-
phone: "phone-voice",
|
|
1222
|
-
voice: "phone-voice",
|
|
1223
|
-
sms: "phone-sms",
|
|
1224
|
-
web: "web-chat"
|
|
1225
|
-
};
|
|
1226
|
-
return aliases[channel] ?? channel;
|
|
1227
|
-
}
|
|
1228
1196
|
var agentsDomain = {
|
|
1229
1197
|
name: "agents",
|
|
1230
1198
|
description: "Manage agents",
|
|
@@ -1241,162 +1209,12 @@ var agentsDomain = {
|
|
|
1241
1209
|
unarchiveMethod: "unarchiveAgent",
|
|
1242
1210
|
columns: COLUMNS,
|
|
1243
1211
|
paginationSupport: "full",
|
|
1244
|
-
updateHelp: "Update an agent. Body schema (JSON via --data/--file/stdin), all fields optional:\n name string display name\n description string short summary shown in listings\n systemPrompt string base instructions for the agent\n model string AI model slug (see `gr ai-models list`)\n temperature number sampling temperature (0-2)\n avatarFileId number workspace file ID for the avatar\n config object AgentConfig overrides (advanced)\
|
|
1212
|
+
updateHelp: "Update an agent. Body schema (JSON via --data/--file/stdin), all fields optional:\n name string display name\n description string short summary shown in listings\n systemPrompt string base instructions for the agent\n model string AI model slug (see `gr ai-models list`)\n temperature number sampling temperature (0-2)\n avatarFileId number workspace file ID for the avatar\n config object AgentConfig overrides (advanced)\nWorkflow abilities are managed with `gr abilities`.",
|
|
1245
1213
|
updateExamples: [
|
|
1246
1214
|
`gr agents update --id 42 --data '{"name":"Scheduler","temperature":0.4}'`,
|
|
1247
1215
|
"gr agents update --id 42 --file agent.json"
|
|
1248
1216
|
]
|
|
1249
|
-
})
|
|
1250
|
-
{
|
|
1251
|
-
path: ["agents", "resolve-tools"],
|
|
1252
|
-
description: "Show resolved runtime tools for an agent in a channel context. Channel accepts canonical values (phone-voice, web-voice, phone-sms, web-chat) or shorthand aliases: phone -> phone-voice, voice -> phone-voice, sms -> phone-sms, web -> web-chat. Unknown values are passed through unchanged. When neither --task-id nor --task-uuid is supplied the agent's workflow start task is used.",
|
|
1253
|
-
requiresWorkspace: true,
|
|
1254
|
-
args: [
|
|
1255
|
-
{ name: "id", description: "Agent ID", required: true },
|
|
1256
|
-
{
|
|
1257
|
-
name: "channel",
|
|
1258
|
-
description: "Channel to simulate. Canonical: phone-voice, web-voice, phone-sms, web-chat. Aliases: phone|voice -> phone-voice, sms -> phone-sms, web -> web-chat.",
|
|
1259
|
-
required: true
|
|
1260
|
-
},
|
|
1261
|
-
{
|
|
1262
|
-
name: "task-id",
|
|
1263
|
-
description: "Numeric task ID whose workflow abilities to resolve. Omit to use the workflow start task (or supply --task-uuid instead).",
|
|
1264
|
-
required: false
|
|
1265
|
-
},
|
|
1266
|
-
{
|
|
1267
|
-
name: "task-uuid",
|
|
1268
|
-
description: "Task UUID as an alternative to --task-id. Omit to use the workflow start task.",
|
|
1269
|
-
required: false
|
|
1270
|
-
}
|
|
1271
|
-
],
|
|
1272
|
-
handler: async ({ ctx, workspace, args }) => {
|
|
1273
|
-
const rawTaskId = args["task-id"];
|
|
1274
|
-
const rawTaskUuid = args["task-uuid"];
|
|
1275
|
-
if (rawTaskId !== void 0 && rawTaskUuid !== void 0) {
|
|
1276
|
-
throw new Error("Provide at most one of --task-id or --task-uuid, not both");
|
|
1277
|
-
}
|
|
1278
|
-
const options = {
|
|
1279
|
-
channel: normalizeChannel(String(args.channel))
|
|
1280
|
-
};
|
|
1281
|
-
if (typeof rawTaskId === "string") {
|
|
1282
|
-
const n = Number(rawTaskId);
|
|
1283
|
-
if (isNaN(n)) throw new Error("Argument --task-id must be a number");
|
|
1284
|
-
options.taskId = n;
|
|
1285
|
-
}
|
|
1286
|
-
if (typeof rawTaskUuid === "string") {
|
|
1287
|
-
options.taskUuid = rawTaskUuid;
|
|
1288
|
-
}
|
|
1289
|
-
const result2 = await requireAuth(ctx).apiClient.resolveAgentTools(
|
|
1290
|
-
workspace,
|
|
1291
|
-
requireNumber(args, "id"),
|
|
1292
|
-
options
|
|
1293
|
-
);
|
|
1294
|
-
const tools = result2.tools ?? result2;
|
|
1295
|
-
outputData(Array.isArray(tools) ? tools : [tools], ctx, TOOL_COLUMNS);
|
|
1296
|
-
}
|
|
1297
|
-
},
|
|
1298
|
-
{
|
|
1299
|
-
path: ["agents", "abilities", "list"],
|
|
1300
|
-
description: "Show the abilities effective for an agent on a task (read-only). Requires --task-id because abilities are resolved through the task's workflow, not stored on the agent row.",
|
|
1301
|
-
requiresWorkspace: true,
|
|
1302
|
-
columns: ABILITY_COLUMNS,
|
|
1303
|
-
args: [
|
|
1304
|
-
{ name: "id", description: "Agent ID", required: true },
|
|
1305
|
-
{
|
|
1306
|
-
name: "task-id",
|
|
1307
|
-
description: "Task ID whose workflow abilities to list",
|
|
1308
|
-
required: true
|
|
1309
|
-
}
|
|
1310
|
-
],
|
|
1311
|
-
handler: async ({ ctx, workspace, args }) => {
|
|
1312
|
-
const result2 = await requireAuth(ctx).apiClient.listAgentAbilities(
|
|
1313
|
-
workspace,
|
|
1314
|
-
requireNumber(args, "id"),
|
|
1315
|
-
{ taskId: requireNumber(args, "task-id") }
|
|
1316
|
-
);
|
|
1317
|
-
outputData(result2, ctx, ABILITY_COLUMNS);
|
|
1318
|
-
}
|
|
1319
|
-
},
|
|
1320
|
-
{
|
|
1321
|
-
path: ["agents", "abilities", "enable"],
|
|
1322
|
-
description: "Enable (create) an ability on a workflow or task scope. Requires exactly one of --workflow-id or --task-id \u2014 abilities are scoped to a workflow/task, never to the agent row. Provide initial --config JSON inline or via --data/--file.",
|
|
1323
|
-
mutates: true,
|
|
1324
|
-
requiresWorkspace: true,
|
|
1325
|
-
args: [
|
|
1326
|
-
{ name: "ability-type", description: "Ability type slug (e.g. 'communication:send_sms')", required: true },
|
|
1327
|
-
{ name: "workflow-id", description: "Workflow scope (mutually exclusive with --task-id)" },
|
|
1328
|
-
{ name: "task-id", description: "Task scope (mutually exclusive with --workflow-id)" }
|
|
1329
|
-
],
|
|
1330
|
-
examples: [
|
|
1331
|
-
"gr agents abilities enable --workflow-id 7 --ability-type tools:web_search",
|
|
1332
|
-
`gr agents abilities enable --task-id 12 --ability-type integration:data_access --data '{"dataTypeUuid":"..."}'`
|
|
1333
|
-
],
|
|
1334
|
-
handler: async ({ ctx, workspace, args, data }) => {
|
|
1335
|
-
const abilityType = args["ability-type"];
|
|
1336
|
-
if (typeof abilityType !== "string") {
|
|
1337
|
-
throw new CLIError("--ability-type is required");
|
|
1338
|
-
}
|
|
1339
|
-
const scope = requireAbilityScope(args);
|
|
1340
|
-
const config = data && typeof data === "object" ? data : {};
|
|
1341
|
-
const body = {
|
|
1342
|
-
abilityType,
|
|
1343
|
-
config,
|
|
1344
|
-
...scope
|
|
1345
|
-
};
|
|
1346
|
-
const result2 = await requireAuth(ctx).apiClient.createAbility(workspace, body);
|
|
1347
|
-
outputSingle(result2, ctx, ABILITY_COLUMNS);
|
|
1348
|
-
}
|
|
1349
|
-
},
|
|
1350
|
-
{
|
|
1351
|
-
path: ["agents", "abilities", "disable"],
|
|
1352
|
-
description: "Disable an ability instance by UUID (sets enabled=false, keeps config). Use `gr agents abilities list` to find the UUID.",
|
|
1353
|
-
mutates: true,
|
|
1354
|
-
requiresWorkspace: true,
|
|
1355
|
-
args: [{ name: "uuid", description: "Ability instance UUID", required: true }],
|
|
1356
|
-
handler: async ({ ctx, workspace, args }) => {
|
|
1357
|
-
const uuid = args.uuid;
|
|
1358
|
-
if (typeof uuid !== "string") throw new CLIError("--uuid is required");
|
|
1359
|
-
const result2 = await requireAuth(ctx).apiClient.updateAbility(workspace, uuid, {
|
|
1360
|
-
enabled: false
|
|
1361
|
-
});
|
|
1362
|
-
outputSingle(result2, ctx, ABILITY_COLUMNS);
|
|
1363
|
-
}
|
|
1364
|
-
},
|
|
1365
|
-
{
|
|
1366
|
-
path: ["agents", "abilities", "configure"],
|
|
1367
|
-
description: "Update an ability instance by UUID. Pass --data/--file JSON to merge into config, and/or --enabled true|false to toggle. config is merged with the existing config server-side.",
|
|
1368
|
-
mutates: true,
|
|
1369
|
-
requiresWorkspace: true,
|
|
1370
|
-
args: [
|
|
1371
|
-
{ name: "uuid", description: "Ability instance UUID", required: true },
|
|
1372
|
-
{ name: "enabled", description: "Set enabled state (true|false)" }
|
|
1373
|
-
],
|
|
1374
|
-
examples: [
|
|
1375
|
-
`gr agents abilities configure --uuid <uuid> --data '{"canForward":true}'`,
|
|
1376
|
-
"gr agents abilities configure --uuid <uuid> --enabled true"
|
|
1377
|
-
],
|
|
1378
|
-
handler: async ({ ctx, workspace, args, data }) => {
|
|
1379
|
-
const uuid = args.uuid;
|
|
1380
|
-
if (typeof uuid !== "string") throw new CLIError("--uuid is required");
|
|
1381
|
-
const body = {};
|
|
1382
|
-
if (data && typeof data === "object") {
|
|
1383
|
-
body.config = data;
|
|
1384
|
-
}
|
|
1385
|
-
if (typeof args.enabled === "string") {
|
|
1386
|
-
if (args.enabled !== "true" && args.enabled !== "false") {
|
|
1387
|
-
throw new CLIError("--enabled must be true or false");
|
|
1388
|
-
}
|
|
1389
|
-
body.enabled = args.enabled === "true";
|
|
1390
|
-
}
|
|
1391
|
-
if (Object.keys(body).length === 0) {
|
|
1392
|
-
throw new CLIError(
|
|
1393
|
-
"Nothing to update: provide --data config and/or --enabled"
|
|
1394
|
-
);
|
|
1395
|
-
}
|
|
1396
|
-
const result2 = await requireAuth(ctx).apiClient.updateAbility(workspace, uuid, body);
|
|
1397
|
-
outputSingle(result2, ctx, ABILITY_COLUMNS);
|
|
1398
|
-
}
|
|
1399
|
-
}
|
|
1217
|
+
})
|
|
1400
1218
|
]
|
|
1401
1219
|
};
|
|
1402
1220
|
|
|
@@ -1404,8 +1222,12 @@ var agentsDomain = {
|
|
|
1404
1222
|
var COLUMNS2 = [
|
|
1405
1223
|
COL.id(),
|
|
1406
1224
|
COL.uuid(),
|
|
1407
|
-
{ header: "TYPE", getValue: (item) => item.chatType ??
|
|
1408
|
-
|
|
1225
|
+
{ header: "TYPE", getValue: (item) => item.chatType ?? "" },
|
|
1226
|
+
// ChatResponse has no top-level memberName; surface participant when present
|
|
1227
|
+
{
|
|
1228
|
+
header: "MEMBER",
|
|
1229
|
+
getValue: (item) => item.memberName ?? item.participants?.[0]?.name ?? String(item.memberId ?? item.participants?.[0]?.memberId ?? "")
|
|
1230
|
+
},
|
|
1409
1231
|
COL.status(),
|
|
1410
1232
|
{ header: "CHANNEL", getValue: (item) => item.channel ?? "" },
|
|
1411
1233
|
COL.created()
|
|
@@ -1431,6 +1253,24 @@ var MESSAGE_COLUMNS2 = [
|
|
|
1431
1253
|
},
|
|
1432
1254
|
COL.created()
|
|
1433
1255
|
];
|
|
1256
|
+
var FEEDBACK_COLUMNS = [
|
|
1257
|
+
COL.id(),
|
|
1258
|
+
{ header: "SOURCE", getValue: (item) => item.source ?? "" },
|
|
1259
|
+
{ header: "AUTHOR", getValue: (item) => item.authorKind ?? "" },
|
|
1260
|
+
{
|
|
1261
|
+
header: "RATING",
|
|
1262
|
+
getValue: (item) => {
|
|
1263
|
+
if (item.rating == null) return "";
|
|
1264
|
+
return Number(item.rating) >= 0.5 ? "up" : "down";
|
|
1265
|
+
}
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
header: "BODY",
|
|
1269
|
+
getValue: (item) => String(item.body ?? "").slice(0, 48),
|
|
1270
|
+
maxWidth: 48
|
|
1271
|
+
},
|
|
1272
|
+
COL.created()
|
|
1273
|
+
];
|
|
1434
1274
|
async function respondToInterrupt(ctx, workspace, args, decisionType) {
|
|
1435
1275
|
const chatId = requireIdOrUuidFrom(args, "chat-id", "id");
|
|
1436
1276
|
const chat = await requireAuth(ctx).apiClient.getChat(workspace, chatId);
|
|
@@ -1491,10 +1331,70 @@ var chatsDomain = {
|
|
|
1491
1331
|
{ name: "member-id", description: "Filter by member ID" },
|
|
1492
1332
|
{
|
|
1493
1333
|
name: "chat-type",
|
|
1494
|
-
description: "Filter by chat type (assignment, manager, dm, contributor).
|
|
1334
|
+
description: "Filter by chat type (assignment, manager, dm, contributor). Omitted = all types."
|
|
1495
1335
|
}
|
|
1496
1336
|
]
|
|
1497
1337
|
}),
|
|
1338
|
+
// Feedback (durable chat_feedback rows for this chat)
|
|
1339
|
+
{
|
|
1340
|
+
path: ["chats", "feedback", "list"],
|
|
1341
|
+
description: "List durable feedback for a chat (thumbs, User Feedback ability, supervisors, extracted). PHI may be in body \u2014 prefer IDs when reporting.",
|
|
1342
|
+
requiresWorkspace: true,
|
|
1343
|
+
args: [
|
|
1344
|
+
{
|
|
1345
|
+
name: "chat-id",
|
|
1346
|
+
aliases: ["id"],
|
|
1347
|
+
description: "Chat ID (numeric id preferred; uuid accepted)",
|
|
1348
|
+
required: true
|
|
1349
|
+
},
|
|
1350
|
+
{ name: "page", description: "Page number (default 1)" },
|
|
1351
|
+
{ name: "page-size", description: "Page size (default 25, max 100)" },
|
|
1352
|
+
{
|
|
1353
|
+
name: "source",
|
|
1354
|
+
description: "Filter: rating | explicit_user | extracted | supervisor"
|
|
1355
|
+
},
|
|
1356
|
+
{ name: "rating", description: "Filter thumbs: 'up' or 'down'" },
|
|
1357
|
+
{
|
|
1358
|
+
name: "author-kind",
|
|
1359
|
+
description: "Filter: end_user | staff | supervisor | system | agent | unknown"
|
|
1360
|
+
}
|
|
1361
|
+
],
|
|
1362
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
1363
|
+
const chatId = requireIdOrUuidFrom(args, "chat-id", "id");
|
|
1364
|
+
let numericChatId;
|
|
1365
|
+
if (typeof chatId === "number" || /^\d+$/.test(String(chatId))) {
|
|
1366
|
+
numericChatId = Number(chatId);
|
|
1367
|
+
} else {
|
|
1368
|
+
const chat = await requireAuth(ctx).apiClient.getChat(workspace, chatId);
|
|
1369
|
+
numericChatId = Number(chat.id);
|
|
1370
|
+
}
|
|
1371
|
+
const page = args.page != null && args.page !== "" ? Number(args.page) : void 0;
|
|
1372
|
+
const pageSize = args["page-size"] != null && args["page-size"] !== "" ? Number(args["page-size"]) : void 0;
|
|
1373
|
+
const result2 = await requireAuth(ctx).apiClient.getChatFeedback(
|
|
1374
|
+
workspace,
|
|
1375
|
+
numericChatId,
|
|
1376
|
+
{
|
|
1377
|
+
page: Number.isFinite(page) ? page : void 0,
|
|
1378
|
+
pageSize: Number.isFinite(pageSize) ? pageSize : void 0,
|
|
1379
|
+
source: args.source,
|
|
1380
|
+
rating: args.rating,
|
|
1381
|
+
authorKind: args["author-kind"]
|
|
1382
|
+
}
|
|
1383
|
+
);
|
|
1384
|
+
if (ctx.outputFormat === "json" || ctx.outputFormat === "jsonl") {
|
|
1385
|
+
outputData(result2, ctx);
|
|
1386
|
+
} else {
|
|
1387
|
+
outputData(result2.items ?? [], ctx, FEEDBACK_COLUMNS);
|
|
1388
|
+
const summary = result2.summary;
|
|
1389
|
+
if (summary) {
|
|
1390
|
+
process.stderr.write(
|
|
1391
|
+
`total=${summary.total ?? result2.total ?? 0} up=${summary.thumbsUp ?? 0} down=${summary.thumbsDown ?? 0} withComment=${summary.withComment ?? 0}
|
|
1392
|
+
`
|
|
1393
|
+
);
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
},
|
|
1498
1398
|
// Messages
|
|
1499
1399
|
{
|
|
1500
1400
|
path: ["chats", "messages", "list"],
|
|
@@ -1830,12 +1730,10 @@ var chatsDomain = {
|
|
|
1830
1730
|
);
|
|
1831
1731
|
return;
|
|
1832
1732
|
}
|
|
1833
|
-
const [chat, messages
|
|
1733
|
+
const [chat, messages] = await Promise.all([
|
|
1834
1734
|
authed.apiClient.getChat(workspace, chatId),
|
|
1835
|
-
authed.apiClient.getChatMessages(workspace, chatId)
|
|
1836
|
-
authed.apiClient.getWorkspace(workspace)
|
|
1735
|
+
authed.apiClient.getChatMessages(workspace, chatId)
|
|
1837
1736
|
]);
|
|
1838
|
-
const isHipaa = ws.features?.includes("hipaa_compliance");
|
|
1839
1737
|
const result2 = {
|
|
1840
1738
|
chat: {
|
|
1841
1739
|
id: chat.id,
|
|
@@ -1845,12 +1743,22 @@ var chatsDomain = {
|
|
|
1845
1743
|
workflowId: chat.workflowId,
|
|
1846
1744
|
assignmentId: chat.assignmentId,
|
|
1847
1745
|
messageCount: chat.messageCount,
|
|
1848
|
-
createdAt: chat.createdAt
|
|
1746
|
+
createdAt: chat.createdAt,
|
|
1747
|
+
// Debug views must show who is in the chat — omitting the
|
|
1748
|
+
// people fields reads as "no member" through downstream
|
|
1749
|
+
// field projections (#20262). Always an array so the key
|
|
1750
|
+
// survives JSON serialization even when the API omits it.
|
|
1751
|
+
participants: (chat.participants ?? []).map((p) => ({
|
|
1752
|
+
name: "[REDACTED]",
|
|
1753
|
+
role: p.role,
|
|
1754
|
+
memberId: p.memberId ?? null,
|
|
1755
|
+
memberType: p.memberType ?? null
|
|
1756
|
+
}))
|
|
1849
1757
|
},
|
|
1850
1758
|
messages: messages.map((m) => ({
|
|
1851
1759
|
id: m.id,
|
|
1852
1760
|
role: m.role,
|
|
1853
|
-
content:
|
|
1761
|
+
content: "[REDACTED]"
|
|
1854
1762
|
}))
|
|
1855
1763
|
};
|
|
1856
1764
|
const assignmentId = chat.assignmentId;
|
|
@@ -1858,6 +1766,9 @@ var chatsDomain = {
|
|
|
1858
1766
|
const assignment = await authed.apiClient.getAssignment(workspace, assignmentId);
|
|
1859
1767
|
result2.assignment = {
|
|
1860
1768
|
id: assignment.id,
|
|
1769
|
+
// The assignment's member is load-bearing for debugging —
|
|
1770
|
+
// its omission here misled a prod investigation (#20262).
|
|
1771
|
+
memberId: assignment.memberId ?? null,
|
|
1861
1772
|
status: assignment.status,
|
|
1862
1773
|
workflowId: assignment.workflowId,
|
|
1863
1774
|
workflowName: assignment.workflowName,
|
|
@@ -1865,7 +1776,7 @@ var chatsDomain = {
|
|
|
1865
1776
|
dataRecords: assignment.dataRecords?.map((dr) => ({
|
|
1866
1777
|
id: dr.id,
|
|
1867
1778
|
dataTypeId: dr.dataTypeId,
|
|
1868
|
-
fieldValues:
|
|
1779
|
+
fieldValues: "[REDACTED]"
|
|
1869
1780
|
}))
|
|
1870
1781
|
};
|
|
1871
1782
|
}
|
|
@@ -1916,7 +1827,7 @@ var FILTER_COLUMNS2 = [COL.id(), COL.uuid(), COL.name()];
|
|
|
1916
1827
|
var FIELD_COLUMNS = [
|
|
1917
1828
|
COL.id(),
|
|
1918
1829
|
COL.name(),
|
|
1919
|
-
{ header: "TYPE", getValue: (item) => item.
|
|
1830
|
+
{ header: "TYPE", getValue: (item) => item.fieldType ?? "" },
|
|
1920
1831
|
{ header: "REQUIRED", getValue: (item) => String(item.required ?? false) }
|
|
1921
1832
|
];
|
|
1922
1833
|
var ROLE_COLUMNS = [COL.id(), COL.uuid(), COL.name()];
|
|
@@ -1937,7 +1848,7 @@ var membersDomain = {
|
|
|
1937
1848
|
columns: COLUMNS3,
|
|
1938
1849
|
updateExamples: [
|
|
1939
1850
|
`yarn gr members update -w $UUID --id 2 --data '{"phone":"+15551234567"}' --allow-write`,
|
|
1940
|
-
"yarn gr members update --
|
|
1851
|
+
"yarn gr members update --profile acme-demo/acme-admin --id 2 --file /tmp/member.json --allow-write",
|
|
1941
1852
|
"# Trust a member's phone so they can use SMS as themselves (no account):",
|
|
1942
1853
|
`yarn gr members update -w $UUID --id 2 --data '{"phoneTrusted":true}' --allow-write`
|
|
1943
1854
|
]
|
|
@@ -2260,16 +2171,33 @@ Member role access (memberRoleAccess)
|
|
|
2260
2171
|
[{"memberRoleId": 6, "accessMode": 1}]
|
|
2261
2172
|
accessMode is a non-negative bitmask of workflow permissions (see API docs).
|
|
2262
2173
|
|
|
2174
|
+
Strict-workflow routing
|
|
2175
|
+
routingMode (string) "open_world" (default) or "strict"
|
|
2176
|
+
dataTypeSlug (string) Slug of the session DataType; required when
|
|
2177
|
+
routingMode is "strict". A strict workflow
|
|
2178
|
+
requires dataTypeSlug identifying the session
|
|
2179
|
+
DataType \u2014 omitting it will be rejected by the API.
|
|
2180
|
+
|
|
2263
2181
|
Other
|
|
2264
2182
|
archived (bool) Archive flag on update
|
|
2265
|
-
dataRecords / tasks
|
|
2183
|
+
dataRecords / tasks Use dedicated subcommands \u2014 not inline here
|
|
2184
|
+
|
|
2185
|
+
Revisions (immutable graph history) are NOT edited via this --data payload.
|
|
2186
|
+
Use the dedicated commands:
|
|
2187
|
+
workflows publish Freeze the draft as a new revision
|
|
2188
|
+
workflows activate Point live traffic at a published revision
|
|
2189
|
+
workflows revisions list History with client-derived active/draft badges
|
|
2190
|
+
workflows revisions get One revision's full graph
|
|
2191
|
+
workflows revisions edit Branch a published revision back into the draft
|
|
2192
|
+
workflows revisions diff Compare two revisions
|
|
2193
|
+
workflows revisions update Edit a revision's label / publish notes
|
|
2266
2194
|
`;
|
|
2267
2195
|
|
|
2268
2196
|
// src/domains/workflows.ts
|
|
2269
2197
|
var COLUMNS5 = [
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2198
|
+
{ header: "ID", getValue: (item) => String(item.workflow?.id ?? item.id ?? "") },
|
|
2199
|
+
{ header: "UUID", getValue: (item) => String(item.workflow?.uuid ?? item.uuid ?? "") },
|
|
2200
|
+
{ header: "NAME", getValue: (item) => String(item.workflow?.name ?? item.name ?? "") },
|
|
2273
2201
|
// taskCount is the total (active + archived). Show the active count as the
|
|
2274
2202
|
// headline number — matching `tasks list` — and call out archived tasks
|
|
2275
2203
|
// separately so the table never overstates how many tasks actually run.
|
|
@@ -2277,8 +2205,9 @@ var COLUMNS5 = [
|
|
|
2277
2205
|
COL.created()
|
|
2278
2206
|
];
|
|
2279
2207
|
function formatTaskCount(item) {
|
|
2280
|
-
const
|
|
2281
|
-
const
|
|
2208
|
+
const counts = item.draftRevision ?? item;
|
|
2209
|
+
const total = Number(counts.taskCount ?? 0);
|
|
2210
|
+
const archived = Number(counts.archivedTaskCount ?? 0);
|
|
2282
2211
|
const active = total - archived;
|
|
2283
2212
|
return archived > 0 ? `${active} (+${archived} archived)` : String(active);
|
|
2284
2213
|
}
|
|
@@ -2296,10 +2225,29 @@ var CONTRIBUTOR_COLUMNS = [
|
|
|
2296
2225
|
COL.id(),
|
|
2297
2226
|
{
|
|
2298
2227
|
header: "ACCOUNT",
|
|
2299
|
-
getValue: (item) => item.
|
|
2228
|
+
getValue: (item) => item.accountName ?? String(item.accountId ?? "")
|
|
2300
2229
|
},
|
|
2301
2230
|
{ header: "ROLE", getValue: (item) => item.role ?? "" }
|
|
2302
2231
|
];
|
|
2232
|
+
var FEEDBACK_COLUMNS2 = [
|
|
2233
|
+
COL.id(),
|
|
2234
|
+
{ header: "CHAT", getValue: (item) => String(item.chatId ?? "") },
|
|
2235
|
+
{ header: "SOURCE", getValue: (item) => item.source ?? "" },
|
|
2236
|
+
{ header: "AUTHOR", getValue: (item) => item.authorKind ?? "" },
|
|
2237
|
+
{
|
|
2238
|
+
header: "RATING",
|
|
2239
|
+
getValue: (item) => {
|
|
2240
|
+
if (item.rating == null) return "";
|
|
2241
|
+
return Number(item.rating) >= 0.5 ? "up" : "down";
|
|
2242
|
+
}
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
header: "BODY",
|
|
2246
|
+
getValue: (item) => String(item.body ?? "").slice(0, 48),
|
|
2247
|
+
maxWidth: 48
|
|
2248
|
+
},
|
|
2249
|
+
COL.created()
|
|
2250
|
+
];
|
|
2303
2251
|
var TEMPLATE_COLUMNS = [
|
|
2304
2252
|
COL.id(),
|
|
2305
2253
|
COL.name(),
|
|
@@ -2309,6 +2257,31 @@ var TEMPLATE_COLUMNS = [
|
|
|
2309
2257
|
maxWidth: 60
|
|
2310
2258
|
}
|
|
2311
2259
|
];
|
|
2260
|
+
var REVISION_COLUMNS = [
|
|
2261
|
+
{ header: "ID", getValue: (r) => String(r.id ?? "") },
|
|
2262
|
+
{ header: "REV#", getValue: (r) => String(r.revisionNumber ?? "") },
|
|
2263
|
+
{ header: "NAME", getValue: (r) => r.revisionName ?? "" },
|
|
2264
|
+
{ header: "PUBLISHED", getValue: (r) => r.publishedAt ?? "(draft)" },
|
|
2265
|
+
{ header: "CREATED", getValue: (r) => r.createdAt ?? "" }
|
|
2266
|
+
];
|
|
2267
|
+
var REVISION_LIST_COLUMNS = [
|
|
2268
|
+
{ header: "ID", getValue: (r) => String(r.id ?? "") },
|
|
2269
|
+
{ header: "STATE", getValue: (r) => r.badges ?? "" },
|
|
2270
|
+
{ header: "REV#", getValue: (r) => String(r.revisionNumber ?? "") },
|
|
2271
|
+
{ header: "NAME", getValue: (r) => r.revisionName ?? "" },
|
|
2272
|
+
{ header: "PUBLISHED", getValue: (r) => r.publishedAt ?? "(draft)" },
|
|
2273
|
+
{ header: "CREATED", getValue: (r) => r.createdAt ?? "" }
|
|
2274
|
+
];
|
|
2275
|
+
function deriveRevisionBadges(revisionId, activeRevisionId, draftRevisionId) {
|
|
2276
|
+
const badges = [];
|
|
2277
|
+
if (activeRevisionId != null && Number(revisionId) === Number(activeRevisionId)) {
|
|
2278
|
+
badges.push("active");
|
|
2279
|
+
}
|
|
2280
|
+
if (draftRevisionId != null && Number(revisionId) === Number(draftRevisionId)) {
|
|
2281
|
+
badges.push("draft");
|
|
2282
|
+
}
|
|
2283
|
+
return badges.join("+");
|
|
2284
|
+
}
|
|
2312
2285
|
var workflowsDomain = {
|
|
2313
2286
|
name: "workflows",
|
|
2314
2287
|
description: "Manage workflows",
|
|
@@ -2365,6 +2338,61 @@ var workflowsDomain = {
|
|
|
2365
2338
|
outputSingle(result2, ctx, COLUMNS5);
|
|
2366
2339
|
}
|
|
2367
2340
|
},
|
|
2341
|
+
// Feedback (durable chat_feedback for chats on this workflow)
|
|
2342
|
+
{
|
|
2343
|
+
path: ["workflows", "feedback", "list"],
|
|
2344
|
+
description: "List durable feedback for a workflow (thumbs, User Feedback ability, supervisors, extracted). PHI may be in body \u2014 prefer IDs when reporting.",
|
|
2345
|
+
requiresWorkspace: true,
|
|
2346
|
+
args: [
|
|
2347
|
+
{ name: "id", description: "Workflow ID", required: true },
|
|
2348
|
+
{ name: "page", description: "Page number (default 1)" },
|
|
2349
|
+
{ name: "page-size", description: "Page size (default 25, max 100)" },
|
|
2350
|
+
{
|
|
2351
|
+
name: "source",
|
|
2352
|
+
description: "Filter: rating | explicit_user | extracted | supervisor"
|
|
2353
|
+
},
|
|
2354
|
+
{ name: "rating", description: "Filter thumbs: 'up' or 'down'" },
|
|
2355
|
+
{
|
|
2356
|
+
name: "author-kind",
|
|
2357
|
+
description: "Filter: end_user | staff | supervisor | system | agent | unknown"
|
|
2358
|
+
},
|
|
2359
|
+
{
|
|
2360
|
+
name: "include-test",
|
|
2361
|
+
description: "Include test chats (default true; pass false to exclude)"
|
|
2362
|
+
}
|
|
2363
|
+
],
|
|
2364
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
2365
|
+
const workflowId = requireNumber(args, "id");
|
|
2366
|
+
const page = args.page != null && args.page !== "" ? Number(args.page) : void 0;
|
|
2367
|
+
const pageSize = args["page-size"] != null && args["page-size"] !== "" ? Number(args["page-size"]) : void 0;
|
|
2368
|
+
const includeTestRaw = args["include-test"];
|
|
2369
|
+
const includeTest = includeTestRaw === void 0 || includeTestRaw === null || includeTestRaw === "" ? void 0 : String(includeTestRaw).toLowerCase() !== "false" && includeTestRaw !== false;
|
|
2370
|
+
const result2 = await requireAuth(ctx).apiClient.getWorkflowFeedback(
|
|
2371
|
+
workspace,
|
|
2372
|
+
workflowId,
|
|
2373
|
+
{
|
|
2374
|
+
page: Number.isFinite(page) ? page : void 0,
|
|
2375
|
+
pageSize: Number.isFinite(pageSize) ? pageSize : void 0,
|
|
2376
|
+
source: args.source,
|
|
2377
|
+
rating: args.rating,
|
|
2378
|
+
authorKind: args["author-kind"],
|
|
2379
|
+
includeTest
|
|
2380
|
+
}
|
|
2381
|
+
);
|
|
2382
|
+
if (ctx.outputFormat === "json" || ctx.outputFormat === "jsonl") {
|
|
2383
|
+
outputData(result2, ctx);
|
|
2384
|
+
} else {
|
|
2385
|
+
outputData(result2.items ?? [], ctx, FEEDBACK_COLUMNS2);
|
|
2386
|
+
const summary = result2.summary;
|
|
2387
|
+
if (summary) {
|
|
2388
|
+
process.stderr.write(
|
|
2389
|
+
`total=${summary.total ?? result2.total ?? 0} up=${summary.thumbsUp ?? 0} down=${summary.thumbsDown ?? 0} withComment=${summary.withComment ?? 0}
|
|
2390
|
+
`
|
|
2391
|
+
);
|
|
2392
|
+
}
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2395
|
+
},
|
|
2368
2396
|
// Activity
|
|
2369
2397
|
{
|
|
2370
2398
|
path: ["workflows", "activity"],
|
|
@@ -2544,288 +2572,244 @@ var workflowsDomain = {
|
|
|
2544
2572
|
`);
|
|
2545
2573
|
}
|
|
2546
2574
|
},
|
|
2575
|
+
// Revisions — immutable graph history under a stable workflow root.
|
|
2576
|
+
// `{workflow-id}` names the stable root; `{revision-id}` names a revision
|
|
2577
|
+
// row. They are never interchangeable (a revision id in a workflow slot
|
|
2578
|
+
// is a 404).
|
|
2547
2579
|
{
|
|
2548
|
-
path: ["workflows", "
|
|
2549
|
-
description:
|
|
2550
|
-
|
|
2551
|
-
${WORKFLOW_FIELD_REFERENCE}`,
|
|
2552
|
-
mutates: true,
|
|
2553
|
-
requiresWorkspace: true,
|
|
2554
|
-
handler: async ({ ctx, workspace, data }) => {
|
|
2555
|
-
if (!data || typeof data !== "object") {
|
|
2556
|
-
throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
2557
|
-
}
|
|
2558
|
-
const result2 = await requireAuth(ctx).apiClient.createWorkflow(workspace, data);
|
|
2559
|
-
outputSingle(result2, ctx, COLUMNS5);
|
|
2560
|
-
}
|
|
2561
|
-
},
|
|
2562
|
-
{
|
|
2563
|
-
path: ["workflows", "update"],
|
|
2564
|
-
description: `Update a workflow
|
|
2565
|
-
|
|
2566
|
-
${WORKFLOW_FIELD_REFERENCE}`,
|
|
2567
|
-
mutates: true,
|
|
2568
|
-
requiresWorkspace: true,
|
|
2569
|
-
args: [{ name: "id", description: "Workflow ID", required: true }],
|
|
2570
|
-
handler: async ({ ctx, workspace, args, data }) => {
|
|
2571
|
-
if (!data || typeof data !== "object") {
|
|
2572
|
-
throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
2573
|
-
}
|
|
2574
|
-
const result2 = await requireAuth(ctx).apiClient.updateWorkflow(
|
|
2575
|
-
workspace,
|
|
2576
|
-
requireNumber(args, "id"),
|
|
2577
|
-
data
|
|
2578
|
-
);
|
|
2579
|
-
outputSingle(result2, ctx, COLUMNS5);
|
|
2580
|
-
}
|
|
2581
|
-
}
|
|
2582
|
-
]
|
|
2583
|
-
};
|
|
2584
|
-
|
|
2585
|
-
// src/domains/workflow-versions.ts
|
|
2586
|
-
var WORKFLOW_UUID_ARG = {
|
|
2587
|
-
name: "workflow-uuid",
|
|
2588
|
-
description: "Workflow UUID",
|
|
2589
|
-
required: true
|
|
2590
|
-
};
|
|
2591
|
-
var VERSION_ARG = {
|
|
2592
|
-
name: "version",
|
|
2593
|
-
description: "Version number",
|
|
2594
|
-
required: true
|
|
2595
|
-
};
|
|
2596
|
-
var COLUMNS6 = [
|
|
2597
|
-
{ header: "VERSION", getValue: (item) => String(item.versionNumber ?? "") },
|
|
2598
|
-
COL.uuid(),
|
|
2599
|
-
COL.name(),
|
|
2600
|
-
{
|
|
2601
|
-
header: "ACTIVE",
|
|
2602
|
-
getValue: (item) => item.isActive ? "yes" : "no"
|
|
2603
|
-
},
|
|
2604
|
-
{
|
|
2605
|
-
header: "SOURCE",
|
|
2606
|
-
getValue: (item) => item.sourceType ?? ""
|
|
2607
|
-
},
|
|
2608
|
-
{
|
|
2609
|
-
header: "PUBLISHED",
|
|
2610
|
-
getValue: (item) => item.publishedAt ?? ""
|
|
2611
|
-
},
|
|
2612
|
-
{
|
|
2613
|
-
header: "SUMMARY",
|
|
2614
|
-
getValue: (item) => (item.changeSummary ?? "").slice(0, 50),
|
|
2615
|
-
maxWidth: 50
|
|
2616
|
-
}
|
|
2617
|
-
];
|
|
2618
|
-
var workflowVersionsDomain = {
|
|
2619
|
-
name: "workflow-versions",
|
|
2620
|
-
description: "Manage workflow versions (publish, activate, inspect snapshots)",
|
|
2621
|
-
commands: [
|
|
2622
|
-
// List versions
|
|
2623
|
-
{
|
|
2624
|
-
path: ["workflow-versions", "list"],
|
|
2625
|
-
description: "List all published versions of a workflow",
|
|
2580
|
+
path: ["workflows", "revisions", "list"],
|
|
2581
|
+
description: "List a workflow\u2019s revisions (active/draft badges derived client-side)",
|
|
2626
2582
|
requiresWorkspace: true,
|
|
2627
|
-
args: [
|
|
2583
|
+
args: [{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true }],
|
|
2628
2584
|
handler: async ({ ctx, workspace, args }) => {
|
|
2629
|
-
const
|
|
2630
|
-
const result2 = await requireAuth(ctx).apiClient.
|
|
2585
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2586
|
+
const result2 = await requireAuth(ctx).apiClient.getWorkflowRevisions(
|
|
2631
2587
|
workspace,
|
|
2632
|
-
|
|
2588
|
+
workflowId
|
|
2633
2589
|
);
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2590
|
+
const workflow = result2?.workflow ?? {};
|
|
2591
|
+
const revisions = result2?.revisions ?? [];
|
|
2592
|
+
if (ctx.outputFormat === "table") {
|
|
2593
|
+
stderr(
|
|
2594
|
+
`workflow ${workflow.id ?? "?"} "${workflow.name ?? ""}" activeRevisionId=${workflow.activeRevisionId ?? "\u2014"} draftRevisionId=${workflow.draftRevisionId ?? "\u2014"}`
|
|
2595
|
+
);
|
|
2596
|
+
const rows = revisions.map((r) => ({
|
|
2597
|
+
...r,
|
|
2598
|
+
badges: deriveRevisionBadges(
|
|
2599
|
+
r.id,
|
|
2600
|
+
workflow.activeRevisionId,
|
|
2601
|
+
workflow.draftRevisionId
|
|
2602
|
+
)
|
|
2603
|
+
}));
|
|
2604
|
+
outputData(rows, ctx, REVISION_LIST_COLUMNS);
|
|
2605
|
+
} else {
|
|
2606
|
+
outputSingle(result2, ctx);
|
|
2607
|
+
}
|
|
2637
2608
|
}
|
|
2638
2609
|
},
|
|
2639
|
-
// Get specific version
|
|
2640
2610
|
{
|
|
2641
|
-
path: ["
|
|
2642
|
-
description: "Get
|
|
2611
|
+
path: ["workflows", "revisions", "get"],
|
|
2612
|
+
description: "Get one workflow revision (full graph)",
|
|
2643
2613
|
requiresWorkspace: true,
|
|
2644
|
-
args: [
|
|
2614
|
+
args: [
|
|
2615
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2616
|
+
{ name: "revision-id", description: "Revision ID or UUID", required: true }
|
|
2617
|
+
],
|
|
2645
2618
|
handler: async ({ ctx, workspace, args }) => {
|
|
2646
|
-
const
|
|
2647
|
-
const
|
|
2648
|
-
const result2 = await requireAuth(ctx).apiClient.
|
|
2619
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2620
|
+
const revisionId = requireIdOrUuidFrom(args, "revision-id");
|
|
2621
|
+
const result2 = await requireAuth(ctx).apiClient.getWorkflowRevision(
|
|
2649
2622
|
workspace,
|
|
2650
|
-
|
|
2651
|
-
|
|
2623
|
+
workflowId,
|
|
2624
|
+
revisionId
|
|
2652
2625
|
);
|
|
2653
|
-
outputSingle(result2, ctx
|
|
2626
|
+
outputSingle(result2, ctx);
|
|
2654
2627
|
}
|
|
2655
2628
|
},
|
|
2656
|
-
// Get active version
|
|
2657
2629
|
{
|
|
2658
|
-
path: ["
|
|
2659
|
-
description: "
|
|
2630
|
+
path: ["workflows", "publish"],
|
|
2631
|
+
description: "Publish the workflow\u2019s draft as a new revision (activates it by default)",
|
|
2632
|
+
mutates: true,
|
|
2660
2633
|
requiresWorkspace: true,
|
|
2661
|
-
args: [
|
|
2634
|
+
args: [
|
|
2635
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2636
|
+
{ name: "revision-name", description: "Optional short label for the new revision" },
|
|
2637
|
+
{ name: "publish-notes", description: "Optional longer summary captured at publish" },
|
|
2638
|
+
{
|
|
2639
|
+
name: "no-activate",
|
|
2640
|
+
description: "Publish without flipping live traffic (setActive=false)",
|
|
2641
|
+
isFlag: true
|
|
2642
|
+
}
|
|
2643
|
+
],
|
|
2662
2644
|
handler: async ({ ctx, workspace, args }) => {
|
|
2663
|
-
const
|
|
2664
|
-
const
|
|
2645
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2646
|
+
const data = {};
|
|
2647
|
+
if (typeof args["revision-name"] === "string")
|
|
2648
|
+
data.revisionName = args["revision-name"];
|
|
2649
|
+
if (typeof args["publish-notes"] === "string")
|
|
2650
|
+
data.publishNotes = args["publish-notes"];
|
|
2651
|
+
if (args["no-activate"] === true) data.setActive = false;
|
|
2652
|
+
const result2 = await requireAuth(ctx).apiClient.publishWorkflowRevision(
|
|
2665
2653
|
workspace,
|
|
2666
|
-
|
|
2654
|
+
workflowId,
|
|
2655
|
+
data
|
|
2667
2656
|
);
|
|
2668
|
-
outputSingle(result2, ctx,
|
|
2657
|
+
outputSingle(result2, ctx, REVISION_COLUMNS);
|
|
2669
2658
|
}
|
|
2670
2659
|
},
|
|
2671
|
-
// Publish
|
|
2672
2660
|
{
|
|
2673
|
-
path: ["
|
|
2674
|
-
description: "
|
|
2661
|
+
path: ["workflows", "activate"],
|
|
2662
|
+
description: "Point the workflow\u2019s active pointer at a published revision",
|
|
2675
2663
|
mutates: true,
|
|
2676
2664
|
requiresWorkspace: true,
|
|
2677
2665
|
args: [
|
|
2678
|
-
|
|
2679
|
-
{
|
|
2680
|
-
name: "name",
|
|
2681
|
-
description: "Human-readable version name",
|
|
2682
|
-
required: false
|
|
2683
|
-
},
|
|
2684
|
-
{
|
|
2685
|
-
name: "summary",
|
|
2686
|
-
description: "Change summary",
|
|
2687
|
-
required: false
|
|
2688
|
-
},
|
|
2666
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2667
|
+
{ name: "revision-id", description: "Revision ID or UUID to activate", required: true },
|
|
2689
2668
|
{
|
|
2690
|
-
name: "
|
|
2691
|
-
description: "
|
|
2692
|
-
isFlag: true
|
|
2693
|
-
required: false
|
|
2669
|
+
name: "allow-draft",
|
|
2670
|
+
description: 'Allow activating the draft revision ("make my edits live")',
|
|
2671
|
+
isFlag: true
|
|
2694
2672
|
}
|
|
2695
2673
|
],
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
const workflowUuid = requireString(args, "workflow-uuid");
|
|
2703
|
-
const body = data ?? {};
|
|
2704
|
-
if (args.name) body.name = args.name;
|
|
2705
|
-
if (args.summary) body.changeSummary = args.summary;
|
|
2706
|
-
if (args["no-activate"]) body.activate = false;
|
|
2707
|
-
const result2 = await requireAuth(ctx).apiClient.publishWorkflowVersion(
|
|
2674
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
2675
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2676
|
+
const revisionId = requireIdOrUuidFrom(args, "revision-id");
|
|
2677
|
+
const data = {};
|
|
2678
|
+
if (args["allow-draft"] === true) data.allowDraft = true;
|
|
2679
|
+
const result2 = await requireAuth(ctx).apiClient.activateWorkflowRevision(
|
|
2708
2680
|
workspace,
|
|
2709
|
-
|
|
2710
|
-
|
|
2681
|
+
workflowId,
|
|
2682
|
+
revisionId,
|
|
2683
|
+
data
|
|
2711
2684
|
);
|
|
2712
|
-
outputSingle(result2, ctx,
|
|
2685
|
+
outputSingle(result2, ctx, REVISION_COLUMNS);
|
|
2713
2686
|
}
|
|
2714
2687
|
},
|
|
2715
|
-
// Activate
|
|
2716
2688
|
{
|
|
2717
|
-
path: ["
|
|
2718
|
-
description: "
|
|
2689
|
+
path: ["workflows", "revisions", "edit"],
|
|
2690
|
+
description: "Branch a published revision into the workflow\u2019s draft",
|
|
2719
2691
|
mutates: true,
|
|
2720
2692
|
requiresWorkspace: true,
|
|
2721
|
-
args: [
|
|
2693
|
+
args: [
|
|
2694
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2695
|
+
{ name: "revision-id", description: "Published revision ID or UUID", required: true },
|
|
2696
|
+
{
|
|
2697
|
+
name: "discard-draft-changes",
|
|
2698
|
+
description: "Replace the current draft even if it has unpublished changes",
|
|
2699
|
+
isFlag: true
|
|
2700
|
+
}
|
|
2701
|
+
],
|
|
2722
2702
|
handler: async ({ ctx, workspace, args }) => {
|
|
2723
|
-
const
|
|
2724
|
-
const
|
|
2725
|
-
const
|
|
2703
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2704
|
+
const revisionId = requireIdOrUuidFrom(args, "revision-id");
|
|
2705
|
+
const data = {};
|
|
2706
|
+
if (args["discard-draft-changes"] === true) data.discardDraftChanges = true;
|
|
2707
|
+
const result2 = await requireAuth(ctx).apiClient.editWorkflowRevisionAsDraft(
|
|
2726
2708
|
workspace,
|
|
2727
|
-
|
|
2728
|
-
|
|
2709
|
+
workflowId,
|
|
2710
|
+
revisionId,
|
|
2711
|
+
data
|
|
2729
2712
|
);
|
|
2730
|
-
outputSingle(result2, ctx,
|
|
2713
|
+
outputSingle(result2, ctx, REVISION_COLUMNS);
|
|
2731
2714
|
}
|
|
2732
2715
|
},
|
|
2733
|
-
// Deactivate
|
|
2734
2716
|
{
|
|
2735
|
-
path: ["
|
|
2736
|
-
description: "
|
|
2737
|
-
mutates: true,
|
|
2717
|
+
path: ["workflows", "revisions", "diff"],
|
|
2718
|
+
description: "Diff a revision against another (defaults to the workflow\u2019s draft)",
|
|
2738
2719
|
requiresWorkspace: true,
|
|
2739
|
-
args: [
|
|
2720
|
+
args: [
|
|
2721
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2722
|
+
{ name: "revision-id", description: "Base revision ID or UUID", required: true },
|
|
2723
|
+
{
|
|
2724
|
+
name: "against",
|
|
2725
|
+
description: "Revision ID or UUID to compare against (default: the draft)"
|
|
2726
|
+
}
|
|
2727
|
+
],
|
|
2740
2728
|
handler: async ({ ctx, workspace, args }) => {
|
|
2741
|
-
const
|
|
2742
|
-
const
|
|
2743
|
-
const
|
|
2729
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2730
|
+
const revisionId = requireIdOrUuidFrom(args, "revision-id");
|
|
2731
|
+
const againstRaw = args["against"];
|
|
2732
|
+
const against = typeof againstRaw === "string" && againstRaw.length > 0 ? Number.isNaN(Number(againstRaw)) ? againstRaw : Number(againstRaw) : void 0;
|
|
2733
|
+
const result2 = await requireAuth(ctx).apiClient.diffWorkflowRevisions(
|
|
2744
2734
|
workspace,
|
|
2745
|
-
|
|
2746
|
-
|
|
2735
|
+
workflowId,
|
|
2736
|
+
revisionId,
|
|
2737
|
+
against
|
|
2747
2738
|
);
|
|
2748
|
-
outputSingle(result2, ctx
|
|
2739
|
+
outputSingle(result2, ctx);
|
|
2749
2740
|
}
|
|
2750
2741
|
},
|
|
2751
|
-
// Diff (compare two versions, 0 = draft)
|
|
2752
2742
|
{
|
|
2753
|
-
path: ["
|
|
2754
|
-
description: "
|
|
2743
|
+
path: ["workflows", "revisions", "update"],
|
|
2744
|
+
description: "Update a revision\u2019s curation metadata (label + publish notes)",
|
|
2745
|
+
mutates: true,
|
|
2755
2746
|
requiresWorkspace: true,
|
|
2756
2747
|
args: [
|
|
2757
|
-
|
|
2758
|
-
{ name: "
|
|
2759
|
-
{ name: "
|
|
2760
|
-
|
|
2761
|
-
examples: [
|
|
2762
|
-
"workflow-versions diff --workflow-uuid $UUID --from 1 --to 2",
|
|
2763
|
-
"workflow-versions diff --workflow-uuid $UUID --from 1 --to 0 # compare v1 to draft"
|
|
2748
|
+
{ name: "workflow-id", description: "Workflow (root) ID or UUID", required: true },
|
|
2749
|
+
{ name: "revision-id", description: "Revision ID or UUID", required: true },
|
|
2750
|
+
{ name: "revision-name", description: "New short label for the revision" },
|
|
2751
|
+
{ name: "publish-notes", description: "New longer summary for the revision" }
|
|
2764
2752
|
],
|
|
2765
2753
|
handler: async ({ ctx, workspace, args }) => {
|
|
2766
|
-
const
|
|
2767
|
-
const
|
|
2768
|
-
const
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
if (ctx.outputFormat === "json") {
|
|
2776
|
-
process.stdout.write(JSON.stringify(diff, null, 2) + "\n");
|
|
2777
|
-
return;
|
|
2754
|
+
const workflowId = requireIdOrUuidFrom(args, "workflow-id");
|
|
2755
|
+
const revisionId = requireIdOrUuidFrom(args, "revision-id");
|
|
2756
|
+
const data = {};
|
|
2757
|
+
if (typeof args["revision-name"] === "string")
|
|
2758
|
+
data.revisionName = args["revision-name"];
|
|
2759
|
+
if (typeof args["publish-notes"] === "string")
|
|
2760
|
+
data.publishNotes = args["publish-notes"];
|
|
2761
|
+
if (Object.keys(data).length === 0) {
|
|
2762
|
+
throw new CLIError("Nothing to update: pass --revision-name and/or --publish-notes");
|
|
2778
2763
|
}
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2764
|
+
const result2 = await requireAuth(ctx).apiClient.updateWorkflowRevisionMetadata(
|
|
2765
|
+
workspace,
|
|
2766
|
+
workflowId,
|
|
2767
|
+
revisionId,
|
|
2768
|
+
data
|
|
2783
2769
|
);
|
|
2784
|
-
|
|
2785
|
-
|
|
2770
|
+
outputSingle(result2, ctx, REVISION_COLUMNS);
|
|
2771
|
+
}
|
|
2772
|
+
},
|
|
2773
|
+
{
|
|
2774
|
+
path: ["workflows", "create"],
|
|
2775
|
+
description: `Create a workflow
|
|
2786
2776
|
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2777
|
+
${WORKFLOW_FIELD_REFERENCE}`,
|
|
2778
|
+
mutates: true,
|
|
2779
|
+
requiresWorkspace: true,
|
|
2780
|
+
handler: async ({ ctx, workspace, data }) => {
|
|
2781
|
+
if (!data || typeof data !== "object") {
|
|
2782
|
+
throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
2792
2783
|
}
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
`);
|
|
2809
|
-
if (field.oldValue != null) {
|
|
2810
|
-
process.stdout.write(` - ${field.oldValue}
|
|
2811
|
-
`);
|
|
2812
|
-
}
|
|
2813
|
-
if (field.newValue != null) {
|
|
2814
|
-
process.stdout.write(` + ${field.newValue}
|
|
2815
|
-
`);
|
|
2816
|
-
}
|
|
2817
|
-
}
|
|
2818
|
-
}
|
|
2819
|
-
}
|
|
2784
|
+
const result2 = await requireAuth(ctx).apiClient.createWorkflow(workspace, data);
|
|
2785
|
+
outputSingle(result2, ctx, COLUMNS5);
|
|
2786
|
+
}
|
|
2787
|
+
},
|
|
2788
|
+
{
|
|
2789
|
+
path: ["workflows", "update"],
|
|
2790
|
+
description: `Update a workflow
|
|
2791
|
+
|
|
2792
|
+
${WORKFLOW_FIELD_REFERENCE}`,
|
|
2793
|
+
mutates: true,
|
|
2794
|
+
requiresWorkspace: true,
|
|
2795
|
+
args: [{ name: "id", description: "Workflow ID", required: true }],
|
|
2796
|
+
handler: async ({ ctx, workspace, args, data }) => {
|
|
2797
|
+
if (!data || typeof data !== "object") {
|
|
2798
|
+
throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
2820
2799
|
}
|
|
2821
|
-
|
|
2800
|
+
const result2 = await requireAuth(ctx).apiClient.updateWorkflow(
|
|
2801
|
+
workspace,
|
|
2802
|
+
requireNumber(args, "id"),
|
|
2803
|
+
data
|
|
2804
|
+
);
|
|
2805
|
+
outputSingle(result2, ctx, COLUMNS5);
|
|
2822
2806
|
}
|
|
2823
2807
|
}
|
|
2824
2808
|
]
|
|
2825
2809
|
};
|
|
2826
2810
|
|
|
2827
2811
|
// src/domains/workspaces.ts
|
|
2828
|
-
var
|
|
2812
|
+
var COLUMNS6 = [
|
|
2829
2813
|
COL.id(),
|
|
2830
2814
|
COL.uuid(),
|
|
2831
2815
|
COL.name(),
|
|
@@ -2897,7 +2881,7 @@ var workspacesDomain = {
|
|
|
2897
2881
|
// getMethod omitted — custom get below accepts -w as the identifier
|
|
2898
2882
|
updateMethod: "updateWorkspace",
|
|
2899
2883
|
deleteMethod: "deleteWorkspace",
|
|
2900
|
-
columns:
|
|
2884
|
+
columns: COLUMNS6,
|
|
2901
2885
|
requiresWorkspace: false
|
|
2902
2886
|
}),
|
|
2903
2887
|
// Custom get that accepts either --id or -w as the workspace identifier
|
|
@@ -2910,7 +2894,7 @@ var workspacesDomain = {
|
|
|
2910
2894
|
const id = args.id ?? args.uuid ?? workspace;
|
|
2911
2895
|
if (!id) throw new CLIError("Provide workspace UUID via --id or -w");
|
|
2912
2896
|
const result2 = await requireAuth(ctx).apiClient.getWorkspace(id);
|
|
2913
|
-
outputSingle(result2, ctx,
|
|
2897
|
+
outputSingle(result2, ctx, COLUMNS6);
|
|
2914
2898
|
}
|
|
2915
2899
|
},
|
|
2916
2900
|
// Provision a workspace under an organization's active subscription.
|
|
@@ -2956,7 +2940,7 @@ var workspacesDomain = {
|
|
|
2956
2940
|
orgUuid,
|
|
2957
2941
|
payload
|
|
2958
2942
|
);
|
|
2959
|
-
outputSingle(result2, ctx,
|
|
2943
|
+
outputSingle(result2, ctx, COLUMNS6);
|
|
2960
2944
|
if ((ctx.outputFormat ?? "table") === "table") {
|
|
2961
2945
|
const wsUuid = result2?.uuid ?? "<workspace-uuid>";
|
|
2962
2946
|
process.stdout.write(
|
|
@@ -3109,7 +3093,6 @@ Provisioning started. Watch it come up with:
|
|
|
3109
3093
|
"inboxes",
|
|
3110
3094
|
"routines",
|
|
3111
3095
|
"memberFilters",
|
|
3112
|
-
"memberFilterRules",
|
|
3113
3096
|
"milestones",
|
|
3114
3097
|
"milestoneGoals",
|
|
3115
3098
|
"customToolkits",
|
|
@@ -3192,7 +3175,6 @@ Provisioning started. Watch it come up with:
|
|
|
3192
3175
|
"inboxes",
|
|
3193
3176
|
"routines",
|
|
3194
3177
|
"memberFilters",
|
|
3195
|
-
"memberFilterRules",
|
|
3196
3178
|
"milestones",
|
|
3197
3179
|
"milestoneGoals",
|
|
3198
3180
|
"customToolkits",
|
|
@@ -3455,12 +3437,18 @@ Provisioning started. Watch it come up with:
|
|
|
3455
3437
|
};
|
|
3456
3438
|
|
|
3457
3439
|
// src/domains/assignments.ts
|
|
3458
|
-
var
|
|
3440
|
+
var COLUMNS7 = [
|
|
3459
3441
|
COL.id(),
|
|
3460
3442
|
COL.status(),
|
|
3461
|
-
{ header: "MEMBER", getValue: (item) => String(item.
|
|
3462
|
-
{
|
|
3463
|
-
|
|
3443
|
+
{ header: "MEMBER", getValue: (item) => String(item.memberId ?? "") },
|
|
3444
|
+
{
|
|
3445
|
+
header: "TASK",
|
|
3446
|
+
getValue: (item) => String(item.currentTask?.id ?? item.currentAssignmentTaskId ?? "")
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
header: "WF_REVISION",
|
|
3450
|
+
getValue: (item) => String(item.workflowRevisionNumber ?? item.workflowVersionNumber ?? "")
|
|
3451
|
+
},
|
|
3464
3452
|
COL.created()
|
|
3465
3453
|
];
|
|
3466
3454
|
var MESSAGE_COLUMNS4 = [
|
|
@@ -3470,7 +3458,7 @@ var MESSAGE_COLUMNS4 = [
|
|
|
3470
3458
|
COL.created()
|
|
3471
3459
|
];
|
|
3472
3460
|
var TASK_COLUMNS = [COL.id(), COL.name(), COL.status()];
|
|
3473
|
-
var
|
|
3461
|
+
var TOOL_COLUMNS = [
|
|
3474
3462
|
COL.name(),
|
|
3475
3463
|
{ header: "DESCRIPTION", getValue: (item) => (item.description ?? "").slice(0, 60) }
|
|
3476
3464
|
];
|
|
@@ -3486,7 +3474,7 @@ var assignmentsDomain = {
|
|
|
3486
3474
|
createMethod: "createAssignment",
|
|
3487
3475
|
updateMethod: "updateAssignment",
|
|
3488
3476
|
deleteMethod: "deleteAssignment",
|
|
3489
|
-
columns:
|
|
3477
|
+
columns: COLUMNS7,
|
|
3490
3478
|
paginationSupport: "full"
|
|
3491
3479
|
}),
|
|
3492
3480
|
{
|
|
@@ -3502,7 +3490,7 @@ var assignmentsDomain = {
|
|
|
3502
3490
|
requireNumber(args, "id"),
|
|
3503
3491
|
body
|
|
3504
3492
|
);
|
|
3505
|
-
outputSingle(result2, ctx,
|
|
3493
|
+
outputSingle(result2, ctx, COLUMNS7);
|
|
3506
3494
|
}
|
|
3507
3495
|
},
|
|
3508
3496
|
{
|
|
@@ -3578,14 +3566,14 @@ var assignmentsDomain = {
|
|
|
3578
3566
|
requireNumber(args, "assignment-id")
|
|
3579
3567
|
);
|
|
3580
3568
|
const tools = result2.tools ?? result2;
|
|
3581
|
-
outputData(Array.isArray(tools) ? tools : [tools], ctx,
|
|
3569
|
+
outputData(Array.isArray(tools) ? tools : [tools], ctx, TOOL_COLUMNS);
|
|
3582
3570
|
}
|
|
3583
3571
|
}
|
|
3584
3572
|
]
|
|
3585
3573
|
};
|
|
3586
3574
|
|
|
3587
3575
|
// src/domains/calendars.ts
|
|
3588
|
-
var
|
|
3576
|
+
var COLUMNS8 = [
|
|
3589
3577
|
COL.id(),
|
|
3590
3578
|
COL.name(),
|
|
3591
3579
|
{ header: "TIMEZONE", getValue: (item) => item.timezone ?? "" }
|
|
@@ -3593,7 +3581,7 @@ var COLUMNS9 = [
|
|
|
3593
3581
|
var SCHEDULE_COLUMNS = [
|
|
3594
3582
|
COL.id(),
|
|
3595
3583
|
COL.name(),
|
|
3596
|
-
{ header: "CALENDAR", getValue: (item) => String(item.
|
|
3584
|
+
{ header: "CALENDAR", getValue: (item) => String(item.calendarId ?? "") }
|
|
3597
3585
|
];
|
|
3598
3586
|
var EVENT_COLUMNS = [
|
|
3599
3587
|
COL.id(),
|
|
@@ -3625,7 +3613,7 @@ var calendarsDomain = {
|
|
|
3625
3613
|
createMethod: "createCalendar",
|
|
3626
3614
|
updateMethod: "updateCalendar",
|
|
3627
3615
|
deleteMethod: "deleteCalendar",
|
|
3628
|
-
columns:
|
|
3616
|
+
columns: COLUMNS8,
|
|
3629
3617
|
paginationSupport: "full"
|
|
3630
3618
|
}),
|
|
3631
3619
|
// Schedules sub-resource
|
|
@@ -3858,7 +3846,7 @@ var calendarsDomain = {
|
|
|
3858
3846
|
};
|
|
3859
3847
|
|
|
3860
3848
|
// src/domains/data-types.ts
|
|
3861
|
-
var
|
|
3849
|
+
var COLUMNS9 = [
|
|
3862
3850
|
COL.id(),
|
|
3863
3851
|
COL.name(),
|
|
3864
3852
|
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
@@ -3866,8 +3854,8 @@ var COLUMNS10 = [
|
|
|
3866
3854
|
];
|
|
3867
3855
|
var RECORD_COLUMNS = [
|
|
3868
3856
|
COL.id(),
|
|
3869
|
-
{ header: "DATA TYPE", getValue: (item) => String(item.
|
|
3870
|
-
{ header: "MEMBER", getValue: (item) => String(item.
|
|
3857
|
+
{ header: "DATA TYPE", getValue: (item) => String(item.dataTypeId ?? "") },
|
|
3858
|
+
{ header: "MEMBER", getValue: (item) => String(item.memberId ?? "") },
|
|
3871
3859
|
COL.updated()
|
|
3872
3860
|
];
|
|
3873
3861
|
var DATA_TYPE_FIELD_REFERENCE = `
|
|
@@ -3911,7 +3899,7 @@ var dataTypesDomain = {
|
|
|
3911
3899
|
deleteMethod: "deleteDataType",
|
|
3912
3900
|
archiveMethod: "archiveDataType",
|
|
3913
3901
|
unarchiveMethod: "unarchiveDataType",
|
|
3914
|
-
columns:
|
|
3902
|
+
columns: COLUMNS9,
|
|
3915
3903
|
createHelp: `Create a data type
|
|
3916
3904
|
|
|
3917
3905
|
${DATA_TYPE_FIELD_REFERENCE}`,
|
|
@@ -3931,7 +3919,7 @@ ${DATA_TYPE_FIELD_REFERENCE}`
|
|
|
3931
3919
|
requireNumber(args, "id"),
|
|
3932
3920
|
data
|
|
3933
3921
|
);
|
|
3934
|
-
outputSingle(result2, ctx,
|
|
3922
|
+
outputSingle(result2, ctx, COLUMNS9);
|
|
3935
3923
|
}
|
|
3936
3924
|
},
|
|
3937
3925
|
{
|
|
@@ -3944,7 +3932,7 @@ ${DATA_TYPE_FIELD_REFERENCE}`
|
|
|
3944
3932
|
workspace,
|
|
3945
3933
|
requireString(args, "slug")
|
|
3946
3934
|
);
|
|
3947
|
-
outputSingle(result2, ctx,
|
|
3935
|
+
outputSingle(result2, ctx, COLUMNS9);
|
|
3948
3936
|
}
|
|
3949
3937
|
},
|
|
3950
3938
|
// Data Records sub-resource
|
|
@@ -4240,7 +4228,10 @@ var eventsDomain = {
|
|
|
4240
4228
|
{ name: "task-id", description: "Filter by task ID" },
|
|
4241
4229
|
{ name: "data-type-id", description: "Filter by data type ID" },
|
|
4242
4230
|
{ name: "routine-id", description: "Filter by routine ID" },
|
|
4243
|
-
{
|
|
4231
|
+
{
|
|
4232
|
+
name: "workflow-revision-id",
|
|
4233
|
+
description: "Filter by workflow revision ID"
|
|
4234
|
+
},
|
|
4244
4235
|
{ name: "journey-step-id", description: "Filter by journey step ID" },
|
|
4245
4236
|
{
|
|
4246
4237
|
name: "include-disabled",
|
|
@@ -4256,7 +4247,8 @@ var eventsDomain = {
|
|
|
4256
4247
|
if (args["task-id"]) opts.taskId = requireNumber(args, "task-id");
|
|
4257
4248
|
if (args["data-type-id"]) opts.dataTypeId = requireNumber(args, "data-type-id");
|
|
4258
4249
|
if (args["routine-id"]) opts.routineId = requireNumber(args, "routine-id");
|
|
4259
|
-
if (args["workflow-id"])
|
|
4250
|
+
if (args["workflow-revision-id"])
|
|
4251
|
+
opts.workflowRevisionId = requireNumber(args, "workflow-revision-id");
|
|
4260
4252
|
if (args["journey-step-id"])
|
|
4261
4253
|
opts.journeyStepId = requireNumber(args, "journey-step-id");
|
|
4262
4254
|
if (args["include-disabled"]) opts.includeDisabled = true;
|
|
@@ -4503,12 +4495,12 @@ function parseIdList(value) {
|
|
|
4503
4495
|
return num;
|
|
4504
4496
|
});
|
|
4505
4497
|
}
|
|
4506
|
-
var
|
|
4498
|
+
var COLUMNS10 = [
|
|
4507
4499
|
COL.id(),
|
|
4508
4500
|
COL.name(),
|
|
4509
|
-
{ header: "TYPE", getValue: (item) => item.
|
|
4501
|
+
{ header: "TYPE", getValue: (item) => item.contentType ?? item.type ?? "" },
|
|
4510
4502
|
{ header: "SIZE", getValue: (item) => String(item.size ?? "") },
|
|
4511
|
-
{ header: "FOLDER", getValue: (item) => String(item.
|
|
4503
|
+
{ header: "FOLDER", getValue: (item) => String(item.folderId ?? "") }
|
|
4512
4504
|
];
|
|
4513
4505
|
var FOLDER_COLUMNS = [
|
|
4514
4506
|
COL.id(),
|
|
@@ -4556,7 +4548,7 @@ var filesDomain = {
|
|
|
4556
4548
|
createMethod: "createFile",
|
|
4557
4549
|
updateMethod: "updateFile",
|
|
4558
4550
|
deleteMethod: "deleteFile",
|
|
4559
|
-
columns:
|
|
4551
|
+
columns: COLUMNS10,
|
|
4560
4552
|
paginationSupport: "full",
|
|
4561
4553
|
createHelp: `Create a file
|
|
4562
4554
|
|
|
@@ -5511,7 +5503,7 @@ var journeysDomain = {
|
|
|
5511
5503
|
};
|
|
5512
5504
|
|
|
5513
5505
|
// src/domains/personas.ts
|
|
5514
|
-
var
|
|
5506
|
+
var COLUMNS11 = [
|
|
5515
5507
|
COL.id(),
|
|
5516
5508
|
COL.name(),
|
|
5517
5509
|
{ header: "AGE", getValue: (item) => item.age != null ? String(item.age) : "" },
|
|
@@ -5541,7 +5533,7 @@ var personasDomain = {
|
|
|
5541
5533
|
createMethod: "createPersona",
|
|
5542
5534
|
updateMethod: "updatePersona",
|
|
5543
5535
|
deleteMethod: "deletePersona",
|
|
5544
|
-
columns:
|
|
5536
|
+
columns: COLUMNS11,
|
|
5545
5537
|
paginationSupport: "full"
|
|
5546
5538
|
})
|
|
5547
5539
|
]
|
|
@@ -6531,7 +6523,7 @@ Relations (relationMatch): ${relations.join(", ")}`);
|
|
|
6531
6523
|
|
|
6532
6524
|
// src/domains/sites.ts
|
|
6533
6525
|
import { readFileSync as readFileSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
6534
|
-
var
|
|
6526
|
+
var COLUMNS12 = [
|
|
6535
6527
|
COL.id(),
|
|
6536
6528
|
COL.name(),
|
|
6537
6529
|
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
@@ -6585,7 +6577,7 @@ var sitesDomain = {
|
|
|
6585
6577
|
createMethod: "createSite",
|
|
6586
6578
|
updateMethod: "updateSite",
|
|
6587
6579
|
deleteMethod: "deleteSite",
|
|
6588
|
-
columns:
|
|
6580
|
+
columns: COLUMNS12
|
|
6589
6581
|
}),
|
|
6590
6582
|
// Pages sub-resource
|
|
6591
6583
|
{
|
|
@@ -6981,6 +6973,19 @@ var ATTACHED_COLUMNS = [
|
|
|
6981
6973
|
{ header: "ENABLED", getValue: (item) => item.enabled === false ? "" : "yes" },
|
|
6982
6974
|
{ header: "CEL", getValue: (item) => item.celCondition ?? "" }
|
|
6983
6975
|
];
|
|
6976
|
+
var CONFIGURED_COLUMNS = [
|
|
6977
|
+
{ header: "UUID", getValue: (item) => item.uuid ?? "" },
|
|
6978
|
+
{ header: "TYPE", getValue: (item) => item.abilityType ?? "" },
|
|
6979
|
+
{ header: "ENABLED", getValue: (item) => item.enabled === false ? "" : "yes" }
|
|
6980
|
+
];
|
|
6981
|
+
function requireAbilityScope(args) {
|
|
6982
|
+
const hasWorkflow = typeof args["workflow-id"] === "string";
|
|
6983
|
+
const hasTask = typeof args["task-id"] === "string";
|
|
6984
|
+
if (hasWorkflow === hasTask) {
|
|
6985
|
+
throw new CLIError("Specify exactly one of --workflow-id or --task-id.");
|
|
6986
|
+
}
|
|
6987
|
+
return hasTask ? { taskId: requireNumber(args, "task-id") } : { workflowId: requireNumber(args, "workflow-id") };
|
|
6988
|
+
}
|
|
6984
6989
|
function toAbilityData(a) {
|
|
6985
6990
|
return {
|
|
6986
6991
|
uuid: a.uuid,
|
|
@@ -7050,6 +7055,103 @@ var abilitiesDomain = {
|
|
|
7050
7055
|
outputSingle(result2, hctx.ctx);
|
|
7051
7056
|
}
|
|
7052
7057
|
},
|
|
7058
|
+
{
|
|
7059
|
+
path: ["abilities", "configured"],
|
|
7060
|
+
description: "List configured abilities on a workflow or task scope.",
|
|
7061
|
+
requiresWorkspace: true,
|
|
7062
|
+
columns: CONFIGURED_COLUMNS,
|
|
7063
|
+
args: [
|
|
7064
|
+
{ name: "workflow-id", description: "Workflow scope" },
|
|
7065
|
+
{ name: "task-id", description: "Task scope" }
|
|
7066
|
+
],
|
|
7067
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
7068
|
+
const result2 = await requireAuth(ctx).apiClient.listAbilities(
|
|
7069
|
+
workspace,
|
|
7070
|
+
requireAbilityScope(args)
|
|
7071
|
+
);
|
|
7072
|
+
outputData(result2, ctx, CONFIGURED_COLUMNS);
|
|
7073
|
+
}
|
|
7074
|
+
},
|
|
7075
|
+
{
|
|
7076
|
+
path: ["abilities", "enable"],
|
|
7077
|
+
description: "Enable an ability on a workflow or task scope.",
|
|
7078
|
+
mutates: true,
|
|
7079
|
+
requiresWorkspace: true,
|
|
7080
|
+
args: [
|
|
7081
|
+
{ name: "ability-type", description: "Ability type slug", required: true },
|
|
7082
|
+
{ name: "workflow-id", description: "Workflow scope" },
|
|
7083
|
+
{ name: "task-id", description: "Task scope" },
|
|
7084
|
+
{
|
|
7085
|
+
name: "allow-missing-connections",
|
|
7086
|
+
isFlag: true,
|
|
7087
|
+
description: "Allow creation before required app connections are configured"
|
|
7088
|
+
}
|
|
7089
|
+
],
|
|
7090
|
+
handler: async ({ ctx, workspace, args, data }) => {
|
|
7091
|
+
const abilityType = args["ability-type"];
|
|
7092
|
+
if (typeof abilityType !== "string") throw new CLIError("--ability-type is required");
|
|
7093
|
+
const body = {
|
|
7094
|
+
abilityType,
|
|
7095
|
+
config: data && typeof data === "object" ? data : {},
|
|
7096
|
+
...requireAbilityScope(args)
|
|
7097
|
+
};
|
|
7098
|
+
if (args["allow-missing-connections"] === true) {
|
|
7099
|
+
body.allowMissingConnections = true;
|
|
7100
|
+
}
|
|
7101
|
+
const result2 = await requireAuth(ctx).apiClient.createAbility(workspace, body);
|
|
7102
|
+
outputSingle(result2, ctx, CONFIGURED_COLUMNS);
|
|
7103
|
+
}
|
|
7104
|
+
},
|
|
7105
|
+
{
|
|
7106
|
+
path: ["abilities", "disable"],
|
|
7107
|
+
description: "Disable a configured ability by UUID while preserving its config.",
|
|
7108
|
+
mutates: true,
|
|
7109
|
+
requiresWorkspace: true,
|
|
7110
|
+
args: [{ name: "uuid", description: "Configured ability UUID", required: true }],
|
|
7111
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
7112
|
+
const uuid = args.uuid;
|
|
7113
|
+
if (typeof uuid !== "string") throw new CLIError("--uuid is required");
|
|
7114
|
+
const result2 = await requireAuth(ctx).apiClient.updateAbility(workspace, uuid, {
|
|
7115
|
+
enabled: false
|
|
7116
|
+
});
|
|
7117
|
+
outputSingle(result2, ctx, CONFIGURED_COLUMNS);
|
|
7118
|
+
}
|
|
7119
|
+
},
|
|
7120
|
+
{
|
|
7121
|
+
path: ["abilities", "configure"],
|
|
7122
|
+
description: "Update a configured ability by UUID.",
|
|
7123
|
+
mutates: true,
|
|
7124
|
+
requiresWorkspace: true,
|
|
7125
|
+
args: [
|
|
7126
|
+
{ name: "uuid", description: "Configured ability UUID", required: true },
|
|
7127
|
+
{ name: "enabled", description: "Set enabled state (true|false)" },
|
|
7128
|
+
{
|
|
7129
|
+
name: "allow-missing-connections",
|
|
7130
|
+
isFlag: true,
|
|
7131
|
+
description: "Allow enabling before required app connections are configured"
|
|
7132
|
+
}
|
|
7133
|
+
],
|
|
7134
|
+
handler: async ({ ctx, workspace, args, data }) => {
|
|
7135
|
+
const uuid = args.uuid;
|
|
7136
|
+
if (typeof uuid !== "string") throw new CLIError("--uuid is required");
|
|
7137
|
+
const body = {};
|
|
7138
|
+
if (data && typeof data === "object") body.config = data;
|
|
7139
|
+
if (typeof args.enabled === "string") {
|
|
7140
|
+
if (args.enabled !== "true" && args.enabled !== "false") {
|
|
7141
|
+
throw new CLIError("--enabled must be true or false");
|
|
7142
|
+
}
|
|
7143
|
+
body.enabled = args.enabled === "true";
|
|
7144
|
+
if (args["allow-missing-connections"] === true) {
|
|
7145
|
+
body.allowMissingConnections = true;
|
|
7146
|
+
}
|
|
7147
|
+
}
|
|
7148
|
+
if (Object.keys(body).length === 0) {
|
|
7149
|
+
throw new CLIError("Nothing to update: provide --data config and/or --enabled");
|
|
7150
|
+
}
|
|
7151
|
+
const result2 = await requireAuth(ctx).apiClient.updateAbility(workspace, uuid, body);
|
|
7152
|
+
outputSingle(result2, ctx, CONFIGURED_COLUMNS);
|
|
7153
|
+
}
|
|
7154
|
+
},
|
|
7053
7155
|
{
|
|
7054
7156
|
path: ["abilities", "attached"],
|
|
7055
7157
|
description: "List a task's task-specific abilities (excludes workflow-inherited).",
|
|
@@ -7146,11 +7248,11 @@ var abilitiesDomain = {
|
|
|
7146
7248
|
};
|
|
7147
7249
|
|
|
7148
7250
|
// src/domains/access-grants.ts
|
|
7149
|
-
var
|
|
7251
|
+
var COLUMNS13 = [
|
|
7150
7252
|
COL.id(),
|
|
7151
7253
|
COL.status(),
|
|
7152
|
-
{ header: "GRANTOR", getValue: (item) => String(item.
|
|
7153
|
-
{ header: "GRANTEE", getValue: (item) => String(item.
|
|
7254
|
+
{ header: "GRANTOR", getValue: (item) => String(item.grantorMemberId ?? "") },
|
|
7255
|
+
{ header: "GRANTEE", getValue: (item) => String(item.granteeMemberId ?? "") },
|
|
7154
7256
|
COL.created()
|
|
7155
7257
|
];
|
|
7156
7258
|
var accessGrantsDomain = {
|
|
@@ -7163,7 +7265,7 @@ var accessGrantsDomain = {
|
|
|
7163
7265
|
requiresWorkspace: true,
|
|
7164
7266
|
handler: async ({ ctx, workspace }) => {
|
|
7165
7267
|
const result2 = await requireAuth(ctx).apiClient.getAccessGrants(workspace);
|
|
7166
|
-
outputData(listResult(result2, false), ctx,
|
|
7268
|
+
outputData(listResult(result2, false), ctx, COLUMNS13);
|
|
7167
7269
|
}
|
|
7168
7270
|
},
|
|
7169
7271
|
{
|
|
@@ -7176,7 +7278,7 @@ var accessGrantsDomain = {
|
|
|
7176
7278
|
workspace,
|
|
7177
7279
|
requireString(args, "id")
|
|
7178
7280
|
);
|
|
7179
|
-
outputSingle(result2, ctx,
|
|
7281
|
+
outputSingle(result2, ctx, COLUMNS13);
|
|
7180
7282
|
}
|
|
7181
7283
|
},
|
|
7182
7284
|
{
|
|
@@ -7189,7 +7291,7 @@ var accessGrantsDomain = {
|
|
|
7189
7291
|
workspace,
|
|
7190
7292
|
data
|
|
7191
7293
|
);
|
|
7192
|
-
outputSingle(result2, ctx,
|
|
7294
|
+
outputSingle(result2, ctx, COLUMNS13);
|
|
7193
7295
|
}
|
|
7194
7296
|
},
|
|
7195
7297
|
{
|
|
@@ -7200,7 +7302,7 @@ var accessGrantsDomain = {
|
|
|
7200
7302
|
const result2 = await requireAuth(ctx).apiClient.getMyReceivedGrants(workspace, {
|
|
7201
7303
|
pageSize: 200
|
|
7202
7304
|
});
|
|
7203
|
-
outputData(listResult(result2, false), ctx,
|
|
7305
|
+
outputData(listResult(result2, false), ctx, COLUMNS13);
|
|
7204
7306
|
}
|
|
7205
7307
|
},
|
|
7206
7308
|
{
|
|
@@ -7211,7 +7313,7 @@ var accessGrantsDomain = {
|
|
|
7211
7313
|
const result2 = await requireAuth(ctx).apiClient.getMyGivenGrants(workspace, {
|
|
7212
7314
|
pageSize: 200
|
|
7213
7315
|
});
|
|
7214
|
-
outputData(listResult(result2, false), ctx,
|
|
7316
|
+
outputData(listResult(result2, false), ctx, COLUMNS13);
|
|
7215
7317
|
}
|
|
7216
7318
|
},
|
|
7217
7319
|
{
|
|
@@ -7226,7 +7328,7 @@ var accessGrantsDomain = {
|
|
|
7226
7328
|
requireString(args, "id"),
|
|
7227
7329
|
data ?? {}
|
|
7228
7330
|
);
|
|
7229
|
-
outputSingle(result2, ctx,
|
|
7331
|
+
outputSingle(result2, ctx, COLUMNS13);
|
|
7230
7332
|
}
|
|
7231
7333
|
},
|
|
7232
7334
|
{
|
|
@@ -7241,7 +7343,7 @@ var accessGrantsDomain = {
|
|
|
7241
7343
|
requireString(args, "id"),
|
|
7242
7344
|
data ?? {}
|
|
7243
7345
|
);
|
|
7244
|
-
outputSingle(result2, ctx,
|
|
7346
|
+
outputSingle(result2, ctx, COLUMNS13);
|
|
7245
7347
|
}
|
|
7246
7348
|
},
|
|
7247
7349
|
{
|
|
@@ -7254,16 +7356,41 @@ var accessGrantsDomain = {
|
|
|
7254
7356
|
workspace,
|
|
7255
7357
|
requireNumber(args, "member-id")
|
|
7256
7358
|
);
|
|
7257
|
-
outputData(listResult(result2, false), ctx,
|
|
7359
|
+
outputData(listResult(result2, false), ctx, COLUMNS13);
|
|
7360
|
+
}
|
|
7361
|
+
},
|
|
7362
|
+
{
|
|
7363
|
+
path: ["access-grants", "grantee"],
|
|
7364
|
+
description: "List grants received by a member (what can this agent do without asking?)",
|
|
7365
|
+
requiresWorkspace: true,
|
|
7366
|
+
args: [
|
|
7367
|
+
{ name: "member-id", description: "Grantee member ID", required: true },
|
|
7368
|
+
{ name: "status", description: "Filter by status (e.g. active)" },
|
|
7369
|
+
{
|
|
7370
|
+
name: "capability-class",
|
|
7371
|
+
description: "Filter by capability class (e.g. tool.always_allow)"
|
|
7372
|
+
}
|
|
7373
|
+
],
|
|
7374
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
7375
|
+
const result2 = await requireAuth(ctx).apiClient.getGranteeGrants(
|
|
7376
|
+
workspace,
|
|
7377
|
+
requireNumber(args, "member-id"),
|
|
7378
|
+
{
|
|
7379
|
+
status: args["status"],
|
|
7380
|
+
capabilityClass: args["capability-class"],
|
|
7381
|
+
pageSize: 200
|
|
7382
|
+
}
|
|
7383
|
+
);
|
|
7384
|
+
outputData(listResult(result2, false), ctx, COLUMNS13);
|
|
7258
7385
|
}
|
|
7259
7386
|
}
|
|
7260
7387
|
]
|
|
7261
7388
|
};
|
|
7262
7389
|
|
|
7263
7390
|
// src/domains/ai-models.ts
|
|
7264
|
-
var
|
|
7265
|
-
{ header: "ID", getValue: (item) => String(item.id ?? item.
|
|
7266
|
-
{ header: "NAME", getValue: (item) => item.name ?? item.
|
|
7391
|
+
var COLUMNS14 = [
|
|
7392
|
+
{ header: "ID", getValue: (item) => String(item.id ?? item.modelId ?? "") },
|
|
7393
|
+
{ header: "NAME", getValue: (item) => item.name ?? item.displayName ?? "" },
|
|
7267
7394
|
{ header: "PROVIDER", getValue: (item) => item.provider ?? "" },
|
|
7268
7395
|
{ header: "TYPE", getValue: (item) => item.type ?? "" }
|
|
7269
7396
|
];
|
|
@@ -7277,7 +7404,7 @@ var aiModelsDomain = {
|
|
|
7277
7404
|
requiresWorkspace: false,
|
|
7278
7405
|
handler: async ({ ctx }) => {
|
|
7279
7406
|
const result2 = await requireAuth(ctx).apiClient.getAllModels();
|
|
7280
|
-
outputData(result2, ctx,
|
|
7407
|
+
outputData(result2, ctx, COLUMNS14);
|
|
7281
7408
|
}
|
|
7282
7409
|
},
|
|
7283
7410
|
{
|
|
@@ -7286,7 +7413,7 @@ var aiModelsDomain = {
|
|
|
7286
7413
|
requiresWorkspace: false,
|
|
7287
7414
|
handler: async ({ ctx }) => {
|
|
7288
7415
|
const result2 = await requireAuth(ctx).apiClient.getChatModels();
|
|
7289
|
-
outputData(result2, ctx,
|
|
7416
|
+
outputData(result2, ctx, COLUMNS14);
|
|
7290
7417
|
}
|
|
7291
7418
|
},
|
|
7292
7419
|
{
|
|
@@ -7295,7 +7422,7 @@ var aiModelsDomain = {
|
|
|
7295
7422
|
requiresWorkspace: false,
|
|
7296
7423
|
handler: async ({ ctx }) => {
|
|
7297
7424
|
const result2 = await requireAuth(ctx).apiClient.getRealtimeModels();
|
|
7298
|
-
outputData(result2, ctx,
|
|
7425
|
+
outputData(result2, ctx, COLUMNS14);
|
|
7299
7426
|
}
|
|
7300
7427
|
},
|
|
7301
7428
|
{
|
|
@@ -7304,14 +7431,14 @@ var aiModelsDomain = {
|
|
|
7304
7431
|
requiresWorkspace: false,
|
|
7305
7432
|
handler: async ({ ctx }) => {
|
|
7306
7433
|
const result2 = await requireAuth(ctx).apiClient.getVoiceModels();
|
|
7307
|
-
outputData(result2, ctx,
|
|
7434
|
+
outputData(result2, ctx, COLUMNS14);
|
|
7308
7435
|
}
|
|
7309
7436
|
}
|
|
7310
7437
|
]
|
|
7311
7438
|
};
|
|
7312
7439
|
|
|
7313
7440
|
// src/domains/api-keys.ts
|
|
7314
|
-
var
|
|
7441
|
+
var COLUMNS15 = [
|
|
7315
7442
|
COL.id(),
|
|
7316
7443
|
COL.name(),
|
|
7317
7444
|
{ header: "PREFIX", getValue: (item) => item.prefix ?? "" },
|
|
@@ -7334,7 +7461,7 @@ var apiKeysDomain = {
|
|
|
7334
7461
|
requiresWorkspace: true,
|
|
7335
7462
|
handler: async ({ ctx, workspace }) => {
|
|
7336
7463
|
const result2 = await requireAuth(ctx).apiClient.getApiKeys(workspace);
|
|
7337
|
-
outputData(result2, ctx,
|
|
7464
|
+
outputData(result2, ctx, COLUMNS15);
|
|
7338
7465
|
}
|
|
7339
7466
|
},
|
|
7340
7467
|
{
|
|
@@ -7369,7 +7496,7 @@ var apiKeysDomain = {
|
|
|
7369
7496
|
requiresWorkspace: false,
|
|
7370
7497
|
handler: async ({ ctx }) => {
|
|
7371
7498
|
const result2 = await requireAuth(ctx).apiClient.getGlobalApiKeys();
|
|
7372
|
-
outputData(result2, ctx,
|
|
7499
|
+
outputData(result2, ctx, COLUMNS15);
|
|
7373
7500
|
}
|
|
7374
7501
|
},
|
|
7375
7502
|
{
|
|
@@ -7405,7 +7532,7 @@ var apiKeysDomain = {
|
|
|
7405
7532
|
var APP_COLUMNS = [
|
|
7406
7533
|
COL.id(),
|
|
7407
7534
|
COL.name(),
|
|
7408
|
-
{ header: "CLIENT_ID", getValue: (item) => item.
|
|
7535
|
+
{ header: "CLIENT_ID", getValue: (item) => item.clientId ?? "" },
|
|
7409
7536
|
COL.status()
|
|
7410
7537
|
];
|
|
7411
7538
|
var BUILDER_COLUMNS = [COL.id(), COL.name(), COL.status()];
|
|
@@ -7630,17 +7757,26 @@ var authManageDomain = {
|
|
|
7630
7757
|
handler: async ({ ctx }) => {
|
|
7631
7758
|
const result2 = await requireAuth(ctx).apiClient.getConsentState();
|
|
7632
7759
|
const columns = [
|
|
7633
|
-
{
|
|
7760
|
+
{
|
|
7761
|
+
header: "TYPE",
|
|
7762
|
+
getValue: (item) => item.consentType ?? ""
|
|
7763
|
+
},
|
|
7634
7764
|
{ header: "GRANTED", getValue: (item) => String(item.granted) },
|
|
7635
|
-
{
|
|
7636
|
-
|
|
7765
|
+
{
|
|
7766
|
+
header: "UPDATED",
|
|
7767
|
+
getValue: (item) => item.updatedAt ?? ""
|
|
7768
|
+
},
|
|
7769
|
+
{
|
|
7770
|
+
header: "VERSION",
|
|
7771
|
+
getValue: (item) => item.policyVersion ?? ""
|
|
7772
|
+
}
|
|
7637
7773
|
];
|
|
7638
7774
|
outputData(result2.consents, ctx, columns);
|
|
7639
7775
|
}
|
|
7640
7776
|
},
|
|
7641
7777
|
{
|
|
7642
7778
|
path: ["auth", "consent-update"],
|
|
7643
|
-
description: `Update consent (e.g. --data '{"consents":[{"
|
|
7779
|
+
description: `Update consent (e.g. --data '{"consents":[{"consentType":"cookie_analytics","granted":true}]}')`,
|
|
7644
7780
|
mutates: true,
|
|
7645
7781
|
requiresWorkspace: false,
|
|
7646
7782
|
handler: async ({ ctx, data }) => {
|
|
@@ -7648,17 +7784,26 @@ var authManageDomain = {
|
|
|
7648
7784
|
const consents = body?.consents;
|
|
7649
7785
|
if (!Array.isArray(consents) || consents.length === 0) {
|
|
7650
7786
|
process.stderr.write(
|
|
7651
|
-
`Error: --data must include "consents" array, e.g. --data '{"consents":[{"
|
|
7787
|
+
`Error: --data must include "consents" array, e.g. --data '{"consents":[{"consentType":"cookie_analytics","granted":true}]}'
|
|
7652
7788
|
`
|
|
7653
7789
|
);
|
|
7654
7790
|
process.exit(1);
|
|
7655
7791
|
}
|
|
7656
7792
|
const result2 = await requireAuth(ctx).apiClient.updateConsent(consents);
|
|
7657
7793
|
const columns = [
|
|
7658
|
-
{
|
|
7794
|
+
{
|
|
7795
|
+
header: "TYPE",
|
|
7796
|
+
getValue: (item) => item.consentType ?? ""
|
|
7797
|
+
},
|
|
7659
7798
|
{ header: "GRANTED", getValue: (item) => String(item.granted) },
|
|
7660
|
-
{
|
|
7661
|
-
|
|
7799
|
+
{
|
|
7800
|
+
header: "UPDATED",
|
|
7801
|
+
getValue: (item) => item.updatedAt ?? ""
|
|
7802
|
+
},
|
|
7803
|
+
{
|
|
7804
|
+
header: "VERSION",
|
|
7805
|
+
getValue: (item) => item.policyVersion ?? ""
|
|
7806
|
+
}
|
|
7662
7807
|
];
|
|
7663
7808
|
outputData(result2.consents, ctx, columns);
|
|
7664
7809
|
}
|
|
@@ -7694,11 +7839,12 @@ var PRODUCT_COLUMNS2 = [
|
|
|
7694
7839
|
var SUBSCRIPTION_COLUMNS = [
|
|
7695
7840
|
COL.id(),
|
|
7696
7841
|
COL.status(),
|
|
7697
|
-
|
|
7698
|
-
{ header: "
|
|
7842
|
+
// SubscriptionResponse wire: productName + planPeriod (camelCase only).
|
|
7843
|
+
{ header: "PLAN", getValue: (s) => String(s.productName ?? "") },
|
|
7844
|
+
{ header: "PERIOD", getValue: (s) => String(s.planPeriod ?? "") },
|
|
7699
7845
|
{
|
|
7700
7846
|
header: "ORG",
|
|
7701
|
-
getValue: (s) => String(s.
|
|
7847
|
+
getValue: (s) => String(s.customerOrganizationUuid ?? s.organizationUuid ?? "")
|
|
7702
7848
|
}
|
|
7703
7849
|
];
|
|
7704
7850
|
function isTable(ctx) {
|
|
@@ -7951,8 +8097,8 @@ var conciergeDomain = {
|
|
|
7951
8097
|
};
|
|
7952
8098
|
|
|
7953
8099
|
// src/domains/custom-toolkits.ts
|
|
7954
|
-
var
|
|
7955
|
-
var
|
|
8100
|
+
var COLUMNS16 = [COL.id(), COL.name(), COL.description(), COL.enabled()];
|
|
8101
|
+
var TOOL_COLUMNS2 = [COL.id(), COL.name(), COL.description()];
|
|
7956
8102
|
var customToolkitsDomain = {
|
|
7957
8103
|
name: "custom-toolkits",
|
|
7958
8104
|
description: "Manage custom toolkits and their tools",
|
|
@@ -7965,7 +8111,7 @@ var customToolkitsDomain = {
|
|
|
7965
8111
|
createMethod: "createCustomToolkit",
|
|
7966
8112
|
updateMethod: "updateCustomToolkit",
|
|
7967
8113
|
deleteMethod: "deleteCustomToolkit",
|
|
7968
|
-
columns:
|
|
8114
|
+
columns: COLUMNS16
|
|
7969
8115
|
}),
|
|
7970
8116
|
{
|
|
7971
8117
|
path: ["custom-toolkits", "enable"],
|
|
@@ -7978,7 +8124,7 @@ var customToolkitsDomain = {
|
|
|
7978
8124
|
workspace,
|
|
7979
8125
|
requireNumber(args, "id")
|
|
7980
8126
|
);
|
|
7981
|
-
outputSingle(result2, ctx,
|
|
8127
|
+
outputSingle(result2, ctx, COLUMNS16);
|
|
7982
8128
|
}
|
|
7983
8129
|
},
|
|
7984
8130
|
{
|
|
@@ -7992,7 +8138,7 @@ var customToolkitsDomain = {
|
|
|
7992
8138
|
workspace,
|
|
7993
8139
|
requireNumber(args, "id")
|
|
7994
8140
|
);
|
|
7995
|
-
outputSingle(result2, ctx,
|
|
8141
|
+
outputSingle(result2, ctx, COLUMNS16);
|
|
7996
8142
|
}
|
|
7997
8143
|
},
|
|
7998
8144
|
// Tools — nested resource requiring toolkitId
|
|
@@ -8010,7 +8156,7 @@ var customToolkitsDomain = {
|
|
|
8010
8156
|
toolkitId,
|
|
8011
8157
|
data
|
|
8012
8158
|
);
|
|
8013
|
-
outputSingle(result2, ctx,
|
|
8159
|
+
outputSingle(result2, ctx, TOOL_COLUMNS2);
|
|
8014
8160
|
}
|
|
8015
8161
|
},
|
|
8016
8162
|
{
|
|
@@ -8032,7 +8178,7 @@ var customToolkitsDomain = {
|
|
|
8032
8178
|
toolId,
|
|
8033
8179
|
data
|
|
8034
8180
|
);
|
|
8035
|
-
outputSingle(result2, ctx,
|
|
8181
|
+
outputSingle(result2, ctx, TOOL_COLUMNS2);
|
|
8036
8182
|
}
|
|
8037
8183
|
},
|
|
8038
8184
|
{
|
|
@@ -8104,7 +8250,7 @@ var docsDomain = {
|
|
|
8104
8250
|
};
|
|
8105
8251
|
|
|
8106
8252
|
// src/domains/features.ts
|
|
8107
|
-
var
|
|
8253
|
+
var COLUMNS17 = [
|
|
8108
8254
|
{ header: "SLUG", getValue: (item) => item.slug ?? "" },
|
|
8109
8255
|
COL.name(),
|
|
8110
8256
|
COL.description()
|
|
@@ -8119,7 +8265,7 @@ var featuresDomain = {
|
|
|
8119
8265
|
requiresWorkspace: false,
|
|
8120
8266
|
handler: async ({ ctx }) => {
|
|
8121
8267
|
const result2 = await requireAuth(ctx).apiClient.getFeatureRegistry();
|
|
8122
|
-
outputData(result2, ctx,
|
|
8268
|
+
outputData(result2, ctx, COLUMNS17);
|
|
8123
8269
|
}
|
|
8124
8270
|
},
|
|
8125
8271
|
{
|
|
@@ -8131,7 +8277,7 @@ var featuresDomain = {
|
|
|
8131
8277
|
const result2 = await requireAuth(ctx).apiClient.getFeatureBySlug(
|
|
8132
8278
|
requireString(args, "slug")
|
|
8133
8279
|
);
|
|
8134
|
-
outputSingle(result2, ctx,
|
|
8280
|
+
outputSingle(result2, ctx, COLUMNS17);
|
|
8135
8281
|
}
|
|
8136
8282
|
},
|
|
8137
8283
|
{
|
|
@@ -8140,25 +8286,25 @@ var featuresDomain = {
|
|
|
8140
8286
|
requiresWorkspace: true,
|
|
8141
8287
|
handler: async ({ ctx }) => {
|
|
8142
8288
|
const result2 = await requireAuth(ctx).apiClient.getAvailableWorkspaceFeatures();
|
|
8143
|
-
outputData(result2, ctx,
|
|
8289
|
+
outputData(result2, ctx, COLUMNS17);
|
|
8144
8290
|
}
|
|
8145
8291
|
}
|
|
8146
8292
|
]
|
|
8147
8293
|
};
|
|
8148
8294
|
|
|
8149
8295
|
// src/domains/inboxes.ts
|
|
8150
|
-
var
|
|
8296
|
+
var COLUMNS18 = [
|
|
8151
8297
|
COL.id(),
|
|
8152
8298
|
COL.name(),
|
|
8153
|
-
{ header: "EMAIL", getValue: (item) => item.
|
|
8299
|
+
{ header: "EMAIL", getValue: (item) => item.emailAddress ?? "" },
|
|
8154
8300
|
COL.status()
|
|
8155
8301
|
];
|
|
8156
8302
|
var EMAIL_COLUMNS = [
|
|
8157
8303
|
COL.id(),
|
|
8158
8304
|
{ header: "SUBJECT", getValue: (item) => item.subject ?? "" },
|
|
8159
|
-
{ header: "FROM", getValue: (item) => item.
|
|
8160
|
-
{ header: "DATE", getValue: (item) => item.
|
|
8161
|
-
{ header: "READ", getValue: (item) => String(item.
|
|
8305
|
+
{ header: "FROM", getValue: (item) => item.fromAddress ?? "" },
|
|
8306
|
+
{ header: "DATE", getValue: (item) => item.receivedAt ?? "" },
|
|
8307
|
+
{ header: "READ", getValue: (item) => String(item.isRead ?? "") }
|
|
8162
8308
|
];
|
|
8163
8309
|
var inboxesDomain = {
|
|
8164
8310
|
name: "inboxes",
|
|
@@ -8172,7 +8318,7 @@ var inboxesDomain = {
|
|
|
8172
8318
|
createMethod: "createInbox",
|
|
8173
8319
|
updateMethod: "updateInbox",
|
|
8174
8320
|
deleteMethod: "deleteInbox",
|
|
8175
|
-
columns:
|
|
8321
|
+
columns: COLUMNS18
|
|
8176
8322
|
}),
|
|
8177
8323
|
{
|
|
8178
8324
|
path: ["inboxes", "emails", "list"],
|
|
@@ -8257,7 +8403,7 @@ var inboxesDomain = {
|
|
|
8257
8403
|
};
|
|
8258
8404
|
|
|
8259
8405
|
// src/domains/mcp-servers.ts
|
|
8260
|
-
var
|
|
8406
|
+
var COLUMNS19 = [
|
|
8261
8407
|
COL.id(),
|
|
8262
8408
|
COL.name(),
|
|
8263
8409
|
{ header: "URL", getValue: (item) => item.url ?? "" },
|
|
@@ -8275,7 +8421,7 @@ var mcpServersDomain = {
|
|
|
8275
8421
|
createMethod: "createMcpServer",
|
|
8276
8422
|
updateMethod: "updateMcpServer",
|
|
8277
8423
|
deleteMethod: "deleteMcpServer",
|
|
8278
|
-
columns:
|
|
8424
|
+
columns: COLUMNS19
|
|
8279
8425
|
}),
|
|
8280
8426
|
{
|
|
8281
8427
|
path: ["mcp-servers", "enable"],
|
|
@@ -8288,7 +8434,7 @@ var mcpServersDomain = {
|
|
|
8288
8434
|
workspace,
|
|
8289
8435
|
requireNumber(args, "id")
|
|
8290
8436
|
);
|
|
8291
|
-
outputSingle(result2, ctx,
|
|
8437
|
+
outputSingle(result2, ctx, COLUMNS19);
|
|
8292
8438
|
}
|
|
8293
8439
|
},
|
|
8294
8440
|
{
|
|
@@ -8302,7 +8448,7 @@ var mcpServersDomain = {
|
|
|
8302
8448
|
workspace,
|
|
8303
8449
|
requireNumber(args, "id")
|
|
8304
8450
|
);
|
|
8305
|
-
outputSingle(result2, ctx,
|
|
8451
|
+
outputSingle(result2, ctx, COLUMNS19);
|
|
8306
8452
|
}
|
|
8307
8453
|
},
|
|
8308
8454
|
{
|
|
@@ -8322,7 +8468,7 @@ var mcpServersDomain = {
|
|
|
8322
8468
|
};
|
|
8323
8469
|
|
|
8324
8470
|
// src/domains/member-memories.ts
|
|
8325
|
-
var
|
|
8471
|
+
var COLUMNS20 = [
|
|
8326
8472
|
{ header: "KEY", getValue: (item) => item.key ?? "" },
|
|
8327
8473
|
{ header: "TYPE", getValue: (item) => item.type ?? "basic" },
|
|
8328
8474
|
{ header: "DESCRIPTION", getValue: (item) => truncate(item.description ?? "", 60) },
|
|
@@ -8342,21 +8488,71 @@ var memberMemoriesDomain = {
|
|
|
8342
8488
|
requiresWorkspace: true,
|
|
8343
8489
|
args: [
|
|
8344
8490
|
{ name: "member-id", description: "Member ID", required: true },
|
|
8345
|
-
{
|
|
8346
|
-
name: "type",
|
|
8347
|
-
description: "Memory type filter (basic, preferences, semantic, summaries, episodic, all)"
|
|
8348
|
-
},
|
|
8349
|
-
{ name: "query", description: "Semantic search query (for AgentCore memory types)" }
|
|
8491
|
+
{
|
|
8492
|
+
name: "type",
|
|
8493
|
+
description: "Memory type filter (basic, preferences, semantic, summaries, episodic, all)"
|
|
8494
|
+
},
|
|
8495
|
+
{ name: "query", description: "Semantic search query (for AgentCore memory types)" }
|
|
8496
|
+
],
|
|
8497
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
8498
|
+
const memberId = requireNumber(args, "member-id");
|
|
8499
|
+
const type = args.type;
|
|
8500
|
+
const query = args.query;
|
|
8501
|
+
const result2 = await requireAuth(ctx).apiClient.getMemberMemories(workspace, memberId, {
|
|
8502
|
+
type,
|
|
8503
|
+
query
|
|
8504
|
+
});
|
|
8505
|
+
outputData(listResult(result2, false), ctx, COLUMNS20);
|
|
8506
|
+
}
|
|
8507
|
+
},
|
|
8508
|
+
{
|
|
8509
|
+
path: ["member-memories", "get"],
|
|
8510
|
+
description: "Get a single memory by key",
|
|
8511
|
+
requiresWorkspace: true,
|
|
8512
|
+
args: [
|
|
8513
|
+
{ name: "member-id", description: "Member ID", required: true },
|
|
8514
|
+
{ name: "key", description: "Memory key", required: true }
|
|
8515
|
+
],
|
|
8516
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
8517
|
+
const memberId = requireNumber(args, "member-id");
|
|
8518
|
+
const key = requireString(args, "key");
|
|
8519
|
+
const result2 = await requireAuth(ctx).apiClient.getMemberMemory(
|
|
8520
|
+
workspace,
|
|
8521
|
+
memberId,
|
|
8522
|
+
key
|
|
8523
|
+
);
|
|
8524
|
+
outputData(result2, ctx, COLUMNS20);
|
|
8525
|
+
}
|
|
8526
|
+
},
|
|
8527
|
+
{
|
|
8528
|
+
path: ["member-memories", "create"],
|
|
8529
|
+
description: "Create a memory for a member",
|
|
8530
|
+
mutates: true,
|
|
8531
|
+
requiresWorkspace: true,
|
|
8532
|
+
args: [
|
|
8533
|
+
{ name: "member-id", description: "Member ID", required: true },
|
|
8534
|
+
{ name: "key", description: "Memory key", required: true },
|
|
8535
|
+
{ name: "description", description: "Memory description", required: true },
|
|
8536
|
+
{ name: "content", description: "Memory content" },
|
|
8537
|
+
{ name: "priority", description: "Memory priority" }
|
|
8350
8538
|
],
|
|
8351
8539
|
handler: async ({ ctx, workspace, args }) => {
|
|
8352
8540
|
const memberId = requireNumber(args, "member-id");
|
|
8353
|
-
const
|
|
8354
|
-
const
|
|
8355
|
-
const
|
|
8356
|
-
|
|
8357
|
-
|
|
8358
|
-
|
|
8359
|
-
|
|
8541
|
+
const key = requireString(args, "key");
|
|
8542
|
+
const description = requireString(args, "description");
|
|
8543
|
+
const content = args.content;
|
|
8544
|
+
const priority = args.priority !== void 0 ? Number(args.priority) : void 0;
|
|
8545
|
+
const result2 = await requireAuth(ctx).apiClient.createMemberMemory(
|
|
8546
|
+
workspace,
|
|
8547
|
+
memberId,
|
|
8548
|
+
{
|
|
8549
|
+
key,
|
|
8550
|
+
description,
|
|
8551
|
+
...content !== void 0 && { content },
|
|
8552
|
+
...priority !== void 0 && { priority }
|
|
8553
|
+
}
|
|
8554
|
+
);
|
|
8555
|
+
outputData(result2, ctx, COLUMNS20);
|
|
8360
8556
|
}
|
|
8361
8557
|
},
|
|
8362
8558
|
{
|
|
@@ -8390,11 +8586,11 @@ var memberMemoriesDomain = {
|
|
|
8390
8586
|
};
|
|
8391
8587
|
|
|
8392
8588
|
// src/domains/milestones.ts
|
|
8393
|
-
var
|
|
8589
|
+
var COLUMNS21 = [
|
|
8394
8590
|
COL.id(),
|
|
8395
8591
|
COL.name(),
|
|
8396
8592
|
COL.status(),
|
|
8397
|
-
{ header: "DUE DATE", getValue: (item) => item.
|
|
8593
|
+
{ header: "DUE DATE", getValue: (item) => item.dueDate ?? "" }
|
|
8398
8594
|
];
|
|
8399
8595
|
var milestonesDomain = {
|
|
8400
8596
|
name: "milestones",
|
|
@@ -8408,14 +8604,14 @@ var milestonesDomain = {
|
|
|
8408
8604
|
createMethod: "createMilestone",
|
|
8409
8605
|
updateMethod: "updateMilestone",
|
|
8410
8606
|
deleteMethod: "deleteMilestone",
|
|
8411
|
-
columns:
|
|
8607
|
+
columns: COLUMNS21,
|
|
8412
8608
|
paginationSupport: "full"
|
|
8413
8609
|
})
|
|
8414
8610
|
]
|
|
8415
8611
|
};
|
|
8416
8612
|
|
|
8417
8613
|
// src/domains/notification-rules.ts
|
|
8418
|
-
var
|
|
8614
|
+
var COLUMNS22 = [
|
|
8419
8615
|
COL.id(),
|
|
8420
8616
|
COL.name(),
|
|
8421
8617
|
{ header: "TYPE", getValue: (item) => item.noticeType ?? "" },
|
|
@@ -8432,7 +8628,7 @@ var notificationRulesDomain = {
|
|
|
8432
8628
|
createMethod: "createNotificationRule",
|
|
8433
8629
|
updateMethod: "updateNotificationRule",
|
|
8434
8630
|
deleteMethod: "deleteNotificationRule",
|
|
8435
|
-
columns:
|
|
8631
|
+
columns: COLUMNS22
|
|
8436
8632
|
})
|
|
8437
8633
|
]
|
|
8438
8634
|
};
|
|
@@ -8492,7 +8688,7 @@ var oauthDomain = {
|
|
|
8492
8688
|
};
|
|
8493
8689
|
|
|
8494
8690
|
// src/domains/operator-groups.ts
|
|
8495
|
-
var
|
|
8691
|
+
var COLUMNS23 = [COL.id(), COL.name(), COL.description()];
|
|
8496
8692
|
var operatorGroupsDomain = {
|
|
8497
8693
|
name: "operator-groups",
|
|
8498
8694
|
description: "Manage operator groups",
|
|
@@ -8505,7 +8701,7 @@ var operatorGroupsDomain = {
|
|
|
8505
8701
|
createMethod: "createOperatorGroup",
|
|
8506
8702
|
updateMethod: "updateOperatorGroup",
|
|
8507
8703
|
deleteMethod: "deleteOperatorGroup",
|
|
8508
|
-
columns:
|
|
8704
|
+
columns: COLUMNS23
|
|
8509
8705
|
}),
|
|
8510
8706
|
{
|
|
8511
8707
|
path: ["operator-groups", "add-member"],
|
|
@@ -9592,12 +9788,8 @@ function formatPhoneNumberBehaviorMatrix(phone, outboundUsers, warnings = collec
|
|
|
9592
9788
|
lines.push("");
|
|
9593
9789
|
if (phone.enableVoice) {
|
|
9594
9790
|
lines.push("## Channel defaults (auto-injected on voice)");
|
|
9595
|
-
lines.push(
|
|
9596
|
-
|
|
9597
|
-
);
|
|
9598
|
-
lines.push(
|
|
9599
|
-
" it is not listed by `gr agents abilities list`. See `gr abilities get"
|
|
9600
|
-
);
|
|
9791
|
+
lines.push(" Voice channels auto-add the hang_up_call tool (system:voice_channel);");
|
|
9792
|
+
lines.push(" it is not listed by `gr abilities attached`. See `gr abilities get");
|
|
9601
9793
|
lines.push(" --name communication:phone_call_tools` for the voice ability spec.");
|
|
9602
9794
|
lines.push("");
|
|
9603
9795
|
}
|
|
@@ -9646,13 +9838,13 @@ async function findOutboundPhoneUsers(client, workspace, phone) {
|
|
|
9646
9838
|
const phoneId = phone.id;
|
|
9647
9839
|
const phoneUuid = String(phone.uuid ?? "");
|
|
9648
9840
|
const users = [];
|
|
9649
|
-
const
|
|
9650
|
-
for (const wf of
|
|
9841
|
+
const workflowsPage = await client.getWorkflows(workspace, { archived: false });
|
|
9842
|
+
for (const { workflow: wf } of workflowsPage.items) {
|
|
9651
9843
|
if (wf.defaultPhoneNumberId === phoneId) {
|
|
9652
9844
|
users.push({
|
|
9653
9845
|
kind: "workflow_default",
|
|
9654
9846
|
id: wf.id,
|
|
9655
|
-
name:
|
|
9847
|
+
name: wf.name,
|
|
9656
9848
|
detail: "workflows.defaultPhoneNumberId (outbound origin)"
|
|
9657
9849
|
});
|
|
9658
9850
|
}
|
|
@@ -9663,16 +9855,16 @@ async function findOutboundPhoneUsers(client, workspace, phone) {
|
|
|
9663
9855
|
const rulesPage = await client.getEventRules(workspace, { page, pageSize });
|
|
9664
9856
|
const list = rulesPage.items;
|
|
9665
9857
|
for (const rule of list) {
|
|
9666
|
-
const params = rule.actionParams
|
|
9858
|
+
const params = rule.actionParams;
|
|
9667
9859
|
if (!params) continue;
|
|
9668
|
-
const pnUuid = params.phoneNumberUUID
|
|
9669
|
-
const pnId = params.phoneNumberId
|
|
9860
|
+
const pnUuid = params.phoneNumberUUID;
|
|
9861
|
+
const pnId = params.phoneNumberId;
|
|
9670
9862
|
if (pnUuid === phoneUuid || pnId === phoneId) {
|
|
9671
9863
|
users.push({
|
|
9672
9864
|
kind: "event_rule",
|
|
9673
9865
|
id: rule.id,
|
|
9674
9866
|
name: String(rule.name ?? `rule ${rule.id}`),
|
|
9675
|
-
detail: `action=${String(rule.actionType ??
|
|
9867
|
+
detail: `action=${String(rule.actionType ?? "")}`
|
|
9676
9868
|
});
|
|
9677
9869
|
}
|
|
9678
9870
|
}
|
|
@@ -9689,7 +9881,7 @@ async function findOutboundPhoneUsers(client, workspace, phone) {
|
|
|
9689
9881
|
}
|
|
9690
9882
|
|
|
9691
9883
|
// ../../node_modules/libphonenumber-js/metadata.min.json.js
|
|
9692
|
-
var 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|[46])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|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]|5[0-5]))\\d{6}"], ["80[0-7]\\d{6}"], ["89\\d{7}"], 0, 0, 0, 0, ["(?:592(?:4[0-2]|93)|80[89]\\d\\d)\\d{4}"]]], "ER": ["291", "00", "[178]\\d{6}", [7], [["(\\d)(\\d{3})(\\d{3})", "$1 $2 $3", ["[178]"], "0$1"]], "0"], "ES": ["34", "00", "[5-9]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[89]00"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-9]"]]]], "ET": ["251", "00", "(?:11|[2-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{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|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-79]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["8"]]]], "NA": ["264", "00", "[68]\\d{7,8}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["88"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["87"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"], "0$1"]], "0"], "NC": ["687", "00", "(?:050|[2-57-9]\\d\\d)\\d{3}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1.$2.$3", ["[02-57-9]"]]]], "NE": ["227", "00", "[027-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["08"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[089]|2[013]|7[0467]"]]]], "NF": ["672", "00", "[13]\\d{5}", [6], [["(\\d{2})(\\d{4})", "$1 $2", ["1[0-3]"]], ["(\\d)(\\d{5})", "$1 $2", ["[13]"]]], 0, 0, "([0-258]\\d{4})$", "3$1"], "NG": ["234", "009", "(?:20|9\\d)\\d{8}|[78]\\d{9,13}", [10, 11, 12, 13, 14], [["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[7-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["20[129]"], "0$1"], ["(\\d{4})(\\d{2})(\\d{4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{3})(\\d{4})(\\d{4,5})", "$1 $2 $3", ["[78]"], "0$1"], ["(\\d{3})(\\d{5})(\\d{5,6})", "$1 $2 $3", ["[78]"], "0$1"]], "0"], "NI": ["505", "00", "(?:1800|[25-8]\\d{3})\\d{4}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[125-8]"]]]], "NL": ["31", "00", "(?:[124-7]\\d\\d|3(?:[02-9]\\d|1[0-8]))\\d{6}|8\\d{6,9}|9\\d{6,10}|1\\d{4,5}", [5, 6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{4,7})", "$1 $2", ["[89]0"], "0$1"], ["(\\d{2})(\\d{7})", "$1 $2", ["66"], "0$1"], ["(\\d)(\\d{8})", "$1 $2", ["6"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1-578]|91"], "0$1"], ["(\\d{3})(\\d{3})(\\d{5})", "$1 $2 $3", ["9"], "0$1"]], "0"], "NO": ["47", "00", "(?:0|[2-9]\\d{3})\\d{4}", [5, 8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-79]"]]], 0, 0, 0, 0, 0, "[02-689]|7[0-8]"], "NP": ["977", "00", "(?:1\\d|9)\\d{9}|[1-9]\\d{7}", [8, 10, 11], [["(\\d)(\\d{7})", "$1-$2", ["1[2-6]"], "0$1"], ["(\\d{2})(\\d{6})", "$1-$2", ["1[01]|[2-8]|9(?:[1-59]|[67][2-6])"], "0$1"], ["(\\d{3})(\\d{7})", "$1-$2", ["9"]]], "0"], "NR": ["674", "00", "(?:222|444|(?:55|8\\d)\\d|666|777|999)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[24-9]"]]]], "NU": ["683", "00", "(?:[4-7]|888\\d)\\d{3}", [4, 7], [["(\\d{3})(\\d{4})", "$1 $2", ["8"]]]], "NZ": ["64", "0(?:0|161)", "[1289]\\d{9}|50\\d{5}(?:\\d{2,3})?|[27-9]\\d{7,8}|(?:[34]\\d|6[0-35-9])\\d{6}|8\\d{4,6}", [5, 6, 7, 8, 9, 10], [["(\\d{2})(\\d{3,8})", "$1 $2", ["8[1-79]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["50[036-8]|8|90", "50(?:[0367]|88)|8|90"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["24|[346]|7[2-57-9]|9[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2(?:10|74)|[589]"], "0$1"], ["(\\d{2})(\\d{3,4})(\\d{4})", "$1 $2 $3", ["1|2[028]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,5})", "$1 $2 $3", ["2(?:[169]|7[0-35-9])|7"], "0$1"]], "0", 0, 0, 0, 0, 0, 0, "00"], "OM": ["968", "00", "(?:1505|[279]\\d{3}|500)\\d{4}|800\\d{5,6}", [7, 8, 9], [["(\\d{3})(\\d{4,6})", "$1 $2", ["[58]"]], ["(\\d{2})(\\d{6})", "$1 $2", ["2"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[179]"]]]], "PA": ["507", "00", "(?:00800|8\\d{3})\\d{6}|[68]\\d{7}|[1-57-9]\\d{6}", [7, 8, 10, 11], [["(\\d{3})(\\d{4})", "$1-$2", ["[1-57-9]"]], ["(\\d{4})(\\d{4})", "$1-$2", ["[68]"]], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["8"]]]], "PE": ["51", "00|19(?:1[124]|77|90)00", "(?:[14-8]|9\\d)\\d{7}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["80"], "(0$1)"], ["(\\d)(\\d{7})", "$1 $2", ["1"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[4-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"]]], "0", 0, 0, 0, 0, 0, 0, "00", " Anexo "], "PF": ["689", "00", "4\\d{5}(?:\\d{2})?|8\\d{7,8}", [6, 8, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["44"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4|8[7-9]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]]]], "PG": ["675", "00|140[1-3]", "(?:180|[78]\\d{3})\\d{4}|(?:[2-589]\\d|64)\\d{5}", [7, 8], [["(\\d{3})(\\d{4})", "$1 $2", ["18|[2-69]|85"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[78]"]]], 0, 0, 0, 0, 0, 0, 0, "00"], "PH": ["63", "00", "(?:[2-7]|9\\d)\\d{8}|2\\d{5}|(?:1800|8)\\d{7,9}", [6, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{5})", "$1 $2", ["2"], "(0$1)"], ["(\\d{4})(\\d{4,6})", "$1 $2", ["3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2", "3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))"], "(0$1)"], ["(\\d{5})(\\d{4})", "$1 $2", ["346|4(?:27|9[35])|883", "3469|4(?:279|9(?:30|56))|8834"], "(0$1)"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["2"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[3-7]|8[2-8]"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[89]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["1"]], ["(\\d{4})(\\d{1,2})(\\d{3})(\\d{4})", "$1 $2 $3 $4", ["1"]]], "0"], "PK": ["92", "00", "122\\d{6}|[24-8]\\d{10,11}|9(?:[013-9]\\d{8,10}|2(?:[01]\\d\\d|2(?:[06-8]\\d|1[01]))\\d{7})|(?:[2-8]\\d{3}|92(?:[0-7]\\d|8[1-9]))\\d{6}|[24-9]\\d{8}|[89]\\d{7}", [8, 9, 10, 11, 12], [["(\\d{3})(\\d{3})(\\d{2,7})", "$1 $2 $3", ["[89]0"], "0$1"], ["(\\d{4})(\\d{5})", "$1 $2", ["1"]], ["(\\d{3})(\\d{6,7})", "$1 $2", ["2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])", "9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]"], "(0$1)"], ["(\\d{2})(\\d{7,8})", "$1 $2", ["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"], "(0$1)"], ["(\\d{5})(\\d{5})", "$1 $2", ["58"], "(0$1)"], ["(\\d{3})(\\d{7})", "$1 $2", ["3"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91"], "(0$1)"], ["(\\d{3})(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3 $4", ["[24-9]"], "(0$1)"]], "0"], "PL": ["48", "00", "(?:6|8\\d\\d)\\d{7}|[1-9]\\d{6}(?:\\d{2})?|[26]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{5})", "$1", ["19"]], ["(\\d{3})(\\d{3})", "$1 $2", ["11|20|64"]], ["(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3", ["30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1", "30|(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19"]], ["(\\d{3})(\\d{2})(\\d{2,3})", "$1 $2 $3", ["64"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)"]], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[2-8]|[2-7]|8[1-79]|9[145]"]], ["(\\d{3})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["8"]]]], "PM": ["508", "00", "[78]\\d{8}|[2-9]\\d{5}", [6, 9], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["[2-9]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["7"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0"], "PR": ["1", "011", "(?:[589]\\d\\d|787)\\d{7}", [10], 0, "1", 0, 0, 0, 0, "787|939"], "PS": ["970", "00", "[2489]2\\d{6}|(?:1\\d|5)\\d{8}", [8, 9, 10], [["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[2489]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1"]]], "0"], "PT": ["351", "00", "1693\\d{5}|(?:[26-9]\\d|30)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["2[12]"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["16|[236-9]"]]]], "PW": ["680", "01[12]", "(?:[24-8]\\d\\d|345|900)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "PY": ["595", "00", "[36-8]\\d{5,8}|4\\d{6,8}|59\\d{6}|9\\d{5,10}|(?:2\\d|5[0-8])\\d{6,7}", [6, 7, 8, 9, 10, 11], [["(\\d{3})(\\d{3,6})", "$1 $2", ["[2-9]0"], "0$1"], ["(\\d{2})(\\d{5})", "$1 $2", ["3[289]|4[246-8]|61|7[1-3]|8[1-36]"], "(0$1)"], ["(\\d{3})(\\d{4,5})", "$1 $2", ["2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["87"]], ["(\\d{3})(\\d{6})", "$1 $2", ["9(?:[5-79]|8[1-7])"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-8]"], "0$1"], ["(\\d{4})(\\d{3})(\\d{4})", "$1 $2 $3", ["9"]]], "0"], "QA": ["974", "00", "800\\d{4}|(?:2|800)\\d{6}|(?:0080|[3-7])\\d{7}", [7, 8, 9, 11], [["(\\d{3})(\\d{4})", "$1 $2", ["2[136]|8"]], ["(\\d{4})(\\d{4})", "$1 $2", ["[3-7]"]]]], "RE": ["262", "00", "709\\d{6}|(?:26|[689]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[26-9]"], "0$1"]], "0", 0, 0, 0, 0, 0, [["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-6]\\d|71)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["12"], "(8 $1)"], ["(\\d{3})(\\d)(\\d{2})(\\d{2})", "$1 $2-$3-$4", ["[1-5]"], "(8 $1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[67]"], "8 $1"]], "8", 0, 0, 0, 0, 0, 0, "8~10"], "TN": ["216", "00", "[2-57-9]\\d{7}", [8], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2-57-9]"]]]], "TO": ["676", "00", "(?:0800|(?:[5-8]\\d\\d|999)\\d)\\d{3}|[2-8]\\d{4}", [5, 7], [["(\\d{2})(\\d{3})", "$1-$2", ["[2-4]|50|6[09]|7[0-24-69]|8[05]"]], ["(\\d{4})(\\d{3})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[5-9]"]]]], "TR": ["90", "00", "4\\d{6}|8\\d{11,12}|(?:[2-58]\\d\\d|900)\\d{7}", [7, 10, 12, 13], [["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["512|8[01589]|90"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["5[0-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, [["(?:274[27]|(?:472|983)[2-47-9])\\d{6}|(?:2(?:0[1-35-9]|1[02-9]|2[03-57-9]|3[1459]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[013-79]|3[0-24679]|4[167]|5[0-3]|6[01349]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[0149]|4[01]|5[179]|6[1-47]|7[0-5]|8[0256])|6(?:0[1-35-9]|1[024-9]|2[03689]|3[016]|4[0156]|5[01679]|6[0-279]|78|8[0-269])|7(?:0[1-46-8]|1[2-9]|2[04-8]|3[0-2478]|4[0378]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[0168]|3[0-2589]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-3589]|8[04-69]))[2-9]\\d{6}"], [""], ["8(?:00|33|44|55|66|77|88)[2-9]\\d{6}"], ["900[2-9]\\d{6}"], ["52(?:3(?:[2-46-9][02-9]\\d|5(?:[02-46-9]\\d|5[0-46-9]))|4(?:[2-478][02-9]\\d|5(?:[034]\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\d)|9(?:[05-9]\\d|2[0-5]|49)))\\d{4}|52[34][2-9]1[02-9]\\d{4}|5(?:00|2[125-9]|3[23]|44|66|77|88)[2-9]\\d{6}"]]], "UY": ["598", "0(?:0|1[3-9]\\d)", "0004\\d{2,9}|[1249]\\d{7}|2\\d{3,4}|(?:[49]\\d|80)\\d{5}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d{4,5})", "$1", ["21"]], ["(\\d{3})(\\d{3,4})", "$1 $2", ["0"]], ["(\\d{3})(\\d{4})", "$1 $2", ["[49]0|8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"], ["(\\d{4})(\\d{4})", "$1 $2", ["[124]"]], ["(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["0"]], ["(\\d{3})(\\d{3})(\\d{3})(\\d{2,4})", "$1 $2 $3 $4", ["0"]]], "0", 0, 0, 0, 0, 0, 0, "00", " int. "], "UZ": ["998", "00", "(?:20|33|[5-9]\\d)\\d{7}", [9], [["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[235-9]"]]]], "VA": ["39", "00", "0\\d{5,10}|3[0-8]\\d{7,10}|55\\d{8}|8\\d{5}(?:\\d{2,4})?|(?:1\\d|39)\\d{7,8}", [6, 7, 8, 9, 10, 11, 12], 0, 0, 0, 0, 0, 0, "06698"], "VC": ["1", "011", "(?:[58]\\d\\d|784|900)\\d{7}", [10], 0, "1", 0, "([2-7]\\d{6})$|1", "784$1", 0, "784"], "VE": ["58", "00", "[68]00\\d{7}|(?:[24]\\d|[59]0)\\d{8}", [10], [["(\\d{3})(\\d{7})", "$1-$2", ["[24-689]"], "0$1"]], "0"], "VG": ["1", "011", "(?:284|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-578]\\d{6})$|1", "284$1", 0, "284"], "VI": ["1", "011", "[58]\\d{9}|(?:34|90)0\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "340$1", 0, "340"], "VN": ["84", "00", "[12]\\d{9}|[135-9]\\d{8}|[16]\\d{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}"]]] } };
|
|
9884
|
+
var 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|[46])\\d{4}", [5, 6]], "AD": ["376", "00", "(?:1|6\\d)\\d{7}|[135-9]\\d{5}", [6, 8, 9], [["(\\d{3})(\\d{3})", "$1 $2", ["[135-9]"]], ["(\\d{4})(\\d{4})", "$1 $2", ["1"]], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["6"]]]], "AE": ["971", "00", "(?:[4-7]\\d|9[0-689])\\d{7}|800\\d{2,9}|[2-4679]\\d{7}", [5, 6, 7, 8, 9, 10, 11, 12], [["(\\d{3})(\\d{2,9})", "$1 $2", ["60|8"]], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["[236]|[479][2-8]"], "0$1"], ["(\\d{3})(\\d)(\\d{5})", "$1 $2 $3", ["[479]"]], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AF": ["93", "00", "[2-7]\\d{8}", [9], [["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2-7]"], "0$1"]], "0"], "AG": ["1", "011", "(?:268|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([457]\\d{6})$|1", "268$1", 0, "268"], "AI": ["1", "011", "(?:264|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2457]\\d{6})$|1", "264$1", 0, "264"], "AL": ["355", "00", "(?:700\\d\\d|900)\\d{3}|8\\d{5,7}|(?:[2-5]|6\\d)\\d{7}", [6, 7, 8, 9], [["(\\d{3})(\\d{3,4})", "$1 $2", ["80|9"], "0$1"], ["(\\d)(\\d{3})(\\d{4})", "$1 $2 $3", ["4[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["[2358][2-5]|4"], "0$1"], ["(\\d{3})(\\d{5})", "$1 $2", ["[23578]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["6"], "0$1"]], "0"], "AM": ["374", "00", "(?:[1-489]\\d|55|60|77)\\d{6}", [8], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["[89]0"], "0 $1"], ["(\\d{3})(\\d{5})", "$1 $2", ["2|3[12]"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["1|47"], "(0$1)"], ["(\\d{2})(\\d{6})", "$1 $2", ["[3-9]"], "0$1"]], "0"], "AO": ["244", "00", "[29]\\d{8}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["[29]"]]]], "AR": ["54", "00", "(?:11|[89]\\d\\d)\\d{8}|[2368]\\d{9}", [10, 11], [["(\\d{4})(\\d{2})(\\d{4})", "$1 $2-$3", ["2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])", "2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 1], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2-$3", ["1"], "0$1", 1], ["(\\d{3})(\\d{3})(\\d{4})", "$1-$2-$3", ["[68]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2-$3", ["[23]"], "0$1", 1], ["(\\d)(\\d{4})(\\d{2})(\\d{4})", "$2 15-$3-$4", ["9(?:2[2-469]|3[3-578])", "9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))", "9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]", "9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d)(\\d{2})(\\d{4})(\\d{4})", "$2 15-$3-$4", ["91"], "0$1", 0, "$1 $2 $3-$4"], ["(\\d{3})(\\d{3})(\\d{5})", "$1-$2-$3", ["8"], "0$1"], ["(\\d)(\\d{3})(\\d{3})(\\d{4})", "$2 15-$3-$4", ["9"], "0$1", 0, "$1 $2 $3-$4"]], "0", 0, "0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?", "9$1"], "AS": ["1", "011", "(?:[58]\\d\\d|684|900)\\d{7}", [10], 0, "1", 0, "([267]\\d{6})$|1", "684$1", 0, "684"], "AT": ["43", "00", "1\\d{3,12}|2\\d{6,12}|43(?:(?:0\\d|5[02-9])\\d{3,9}|2\\d{4,5}|[3467]\\d{4}|8\\d{4,6}|9\\d{4,7})|5\\d{4,12}|8\\d{7,12}|9\\d{8,12}|(?:[367]\\d|4[0-24-9])\\d{4,11}", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [["(\\d)(\\d{3,12})", "$1 $2", ["1(?:11|[2-9])"], "0$1"], ["(\\d{3})(\\d{2})", "$1 $2", ["517"], "0$1"], ["(\\d{2})(\\d{3,5})", "$1 $2", ["5[079]"], "0$1"], ["(\\d{3})(\\d{3,10})", "$1 $2", ["(?:31|4)6|51|6(?:48|5[0-3579]|[6-9])|7(?:20|32|8)|[89]", "(?:31|4)6|51|6(?:485|5[0-3579]|[6-9])|7(?:20|32|8)|[89]"], "0$1"], ["(\\d{4})(\\d{3,9})", "$1 $2", ["[2-467]|5[2-6]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["5"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4,7})", "$1 $2 $3", ["5"], "0$1"]], "0"], "AU": ["61", "001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011", "1(?:[0-79]\\d{7}(?:\\d(?:\\d{2})?)?|8[0-24-9]\\d{7})|[2-478]\\d{8}|1\\d{4,7}", [5, 6, 7, 8, 9, 10, 12], [["(\\d{2})(\\d{3,4})", "$1 $2", ["16"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,4})", "$1 $2 $3", ["16"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["14|4"], "0$1"], ["(\\d)(\\d{4})(\\d{4})", "$1 $2 $3", ["[2378]"], "(0$1)"], ["(\\d{4})(\\d{3})(\\d{3})", "$1 $2 $3", ["1(?:30|[89])"]]], "0", 0, "(183[12])|0", 0, 0, 0, [["(?:(?:241|349)0\\d\\d|8(?:51(?:0(?:0[03-9]|[12479]\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\d|7[89]|9[0-4])|[34]\\d\\d)|91(?:(?:[0-58]\\d|6[0135-9])\\d|7(?:0[0-24-9]|[1-9]\\d)|9(?:[0-46-9]\\d|5[0-79]))))\\d{3}|(?:2(?:[0-26-9]\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\d|2[0-8])|8(?:55|6[0-8]|[78]\\d|9[02-9]))\\d{6}", [9]], ["4(?:79[01]|83[0-36-9]|95[0-3])\\d{5}|4(?:[0-36]\\d|4[047-9]|[58][0-24-9]|7[02-8]|9[0-47-9])\\d{6}", [9]], ["180(?:0\\d{3}|2)\\d{3}", [7, 10]], ["190[0-26]\\d{6}", [10]], 0, 0, 0, ["163\\d{2,6}", [5, 6, 7, 8, 9]], ["14(?:5(?:1[0458]|[23][458])|71\\d)\\d{4}", [9]], ["13(?:00\\d{6}(?:\\d{2})?|45[0-4]\\d{3})|13\\d{4}", [6, 8, 10, 12]]], "0011"], "AW": ["297", "00", "(?:[25-79]\\d\\d|800)\\d{4}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[25-9]"]]]], "AX": ["358", "00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))", "2\\d{4,9}|35\\d{4,5}|(?:60\\d\\d|800)\\d{4,6}|7\\d{5,11}|(?:[14]\\d|3[0-46-9]|50)\\d{4,8}", [5, 6, 7, 8, 9, 10, 11, 12], 0, "0", 0, 0, 0, 0, "18", 0, "00"], "AZ": ["994", "00", "365\\d{6}|(?:[124579]\\d|60|88)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["90"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["1[28]|2|365|46", "1[28]|2|365[45]|46", "1[28]|2|365(?:4|5[02])|46"], "(0$1)"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[13-9]"], "0$1"]], "0"], "BA": ["387", "00", "6\\d{8}|(?:[35689]\\d|49|70)\\d{6}", [8, 9], [["(\\d{2})(\\d{3})(\\d{3})", "$1 $2 $3", ["6[1-3]|[7-9]"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3})", "$1 $2-$3", ["[3-5]|6[56]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{3})", "$1 $2 $3 $4", ["6"], "0$1"]], "0"], "BB": ["1", "011", "(?:246|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "246$1", 0, "246"], "BD": ["880", "00", "[1-469]\\d{9}|8[0-79]\\d{7,8}|[2-79]\\d{8}|[2-9]\\d{7}|[3-9]\\d{6}|[57-9]\\d{5}", [6, 7, 8, 9, 10], [["(\\d{2})(\\d{4,6})", "$1-$2", ["31[5-8]|[459]1"], "0$1"], ["(\\d{3})(\\d{3,7})", "$1-$2", ["3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:[15]|28|4[14])|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]"], "0$1"], ["(\\d{4})(\\d{3,6})", "$1-$2", ["[13-9]|2[23]"], "0$1"], ["(\\d)(\\d{7,8})", "$1-$2", ["2"], "0$1"]], "0"], "BE": ["32", "00", "4\\d{8}|[1-9]\\d{7}", [8, 9], [["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:80|9)0"], "0$1"], ["(\\d)(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[239]|4[23]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[15-8]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["4"], "0$1"]], "0"], "BF": ["226", "00", "[024-7]\\d{7}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[024-7]"]]]], "BG": ["359", "00", "00800\\d{7}|[2-7]\\d{6,7}|[89]\\d{6,8}|2\\d{5}", [6, 7, 8, 9, 12], [["(\\d)(\\d)(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["2"], "0$1"], ["(\\d{3})(\\d{4})", "$1 $2", ["43[1-6]|70[1-9]"], "0$1"], ["(\\d)(\\d{3})(\\d{3,4})", "$1 $2 $3", ["2"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2,3})", "$1 $2 $3", ["[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{3})", "$1 $2 $3", ["(?:70|8)0"], "0$1"], ["(\\d{3})(\\d{3})(\\d{2})", "$1 $2 $3", ["43[1-7]|7"], "0$1"], ["(\\d{2})(\\d{3})(\\d{3,4})", "$1 $2 $3", ["[48]|9[08]"], "0$1"], ["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["9"], "0$1"]], "0"], "BH": ["973", "00", "[136-9]\\d{7}", [8], [["(\\d{4})(\\d{4})", "$1 $2", ["[13679]|8[02-4679]"]]]], "BI": ["257", "00", "(?:[267]\\d|31)\\d{6}", [8], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2367]"]]]], "BJ": ["229", "00", "(?:01\\d|8)\\d{7}", [8, 10], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["0"]]]], "BL": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], 0, "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:2[7-9]|3[3-7]|5[12]|87)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|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]|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{6})", "$1", ["[2-9]"]]], 0, 0, "(10(?:01|[12]0|88))"], "FR": ["33", "00", "[1-9]\\d{8}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0 $1"], ["(\\d)(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4 $5", ["[1-79]"], "0$1"]], "0"], "GA": ["241", "00", "(?:[067]\\d|11)\\d{6}|[2-7]\\d{6}", [7, 8], [["(\\d)(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[2-7]"], "0$1"], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["0"]], ["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["11|[67]"], "0$1"]], 0, 0, "0(11\\d{6}|60\\d{6}|61\\d{6}|6[256]\\d{6}|7[467]\\d{6})", "$1"], "GB": ["44", "00", "[1-357-9]\\d{9}|[18]\\d{8}|8\\d{6}", [7, 9, 10], [["(\\d{3})(\\d{4})", "$1 $2", ["800", "8001", "80011", "800111", "8001111"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3", ["845", "8454", "84546", "845464"], "0$1"], ["(\\d{3})(\\d{6})", "$1 $2", ["800"], "0$1"], ["(\\d{5})(\\d{4,5})", "$1 $2", ["1(?:38|5[23]|69|76|94)", "1(?:(?:38|69)7|5(?:24|39)|768|946)", "1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)"], "0$1"], ["(\\d{4})(\\d{5,6})", "$1 $2", ["1(?:[2-69][02-9]|[78])"], "0$1"], ["(\\d{2})(\\d{4})(\\d{4})", "$1 $2 $3", ["[25]|7(?:0|6[02-9])", "[25]|7(?:0|6(?:[03-9]|2[356]))"], "0$1"], ["(\\d{4})(\\d{6})", "$1 $2", ["7"], "0$1"], ["(\\d{3})(\\d{3})(\\d{4})", "$1 $2 $3", ["[1389]"], "0$1"]], "0", 0, "0|180020", 0, 0, 0, [["(?:1(?:1(?:3(?:[0-58]\\d\\d|73[0-5])|4(?:(?:[0-5]\\d|70)\\d|69[7-9])|(?:(?:5[0-26-9]|[78][0-49])\\d|6(?:[0-4]\\d|5[01]))\\d)|(?:2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\d)\\d|1(?:[0-7]\\d|8[0-3]))|(?:3(?:0\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\d)\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\d{3})\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\d)|76\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[5-7]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}", [9, 10]], ["7(?:457[0-57-9]|700[01]|911[028])\\d{5}|7(?:[1-3]\\d\\d|4(?:[0-46-9]\\d|5[0-689])|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[024-9]\\d|1[02-9]|3[0-689]))\\d{6}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[2-49]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]], 0, " x"], "GD": ["1", "011", "(?:473|[58]\\d\\d|900)\\d{7}", [10], 0, "1", 0, "([2-9]\\d{6})$|1", "473$1", 0, "473"], "GE": ["995", "00", "(?:[3-57]\\d\\d|800)\\d{6}", [9], [["(\\d{3})(\\d{3})(\\d{3})", "$1 $2 $3", ["70"], "0$1"], ["(\\d{2})(\\d{3})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["32"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[57]"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[348]"], "0$1"]], "0"], "GF": ["594", "00", "(?:694\\d|7093)\\d{5}|(?:59|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-7]|80[6-9]|9[47]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[89]"], "0$1"]], "0"], "GG": ["44", "00", "(?:1481|[357-9]\\d{3})\\d{6}|8\\d{6}(?:\\d{2})?", [7, 9, 10], 0, "0", 0, "([25-9]\\d{5})$|0|180020", "1481$1", 0, 0, [["1481[25-9]\\d{5}", [10]], ["7(?:(?:781|839)\\d|911[17])\\d{5}", [10]], ["80[08]\\d{7}|800\\d{6}|8001111"], ["(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\d|8[0-3]))\\d{7}|845464\\d", [7, 10]], ["70\\d{8}", [10]], 0, ["(?:3[0347]|55)\\d{8}", [10]], ["76(?:464|652)\\d{5}|76(?:0[0-28]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\d{6}", [10]], ["56\\d{8}", [10]]]], "GH": ["233", "00", "[235]\\d{8}|800\\d{5,6}", [8, 9], [["(\\d{3})(\\d{5})", "$1 $2", ["8"], "0$1"], ["(\\d{2})(\\d{3})(\\d{4})", "$1 $2 $3", ["[2358]"], "0$1"]], "0"], "GI": ["350", "00", "(?:[25]\\d|60)\\d{6}", [8], [["(\\d{3})(\\d{5})", "$1 $2", ["2"]]]], "GL": ["299", "00", "(?:19|[2-689]\\d|70)\\d{4}", [6], [["(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3", ["19|[2-9]"]]]], "GM": ["220", "00", "[2-9]\\d{6}", [7], [["(\\d{3})(\\d{4})", "$1 $2", ["[2-9]"]]]], "GN": ["224", "00", "722\\d{6}|(?:3|6\\d)\\d{7}", [8, 9], [["(\\d{2})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["3"]], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[67]"]]]], "GP": ["590", "00", "7090\\d{5}|(?:[56]9|[89]\\d)\\d{7}", [9], [["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["[5-79]|80[6-9]"], "0$1"], ["(\\d{3})(\\d{2})(\\d{2})(\\d{2})", "$1 $2 $3 $4", ["8"], "0$1"]], "0", 0, 0, 0, 0, 0, [["(?:59(?:0(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1-9]|5[3-579]|[68][0-689]|7[08]|9\\d)|87\\d)|80[6-9]\\d\\d)\\d{4}"], ["(?:69(?:0\\d\\d|1(?:2[2-9]|3[0-5]))|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}"]]] } };
|
|
9693
9885
|
|
|
9694
9886
|
// ../../node_modules/libphonenumber-js/min/exports/withMetadataArgument.js
|
|
9695
9887
|
function withMetadataArgument(func, _arguments) {
|
|
@@ -12049,7 +12241,6 @@ async function resolveMemberByCallerPhone(client, workspace, callerE164) {
|
|
|
12049
12241
|
workspace,
|
|
12050
12242
|
page,
|
|
12051
12243
|
MEMBER_SEARCH_PAGE_SIZE,
|
|
12052
|
-
void 0,
|
|
12053
12244
|
query
|
|
12054
12245
|
);
|
|
12055
12246
|
const items = result2.items ?? result2;
|
|
@@ -12074,8 +12265,8 @@ async function loadInboundWorkflowMemberRoleAccess(client, workspace, defaultWor
|
|
|
12074
12265
|
return void 0;
|
|
12075
12266
|
}
|
|
12076
12267
|
try {
|
|
12077
|
-
const
|
|
12078
|
-
return parseWorkflowMemberRoleAccess(
|
|
12268
|
+
const detail = await client.getWorkflow(workspace, workflowId);
|
|
12269
|
+
return parseWorkflowMemberRoleAccess(detail.draftRevision ?? {});
|
|
12079
12270
|
} catch (err) {
|
|
12080
12271
|
const reason = err instanceof Error ? err.message : String(err);
|
|
12081
12272
|
process.stderr.write(
|
|
@@ -12099,9 +12290,9 @@ function requireCallerRole(args, flag) {
|
|
|
12099
12290
|
}
|
|
12100
12291
|
return role;
|
|
12101
12292
|
}
|
|
12102
|
-
var
|
|
12293
|
+
var COLUMNS24 = [
|
|
12103
12294
|
COL.id(),
|
|
12104
|
-
{ header: "NUMBER", getValue: (item) => item.
|
|
12295
|
+
{ header: "NUMBER", getValue: (item) => item.phoneNumber ?? item.number ?? "" },
|
|
12105
12296
|
{ header: "LABEL", getValue: (item) => item.label ?? item.name ?? "" },
|
|
12106
12297
|
COL.status()
|
|
12107
12298
|
];
|
|
@@ -12126,7 +12317,7 @@ var phoneNumbersDomain = {
|
|
|
12126
12317
|
entityName: "phone number",
|
|
12127
12318
|
listMethod: "getPhoneNumbers",
|
|
12128
12319
|
archiveMethod: "archivePhoneNumber",
|
|
12129
|
-
columns:
|
|
12320
|
+
columns: COLUMNS24
|
|
12130
12321
|
}),
|
|
12131
12322
|
{
|
|
12132
12323
|
path: ["phone-numbers", "get"],
|
|
@@ -12176,7 +12367,7 @@ ${PHONE_NUMBER_FIELD_REFERENCE}`,
|
|
|
12176
12367
|
);
|
|
12177
12368
|
const record = asPhoneRecord(result2);
|
|
12178
12369
|
const warnings = collectPhoneNumberWarnings(record);
|
|
12179
|
-
outputData([record], ctx,
|
|
12370
|
+
outputData([record], ctx, COLUMNS24);
|
|
12180
12371
|
if (warnings.length > 0) {
|
|
12181
12372
|
process.stderr.write("\nWarnings after create:\n");
|
|
12182
12373
|
for (const w of warnings) {
|
|
@@ -12208,7 +12399,7 @@ ${PHONE_NUMBER_FIELD_REFERENCE}`,
|
|
|
12208
12399
|
id,
|
|
12209
12400
|
data
|
|
12210
12401
|
);
|
|
12211
|
-
outputData([result2], ctx,
|
|
12402
|
+
outputData([result2], ctx, COLUMNS24);
|
|
12212
12403
|
} catch (err) {
|
|
12213
12404
|
return enrichPhoneNumberApiError(err);
|
|
12214
12405
|
}
|
|
@@ -12496,7 +12687,7 @@ ${formatRoutingSimulation(sim, phone)}
|
|
|
12496
12687
|
requiresWorkspace: true,
|
|
12497
12688
|
handler: async ({ ctx, workspace }) => {
|
|
12498
12689
|
const result2 = await requireAuth(ctx).apiClient.getAvailablePhoneNumbers(workspace);
|
|
12499
|
-
outputData(result2, ctx,
|
|
12690
|
+
outputData(result2, ctx, COLUMNS24);
|
|
12500
12691
|
}
|
|
12501
12692
|
},
|
|
12502
12693
|
{
|
|
@@ -12521,7 +12712,7 @@ ${formatRoutingSimulation(sim, phone)}
|
|
|
12521
12712
|
const id = requireNumberFrom(args, "phone-number-id", "id");
|
|
12522
12713
|
const providerPhoneUuid = requireString(args, "provider-phone-uuid");
|
|
12523
12714
|
const result2 = await auth.apiClient.linkPhoneNumber(workspace, id, providerPhoneUuid);
|
|
12524
|
-
outputData([result2], auth,
|
|
12715
|
+
outputData([result2], auth, COLUMNS24);
|
|
12525
12716
|
}
|
|
12526
12717
|
},
|
|
12527
12718
|
{
|
|
@@ -12534,7 +12725,7 @@ ${formatRoutingSimulation(sim, phone)}
|
|
|
12534
12725
|
workspace,
|
|
12535
12726
|
data
|
|
12536
12727
|
);
|
|
12537
|
-
outputData([result2], ctx,
|
|
12728
|
+
outputData([result2], ctx, COLUMNS24);
|
|
12538
12729
|
}
|
|
12539
12730
|
},
|
|
12540
12731
|
{
|
|
@@ -12681,7 +12872,7 @@ function normalizePronunciationUpdatePayload(data) {
|
|
|
12681
12872
|
}
|
|
12682
12873
|
|
|
12683
12874
|
// src/domains/pronunciations.ts
|
|
12684
|
-
var
|
|
12875
|
+
var COLUMNS25 = [
|
|
12685
12876
|
COL.id(),
|
|
12686
12877
|
{ header: "TERM", getValue: (item) => item.term ?? "" },
|
|
12687
12878
|
{ header: "RESPELLING", getValue: (item) => item.respelling ?? "" },
|
|
@@ -12703,7 +12894,7 @@ var pronunciationsDomain = {
|
|
|
12703
12894
|
const auth = requireAuth(ctx);
|
|
12704
12895
|
const orgUuid = await resolveOrgUuidFromWorkspace(auth.apiClient, workspace);
|
|
12705
12896
|
const result2 = await auth.apiClient.getPronunciationEntries(orgUuid);
|
|
12706
|
-
outputData(result2, ctx,
|
|
12897
|
+
outputData(result2, ctx, COLUMNS25);
|
|
12707
12898
|
}
|
|
12708
12899
|
},
|
|
12709
12900
|
{
|
|
@@ -12717,7 +12908,7 @@ var pronunciationsDomain = {
|
|
|
12717
12908
|
const orgUuid = await resolveOrgUuidFromWorkspace(auth.apiClient, workspace);
|
|
12718
12909
|
const payload = normalizePronunciationCreatePayload(data);
|
|
12719
12910
|
const result2 = await auth.apiClient.createPronunciationEntry(orgUuid, payload);
|
|
12720
|
-
outputSingle(result2, ctx,
|
|
12911
|
+
outputSingle(result2, ctx, COLUMNS25);
|
|
12721
12912
|
}
|
|
12722
12913
|
},
|
|
12723
12914
|
{
|
|
@@ -12735,7 +12926,7 @@ var pronunciationsDomain = {
|
|
|
12735
12926
|
requireNumber(args, "id"),
|
|
12736
12927
|
payload
|
|
12737
12928
|
);
|
|
12738
|
-
outputSingle(result2, ctx,
|
|
12929
|
+
outputSingle(result2, ctx, COLUMNS25);
|
|
12739
12930
|
}
|
|
12740
12931
|
},
|
|
12741
12932
|
{
|
|
@@ -12759,7 +12950,7 @@ var pronunciationsDomain = {
|
|
|
12759
12950
|
requiresWorkspace: true,
|
|
12760
12951
|
handler: async ({ ctx }) => {
|
|
12761
12952
|
const result2 = await requireAuth(ctx).apiClient.getMyPronunciations();
|
|
12762
|
-
outputData(result2, ctx,
|
|
12953
|
+
outputData(result2, ctx, COLUMNS25);
|
|
12763
12954
|
}
|
|
12764
12955
|
},
|
|
12765
12956
|
{
|
|
@@ -12770,7 +12961,7 @@ var pronunciationsDomain = {
|
|
|
12770
12961
|
handler: async ({ ctx, data }) => {
|
|
12771
12962
|
const payload = normalizePronunciationCreatePayload(data);
|
|
12772
12963
|
const result2 = await requireAuth(ctx).apiClient.createMyPronunciation(payload);
|
|
12773
|
-
outputSingle(result2, ctx,
|
|
12964
|
+
outputSingle(result2, ctx, COLUMNS25);
|
|
12774
12965
|
}
|
|
12775
12966
|
},
|
|
12776
12967
|
{
|
|
@@ -13068,10 +13259,10 @@ ${ROUTINE_FIELD_REFERENCE}`,
|
|
|
13068
13259
|
};
|
|
13069
13260
|
|
|
13070
13261
|
// src/domains/subscriptions.ts
|
|
13071
|
-
var
|
|
13262
|
+
var COLUMNS26 = [
|
|
13072
13263
|
COL.id(),
|
|
13073
13264
|
COL.status(),
|
|
13074
|
-
{ header: "PLAN", getValue: (item) => item.
|
|
13265
|
+
{ header: "PLAN", getValue: (item) => item.planName ?? item.plan ?? "" },
|
|
13075
13266
|
COL.created()
|
|
13076
13267
|
];
|
|
13077
13268
|
var subscriptionsDomain = {
|
|
@@ -13084,7 +13275,7 @@ var subscriptionsDomain = {
|
|
|
13084
13275
|
requiresWorkspace: false,
|
|
13085
13276
|
handler: async ({ ctx }) => {
|
|
13086
13277
|
const result2 = await requireAuth(ctx).apiClient.getSubscriptions();
|
|
13087
|
-
outputData(result2, ctx,
|
|
13278
|
+
outputData(result2, ctx, COLUMNS26);
|
|
13088
13279
|
}
|
|
13089
13280
|
},
|
|
13090
13281
|
{
|
|
@@ -13093,7 +13284,7 @@ var subscriptionsDomain = {
|
|
|
13093
13284
|
requiresWorkspace: true,
|
|
13094
13285
|
handler: async ({ ctx, workspace }) => {
|
|
13095
13286
|
const result2 = await requireAuth(ctx).apiClient.getWorkspaceSubscriptions(workspace);
|
|
13096
|
-
outputData(result2, ctx,
|
|
13287
|
+
outputData(result2, ctx, COLUMNS26);
|
|
13097
13288
|
}
|
|
13098
13289
|
},
|
|
13099
13290
|
{
|
|
@@ -13106,7 +13297,7 @@ var subscriptionsDomain = {
|
|
|
13106
13297
|
const result2 = await requireAuth(ctx).apiClient.cancelSubscription(
|
|
13107
13298
|
requireNumber(args, "id")
|
|
13108
13299
|
);
|
|
13109
|
-
outputSingle(result2, ctx,
|
|
13300
|
+
outputSingle(result2, ctx, COLUMNS26);
|
|
13110
13301
|
}
|
|
13111
13302
|
},
|
|
13112
13303
|
{
|
|
@@ -13118,7 +13309,7 @@ var subscriptionsDomain = {
|
|
|
13118
13309
|
const result2 = await requireAuth(ctx).apiClient.reactivateSubscription(
|
|
13119
13310
|
requireNumber(args, "id")
|
|
13120
13311
|
);
|
|
13121
|
-
outputSingle(result2, ctx,
|
|
13312
|
+
outputSingle(result2, ctx, COLUMNS26);
|
|
13122
13313
|
}
|
|
13123
13314
|
},
|
|
13124
13315
|
{
|
|
@@ -13132,7 +13323,7 @@ var subscriptionsDomain = {
|
|
|
13132
13323
|
requireNumber(args, "id"),
|
|
13133
13324
|
data
|
|
13134
13325
|
);
|
|
13135
|
-
outputSingle(result2, ctx,
|
|
13326
|
+
outputSingle(result2, ctx, COLUMNS26);
|
|
13136
13327
|
}
|
|
13137
13328
|
}
|
|
13138
13329
|
]
|
|
@@ -13386,7 +13577,7 @@ var supportDomain = {
|
|
|
13386
13577
|
};
|
|
13387
13578
|
|
|
13388
13579
|
// src/domains/supervisors.ts
|
|
13389
|
-
var
|
|
13580
|
+
var COLUMNS27 = [
|
|
13390
13581
|
COL.id(),
|
|
13391
13582
|
COL.name(),
|
|
13392
13583
|
{ header: "TYPE", getValue: (item) => item.type ?? "" },
|
|
@@ -13404,7 +13595,7 @@ var supervisorsDomain = {
|
|
|
13404
13595
|
createMethod: "createSupervisor",
|
|
13405
13596
|
updateMethod: "updateSupervisor",
|
|
13406
13597
|
deleteMethod: "deleteSupervisor",
|
|
13407
|
-
columns:
|
|
13598
|
+
columns: COLUMNS27
|
|
13408
13599
|
})
|
|
13409
13600
|
]
|
|
13410
13601
|
};
|
|
@@ -13664,8 +13855,135 @@ var syncDomain = {
|
|
|
13664
13855
|
]
|
|
13665
13856
|
};
|
|
13666
13857
|
|
|
13858
|
+
// src/domains/widget-domains.ts
|
|
13859
|
+
import { WIDGET_SLUGS } from "@gravity-rail/sdk";
|
|
13860
|
+
var ENTRY_COLUMNS = [
|
|
13861
|
+
{ header: "DOMAIN", getValue: (e) => e.domain ?? "" },
|
|
13862
|
+
{ header: "WIDGETS", getValue: (e) => (e.widgets ?? []).join(", ") },
|
|
13863
|
+
{ header: "ALLOW SUBDOMAINS", getValue: (e) => String(e.allowSubdomains ?? false) },
|
|
13864
|
+
{ header: "PORT", getValue: (e) => e.port != null ? String(e.port) : "" },
|
|
13865
|
+
{ header: "OWNERSHIP", getValue: (e) => e.ownershipStatus ?? "" }
|
|
13866
|
+
];
|
|
13867
|
+
var CANDIDATE_COLUMNS = [
|
|
13868
|
+
{ header: "DOMAIN", getValue: (d) => d.domain ?? "" },
|
|
13869
|
+
{ header: "OWNERSHIP", getValue: (d) => d.ownershipStatus ?? "" },
|
|
13870
|
+
{ header: "ORG DOMAIN UUID", getValue: (d) => d.uuid ?? "" }
|
|
13871
|
+
];
|
|
13872
|
+
function parseWidgets(raw) {
|
|
13873
|
+
const widgets = raw.split(",").map((w) => w.trim()).filter((w) => w.length > 0);
|
|
13874
|
+
if (widgets.length === 0) {
|
|
13875
|
+
throw new CLIError("--widgets must list at least one widget slug");
|
|
13876
|
+
}
|
|
13877
|
+
const valid = new Set(WIDGET_SLUGS);
|
|
13878
|
+
for (const w of widgets) {
|
|
13879
|
+
if (!valid.has(w)) {
|
|
13880
|
+
throw new CLIError(`Unknown widget slug "${w}". Valid slugs: ${WIDGET_SLUGS.join(", ")}`);
|
|
13881
|
+
}
|
|
13882
|
+
}
|
|
13883
|
+
return widgets;
|
|
13884
|
+
}
|
|
13885
|
+
function parsePort(raw) {
|
|
13886
|
+
if (typeof raw !== "string") return void 0;
|
|
13887
|
+
const port = Number(raw);
|
|
13888
|
+
if (!Number.isInteger(port) || port < 1 || port > 65535) {
|
|
13889
|
+
throw new CLIError("--port must be an integer between 1 and 65535");
|
|
13890
|
+
}
|
|
13891
|
+
return port;
|
|
13892
|
+
}
|
|
13893
|
+
var widgetDomainsDomain = {
|
|
13894
|
+
name: "widget-domains",
|
|
13895
|
+
description: "Enable embeddable widgets on verified org domains",
|
|
13896
|
+
commands: [
|
|
13897
|
+
{
|
|
13898
|
+
path: ["widget-domains", "list"],
|
|
13899
|
+
description: "List this workspace's configured widget-domain entries",
|
|
13900
|
+
requiresWorkspace: true,
|
|
13901
|
+
handler: async ({ ctx, workspace }) => {
|
|
13902
|
+
const result2 = await requireAuth(ctx).apiClient.listWidgetDomains(workspace);
|
|
13903
|
+
outputData(result2, ctx, ENTRY_COLUMNS);
|
|
13904
|
+
}
|
|
13905
|
+
},
|
|
13906
|
+
{
|
|
13907
|
+
path: ["widget-domains", "candidates"],
|
|
13908
|
+
description: "List verified org domains available to enable widgets on",
|
|
13909
|
+
requiresWorkspace: true,
|
|
13910
|
+
handler: async ({ ctx, workspace }) => {
|
|
13911
|
+
const result2 = await requireAuth(ctx).apiClient.getWorkspaceWidgetDomains(workspace);
|
|
13912
|
+
outputData(result2, ctx, CANDIDATE_COLUMNS);
|
|
13913
|
+
}
|
|
13914
|
+
},
|
|
13915
|
+
{
|
|
13916
|
+
path: ["widget-domains", "enable"],
|
|
13917
|
+
description: "Enable/replace the set of widgets on one verified org domain",
|
|
13918
|
+
mutates: true,
|
|
13919
|
+
requiresWorkspace: true,
|
|
13920
|
+
args: [
|
|
13921
|
+
{
|
|
13922
|
+
name: "domain",
|
|
13923
|
+
description: "Org domain UUID (from `widget-domains candidates`)",
|
|
13924
|
+
required: true
|
|
13925
|
+
},
|
|
13926
|
+
{
|
|
13927
|
+
name: "widgets",
|
|
13928
|
+
description: `Comma-separated widget slugs (${WIDGET_SLUGS.join(", ")})`,
|
|
13929
|
+
required: true
|
|
13930
|
+
},
|
|
13931
|
+
{
|
|
13932
|
+
name: "allow-subdomains",
|
|
13933
|
+
description: "Also match subdomains of the verified domain",
|
|
13934
|
+
isFlag: true
|
|
13935
|
+
},
|
|
13936
|
+
{
|
|
13937
|
+
name: "port",
|
|
13938
|
+
description: "Non-default port of the embedding origin (1\u201365535)"
|
|
13939
|
+
}
|
|
13940
|
+
],
|
|
13941
|
+
examples: [
|
|
13942
|
+
"gr widget-domains enable -w $WID --domain <uuid> --widgets chat,operator --allow-write",
|
|
13943
|
+
"gr widget-domains enable -w $WID --domain <uuid> --widgets chat --allow-subdomains --port 4444 --allow-write"
|
|
13944
|
+
],
|
|
13945
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
13946
|
+
const orgDomainUuid = requireString(args, "domain");
|
|
13947
|
+
const widgets = parseWidgets(requireString(args, "widgets"));
|
|
13948
|
+
const port = parsePort(args["port"]);
|
|
13949
|
+
const body = {
|
|
13950
|
+
widgets,
|
|
13951
|
+
allowSubdomains: args["allow-subdomains"] === true,
|
|
13952
|
+
...port !== void 0 ? { port } : {}
|
|
13953
|
+
};
|
|
13954
|
+
const result2 = await requireAuth(ctx).apiClient.upsertWidgetDomain(
|
|
13955
|
+
workspace,
|
|
13956
|
+
orgDomainUuid,
|
|
13957
|
+
body
|
|
13958
|
+
);
|
|
13959
|
+
outputSingle(result2, ctx, ENTRY_COLUMNS);
|
|
13960
|
+
}
|
|
13961
|
+
},
|
|
13962
|
+
{
|
|
13963
|
+
path: ["widget-domains", "disable"],
|
|
13964
|
+
description: "Remove this workspace's widget entry for a domain (disables all widgets)",
|
|
13965
|
+
mutates: true,
|
|
13966
|
+
requiresWorkspace: true,
|
|
13967
|
+
args: [
|
|
13968
|
+
{
|
|
13969
|
+
name: "domain",
|
|
13970
|
+
description: "Org domain UUID to disable widgets for",
|
|
13971
|
+
required: true
|
|
13972
|
+
}
|
|
13973
|
+
],
|
|
13974
|
+
examples: ["gr widget-domains disable -w $WID --domain <uuid> --allow-write"],
|
|
13975
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
13976
|
+
const orgDomainUuid = requireString(args, "domain");
|
|
13977
|
+
await requireAuth(ctx).apiClient.deleteWidgetDomain(workspace, orgDomainUuid);
|
|
13978
|
+
process.stdout.write(`Disabled widgets for domain ${orgDomainUuid}
|
|
13979
|
+
`);
|
|
13980
|
+
}
|
|
13981
|
+
}
|
|
13982
|
+
]
|
|
13983
|
+
};
|
|
13984
|
+
|
|
13667
13985
|
// src/domains/integrations/app-connections.ts
|
|
13668
|
-
var
|
|
13986
|
+
var COLUMNS28 = [
|
|
13669
13987
|
COL.id(),
|
|
13670
13988
|
COL.name(),
|
|
13671
13989
|
{ header: "TYPE", getValue: (item) => item.type ?? "" },
|
|
@@ -13681,7 +13999,7 @@ var appConnectionsDomain = {
|
|
|
13681
13999
|
requiresWorkspace: true,
|
|
13682
14000
|
handler: async ({ ctx, workspace }) => {
|
|
13683
14001
|
const result2 = await requireAuth(ctx).apiClient.listAvailableAppConnections(workspace);
|
|
13684
|
-
outputData(result2, ctx,
|
|
14002
|
+
outputData(result2, ctx, COLUMNS28);
|
|
13685
14003
|
}
|
|
13686
14004
|
},
|
|
13687
14005
|
{
|
|
@@ -13690,20 +14008,31 @@ var appConnectionsDomain = {
|
|
|
13690
14008
|
requiresWorkspace: true,
|
|
13691
14009
|
handler: async ({ ctx, workspace }) => {
|
|
13692
14010
|
const result2 = await requireAuth(ctx).apiClient.listAppConnections(workspace);
|
|
13693
|
-
outputData(result2, ctx,
|
|
14011
|
+
outputData(result2, ctx, COLUMNS28);
|
|
13694
14012
|
}
|
|
13695
14013
|
},
|
|
13696
14014
|
{
|
|
13697
14015
|
path: ["app-connections", "enable"],
|
|
13698
|
-
description: "Enable a platform app",
|
|
14016
|
+
description: "Enable a platform app by slug",
|
|
13699
14017
|
mutates: true,
|
|
13700
14018
|
requiresWorkspace: true,
|
|
13701
|
-
args: [
|
|
14019
|
+
args: [
|
|
14020
|
+
{
|
|
14021
|
+
name: "slug",
|
|
14022
|
+
// --id never worked here: the old handler sent { app_slug }
|
|
14023
|
+
// where the API requires { slug }, so every call 422'd
|
|
14024
|
+
// (GRA-6204). Kept as an alias so muscle memory still lands.
|
|
14025
|
+
aliases: ["id"],
|
|
14026
|
+
description: "App slug from `app-connections available` (e.g. 'gmail'). --id is a deprecated alias for --slug.",
|
|
14027
|
+
required: true
|
|
14028
|
+
}
|
|
14029
|
+
],
|
|
14030
|
+
examples: ["gr app-connections enable --slug gmail"],
|
|
13702
14031
|
handler: async ({ ctx, workspace, args }) => {
|
|
13703
14032
|
const result2 = await requireAuth(ctx).apiClient.enablePlatformApp(workspace, {
|
|
13704
|
-
|
|
14033
|
+
slug: requireString(args, "slug")
|
|
13705
14034
|
});
|
|
13706
|
-
outputSingle(result2, ctx,
|
|
14035
|
+
outputSingle(result2, ctx, COLUMNS28);
|
|
13707
14036
|
}
|
|
13708
14037
|
},
|
|
13709
14038
|
{
|
|
@@ -13716,7 +14045,7 @@ var appConnectionsDomain = {
|
|
|
13716
14045
|
workspace,
|
|
13717
14046
|
requireString(args, "id")
|
|
13718
14047
|
);
|
|
13719
|
-
outputSingle(result2, ctx,
|
|
14048
|
+
outputSingle(result2, ctx, COLUMNS28);
|
|
13720
14049
|
}
|
|
13721
14050
|
},
|
|
13722
14051
|
{
|
|
@@ -13731,7 +14060,7 @@ var appConnectionsDomain = {
|
|
|
13731
14060
|
requireString(args, "id"),
|
|
13732
14061
|
data
|
|
13733
14062
|
);
|
|
13734
|
-
outputSingle(result2, ctx,
|
|
14063
|
+
outputSingle(result2, ctx, COLUMNS28);
|
|
13735
14064
|
}
|
|
13736
14065
|
},
|
|
13737
14066
|
{
|
|
@@ -13940,7 +14269,7 @@ var confluenceDomain = {
|
|
|
13940
14269
|
};
|
|
13941
14270
|
|
|
13942
14271
|
// src/domains/integrations/discord-bots.ts
|
|
13943
|
-
var
|
|
14272
|
+
var COLUMNS29 = [COL.id(), COL.name(), COL.status()];
|
|
13944
14273
|
var discordBotsDomain = {
|
|
13945
14274
|
name: "discord-bots",
|
|
13946
14275
|
description: "Manage Discord bot integrations",
|
|
@@ -13953,7 +14282,7 @@ var discordBotsDomain = {
|
|
|
13953
14282
|
createMethod: "createDiscordBot",
|
|
13954
14283
|
updateMethod: "updateDiscordBot",
|
|
13955
14284
|
deleteMethod: "deleteDiscordBot",
|
|
13956
|
-
columns:
|
|
14285
|
+
columns: COLUMNS29,
|
|
13957
14286
|
paginationSupport: "full"
|
|
13958
14287
|
}),
|
|
13959
14288
|
{
|
|
@@ -14013,10 +14342,10 @@ var discordBotsDomain = {
|
|
|
14013
14342
|
};
|
|
14014
14343
|
|
|
14015
14344
|
// src/domains/integrations/fhir-connections.ts
|
|
14016
|
-
var
|
|
14345
|
+
var COLUMNS30 = [
|
|
14017
14346
|
COL.id(),
|
|
14018
14347
|
COL.name(),
|
|
14019
|
-
{ header: "URL", getValue: (item) => item.
|
|
14348
|
+
{ header: "URL", getValue: (item) => item.baseUrl ?? "" },
|
|
14020
14349
|
COL.status()
|
|
14021
14350
|
];
|
|
14022
14351
|
var fhirConnectionsDomain = {
|
|
@@ -14031,7 +14360,7 @@ var fhirConnectionsDomain = {
|
|
|
14031
14360
|
createMethod: "createFhirConnection",
|
|
14032
14361
|
updateMethod: "updateFhirConnection",
|
|
14033
14362
|
deleteMethod: "deleteFhirConnection",
|
|
14034
|
-
columns:
|
|
14363
|
+
columns: COLUMNS30,
|
|
14035
14364
|
paginationSupport: "full"
|
|
14036
14365
|
}),
|
|
14037
14366
|
{
|
|
@@ -14051,7 +14380,7 @@ var fhirConnectionsDomain = {
|
|
|
14051
14380
|
};
|
|
14052
14381
|
|
|
14053
14382
|
// src/domains/integrations/patientsync.ts
|
|
14054
|
-
var
|
|
14383
|
+
var COLUMNS31 = [
|
|
14055
14384
|
{ header: "CONFIGURED", getValue: (i) => String(i.configured ?? false) },
|
|
14056
14385
|
{ header: "ENABLED", getValue: (i) => String(i.enabled ?? false) },
|
|
14057
14386
|
{ header: "HAS_KEY", getValue: (i) => String(i.hasApiKey ?? false) },
|
|
@@ -14080,7 +14409,7 @@ var patientSyncDomain = {
|
|
|
14080
14409
|
workspace,
|
|
14081
14410
|
data
|
|
14082
14411
|
);
|
|
14083
|
-
outputSingle(result2, ctx,
|
|
14412
|
+
outputSingle(result2, ctx, COLUMNS31);
|
|
14084
14413
|
}
|
|
14085
14414
|
},
|
|
14086
14415
|
{
|
|
@@ -14089,7 +14418,7 @@ var patientSyncDomain = {
|
|
|
14089
14418
|
requiresWorkspace: true,
|
|
14090
14419
|
handler: async ({ ctx, workspace }) => {
|
|
14091
14420
|
const result2 = await requireAuth(ctx).apiClient.getPatientSyncStatus(workspace);
|
|
14092
|
-
outputSingle(result2, ctx,
|
|
14421
|
+
outputSingle(result2, ctx, COLUMNS31);
|
|
14093
14422
|
}
|
|
14094
14423
|
},
|
|
14095
14424
|
{
|
|
@@ -14110,9 +14439,33 @@ var hubspotDomain = {
|
|
|
14110
14439
|
name: "hubspot",
|
|
14111
14440
|
description: "HubSpot CRM integration",
|
|
14112
14441
|
commands: [
|
|
14442
|
+
{
|
|
14443
|
+
path: ["hubspot", "install"],
|
|
14444
|
+
description: "Install HubSpot (setup step 1): create the connection and get its OAuth callback URL",
|
|
14445
|
+
mutates: true,
|
|
14446
|
+
requiresWorkspace: true,
|
|
14447
|
+
examples: [
|
|
14448
|
+
"# HubSpot setup is a 4-step flow \u2014 this command is step 1:",
|
|
14449
|
+
'# 1. install -> creates the connection; the response includes the OAuth "callbackUrl"',
|
|
14450
|
+
"# 2. in HubSpot: create a private/developer app whose Redirect URL is that callbackUrl,",
|
|
14451
|
+
"# with CRM scopes (contacts/companies/deals read+write). Copy the Client ID + Secret.",
|
|
14452
|
+
"# 3. configure -> save that Client ID / Secret",
|
|
14453
|
+
'# 4. authorize -> returns an "authorizeUrl"; open it to grant access. status then',
|
|
14454
|
+
"# reports configured=true and connected=true.",
|
|
14455
|
+
"",
|
|
14456
|
+
"gr hubspot install -w <ws> --allow-write",
|
|
14457
|
+
"gr hubspot status -w <ws> # read back callbackUrl + configured/connected",
|
|
14458
|
+
`gr hubspot configure -w <ws> --allow-write -d '{"clientId":"...","clientSecret":"..."}'`,
|
|
14459
|
+
"gr hubspot authorize -w <ws> --allow-write # then open the returned authorizeUrl"
|
|
14460
|
+
],
|
|
14461
|
+
handler: async ({ ctx, workspace }) => {
|
|
14462
|
+
const result2 = await requireAuth(ctx).apiClient.installHubspot(workspace);
|
|
14463
|
+
outputSingle(result2, ctx);
|
|
14464
|
+
}
|
|
14465
|
+
},
|
|
14113
14466
|
{
|
|
14114
14467
|
path: ["hubspot", "status"],
|
|
14115
|
-
description: "Get HubSpot connection status",
|
|
14468
|
+
description: "Get HubSpot connection status (shows configured/connected state + the OAuth callback URL)",
|
|
14116
14469
|
requiresWorkspace: true,
|
|
14117
14470
|
handler: async ({ ctx, workspace }) => {
|
|
14118
14471
|
const result2 = await requireAuth(ctx).apiClient.getHubspotStatus(workspace);
|
|
@@ -14121,9 +14474,12 @@ var hubspotDomain = {
|
|
|
14121
14474
|
},
|
|
14122
14475
|
{
|
|
14123
14476
|
path: ["hubspot", "configure"],
|
|
14124
|
-
description: "Configure HubSpot
|
|
14477
|
+
description: "Configure HubSpot credentials (setup step 3): save the Client ID / Secret",
|
|
14125
14478
|
mutates: true,
|
|
14126
14479
|
requiresWorkspace: true,
|
|
14480
|
+
examples: [
|
|
14481
|
+
`gr hubspot configure -w <ws> --allow-write -d '{"clientId":"...","clientSecret":"..."}'`
|
|
14482
|
+
],
|
|
14127
14483
|
handler: async ({ ctx, workspace, data }) => {
|
|
14128
14484
|
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
14129
14485
|
const result2 = await requireAuth(ctx).apiClient.configureHubspot(
|
|
@@ -14135,7 +14491,7 @@ var hubspotDomain = {
|
|
|
14135
14491
|
},
|
|
14136
14492
|
{
|
|
14137
14493
|
path: ["hubspot", "authorize"],
|
|
14138
|
-
description: "
|
|
14494
|
+
description: "Authorize HubSpot via OAuth (setup step 4): returns an authorizeUrl to open in a browser",
|
|
14139
14495
|
mutates: true,
|
|
14140
14496
|
requiresWorkspace: true,
|
|
14141
14497
|
handler: async ({ ctx, workspace }) => {
|
|
@@ -14327,9 +14683,34 @@ var mondayDomain = {
|
|
|
14327
14683
|
name: "monday",
|
|
14328
14684
|
description: "Monday.com integration",
|
|
14329
14685
|
commands: [
|
|
14686
|
+
{
|
|
14687
|
+
path: ["monday", "install"],
|
|
14688
|
+
description: "Install Monday.com (setup step 1): create the connection and get its OAuth callback URL",
|
|
14689
|
+
mutates: true,
|
|
14690
|
+
requiresWorkspace: true,
|
|
14691
|
+
examples: [
|
|
14692
|
+
"# Monday.com setup is a 4-step flow \u2014 this command is step 1:",
|
|
14693
|
+
'# 1. install -> creates the connection; the response includes the OAuth "callbackUrl"',
|
|
14694
|
+
"# 2. in Monday.com: create an app whose Redirect URI is that callbackUrl, with scopes",
|
|
14695
|
+
"# me:read, boards:read, boards:write, webhooks:write, account:read. Copy the",
|
|
14696
|
+
"# Client ID + Client Secret (and Signing Secret).",
|
|
14697
|
+
"# 3. configure -> save the Client ID / Secret (+ signingSecret)",
|
|
14698
|
+
'# 4. authorize -> returns an "authorizeUrl"; open it to grant access. status then',
|
|
14699
|
+
"# reports configured=true and connected=true.",
|
|
14700
|
+
"",
|
|
14701
|
+
"gr monday install -w <ws> --allow-write",
|
|
14702
|
+
"gr monday status -w <ws> # read back callbackUrl + configured/connected",
|
|
14703
|
+
`gr monday configure -w <ws> --allow-write -d '{"clientId":"...","clientSecret":"...","signingSecret":"..."}'`,
|
|
14704
|
+
"gr monday authorize -w <ws> # then open the returned authorizeUrl"
|
|
14705
|
+
],
|
|
14706
|
+
handler: async ({ ctx, workspace }) => {
|
|
14707
|
+
const result2 = await requireAuth(ctx).apiClient.installMondayConnection(workspace);
|
|
14708
|
+
outputSingle(result2, ctx);
|
|
14709
|
+
}
|
|
14710
|
+
},
|
|
14330
14711
|
{
|
|
14331
14712
|
path: ["monday", "status"],
|
|
14332
|
-
description: "Get Monday.com connection status",
|
|
14713
|
+
description: "Get Monday.com connection status (shows configured/connected state + the OAuth callback URL)",
|
|
14333
14714
|
requiresWorkspace: true,
|
|
14334
14715
|
handler: async ({ ctx, workspace }) => {
|
|
14335
14716
|
const result2 = await requireAuth(ctx).apiClient.getMondayConnectionStatus(workspace);
|
|
@@ -14338,7 +14719,7 @@ var mondayDomain = {
|
|
|
14338
14719
|
},
|
|
14339
14720
|
{
|
|
14340
14721
|
path: ["monday", "authorize"],
|
|
14341
|
-
description: "
|
|
14722
|
+
description: "Authorize Monday.com via OAuth (setup step 4): returns an authorizeUrl to open in a browser",
|
|
14342
14723
|
requiresWorkspace: true,
|
|
14343
14724
|
handler: async ({ ctx, workspace }) => {
|
|
14344
14725
|
const result2 = await requireAuth(ctx).apiClient.authorizeMondayConnection(workspace);
|
|
@@ -14347,9 +14728,13 @@ var mondayDomain = {
|
|
|
14347
14728
|
},
|
|
14348
14729
|
{
|
|
14349
14730
|
path: ["monday", "configure"],
|
|
14350
|
-
description: "Configure Monday.com
|
|
14731
|
+
description: "Configure Monday.com credentials (setup step 3): save the Client ID / Secret (+ signingSecret)",
|
|
14351
14732
|
mutates: true,
|
|
14352
14733
|
requiresWorkspace: true,
|
|
14734
|
+
examples: [
|
|
14735
|
+
`gr monday configure -w <ws> --allow-write \\`,
|
|
14736
|
+
` -d '{"clientId":"...","clientSecret":"...","signingSecret":"..."}'`
|
|
14737
|
+
],
|
|
14353
14738
|
handler: async ({ ctx, workspace, data }) => {
|
|
14354
14739
|
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
14355
14740
|
const result2 = await requireAuth(ctx).apiClient.configureMondayConnection(
|
|
@@ -14563,9 +14948,45 @@ var salesforceDomain = {
|
|
|
14563
14948
|
name: "salesforce",
|
|
14564
14949
|
description: "Salesforce CRM integration",
|
|
14565
14950
|
commands: [
|
|
14951
|
+
{
|
|
14952
|
+
path: ["salesforce", "install"],
|
|
14953
|
+
description: "Install Salesforce (setup step 1): create the connection and get its OAuth callback URL",
|
|
14954
|
+
mutates: true,
|
|
14955
|
+
requiresWorkspace: true,
|
|
14956
|
+
args: [
|
|
14957
|
+
{
|
|
14958
|
+
name: "instance-url",
|
|
14959
|
+
description: "Salesforce login host (default https://login.salesforce.com; sandbox: https://test.salesforce.com; Developer Edition/custom domain: your org's My Domain login URL)"
|
|
14960
|
+
}
|
|
14961
|
+
],
|
|
14962
|
+
examples: [
|
|
14963
|
+
"# Salesforce setup is a 4-step flow \u2014 this command is step 1:",
|
|
14964
|
+
'# 1. install -> creates the connection; the response includes the OAuth "callbackUrl"',
|
|
14965
|
+
"# 2. in Salesforce: create a Connected App (or External Client App) whose Callback URL",
|
|
14966
|
+
"# is that callbackUrl, with OAuth scopes: api, refresh_token offline_access, openid,",
|
|
14967
|
+
"# id profile email address phone. Copy the Consumer Key + Consumer Secret.",
|
|
14968
|
+
"# 3. configure -> save that Client ID / Secret (and instance URL)",
|
|
14969
|
+
'# 4. authorize -> returns an "authorizeUrl"; open it to grant access. status then',
|
|
14970
|
+
"# reports configured=true and connected=true.",
|
|
14971
|
+
"",
|
|
14972
|
+
"gr salesforce install -w <ws> --allow-write",
|
|
14973
|
+
"gr salesforce install -w <ws> --instance-url https://test.salesforce.com --allow-write # sandbox",
|
|
14974
|
+
"gr salesforce status -w <ws> # read back callbackUrl + configured/connected",
|
|
14975
|
+
`gr salesforce configure -w <ws> --allow-write -d '{"clientId":"...","clientSecret":"...","instanceUrl":"https://login.salesforce.com"}'`,
|
|
14976
|
+
"gr salesforce authorize -w <ws> --allow-write # then open the returned authorizeUrl"
|
|
14977
|
+
],
|
|
14978
|
+
handler: async ({ ctx, workspace, args }) => {
|
|
14979
|
+
const instanceUrl = args["instance-url"];
|
|
14980
|
+
const result2 = await requireAuth(ctx).apiClient.installSalesforce(
|
|
14981
|
+
workspace,
|
|
14982
|
+
typeof instanceUrl === "string" ? { instanceUrl } : void 0
|
|
14983
|
+
);
|
|
14984
|
+
outputSingle(result2, ctx);
|
|
14985
|
+
}
|
|
14986
|
+
},
|
|
14566
14987
|
{
|
|
14567
14988
|
path: ["salesforce", "status"],
|
|
14568
|
-
description: "Get Salesforce connection status",
|
|
14989
|
+
description: "Get Salesforce connection status (shows configured/connected state + the OAuth callback URL)",
|
|
14569
14990
|
requiresWorkspace: true,
|
|
14570
14991
|
handler: async ({ ctx, workspace }) => {
|
|
14571
14992
|
const result2 = await requireAuth(ctx).apiClient.getSalesforceStatus(workspace);
|
|
@@ -14574,9 +14995,13 @@ var salesforceDomain = {
|
|
|
14574
14995
|
},
|
|
14575
14996
|
{
|
|
14576
14997
|
path: ["salesforce", "configure"],
|
|
14577
|
-
description: "Configure Salesforce
|
|
14998
|
+
description: "Configure Salesforce credentials (setup step 3): save the Client ID / Secret + instance URL",
|
|
14578
14999
|
mutates: true,
|
|
14579
15000
|
requiresWorkspace: true,
|
|
15001
|
+
examples: [
|
|
15002
|
+
"gr salesforce configure -w <ws> --allow-write \\",
|
|
15003
|
+
` -d '{"clientId":"3MVG9...","clientSecret":"1A2B...","instanceUrl":"https://login.salesforce.com"}'`
|
|
15004
|
+
],
|
|
14580
15005
|
handler: async ({ ctx, workspace, data }) => {
|
|
14581
15006
|
if (!data) throw new CLIError("JSON data required (--data, --file, or stdin)");
|
|
14582
15007
|
const result2 = await requireAuth(ctx).apiClient.configureSalesforce(
|
|
@@ -14588,7 +15013,7 @@ var salesforceDomain = {
|
|
|
14588
15013
|
},
|
|
14589
15014
|
{
|
|
14590
15015
|
path: ["salesforce", "authorize"],
|
|
14591
|
-
description: "
|
|
15016
|
+
description: "Authorize Salesforce via OAuth (setup step 4): returns an authorizeUrl to open in a browser",
|
|
14592
15017
|
mutates: true,
|
|
14593
15018
|
requiresWorkspace: true,
|
|
14594
15019
|
handler: async ({ ctx, workspace }) => {
|
|
@@ -14777,7 +15202,7 @@ var salesforceDomain = {
|
|
|
14777
15202
|
};
|
|
14778
15203
|
|
|
14779
15204
|
// src/domains/integrations/slack-apps.ts
|
|
14780
|
-
var
|
|
15205
|
+
var COLUMNS32 = [COL.id(), COL.name(), COL.status()];
|
|
14781
15206
|
function addSlackUrls(data, apiUrl, workspaceUuid) {
|
|
14782
15207
|
const base = `${apiUrl}/api/v2/w/${workspaceUuid}/app-connections/slack`;
|
|
14783
15208
|
return {
|
|
@@ -14800,7 +15225,7 @@ var slackAppsDomain = {
|
|
|
14800
15225
|
entityName: "Slack app",
|
|
14801
15226
|
listMethod: "getSlackApps",
|
|
14802
15227
|
deleteMethod: "deleteSlackApp",
|
|
14803
|
-
columns:
|
|
15228
|
+
columns: COLUMNS32,
|
|
14804
15229
|
paginationSupport: "full"
|
|
14805
15230
|
}),
|
|
14806
15231
|
{
|
|
@@ -14886,7 +15311,7 @@ var slackAppsDomain = {
|
|
|
14886
15311
|
};
|
|
14887
15312
|
|
|
14888
15313
|
// src/domains/integrations/teams-apps.ts
|
|
14889
|
-
var
|
|
15314
|
+
var COLUMNS33 = [COL.id(), COL.name(), COL.status()];
|
|
14890
15315
|
function addTeamsUrls(data, apiUrl, workspaceUuid) {
|
|
14891
15316
|
const base = `${apiUrl}/api/v2/w/${workspaceUuid}/app-connections/teams`;
|
|
14892
15317
|
return {
|
|
@@ -14907,7 +15332,7 @@ var teamsAppsDomain = {
|
|
|
14907
15332
|
entityName: "Teams app",
|
|
14908
15333
|
listMethod: "getTeamsApps",
|
|
14909
15334
|
deleteMethod: "deleteTeamsApp",
|
|
14910
|
-
columns:
|
|
15335
|
+
columns: COLUMNS33,
|
|
14911
15336
|
paginationSupport: "full"
|
|
14912
15337
|
}),
|
|
14913
15338
|
{
|
|
@@ -15000,7 +15425,6 @@ function registerPublicDomains(registry) {
|
|
|
15000
15425
|
registry.register(memberRolesDomain);
|
|
15001
15426
|
registry.register(workspacesDomain);
|
|
15002
15427
|
registry.register(workflowsDomain);
|
|
15003
|
-
registry.register(workflowVersionsDomain);
|
|
15004
15428
|
registry.register(agentsDomain);
|
|
15005
15429
|
registry.register(agentTasksDomain);
|
|
15006
15430
|
registry.register(assignmentsDomain);
|
|
@@ -15044,6 +15468,7 @@ function registerPublicDomains(registry) {
|
|
|
15044
15468
|
registry.register(docsDomain);
|
|
15045
15469
|
registry.register(memberMemoriesDomain);
|
|
15046
15470
|
registry.register(syncDomain);
|
|
15471
|
+
registry.register(widgetDomainsDomain);
|
|
15047
15472
|
registry.register(confluenceDomain);
|
|
15048
15473
|
registry.register(discordBotsDomain);
|
|
15049
15474
|
registry.register(slackAppsDomain);
|
|
@@ -17810,7 +18235,7 @@ var LLM_GUIDE = `# Gravity Rail CLI bootstrap (agent instructions)
|
|
|
17810
18235
|
## Preconditions
|
|
17811
18236
|
- Install: \`npm install -g @gravity-rail/cli\` or \`npx @gravity-rail/cli\`
|
|
17812
18237
|
- Authenticate: \`gr login --env prod\` (interactive OAuth). Verify with \`gr whoami\`.
|
|
17813
|
-
- **Monorepo dev:**
|
|
18238
|
+
- **Monorepo dev:** after provisioning, \`yarn gr auth import-dev\` (or auto-sync from provision) loads tokens into named profiles. Then \`yarn gr <cmd> --profile superadmin\` (no browser). Rebuild: \`yarn workspace @gravity-rail/gr-cli build\`.
|
|
17814
18239
|
|
|
17815
18240
|
## Important facts
|
|
17816
18241
|
- **Agents/CI:** do not leave stdin open on read-only commands; use \`GRAVITY_RAIL_API_KEY\` or redirect stdin from /dev/null. Commands only read stdin when \`--data\`/\`--file\` is passed.
|
|
@@ -17862,9 +18287,9 @@ After directory trust + \`--allow-write\`, the concierge can use \`read_local_fi
|
|
|
17862
18287
|
\`\`\`bash
|
|
17863
18288
|
yarn dev:twilio-ngrok --start-ngrok --url gravityrail.ngrok.io dev.<you> -w acme-demo
|
|
17864
18289
|
yarn gr phone setup
|
|
17865
|
-
yarn gr account verify-phone --phone +1\u2026 --allow-write --
|
|
17866
|
-
yarn gr concierge chat --call --allow-write --
|
|
17867
|
-
yarn gr phone outbound --
|
|
18290
|
+
yarn gr account verify-phone --phone +1\u2026 --allow-write --profile superadmin
|
|
18291
|
+
yarn gr concierge chat --call --allow-write --profile superadmin
|
|
18292
|
+
yarn gr phone outbound --profile acme-demo/acme-admin --workflow-id 1 --allow-write
|
|
17868
18293
|
\`\`\`
|
|
17869
18294
|
See \`.claude/skills/phone-voice-qa/SKILL.md\` and \`./scripts/e2e-voice-phone-matrix.sh\`.
|
|
17870
18295
|
`;
|
|
@@ -17884,23 +18309,208 @@ async function getStartedCommand(hctx) {
|
|
|
17884
18309
|
|
|
17885
18310
|
// src/commands/login.ts
|
|
17886
18311
|
import { GravityRailClient } from "@gravity-rail/sdk";
|
|
17887
|
-
|
|
18312
|
+
|
|
18313
|
+
// src/lib/import-dev-profiles.ts
|
|
18314
|
+
import { existsSync as existsSync4, readFileSync as readFileSync5 } from "fs";
|
|
18315
|
+
import { dirname as dirname3, join as join3 } from "path";
|
|
18316
|
+
|
|
18317
|
+
// src/lib/realm.ts
|
|
18318
|
+
import { execSync as execSync3 } from "child_process";
|
|
18319
|
+
import { existsSync as existsSync3, mkdirSync as mkdirSync3, readFileSync as readFileSync4, statSync as statSync2, writeFileSync as writeFileSync5 } from "fs";
|
|
18320
|
+
import { dirname as dirname2, join as join2 } from "path";
|
|
18321
|
+
var DEV_CLOUD_CACHE_DIR = ".dev-cloud";
|
|
18322
|
+
var CACHE_MAX_AGE_MS = 60 * 60 * 1e3;
|
|
18323
|
+
function findRepoRoot() {
|
|
18324
|
+
let dir = process.cwd();
|
|
18325
|
+
while (dir !== dirname2(dir)) {
|
|
18326
|
+
if (existsSync3(join2(dir, ".git"))) {
|
|
18327
|
+
return dir;
|
|
18328
|
+
}
|
|
18329
|
+
dir = dirname2(dir);
|
|
18330
|
+
}
|
|
18331
|
+
return void 0;
|
|
18332
|
+
}
|
|
18333
|
+
function getDevCloudCacheDir(namespace) {
|
|
18334
|
+
const repoRoot = findRepoRoot();
|
|
18335
|
+
const base = repoRoot ?? process.cwd();
|
|
18336
|
+
return join2(base, DEV_CLOUD_CACHE_DIR, namespace);
|
|
18337
|
+
}
|
|
18338
|
+
function fetchDevCloudRealms(namespace) {
|
|
18339
|
+
const k8sNamespace = `dev-cloud-${namespace}`;
|
|
18340
|
+
const cmd = `kubectl exec -n ${k8sNamespace} deploy/env -c devbox -- cat /workspace/dev-realms.json`;
|
|
18341
|
+
try {
|
|
18342
|
+
return execSync3(cmd, { encoding: "utf-8", timeout: 3e4 });
|
|
18343
|
+
} catch (err) {
|
|
18344
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
18345
|
+
throw new Error(
|
|
18346
|
+
`Failed to fetch dev-realms.json from dev-cloud pod "${namespace}": ${message}`
|
|
18347
|
+
);
|
|
18348
|
+
}
|
|
18349
|
+
}
|
|
18350
|
+
function loadDevCloudRealmFile(namespace) {
|
|
18351
|
+
const cacheDir = getDevCloudCacheDir(namespace);
|
|
18352
|
+
const cachePath = join2(cacheDir, "dev-realms.json");
|
|
18353
|
+
if (existsSync3(cachePath)) {
|
|
18354
|
+
const stat = statSync2(cachePath);
|
|
18355
|
+
const age = Date.now() - stat.mtimeMs;
|
|
18356
|
+
if (age < CACHE_MAX_AGE_MS) {
|
|
18357
|
+
return cachePath;
|
|
18358
|
+
}
|
|
18359
|
+
}
|
|
18360
|
+
const content = fetchDevCloudRealms(namespace);
|
|
18361
|
+
mkdirSync3(cacheDir, { recursive: true });
|
|
18362
|
+
writeFileSync5(cachePath, content, "utf-8");
|
|
18363
|
+
return cachePath;
|
|
18364
|
+
}
|
|
18365
|
+
|
|
18366
|
+
// src/lib/import-dev-profiles.ts
|
|
18367
|
+
function findDevRealmsFile(startDir = process.cwd()) {
|
|
18368
|
+
let dir = startDir;
|
|
18369
|
+
while (dir !== dirname3(dir)) {
|
|
18370
|
+
const candidate = join3(dir, "dev-realms.json");
|
|
18371
|
+
if (existsSync4(candidate)) return candidate;
|
|
18372
|
+
dir = dirname3(dir);
|
|
18373
|
+
}
|
|
18374
|
+
throw new Error(
|
|
18375
|
+
"Cannot find dev-realms.json in any parent directory. Run yarn dev / provision_e2e_world first, or pass --file <path>."
|
|
18376
|
+
);
|
|
18377
|
+
}
|
|
18378
|
+
function resolveDevRealmsPath(env, explicitPath) {
|
|
18379
|
+
if (explicitPath) {
|
|
18380
|
+
if (!existsSync4(explicitPath)) {
|
|
18381
|
+
throw new Error(`dev-realms file not found: ${explicitPath}`);
|
|
18382
|
+
}
|
|
18383
|
+
return explicitPath;
|
|
18384
|
+
}
|
|
18385
|
+
if (env.startsWith("dev-cloud:")) {
|
|
18386
|
+
const namespace = env.slice("dev-cloud:".length);
|
|
18387
|
+
return loadDevCloudRealmFile(namespace);
|
|
18388
|
+
}
|
|
18389
|
+
return findDevRealmsFile();
|
|
18390
|
+
}
|
|
18391
|
+
function profilesFromDevRealms(data) {
|
|
18392
|
+
const out = {};
|
|
18393
|
+
const accounts = data._accounts;
|
|
18394
|
+
if (accounts && typeof accounts === "object") {
|
|
18395
|
+
for (const [accountName, account] of Object.entries(accounts)) {
|
|
18396
|
+
if (account?.token) {
|
|
18397
|
+
out[accountName] = { accessToken: account.token };
|
|
18398
|
+
}
|
|
18399
|
+
}
|
|
18400
|
+
}
|
|
18401
|
+
for (const [key, value] of Object.entries(data)) {
|
|
18402
|
+
if (key === "_accounts" || key.startsWith("_")) continue;
|
|
18403
|
+
if (!value || typeof value !== "object") continue;
|
|
18404
|
+
const ws = value;
|
|
18405
|
+
if (!ws.members || typeof ws.members !== "object") continue;
|
|
18406
|
+
for (const [memberName, member] of Object.entries(ws.members)) {
|
|
18407
|
+
if (!member?.token) continue;
|
|
18408
|
+
const profileName = `${key}/${memberName}`;
|
|
18409
|
+
out[profileName] = {
|
|
18410
|
+
accessToken: member.token,
|
|
18411
|
+
workspaceUuid: ws.workspaceUuid
|
|
18412
|
+
};
|
|
18413
|
+
}
|
|
18414
|
+
}
|
|
18415
|
+
return out;
|
|
18416
|
+
}
|
|
18417
|
+
function importDevProfiles(credentialsManager, env, options) {
|
|
18418
|
+
const path4 = resolveDevRealmsPath(env, options?.file);
|
|
18419
|
+
let data;
|
|
18420
|
+
try {
|
|
18421
|
+
data = JSON.parse(readFileSync5(path4, "utf-8"));
|
|
18422
|
+
} catch {
|
|
18423
|
+
throw new Error(`Cannot read or parse dev-realms.json at ${path4}`);
|
|
18424
|
+
}
|
|
18425
|
+
const profiles = profilesFromDevRealms(data);
|
|
18426
|
+
const names = Object.keys(profiles);
|
|
18427
|
+
if (names.length === 0) {
|
|
18428
|
+
throw new Error(`No importable tokens found in ${path4}`);
|
|
18429
|
+
}
|
|
18430
|
+
const accountProfiles = names.filter((n) => !n.includes("/")).length;
|
|
18431
|
+
const memberProfiles = names.length - accountProfiles;
|
|
18432
|
+
const imported = credentialsManager.saveMany(
|
|
18433
|
+
env,
|
|
18434
|
+
profiles,
|
|
18435
|
+
options?.preferCurrent ?? "superadmin"
|
|
18436
|
+
);
|
|
18437
|
+
return {
|
|
18438
|
+
path: path4,
|
|
18439
|
+
imported,
|
|
18440
|
+
accountProfiles,
|
|
18441
|
+
memberProfiles,
|
|
18442
|
+
storePath: credentialsManager.getCredentialsFilePath(env)
|
|
18443
|
+
};
|
|
18444
|
+
}
|
|
18445
|
+
|
|
18446
|
+
// src/commands/login.ts
|
|
18447
|
+
function profileFromArgs(ctx, args) {
|
|
18448
|
+
const named = typeof args?.name === "string" ? args.name : void 0;
|
|
18449
|
+
return ctx.credentialsManager.resolveProfileName(named ?? ctx.profile, ctx.env);
|
|
18450
|
+
}
|
|
18451
|
+
async function loginCommand(ctx, args) {
|
|
18452
|
+
const profile = profileFromArgs(ctx, args);
|
|
17888
18453
|
const { accessToken } = await performOAuthFlow({
|
|
17889
18454
|
env: ctx.env,
|
|
17890
18455
|
envConfig: ctx.envConfig,
|
|
17891
|
-
credentialsManager: ctx.credentialsManager
|
|
18456
|
+
credentialsManager: ctx.credentialsManager,
|
|
18457
|
+
profile
|
|
17892
18458
|
});
|
|
17893
18459
|
const apiClient = new GravityRailClient(accessToken, ctx.envConfig.apiUrl);
|
|
17894
18460
|
const account = await apiClient.getUserAccount();
|
|
17895
|
-
stderr(`Logged in as ${account.name} (${account.email})`);
|
|
17896
|
-
}
|
|
17897
|
-
async function logoutCommand(ctx) {
|
|
17898
|
-
|
|
17899
|
-
|
|
18461
|
+
stderr(`Logged in as ${account.name} (${account.email}) [profile: ${profile}, env: ${ctx.env}]`);
|
|
18462
|
+
}
|
|
18463
|
+
async function logoutCommand(ctx, args) {
|
|
18464
|
+
const profile = profileFromArgs(ctx, args);
|
|
18465
|
+
ctx.credentialsManager.clear(ctx.env, profile);
|
|
18466
|
+
stderr(`Credentials cleared for profile "${profile}" (${ctx.env})`);
|
|
18467
|
+
}
|
|
18468
|
+
async function authListCommand(ctx) {
|
|
18469
|
+
const profiles = ctx.credentialsManager.listProfiles(ctx.env);
|
|
18470
|
+
const storePath2 = ctx.credentialsManager.getCredentialsFilePath(ctx.env);
|
|
18471
|
+
if (profiles.length === 0) {
|
|
18472
|
+
stderr(`No stored profiles for ${ctx.env}.`);
|
|
18473
|
+
stderr(`Credential store: ${storePath2}`);
|
|
18474
|
+
stderr(`Run: gr auth login --name <profile>`);
|
|
18475
|
+
stderr(`Local dev: gr auth import-dev (loads tokens from dev-realms.json)`);
|
|
18476
|
+
return;
|
|
18477
|
+
}
|
|
18478
|
+
stderr(`Credential store: ${storePath2}`);
|
|
18479
|
+
stderr(`Environment: ${ctx.env}`);
|
|
18480
|
+
stderr("");
|
|
18481
|
+
for (const p of profiles) {
|
|
18482
|
+
const marker = p.current ? "*" : " ";
|
|
18483
|
+
const token = p.hasAccessToken ? "logged-in" : "client-only";
|
|
18484
|
+
const exp = p.expiresAt ? ` expires=${p.expiresAt}` : "";
|
|
18485
|
+
const ws = p.workspaceUuid ? ` ws=${p.workspaceUuid.slice(0, 8)}\u2026` : "";
|
|
18486
|
+
stderr(`${marker} ${p.name} (${token}${exp}${ws})`);
|
|
18487
|
+
}
|
|
18488
|
+
stderr("");
|
|
18489
|
+
stderr(`* = current profile (override with --profile or GRAVITY_RAIL_PROFILE)`);
|
|
18490
|
+
}
|
|
18491
|
+
async function authSwitchCommand(ctx, args) {
|
|
18492
|
+
const name = typeof args.name === "string" ? args.name : void 0;
|
|
18493
|
+
if (!name) {
|
|
18494
|
+
throw new Error("Missing required argument: --name <profile>");
|
|
18495
|
+
}
|
|
18496
|
+
ctx.credentialsManager.setCurrentProfile(ctx.env, name);
|
|
18497
|
+
stderr(`Switched current profile to "${name}" for ${ctx.env}`);
|
|
18498
|
+
}
|
|
18499
|
+
async function authImportDevCommand(ctx, args) {
|
|
18500
|
+
const file = typeof args?.file === "string" ? args.file : void 0;
|
|
18501
|
+
const result2 = importDevProfiles(ctx.credentialsManager, ctx.env, { file });
|
|
18502
|
+
stderr(`Imported ${result2.imported} profiles from ${result2.path}`);
|
|
18503
|
+
stderr(` ${result2.accountProfiles} account-level, ${result2.memberProfiles} workspace/member`);
|
|
18504
|
+
stderr(`Credential store: ${result2.storePath}`);
|
|
18505
|
+
stderr("");
|
|
18506
|
+
stderr("Examples:");
|
|
18507
|
+
stderr(" yarn gr whoami --profile superadmin");
|
|
18508
|
+
stderr(" yarn gr tasks list --profile acme-demo/acme-admin");
|
|
18509
|
+
stderr(" yarn gr auth switch --name superadmin # make superadmin the default");
|
|
17900
18510
|
}
|
|
17901
18511
|
|
|
17902
18512
|
// src/commands/organizations.ts
|
|
17903
|
-
var
|
|
18513
|
+
var COLUMNS34 = [
|
|
17904
18514
|
{ header: "NAME", getValue: (o) => o.organizationName || "", maxWidth: 35 },
|
|
17905
18515
|
{ header: "SLUG", getValue: (o) => o.organizationSlug || "", maxWidth: 25 },
|
|
17906
18516
|
{ header: "UUID", getValue: (o) => o.organizationUuid },
|
|
@@ -17908,41 +18518,116 @@ var COLUMNS35 = [
|
|
|
17908
18518
|
];
|
|
17909
18519
|
async function organizationsListCommand(ctx) {
|
|
17910
18520
|
const organizations = await ctx.apiClient.getMyOrganizations();
|
|
17911
|
-
outputData(organizations, ctx,
|
|
18521
|
+
outputData(organizations, ctx, COLUMNS34);
|
|
17912
18522
|
}
|
|
17913
18523
|
|
|
17914
18524
|
// src/commands/whoami.ts
|
|
17915
|
-
|
|
17916
|
-
|
|
17917
|
-
|
|
17918
|
-
|
|
17919
|
-
|
|
17920
|
-
|
|
17921
|
-
|
|
18525
|
+
function createColumns(ctx) {
|
|
18526
|
+
return [
|
|
18527
|
+
{ header: "NAME", getValue: (a) => a.name || "", maxWidth: 30 },
|
|
18528
|
+
{ header: "EMAIL", getValue: (a) => a.email || "", maxWidth: 40 },
|
|
18529
|
+
{ header: "UUID", getValue: (a) => a.uuid },
|
|
18530
|
+
{ header: "ENV", getValue: () => ctx.env },
|
|
18531
|
+
{ header: "PROFILE", getValue: () => ctx.profile },
|
|
18532
|
+
{ header: "SUPERUSER", getValue: (a) => a.isSuperuser ? "yes" : "no" }
|
|
18533
|
+
];
|
|
18534
|
+
}
|
|
17922
18535
|
async function whoamiCommand(ctx) {
|
|
17923
18536
|
const account = await ctx.apiClient.getUserAccount();
|
|
17924
|
-
|
|
17925
|
-
(col) => col.header === "ENV" ? { ...col, getValue: () => ctx.env } : col
|
|
17926
|
-
);
|
|
17927
|
-
outputSingle(account, ctx, columns);
|
|
18537
|
+
outputSingle(account, ctx, createColumns(ctx));
|
|
17928
18538
|
}
|
|
17929
18539
|
|
|
17930
18540
|
// src/top-level-commands.ts
|
|
18541
|
+
var AUTH_PROFILE_ARGS = [
|
|
18542
|
+
{
|
|
18543
|
+
name: "name",
|
|
18544
|
+
description: "Named account profile (stored under ~/.gr-cli)"
|
|
18545
|
+
}
|
|
18546
|
+
];
|
|
17931
18547
|
var topLevelCommands = [
|
|
17932
18548
|
{
|
|
17933
18549
|
path: ["login"],
|
|
17934
|
-
description: "Authenticate via OAuth",
|
|
18550
|
+
description: "Authenticate via OAuth (active profile, or --name)",
|
|
17935
18551
|
requiresAuth: false,
|
|
17936
|
-
|
|
17937
|
-
|
|
18552
|
+
args: [...AUTH_PROFILE_ARGS],
|
|
18553
|
+
examples: ["gr login", "gr login --name work", "gr login --profile personal"],
|
|
18554
|
+
handler: async ({ ctx, args }) => {
|
|
18555
|
+
await loginCommand(ctx, args);
|
|
17938
18556
|
}
|
|
17939
18557
|
},
|
|
17940
18558
|
{
|
|
17941
18559
|
path: ["logout"],
|
|
17942
|
-
description: "Clear cached credentials",
|
|
18560
|
+
description: "Clear cached credentials for a profile",
|
|
18561
|
+
requiresAuth: false,
|
|
18562
|
+
args: [...AUTH_PROFILE_ARGS],
|
|
18563
|
+
examples: ["gr logout", "gr logout --name work"],
|
|
18564
|
+
handler: async ({ ctx, args }) => {
|
|
18565
|
+
await logoutCommand(ctx, args);
|
|
18566
|
+
}
|
|
18567
|
+
},
|
|
18568
|
+
{
|
|
18569
|
+
path: ["auth", "login"],
|
|
18570
|
+
description: "Authenticate via OAuth into a named profile",
|
|
18571
|
+
requiresAuth: false,
|
|
18572
|
+
args: [...AUTH_PROFILE_ARGS],
|
|
18573
|
+
examples: ["gr auth login", "gr auth login --name work"],
|
|
18574
|
+
handler: async ({ ctx, args }) => {
|
|
18575
|
+
await loginCommand(ctx, args);
|
|
18576
|
+
}
|
|
18577
|
+
},
|
|
18578
|
+
{
|
|
18579
|
+
path: ["auth", "list"],
|
|
18580
|
+
description: "List stored account profiles for the current environment",
|
|
17943
18581
|
requiresAuth: false,
|
|
18582
|
+
examples: ["gr auth list", "gr auth list --env prod"],
|
|
17944
18583
|
handler: async ({ ctx }) => {
|
|
17945
|
-
await
|
|
18584
|
+
await authListCommand(ctx);
|
|
18585
|
+
}
|
|
18586
|
+
},
|
|
18587
|
+
{
|
|
18588
|
+
path: ["auth", "switch"],
|
|
18589
|
+
description: "Set the default account profile for subsequent commands",
|
|
18590
|
+
requiresAuth: false,
|
|
18591
|
+
args: [
|
|
18592
|
+
{
|
|
18593
|
+
name: "name",
|
|
18594
|
+
description: "Profile name to make current",
|
|
18595
|
+
required: true
|
|
18596
|
+
}
|
|
18597
|
+
],
|
|
18598
|
+
examples: ["gr auth switch --name work"],
|
|
18599
|
+
handler: async ({ ctx, args }) => {
|
|
18600
|
+
await authSwitchCommand(ctx, args);
|
|
18601
|
+
}
|
|
18602
|
+
},
|
|
18603
|
+
{
|
|
18604
|
+
path: ["auth", "logout"],
|
|
18605
|
+
description: "Clear cached credentials for a named profile",
|
|
18606
|
+
requiresAuth: false,
|
|
18607
|
+
args: [...AUTH_PROFILE_ARGS],
|
|
18608
|
+
examples: ["gr auth logout", "gr auth logout --name work"],
|
|
18609
|
+
handler: async ({ ctx, args }) => {
|
|
18610
|
+
await logoutCommand(ctx, args);
|
|
18611
|
+
}
|
|
18612
|
+
},
|
|
18613
|
+
{
|
|
18614
|
+
path: ["auth", "import-dev"],
|
|
18615
|
+
description: "Import local/dev-cloud tokens from dev-realms.json into named profiles (replaces --realm)",
|
|
18616
|
+
requiresAuth: false,
|
|
18617
|
+
args: [
|
|
18618
|
+
{
|
|
18619
|
+
name: "file",
|
|
18620
|
+
description: "Path to dev-realms.json (default: walk up from cwd, or fetch for dev-cloud)"
|
|
18621
|
+
}
|
|
18622
|
+
],
|
|
18623
|
+
examples: [
|
|
18624
|
+
"gr auth import-dev",
|
|
18625
|
+
"gr auth import-dev --env dev",
|
|
18626
|
+
"gr auth import-dev --env dev-cloud:my-ns",
|
|
18627
|
+
"gr auth import-dev --file ./dev-realms.json"
|
|
18628
|
+
],
|
|
18629
|
+
handler: async ({ ctx, args }) => {
|
|
18630
|
+
await authImportDevCommand(ctx, args);
|
|
17946
18631
|
}
|
|
17947
18632
|
},
|
|
17948
18633
|
{
|
|
@@ -18068,7 +18753,7 @@ var topLevelCommands = [
|
|
|
18068
18753
|
mutates: true,
|
|
18069
18754
|
args: [{ name: "phone", description: "E.164 phone number (optional; prompts if omitted)" }],
|
|
18070
18755
|
handler: async (hctx) => {
|
|
18071
|
-
const { accountVerifyPhoneCommand } = await import("./account-verify-phone-
|
|
18756
|
+
const { accountVerifyPhoneCommand } = await import("./account-verify-phone-7YQXKU3X.js");
|
|
18072
18757
|
await accountVerifyPhoneCommand(hctx);
|
|
18073
18758
|
}
|
|
18074
18759
|
},
|
|
@@ -18158,6 +18843,9 @@ export {
|
|
|
18158
18843
|
LIST_PAGINATION_ARGS,
|
|
18159
18844
|
PAGINATION_ARGS,
|
|
18160
18845
|
authBrowserCommand,
|
|
18846
|
+
authImportDevCommand,
|
|
18847
|
+
authListCommand,
|
|
18848
|
+
authSwitchCommand,
|
|
18161
18849
|
buildCliConciergeAppContext,
|
|
18162
18850
|
chatCommand,
|
|
18163
18851
|
commandNeedsJsonBody,
|
|
@@ -18180,6 +18868,7 @@ export {
|
|
|
18180
18868
|
getConciergeChatMessages,
|
|
18181
18869
|
getStartedCommand,
|
|
18182
18870
|
handleError,
|
|
18871
|
+
importDevProfiles,
|
|
18183
18872
|
isCursorPaginatedResponse,
|
|
18184
18873
|
isDirectoryTrusted,
|
|
18185
18874
|
isLikelySeedPhoneNumber,
|
|
@@ -18198,6 +18887,7 @@ export {
|
|
|
18198
18887
|
outputSingle,
|
|
18199
18888
|
parseArgs,
|
|
18200
18889
|
parsePaginationArgs,
|
|
18890
|
+
profilesFromDevRealms,
|
|
18201
18891
|
readJsonInput,
|
|
18202
18892
|
registerPublicDomains,
|
|
18203
18893
|
requireAuth,
|