@line-harness/mcp-server 0.1.1 → 0.2.1
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/dist/index.js +1067 -11
- package/package.json +2 -3
- package/dist/client.d.ts +0 -2
- package/dist/client.js +0 -22
- package/dist/client.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js.map +0 -1
- package/dist/resources/index.d.ts +0 -2
- package/dist/resources/index.js +0 -48
- package/dist/resources/index.js.map +0 -1
- package/dist/tools/account-summary.d.ts +0 -2
- package/dist/tools/account-summary.js +0 -47
- package/dist/tools/account-summary.js.map +0 -1
- package/dist/tools/broadcast.d.ts +0 -2
- package/dist/tools/broadcast.js +0 -80
- package/dist/tools/broadcast.js.map +0 -1
- package/dist/tools/create-form.d.ts +0 -2
- package/dist/tools/create-form.js +0 -32
- package/dist/tools/create-form.js.map +0 -1
- package/dist/tools/create-rich-menu.d.ts +0 -2
- package/dist/tools/create-rich-menu.js +0 -36
- package/dist/tools/create-rich-menu.js.map +0 -1
- package/dist/tools/create-scenario.d.ts +0 -2
- package/dist/tools/create-scenario.js +0 -78
- package/dist/tools/create-scenario.js.map +0 -1
- package/dist/tools/create-tracked-link.d.ts +0 -2
- package/dist/tools/create-tracked-link.js +0 -22
- package/dist/tools/create-tracked-link.js.map +0 -1
- package/dist/tools/enroll-scenario.d.ts +0 -2
- package/dist/tools/enroll-scenario.js +0 -23
- package/dist/tools/enroll-scenario.js.map +0 -1
- package/dist/tools/get-form-submissions.d.ts +0 -2
- package/dist/tools/get-form-submissions.js +0 -19
- package/dist/tools/get-form-submissions.js.map +0 -1
- package/dist/tools/get-friend-detail.d.ts +0 -2
- package/dist/tools/get-friend-detail.js +0 -19
- package/dist/tools/get-friend-detail.js.map +0 -1
- package/dist/tools/get-link-clicks.d.ts +0 -2
- package/dist/tools/get-link-clicks.js +0 -19
- package/dist/tools/get-link-clicks.js.map +0 -1
- package/dist/tools/index.d.ts +0 -2
- package/dist/tools/index.js +0 -31
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/list-crm-objects.d.ts +0 -2
- package/dist/tools/list-crm-objects.js +0 -40
- package/dist/tools/list-crm-objects.js.map +0 -1
- package/dist/tools/list-friends.d.ts +0 -2
- package/dist/tools/list-friends.js +0 -30
- package/dist/tools/list-friends.js.map +0 -1
- package/dist/tools/manage-tags.d.ts +0 -2
- package/dist/tools/manage-tags.js +0 -44
- package/dist/tools/manage-tags.js.map +0 -1
- package/dist/tools/send-message.d.ts +0 -2
- package/dist/tools/send-message.js +0 -24
- package/dist/tools/send-message.js.map +0 -1
package/dist/tools/index.d.ts
DELETED
package/dist/tools/index.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { registerSendMessage } from "./send-message.js";
|
|
2
|
-
import { registerBroadcast } from "./broadcast.js";
|
|
3
|
-
import { registerCreateScenario } from "./create-scenario.js";
|
|
4
|
-
import { registerEnrollScenario } from "./enroll-scenario.js";
|
|
5
|
-
import { registerManageTags } from "./manage-tags.js";
|
|
6
|
-
import { registerCreateForm } from "./create-form.js";
|
|
7
|
-
import { registerCreateTrackedLink } from "./create-tracked-link.js";
|
|
8
|
-
import { registerCreateRichMenu } from "./create-rich-menu.js";
|
|
9
|
-
import { registerListFriends } from "./list-friends.js";
|
|
10
|
-
import { registerGetFriendDetail } from "./get-friend-detail.js";
|
|
11
|
-
import { registerGetFormSubmissions } from "./get-form-submissions.js";
|
|
12
|
-
import { registerGetLinkClicks } from "./get-link-clicks.js";
|
|
13
|
-
import { registerAccountSummary } from "./account-summary.js";
|
|
14
|
-
import { registerListCrmObjects } from "./list-crm-objects.js";
|
|
15
|
-
export function registerAllTools(server) {
|
|
16
|
-
registerSendMessage(server);
|
|
17
|
-
registerBroadcast(server);
|
|
18
|
-
registerCreateScenario(server);
|
|
19
|
-
registerEnrollScenario(server);
|
|
20
|
-
registerManageTags(server);
|
|
21
|
-
registerCreateForm(server);
|
|
22
|
-
registerCreateTrackedLink(server);
|
|
23
|
-
registerCreateRichMenu(server);
|
|
24
|
-
registerListFriends(server);
|
|
25
|
-
registerGetFriendDetail(server);
|
|
26
|
-
registerGetFormSubmissions(server);
|
|
27
|
-
registerGetLinkClicks(server);
|
|
28
|
-
registerAccountSummary(server);
|
|
29
|
-
registerListCrmObjects(server);
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC9B,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { getClient } from "../client.js";
|
|
3
|
-
export function registerListCrmObjects(server) {
|
|
4
|
-
server.tool("list_crm_objects", "List all CRM objects of a specific type: scenarios, forms, tags, rich menus, tracked links, or broadcasts.", {
|
|
5
|
-
objectType: z.enum(["scenarios", "forms", "tags", "rich_menus", "tracked_links", "broadcasts"]).describe("Type of CRM object to list"),
|
|
6
|
-
accountId: z.string().optional().describe("LINE account ID (uses default if omitted)"),
|
|
7
|
-
}, async ({ objectType, accountId }) => {
|
|
8
|
-
try {
|
|
9
|
-
const client = getClient();
|
|
10
|
-
let items;
|
|
11
|
-
switch (objectType) {
|
|
12
|
-
case "scenarios":
|
|
13
|
-
items = await client.scenarios.list({ accountId });
|
|
14
|
-
break;
|
|
15
|
-
case "forms":
|
|
16
|
-
items = await client.forms.list();
|
|
17
|
-
break;
|
|
18
|
-
case "tags":
|
|
19
|
-
items = await client.tags.list();
|
|
20
|
-
break;
|
|
21
|
-
case "rich_menus":
|
|
22
|
-
items = await client.richMenus.list();
|
|
23
|
-
break;
|
|
24
|
-
case "tracked_links":
|
|
25
|
-
items = await client.trackedLinks.list();
|
|
26
|
-
break;
|
|
27
|
-
case "broadcasts":
|
|
28
|
-
items = await client.broadcasts.list({ accountId });
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
return {
|
|
32
|
-
content: [{ type: "text", text: JSON.stringify({ success: true, objectType, items }, null, 2) }],
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=list-crm-objects.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-crm-objects.js","sourceRoot":"","sources":["../../src/tools/list-crm-objects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,4GAA4G,EAC5G;QACE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACtI,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACvF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;QAClC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAE3B,IAAI,KAAK,CAAC;YACV,QAAQ,UAAU,EAAE,CAAC;gBACnB,KAAK,WAAW;oBACd,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBACnD,MAAM;gBACR,KAAK,OAAO;oBACV,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,MAAM;oBACT,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACtC,MAAM;gBACR,KAAK,eAAe;oBAClB,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBACzC,MAAM;gBACR,KAAK,YAAY;oBACf,KAAK,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBACpD,MAAM;YACV,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACjG,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { getClient } from "../client.js";
|
|
3
|
-
export function registerListFriends(server) {
|
|
4
|
-
server.tool("list_friends", "List friends with optional filtering by tag. Returns paginated results with friend details.", {
|
|
5
|
-
tagId: z.string().optional().describe("Filter by tag ID"),
|
|
6
|
-
limit: z.number().default(20).describe("Number of friends to return (max 100)"),
|
|
7
|
-
offset: z.number().default(0).describe("Offset for pagination"),
|
|
8
|
-
accountId: z.string().optional().describe("LINE account ID (uses default if omitted)"),
|
|
9
|
-
}, async ({ tagId, limit, offset, accountId }) => {
|
|
10
|
-
try {
|
|
11
|
-
const client = getClient();
|
|
12
|
-
const result = await client.friends.list({ tagId, limit, offset, accountId });
|
|
13
|
-
return {
|
|
14
|
-
content: [{
|
|
15
|
-
type: "text",
|
|
16
|
-
text: JSON.stringify({
|
|
17
|
-
success: true,
|
|
18
|
-
total: result.total,
|
|
19
|
-
hasNextPage: result.hasNextPage,
|
|
20
|
-
friends: result.items,
|
|
21
|
-
}, null, 2),
|
|
22
|
-
}],
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=list-friends.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-friends.js","sourceRoot":"","sources":["../../src/tools/list-friends.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,6FAA6F,EAC7F;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC/D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KACvF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,WAAW,EAAE,MAAM,CAAC,WAAW;4BAC/B,OAAO,EAAE,MAAM,CAAC,KAAK;yBACtB,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { getClient } from "../client.js";
|
|
3
|
-
export function registerManageTags(server) {
|
|
4
|
-
server.tool("manage_tags", "Create tags, add tags to friends, or remove tags from friends. Supports batch operations on multiple friends.", {
|
|
5
|
-
action: z.enum(["create", "add", "remove"]).describe("Action to perform"),
|
|
6
|
-
tagName: z.string().optional().describe("Tag name (for 'create' action)"),
|
|
7
|
-
tagColor: z.string().optional().describe("Tag color hex code (for 'create' action, e.g. '#FF0000')"),
|
|
8
|
-
tagId: z.string().optional().describe("Tag ID (for 'add' or 'remove' actions)"),
|
|
9
|
-
friendIds: z.array(z.string()).optional().describe("Friend IDs to add/remove the tag from (for 'add' or 'remove' actions)"),
|
|
10
|
-
}, async ({ action, tagName, tagColor, tagId, friendIds }) => {
|
|
11
|
-
try {
|
|
12
|
-
const client = getClient();
|
|
13
|
-
if (action === "create") {
|
|
14
|
-
if (!tagName)
|
|
15
|
-
throw new Error("tagName is required for create action");
|
|
16
|
-
const tag = await client.tags.create({ name: tagName, color: tagColor });
|
|
17
|
-
return {
|
|
18
|
-
content: [{ type: "text", text: JSON.stringify({ success: true, tag }, null, 2) }],
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
if (!tagId)
|
|
22
|
-
throw new Error("tagId is required for add/remove actions");
|
|
23
|
-
if (!friendIds?.length)
|
|
24
|
-
throw new Error("friendIds is required for add/remove actions");
|
|
25
|
-
const results = [];
|
|
26
|
-
for (const friendId of friendIds) {
|
|
27
|
-
if (action === "add") {
|
|
28
|
-
await client.friends.addTag(friendId, tagId);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
await client.friends.removeTag(friendId, tagId);
|
|
32
|
-
}
|
|
33
|
-
results.push({ friendId, status: "ok" });
|
|
34
|
-
}
|
|
35
|
-
return {
|
|
36
|
-
content: [{ type: "text", text: JSON.stringify({ success: true, results }, null, 2) }],
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=manage-tags.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manage-tags.js","sourceRoot":"","sources":["../../src/tools/manage-tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { getClient } from "../client.js";
|
|
3
|
-
export function registerSendMessage(server) {
|
|
4
|
-
server.tool("send_message", "Send a text or flex message to a specific friend. Use messageType 'flex' for rich card layouts.", {
|
|
5
|
-
friendId: z.string().describe("The friend's ID to send the message to"),
|
|
6
|
-
content: z.string().describe("Message content. For text: plain string. For flex: JSON string of LINE Flex Message."),
|
|
7
|
-
messageType: z.enum(["text", "flex"]).default("text").describe("Message type: 'text' for plain text, 'flex' for Flex Message JSON"),
|
|
8
|
-
}, async ({ friendId, content, messageType }) => {
|
|
9
|
-
try {
|
|
10
|
-
const client = getClient();
|
|
11
|
-
const result = await client.friends.sendMessage(friendId, content, messageType);
|
|
12
|
-
return {
|
|
13
|
-
content: [{
|
|
14
|
-
type: "text",
|
|
15
|
-
text: JSON.stringify({ success: true, messageId: result.messageId }, null, 2),
|
|
16
|
-
}],
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
catch (error) {
|
|
20
|
-
return { content: [{ type: "text", text: JSON.stringify({ success: false, error: String(error) }, null, 2) }], isError: true };
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=send-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iGAAiG,EACjG;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sFAAsF,CAAC;QACpH,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC;KACpI,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAChF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC9E,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACjI,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|