@vibes.diy/base 14.3.106 → 14.3.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/components/vibe-menu/VibeMenu.js +5 -3
  2. package/components/vibe-menu/VibeMenu.js.map +1 -1
  3. package/components/vibe-menu/cards/AccountCard.d.ts +4 -0
  4. package/components/vibe-menu/cards/AccountCard.js +64 -1
  5. package/components/vibe-menu/cards/AccountCard.js.map +1 -1
  6. package/components/vibe-menu/cards/CodeCard.d.ts +2 -1
  7. package/components/vibe-menu/cards/CodeCard.js +12 -3
  8. package/components/vibe-menu/cards/CodeCard.js.map +1 -1
  9. package/components/vibe-menu/cards/CodeTabRow.d.ts +1 -1
  10. package/components/vibe-menu/cards/CodeTabRow.js +6 -0
  11. package/components/vibe-menu/cards/CodeTabRow.js.map +1 -1
  12. package/components/vibe-menu/cards/HomeCard.d.ts +8 -0
  13. package/components/vibe-menu/cards/HomeCard.js +67 -5
  14. package/components/vibe-menu/cards/HomeCard.js.map +1 -1
  15. package/components/vibe-menu/cards/ShareCard.d.ts +3 -0
  16. package/components/vibe-menu/cards/ShareCard.js +109 -16
  17. package/components/vibe-menu/cards/ShareCard.js.map +1 -1
  18. package/components/vibe-menu/index.d.ts +3 -0
  19. package/components/vibe-menu/index.js +3 -0
  20. package/components/vibe-menu/index.js.map +1 -1
  21. package/components/vibe-menu/moments.d.ts +9 -0
  22. package/components/vibe-menu/moments.js +6 -0
  23. package/components/vibe-menu/moments.js.map +1 -1
  24. package/components/vibe-menu/parts/AccessToggle.js +2 -1
  25. package/components/vibe-menu/parts/AccessToggle.js.map +1 -1
  26. package/components/vibe-menu/parts/CardTabRow.d.ts +27 -0
  27. package/components/vibe-menu/{sketches → parts}/CardTabRow.js +2 -7
  28. package/components/vibe-menu/parts/CardTabRow.js.map +1 -0
  29. package/components/vibe-menu/parts/Composer.js +2 -1
  30. package/components/vibe-menu/parts/Composer.js.map +1 -1
  31. package/components/vibe-menu/parts/MomentLine.js +10 -5
  32. package/components/vibe-menu/parts/MomentLine.js.map +1 -1
  33. package/components/vibe-menu/parts/SurveyStrip.d.ts +13 -3
  34. package/components/vibe-menu/parts/SurveyStrip.js +97 -54
  35. package/components/vibe-menu/parts/SurveyStrip.js.map +1 -1
  36. package/components/vibe-menu/parts/ThinkingLine.d.ts +24 -0
  37. package/components/vibe-menu/parts/ThinkingLine.js +77 -0
  38. package/components/vibe-menu/parts/ThinkingLine.js.map +1 -0
  39. package/components/vibe-menu/parts/brief-faces-art.d.ts +12 -0
  40. package/components/vibe-menu/parts/brief-faces-art.js +540 -0
  41. package/components/vibe-menu/parts/brief-faces-art.js.map +1 -0
  42. package/components/vibe-menu/sketches/CodeTierAudition.js +1 -1
  43. package/components/vibe-menu/sketches/CodeTierAudition.js.map +1 -1
  44. package/components/vibe-menu/slices.d.ts +5 -0
  45. package/components/vibe-menu/slices.js.map +1 -1
  46. package/components/vibe-menu/vibe-menu.styles.d.ts +1 -1
  47. package/components/vibe-menu/vibe-menu.styles.js +0 -25
  48. package/components/vibe-menu/vibe-menu.styles.js.map +1 -1
  49. package/package.json +5 -5
  50. package/components/vibe-menu/sketches/AccountTabAudition.d.ts +0 -11
  51. package/components/vibe-menu/sketches/AccountTabAudition.js +0 -90
  52. package/components/vibe-menu/sketches/AccountTabAudition.js.map +0 -1
  53. package/components/vibe-menu/sketches/CardTabRow.d.ts +0 -27
  54. package/components/vibe-menu/sketches/CardTabRow.js.map +0 -1
  55. package/components/vibe-menu/sketches/HomeTabAudition.d.ts +0 -26
  56. package/components/vibe-menu/sketches/HomeTabAudition.js +0 -87
  57. package/components/vibe-menu/sketches/HomeTabAudition.js.map +0 -1
  58. package/components/vibe-menu/sketches/ShareTabAudition.d.ts +0 -14
  59. package/components/vibe-menu/sketches/ShareTabAudition.js +0 -155
  60. package/components/vibe-menu/sketches/ShareTabAudition.js.map +0 -1
@@ -1,87 +0,0 @@
1
- import * as React from "react";
2
- import { HOME_CARD_CSS, HOME_COPY } from "../cards/HomeCard.js";
3
- import { ActionPill } from "../parts/ActionPill.js";
4
- import { DoneButton } from "../parts/DoneButton.js";
5
- import { Row } from "../parts/Row.js";
6
- import { CARD_TAB_ROW_CSS, CardTabRow, MainAction, Stretch, isPlainLeftClick, toggleDrill, } from "./CardTabRow.js";
7
- export const HOME_TAB_LABELS = Object.freeze({
8
- picks: HOME_COPY.recommended,
9
- recent: HOME_COPY.recent,
10
- site: "vibes.diy",
11
- myVibes: HOME_COPY.myVibes,
12
- getApp: "Get the app",
13
- });
14
- const APP_COLORS = [
15
- "var(--section-home)",
16
- "var(--section-account)",
17
- "var(--section-code)",
18
- "var(--section-share)",
19
- ];
20
- export function homeTabItems(props) {
21
- const pending = props.viewer.identityPending === true;
22
- const signedIn = props.viewer.role !== "signedOut" && pending === false;
23
- const items = [];
24
- if (props.variant === "pill" && props.recommended.length > 0) {
25
- const label = props.recommendedHeading === "recent" ? HOME_TAB_LABELS.recent : HOME_TAB_LABELS.picks;
26
- items.push({ key: "picks", label, glyph: "star", kind: "drill" });
27
- }
28
- items.push({
29
- key: "site",
30
- label: HOME_TAB_LABELS.site,
31
- glyph: "home",
32
- kind: "link",
33
- href: props.homeHref,
34
- onClick: (event) => {
35
- if (isPlainLeftClick(event) === false)
36
- return;
37
- event.preventDefault();
38
- props.onHome();
39
- },
40
- });
41
- if (signedIn)
42
- items.push({ key: "myVibes", label: HOME_TAB_LABELS.myVibes, glyph: "layout-grid", kind: "link", href: props.myVibesHref });
43
- if (props.onGetFullApp !== undefined) {
44
- const onGetFullApp = props.onGetFullApp;
45
- items.push({ key: "getApp", label: HOME_TAB_LABELS.getApp, glyph: "app", kind: "action", onClick: () => onGetFullApp() });
46
- }
47
- return items;
48
- }
49
- function Picks(props) {
50
- return (React.createElement("div", { className: "vm-group is-flush" }, props.recommended.slice(0, 3).map((rec, i) => (React.createElement(Row, { key: rec.href, lead: { letter: rec.title.slice(0, 1).toUpperCase(), kind: "app", color: APP_COLORS[i % APP_COLORS.length] }, label: rec.title, plain: true, href: rec.href })))));
51
- }
52
- function HomeAsk(props) {
53
- const pending = props.viewer.identityPending === true;
54
- if (pending)
55
- return null;
56
- if (props.viewer.role === "owner")
57
- return React.createElement(ActionPill, { label: HOME_COPY.newApp, href: props.newAppHref, solo: true });
58
- return (React.createElement(ActionPill, { label: HOME_COPY.makeYourOwn, href: props.onMakeYourOwn === undefined ? props.newAppHref : undefined, onClick: props.onMakeYourOwn, caption: HOME_COPY.makeSub }));
59
- }
60
- function madeOnLine(viewer) {
61
- if (viewer.identityPending === true || viewer.role === "owner")
62
- return null;
63
- return (React.createElement("p", { className: "vm-kicker" },
64
- React.createElement("span", { className: "vm-app-name" }, viewer.appTitle),
65
- " ",
66
- HOME_COPY.madeOn));
67
- }
68
- export function HomeTabAudition(props) {
69
- const [active, setActive] = React.useState(props.initialActive ?? null);
70
- const heading = props.recommendedHeading === "recent" ? HOME_COPY.recent : HOME_COPY.recommended;
71
- const row = (React.createElement(CardTabRow, { label: "Home", items: homeTabItems(props), active: active, onDrill: (key) => setActive((open) => toggleDrill(open, key)) }));
72
- return (React.createElement("div", { className: "vm-home vm-ctab vm-xtab", "data-card": "home", "data-variant": props.variant },
73
- React.createElement("style", null, HOME_CARD_CSS + CARD_TAB_ROW_CSS),
74
- active === "picks" ? (React.createElement(React.Fragment, null,
75
- React.createElement("div", { className: "vm-drill", "data-drill": "picks" },
76
- React.createElement("h3", { className: "vm-subhead" }, heading),
77
- React.createElement(Picks, { recommended: props.recommended })),
78
- React.createElement(DoneButton, { onDone: () => setActive(null) }))) : (React.createElement(React.Fragment, null,
79
- React.createElement(Stretch, null,
80
- props.variant === "picks" && props.recommended.length > 0 ? React.createElement("h3", { className: "vm-subhead" }, heading) : null,
81
- props.variant === "picks" && props.recommended.length > 0 ? React.createElement(Picks, { recommended: props.recommended }) : null,
82
- madeOnLine(props.viewer)),
83
- React.createElement(MainAction, null,
84
- React.createElement(HomeAsk, { ...props })))),
85
- row));
86
- }
87
- //# sourceMappingURL=HomeTabAudition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HomeTabAudition.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/sketches/HomeTabAudition.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- import * as React from "react";
2
- import type { ShareSlice, ViewerSlice } from "../slices.js";
3
- import { type CardTabItem } from "./CardTabRow.js";
4
- export type ShareTabVariant = "code" | "link";
5
- export declare const SHARE_TAB_CSS = "\n[data-vibe-menu] .vm-xtab .vm-share-link {\n margin: 0; font: 400 15px/1.35 var(--font-display); color: var(--ink); overflow-wrap: anywhere;\n}\n[data-vibe-menu] .vm-xtab .vm-share-hero[data-variant=\"link\"] { align-items: stretch; padding-top: 0; }\n[data-vibe-menu] .vm-xtab .vm-share-hero[data-variant=\"link\"] .vm-share-actions { justify-content: flex-start; }\n[data-vibe-menu] .vm-xtab[data-variant=\"code\"] .vm-main > .vm-share-actions { justify-content: center; }\n[data-vibe-menu] .vm-xtab .vm-share-hero[data-variant=\"link\"] > .vm-chip { align-self: flex-start; }\n[data-vibe-menu] .vm-xtab .vm-drill[data-drill=\"qr\"] { display: flex; flex-direction: column; align-items: center; gap: var(--space-12); }\n";
6
- export interface ShareTabAuditionProps {
7
- readonly variant: ShareTabVariant;
8
- readonly viewer: ViewerSlice;
9
- readonly share: ShareSlice | null;
10
- readonly onSignIn: () => void;
11
- readonly initialActive?: string | null;
12
- }
13
- export declare function shareTabItems(variant: ShareTabVariant, viewer: ViewerSlice, share: ShareSlice): readonly CardTabItem[];
14
- export declare function ShareTabAudition(props: ShareTabAuditionProps): React.ReactElement;
@@ -1,155 +0,0 @@
1
- import * as React from "react";
2
- import { useContext, useState } from "react";
3
- import { exception2Result } from "@adviser/cement";
4
- import { QrCode } from "../../QrCode.js";
5
- import { JOIN_OR_SIGN_IN, SHARE_DEV_DRAFT_LINE, SHARE_HANDLE_ASK } from "../copy.js";
6
- import { ActionPill } from "../parts/ActionPill.js";
7
- import { Chip } from "../parts/Chip.js";
8
- import { DoneButton } from "../parts/DoneButton.js";
9
- import { useShareActions } from "../cards/share-actions.js";
10
- import { SHARE_CARD_CSS } from "../cards/share-card.styles.js";
11
- import { CopyChip, CopyLinkChip, shareCopied } from "../cards/share-copy.js";
12
- import { PUBLISH_COPY } from "../cards/share-parts.js";
13
- import { ShareSheetContext } from "../cards/ShareAppDrill.js";
14
- import { SHARE_SETTINGS_LABEL, ShareDrill } from "../cards/ShareDrills.js";
15
- import { CARD_TAB_ROW_CSS, CardTabRow, MainAction, Stretch, toggleDrill } from "./CardTabRow.js";
16
- export const SHARE_TAB_CSS = `
17
- [data-vibe-menu] .vm-xtab .vm-share-link {
18
- margin: 0; font: 400 15px/1.35 var(--font-display); color: var(--ink); overflow-wrap: anywhere;
19
- }
20
- [data-vibe-menu] .vm-xtab .vm-share-hero[data-variant="link"] { align-items: stretch; padding-top: 0; }
21
- [data-vibe-menu] .vm-xtab .vm-share-hero[data-variant="link"] .vm-share-actions { justify-content: flex-start; }
22
- [data-vibe-menu] .vm-xtab[data-variant="code"] .vm-main > .vm-share-actions { justify-content: center; }
23
- [data-vibe-menu] .vm-xtab .vm-share-hero[data-variant="link"] > .vm-chip { align-self: flex-start; }
24
- [data-vibe-menu] .vm-xtab .vm-drill[data-drill="qr"] { display: flex; flex-direction: column; align-items: center; gap: var(--space-12); }
25
- `;
26
- export function shareTabItems(variant, viewer, share) {
27
- const items = [];
28
- if (variant === "link")
29
- items.push({ key: "qr", label: "QR code", glyph: "qr-code", kind: "drill" });
30
- if (share.app !== null)
31
- items.push({ key: "app", label: "Share as app", glyph: "app", kind: "drill" });
32
- if (viewer.role !== "signedOut" && share.notificationsSlot !== null) {
33
- items.push({ key: "notifications", label: "Notifications", glyph: "bell", kind: "drill" });
34
- }
35
- items.push({ key: "shareSettings", label: SHARE_SETTINGS_LABEL, glyph: "settings", kind: "drill" });
36
- return items;
37
- }
38
- function useSendLink(viewer, share) {
39
- const sheet = useContext(ShareSheetContext);
40
- const send = sheet.share;
41
- if (send === undefined)
42
- return null;
43
- return () => {
44
- void exception2Result(() => send({ url: share.link.url, title: viewer.appTitle })).then((res) => {
45
- if (res.isOk())
46
- share.onShareEvent?.({ kind: "sent", surface: "link" });
47
- });
48
- };
49
- }
50
- function HandleAskLine(props) {
51
- return (React.createElement("p", { className: "vm-handle-ask", "data-share-handle-ask": "" },
52
- SHARE_HANDLE_ASK.sharedAs,
53
- " ",
54
- React.createElement("span", { className: "vm-handle-ask-name ph-no-capture" },
55
- "@",
56
- props.ask.handle),
57
- React.createElement("span", { "aria-hidden": "true" }, " \u00B7 "),
58
- React.createElement("button", { className: "vm-handle-ask-link", type: "button", onClick: props.ask.onChoose },
59
- SHARE_HANDLE_ASK.choose,
60
- " ",
61
- React.createElement("span", { "aria-hidden": "true" }, "\u203A"))));
62
- }
63
- function EmbedReveal(props) {
64
- const embed = props.share.embed;
65
- if (embed === null)
66
- return null;
67
- return (React.createElement("div", { className: "vm-reveal", "data-reveal": "embed" },
68
- React.createElement("textarea", { className: "vm-embed", readOnly: true, value: embed.snippet, "aria-label": "Embed code", onFocus: (e) => e.currentTarget.select() }),
69
- React.createElement(CopyChip, { text: embed.snippet, label: "Copy embed code", ariaLabel: "Copy embed code", onCopied: shareCopied(props.share, "embed", props.owner) })));
70
- }
71
- function LinkActions(props) {
72
- const { viewer, share, owner } = props;
73
- const sendLink = useSendLink(viewer, share);
74
- return (React.createElement("div", { className: "vm-share-actions", "data-share-main": "" },
75
- React.createElement(CopyLinkChip, { url: share.link.url, display: share.link.display, onCopied: shareCopied(share, "link", owner) }),
76
- sendLink !== null ? (React.createElement(Chip, { copy: true, glyph: "share", label: "Share\u2026", ariaLabel: `Share ${share.link.display}`, onClick: sendLink })) : null));
77
- }
78
- function ShareHero(props) {
79
- const { variant, share, owner } = props;
80
- const [embedOpen, setEmbedOpen] = useState(false);
81
- const embed = owner ? share.embed : null;
82
- return (React.createElement("div", { className: "vm-share-hero", "data-share-hero": true, "data-variant": variant },
83
- variant === "code" ? (React.createElement("span", { className: "vm-qr" },
84
- React.createElement(QrCode, { value: share.qrValue, size: 160, title: `QR code to open ${share.link.display}` }))) : (React.createElement("p", { className: "vm-share-link ph-no-capture" }, share.link.display)),
85
- embed !== null ? (React.createElement(Chip, { copy: true, ghost: embedOpen === false, label: "Embed", ariaLabel: "Embed", ariaExpanded: embedOpen, onClick: () => setEmbedOpen((v) => v === false) })) : null,
86
- props.actions,
87
- owner && share.handleAsk !== undefined && share.handleAsk !== null ? React.createElement(HandleAskLine, { ask: share.handleAsk }) : null,
88
- embed !== null && embedOpen ? React.createElement(EmbedReveal, { share: share, owner: owner }) : null));
89
- }
90
- function PublishAsk(props) {
91
- const { publish } = props;
92
- if (publish.state === "published")
93
- return null;
94
- const copy = PUBLISH_COPY[publish.state];
95
- const failed = publish.error !== null;
96
- const locked = publish.state === "locked";
97
- return (React.createElement(ActionPill, { label: locked ? "Unlock" : failed ? "Retry" : "Publish", onClick: locked ? publish.onUnlock : publish.onPublish, caption: React.createElement(React.Fragment, null,
98
- React.createElement("b", null, copy.lead),
99
- " \u00B7 ",
100
- failed ? publish.error : copy.line,
101
- publish.state === "old" ? (React.createElement(React.Fragment, null,
102
- " ",
103
- React.createElement("button", { className: "vm-handle-ask-link", type: "button", onClick: publish.onViewLatest }, "View latest"))) : null) }));
104
- }
105
- export function ShareTabAudition(props) {
106
- const { variant, viewer, share, onSignIn } = props;
107
- const actions = useShareActions();
108
- const [active, setActive] = useState(props.initialActive ?? null);
109
- const css = React.createElement("style", null, SHARE_CARD_CSS + CARD_TAB_ROW_CSS + SHARE_TAB_CSS);
110
- if (share === null) {
111
- return (React.createElement("div", { className: "vm-ctab vm-xtab" },
112
- css,
113
- React.createElement("p", { className: "vm-share-empty", "data-share-draft": true }, SHARE_DEV_DRAFT_LINE)));
114
- }
115
- const owner = share.canManage === true && viewer.identityPending !== true;
116
- const items = shareTabItems(variant, viewer, share);
117
- const row = (React.createElement(CardTabRow, { label: "Share", items: items, active: active, onDrill: (key) => setActive((open) => toggleDrill(open, key)) }));
118
- const close = () => setActive(null);
119
- const unpublished = owner && share.publish !== null && share.publish.state !== "published";
120
- const main = unpublished ? "publish" : viewer.role === "signedOut" ? "signIn" : "link";
121
- const linkActions = React.createElement(LinkActions, { viewer: viewer, share: share, owner: owner });
122
- let drill = null;
123
- if (active === "qr") {
124
- drill = (React.createElement(React.Fragment, null,
125
- React.createElement("div", { className: "vm-drill", "data-drill": "qr" },
126
- React.createElement("span", { className: "vm-qr" },
127
- React.createElement(QrCode, { value: share.qrValue, size: 200, title: `QR code to open ${share.link.display}` })),
128
- React.createElement("p", { className: "vm-share-link ph-no-capture" }, share.link.display)),
129
- React.createElement(DoneButton, { onDone: close })));
130
- }
131
- else if (active === "embed") {
132
- drill = (React.createElement(React.Fragment, null,
133
- React.createElement("div", { className: "vm-drill", "data-drill": "embed" },
134
- React.createElement(EmbedReveal, { share: share, owner: owner })),
135
- React.createElement(DoneButton, { onDone: close })));
136
- }
137
- else if (active === "app" || active === "notifications" || active === "shareSettings") {
138
- const nav = { view: { drill: active }, banner: null, onDrill: () => undefined, onLeaveDrill: close };
139
- drill = (React.createElement(ShareDrill, { drill: active, viewer: viewer, share: share, memberKey: undefined, nav: nav, actions: actions, parent: "Share" }));
140
- }
141
- return (React.createElement("div", { className: "vm-ctab vm-xtab", "data-card": "share", "data-variant": variant },
142
- css,
143
- drill ?? (React.createElement(React.Fragment, null,
144
- React.createElement(Stretch, null,
145
- React.createElement(ShareHero, { variant: variant, share: share, owner: owner, actions: main === "link" ? null : linkActions })),
146
- React.createElement(MainAction, null,
147
- main === "publish" && share.publish !== null ? React.createElement(PublishAsk, { publish: share.publish }) : null,
148
- main === "signIn" ? (React.createElement(ActionPill, { label: JOIN_OR_SIGN_IN, onClick: onSignIn, caption: React.createElement(React.Fragment, null,
149
- "to become a member of ",
150
- React.createElement("span", { className: "vm-app-name" }, viewer.appTitle),
151
- ".") })) : null,
152
- main === "link" ? linkActions : null))),
153
- row));
154
- }
155
- //# sourceMappingURL=ShareTabAudition.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShareTabAudition.js","sourceRoot":"","sources":["../../../../jsr/components/vibe-menu/sketches/ShareTabAudition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAC;AAgBnH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;CAS5B,CAAC;AAYF,MAAM,UAAU,aAAa,CAAC,OAAwB,EAAE,MAAmB,EAAE,KAAiB;IAC5F,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,OAAO,KAAK,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACrG,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACvG,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACpE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACpG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAmB,EAAE,KAAiB;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;IACzB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,GAAG,EAAE;QACV,KAAK,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9F,IAAI,GAAG,CAAC,IAAI,EAAE;gBAAE,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA6D;IAClF,OAAO,CACL,2BAAG,SAAS,EAAC,eAAe,2BAAuB,EAAE;QAClD,gBAAgB,CAAC,QAAQ;;QAAE,8BAAM,SAAS,EAAC,kCAAkC;;YAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAQ;QACzG,6CAAkB,MAAM,eAAW;QACnC,gCAAQ,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ;YAC7E,gBAAgB,CAAC,MAAM;;YAAE,6CAAkB,MAAM,aAAS,CACpD,CACP,CACL,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAA8D;IACjF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,6BAAK,SAAS,EAAC,WAAW,iBAAa,OAAO;QAC5C,kCACE,SAAS,EAAC,UAAU,EACpB,QAAQ,QACR,KAAK,EAAE,KAAK,CAAC,OAAO,gBACT,YAAY,EACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,GACxC;QACF,oBAAC,QAAQ,IACP,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,KAAK,EAAC,iBAAiB,EACvB,SAAS,EAAC,iBAAiB,EAC3B,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GACxD,CACE,CACP,CAAC;AACJ,CAAC;AAGD,SAAS,WAAW,CAAC,KAIpB;IACC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO,CACL,6BAAK,SAAS,EAAC,kBAAkB,qBAAiB,EAAE;QAClD,oBAAC,YAAY,IAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAI;QAC9G,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CACnB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAC,aAAQ,EAAC,SAAS,EAAE,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,QAAQ,GAAI,CACxG,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC;AACJ,CAAC;AAGD,SAAS,SAAS,CAAC,KAKlB;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,OAAO,CACL,6BAAK,SAAS,EAAC,eAAe,2CAA+B,OAAO;QACjE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CACpB,8BAAM,SAAS,EAAC,OAAO;YACrB,oBAAC,MAAM,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAI,CACtF,CACR,CAAC,CAAC,CAAC,CACF,2BAAG,SAAS,EAAC,6BAA6B,IAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAK,CACpE;QACA,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAChB,oBAAC,IAAI,IACH,IAAI,QACJ,KAAK,EAAE,SAAS,KAAK,KAAK,EAC1B,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,OAAO,EACjB,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAC/C,CACH,CAAC,CAAC,CAAC,IAAI;QACP,KAAK,CAAC,OAAO;QACb,KAAK,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAC,aAAa,IAAC,GAAG,EAAE,KAAK,CAAC,SAAS,GAAI,CAAC,CAAC,CAAC,IAAI;QACnH,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC,CAAC,CAAC,IAAI,CAC7E,CACP,CAAC;AACJ,CAAC;AAGD,SAAS,UAAU,CAAC,KAA+D;IACjF,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC;IAC1C,OAAO,CACL,oBAAC,UAAU,IACT,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACvD,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EACtD,OAAO,EACL;YACE,+BAAI,IAAI,CAAC,IAAI,CAAK;;YAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YACvD,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CACzB;gBACG,GAAG;gBACJ,gCAAQ,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,CAAC,YAAY,kBAEzE,CACR,CACJ,CAAC,CAAC,CAAC,IAAI,CACP,GAEL,CACH,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,mCAAQ,cAAc,GAAG,gBAAgB,GAAG,aAAa,CAAS,CAAC;IAC/E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB;YAC7B,GAAG;YACJ,2BAAG,SAAS,EAAC,gBAAgB,8BAC1B,oBAAoB,CACnB,CACA,CACP,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC;IAC1E,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,CACV,oBAAC,UAAU,IAAC,KAAK,EAAC,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAI,CAC1H,CAAC;IACF,MAAM,KAAK,GAAG,GAAS,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK,WAAW,CAAC;IAC3F,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACvF,MAAM,WAAW,GAAG,oBAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;IAChF,IAAI,KAAK,GAAoB,IAAI,CAAC;IAClC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,KAAK,GAAG,CACN;YACE,6BAAK,SAAS,EAAC,UAAU,gBAAY,IAAI;gBACvC,8BAAM,SAAS,EAAC,OAAO;oBACrB,oBAAC,MAAM,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAI,CACtF;gBACP,2BAAG,SAAS,EAAC,6BAA6B,IAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAK,CAC/D;YACN,oBAAC,UAAU,IAAC,MAAM,EAAE,KAAK,GAAI,CAC5B,CACJ,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,KAAK,GAAG,CACN;YACE,6BAAK,SAAS,EAAC,UAAU,gBAAY,OAAO;gBAC1C,oBAAC,WAAW,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI,CACvC;YACN,oBAAC,UAAU,IAAC,MAAM,EAAE,KAAK,GAAI,CAC5B,CACJ,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,eAAe,EAAE,CAAC;QAGxF,MAAM,GAAG,GAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QAC9G,KAAK,GAAG,CACN,oBAAC,UAAU,IAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,OAAO,GAAG,CAC7H,CAAC;IACJ,CAAC;IACD,OAAO,CACL,6BAAK,SAAS,EAAC,iBAAiB,eAAW,OAAO,kBAAe,OAAO;QACrE,GAAG;QACH,KAAK,IAAI,CACR;YACE,oBAAC,OAAO;gBACN,oBAAC,SAAS,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAI,CAClG;YACV,oBAAC,UAAU;gBACR,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,oBAAC,UAAU,IAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI;gBAC5F,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnB,oBAAC,UAAU,IACT,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,QAAQ,EACjB,OAAO,EACL;;wBACwB,8BAAM,SAAS,EAAC,aAAa,IAAE,MAAM,CAAC,QAAQ,CAAQ;4BAC3E,GAEL,CACH,CAAC,CAAC,CAAC,IAAI;gBACP,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAC1B,CACZ,CACJ;QACA,GAAG,CACA,CACP,CAAC;AACJ,CAAC"}