@docubook/mdx-content 1.0.0 → 2.0.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.
Files changed (145) hide show
  1. package/README.md +44 -19
  2. package/components.md +240 -0
  3. package/dist/adapters/next/ButtonMdx.d.ts +1 -1
  4. package/dist/adapters/next/ButtonMdx.d.ts.map +1 -1
  5. package/dist/adapters/next/{ButtonMdx.jsx → ButtonMdx.js} +3 -2
  6. package/dist/adapters/next/ButtonMdx.js.map +1 -0
  7. package/dist/adapters/next/CardMdx.d.ts +1 -1
  8. package/dist/adapters/next/CardMdx.d.ts.map +1 -1
  9. package/dist/adapters/next/CardMdx.js +8 -0
  10. package/dist/adapters/next/CardMdx.js.map +1 -0
  11. package/dist/adapters/next/ImageMdx.d.ts +1 -1
  12. package/dist/adapters/next/ImageMdx.d.ts.map +1 -1
  13. package/dist/adapters/next/ImageMdx.js +8 -0
  14. package/dist/adapters/next/ImageMdx.js.map +1 -0
  15. package/dist/adapters/next/LinkMdx.d.ts +1 -1
  16. package/dist/adapters/next/LinkMdx.d.ts.map +1 -1
  17. package/dist/adapters/next/{LinkMdx.jsx → LinkMdx.js} +3 -2
  18. package/dist/adapters/next/{LinkMdx.jsx.map → LinkMdx.js.map} +1 -1
  19. package/dist/client.d.ts +2 -2
  20. package/dist/client.d.ts.map +1 -1
  21. package/dist/client.js +2 -2
  22. package/dist/client.js.map +1 -1
  23. package/dist/components/{AccordionContext.jsx → AccordionContext.js} +1 -1
  24. package/dist/components/AccordionContext.js.map +1 -0
  25. package/dist/components/AccordionGroupMdx.d.ts +4 -2
  26. package/dist/components/AccordionGroupMdx.d.ts.map +1 -1
  27. package/dist/components/AccordionGroupMdx.js +18 -0
  28. package/dist/components/AccordionGroupMdx.js.map +1 -0
  29. package/dist/components/AccordionMdx.d.ts +1 -1
  30. package/dist/components/AccordionMdx.d.ts.map +1 -1
  31. package/dist/components/AccordionMdx.js +64 -0
  32. package/dist/components/AccordionMdx.js.map +1 -0
  33. package/dist/components/ButtonMdx.d.ts +1 -1
  34. package/dist/components/ButtonMdx.d.ts.map +1 -1
  35. package/dist/components/{ButtonMdx.jsx → ButtonMdx.js} +5 -11
  36. package/dist/components/{ButtonMdx.jsx.map → ButtonMdx.js.map} +1 -1
  37. package/dist/components/CardGroupMdx.d.ts +4 -2
  38. package/dist/components/CardGroupMdx.d.ts.map +1 -1
  39. package/dist/components/{CardGroupMdx.jsx → CardGroupMdx.js} +12 -12
  40. package/dist/components/CardGroupMdx.js.map +1 -0
  41. package/dist/components/CardMdx.d.ts +1 -1
  42. package/dist/components/CardMdx.d.ts.map +1 -1
  43. package/dist/components/{CardMdx.jsx → CardMdx.js} +23 -38
  44. package/dist/components/CardMdx.js.map +1 -0
  45. package/dist/components/CodeBlock.d.ts +1 -1
  46. package/dist/components/CodeBlock.d.ts.map +1 -1
  47. package/dist/components/CodeBlock.js +67 -0
  48. package/dist/components/CodeBlock.js.map +1 -0
  49. package/dist/components/CopyButton.d.ts +1 -1
  50. package/dist/components/CopyButton.d.ts.map +1 -1
  51. package/dist/components/{CopyButton.jsx → CopyButton.js} +4 -8
  52. package/dist/components/CopyButton.js.map +1 -0
  53. package/dist/components/FileTreeMdx.d.ts +4 -4
  54. package/dist/components/FileTreeMdx.d.ts.map +1 -1
  55. package/dist/components/FileTreeMdx.js +65 -0
  56. package/dist/components/FileTreeMdx.js.map +1 -0
  57. package/dist/components/{IconMdx.jsx → IconMdx.js} +3 -2
  58. package/dist/components/{IconMdx.jsx.map → IconMdx.js.map} +1 -1
  59. package/dist/components/ImageMdx.d.ts +1 -1
  60. package/dist/components/ImageMdx.d.ts.map +1 -1
  61. package/dist/components/ImageMdx.js +111 -0
  62. package/dist/components/ImageMdx.js.map +1 -0
  63. package/dist/components/KeyboardMdx.d.ts +3 -4
  64. package/dist/components/KeyboardMdx.d.ts.map +1 -1
  65. package/dist/components/{KeyboardMdx.jsx → KeyboardMdx.js} +6 -7
  66. package/dist/components/KeyboardMdx.js.map +1 -0
  67. package/dist/components/LinkMdx.d.ts +1 -1
  68. package/dist/components/LinkMdx.d.ts.map +1 -1
  69. package/dist/components/{LinkMdx.jsx → LinkMdx.js} +3 -2
  70. package/dist/components/{LinkMdx.jsx.map → LinkMdx.js.map} +1 -1
  71. package/dist/components/NoteMdx.d.ts +1 -1
  72. package/dist/components/NoteMdx.d.ts.map +1 -1
  73. package/dist/components/{NoteMdx.jsx → NoteMdx.js} +11 -20
  74. package/dist/components/{NoteMdx.jsx.map → NoteMdx.js.map} +1 -1
  75. package/dist/components/ReleaseMdx.d.ts +2 -2
  76. package/dist/components/ReleaseMdx.d.ts.map +1 -1
  77. package/dist/components/ReleaseMdx.js +44 -0
  78. package/dist/components/ReleaseMdx.js.map +1 -0
  79. package/dist/components/StepperMdx.d.ts +9 -5
  80. package/dist/components/StepperMdx.d.ts.map +1 -1
  81. package/dist/components/StepperMdx.js +76 -0
  82. package/dist/components/StepperMdx.js.map +1 -0
  83. package/dist/components/TableMdx.d.ts +7 -7
  84. package/dist/components/TableMdx.d.ts.map +1 -1
  85. package/dist/components/{TableMdx.jsx → TableMdx.js} +18 -19
  86. package/dist/components/TableMdx.js.map +1 -0
  87. package/dist/components/TabsMdx.d.ts +14 -6
  88. package/dist/components/TabsMdx.d.ts.map +1 -1
  89. package/dist/components/TabsMdx.js +176 -0
  90. package/dist/components/TabsMdx.js.map +1 -0
  91. package/dist/components/TooltipsMdx.d.ts +1 -1
  92. package/dist/components/TooltipsMdx.d.ts.map +1 -1
  93. package/dist/components/TooltipsMdx.js +36 -0
  94. package/dist/components/TooltipsMdx.js.map +1 -0
  95. package/dist/components/YoutubeMdx.d.ts +1 -1
  96. package/dist/components/YoutubeMdx.d.ts.map +1 -1
  97. package/dist/components/YoutubeMdx.js +14 -0
  98. package/dist/components/YoutubeMdx.js.map +1 -0
  99. package/dist/components/index.d.ts +4 -3
  100. package/dist/components/index.d.ts.map +1 -1
  101. package/dist/components/index.js +4 -3
  102. package/dist/components/index.js.map +1 -1
  103. package/dist/index.d.ts +4 -4
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +4 -4
  106. package/dist/index.js.map +1 -1
  107. package/dist/registry/index.d.ts.map +1 -1
  108. package/dist/registry/index.js +8 -2
  109. package/dist/registry/index.js.map +1 -1
  110. package/dist/server.d.ts +2 -2
  111. package/dist/server.d.ts.map +1 -1
  112. package/dist/server.js +2 -2
  113. package/dist/server.js.map +1 -1
  114. package/package.json +3 -2
  115. package/dist/adapters/next/ButtonMdx.jsx.map +0 -1
  116. package/dist/adapters/next/CardMdx.jsx +0 -7
  117. package/dist/adapters/next/CardMdx.jsx.map +0 -1
  118. package/dist/adapters/next/ImageMdx.jsx +0 -7
  119. package/dist/adapters/next/ImageMdx.jsx.map +0 -1
  120. package/dist/components/AccordionContext.jsx.map +0 -1
  121. package/dist/components/AccordionGroupMdx.jsx +0 -17
  122. package/dist/components/AccordionGroupMdx.jsx.map +0 -1
  123. package/dist/components/AccordionMdx.jsx +0 -76
  124. package/dist/components/AccordionMdx.jsx.map +0 -1
  125. package/dist/components/CardGroupMdx.jsx.map +0 -1
  126. package/dist/components/CardMdx.jsx.map +0 -1
  127. package/dist/components/CodeBlock.jsx +0 -77
  128. package/dist/components/CodeBlock.jsx.map +0 -1
  129. package/dist/components/CopyButton.jsx.map +0 -1
  130. package/dist/components/FileTreeMdx.jsx +0 -79
  131. package/dist/components/FileTreeMdx.jsx.map +0 -1
  132. package/dist/components/ImageMdx.jsx +0 -126
  133. package/dist/components/ImageMdx.jsx.map +0 -1
  134. package/dist/components/KeyboardMdx.jsx.map +0 -1
  135. package/dist/components/ReleaseMdx.jsx +0 -56
  136. package/dist/components/ReleaseMdx.jsx.map +0 -1
  137. package/dist/components/StepperMdx.jsx +0 -82
  138. package/dist/components/StepperMdx.jsx.map +0 -1
  139. package/dist/components/TableMdx.jsx.map +0 -1
  140. package/dist/components/TabsMdx.jsx +0 -124
  141. package/dist/components/TabsMdx.jsx.map +0 -1
  142. package/dist/components/TooltipsMdx.jsx +0 -42
  143. package/dist/components/TooltipsMdx.jsx.map +0 -1
  144. package/dist/components/YoutubeMdx.jsx +0 -15
  145. package/dist/components/YoutubeMdx.jsx.map +0 -1
@@ -1,124 +0,0 @@
1
- "use client";
2
- import { createContext, useContext, useId, useMemo, useRef, useState } from "react";
3
- const TabsContext = createContext(null);
4
- export function TabsMdx({ value, defaultValue = "tab-1", onValueChange, children, style, orientation = "horizontal", className, ...props }) {
5
- const [internalValue, setInternalValue] = useState(defaultValue);
6
- const id = useId();
7
- const selected = value ?? internalValue;
8
- const setValue = (next) => {
9
- if (value === undefined) {
10
- setInternalValue(next);
11
- }
12
- onValueChange?.(next);
13
- };
14
- const contextValue = useMemo(() => ({ value: selected, setValue, id, orientation }), [selected, id, orientation]);
15
- return (<TabsContext.Provider value={contextValue}>
16
- <div className={className} {...props} style={{ border: "1px solid hsl(var(--border, 210 14% 94%))", borderRadius: 10, margin: "1rem 0", ...style }}>
17
- {children}
18
- </div>
19
- </TabsContext.Provider>);
20
- }
21
- export function TabsListMdx({ children, style, ...props }) {
22
- const context = useContext(TabsContext);
23
- return (<div role="tablist" aria-orientation={context?.orientation ?? "horizontal"} {...props} style={{
24
- display: "flex",
25
- flexDirection: context?.orientation === "vertical" ? "column" : "row",
26
- alignItems: context?.orientation === "vertical" ? "stretch" : "center",
27
- gap: 8,
28
- overflowX: "auto",
29
- borderBottom: "1px solid hsl(var(--border, 210 14% 94%))",
30
- padding: "0.25rem 0.5rem",
31
- ...style,
32
- }}>
33
- {children}
34
- </div>);
35
- }
36
- export function TabsTriggerMdx({ value, children, style, onKeyDown, ...props }) {
37
- const context = useContext(TabsContext);
38
- const triggerRef = useRef(null);
39
- if (!context) {
40
- return null;
41
- }
42
- const tabsContext = context;
43
- const active = context.value === value;
44
- const controlId = `${context.id}-panel-${value}`;
45
- const triggerId = `${context.id}-tab-${value}`;
46
- function moveFocus(direction) {
47
- const tablist = triggerRef.current?.closest('[role="tablist"]');
48
- if (!tablist)
49
- return;
50
- const triggers = Array.from(tablist.querySelectorAll('[role="tab"]'));
51
- const currentIndex = triggers.findIndex((item) => item === triggerRef.current);
52
- if (currentIndex < 0)
53
- return;
54
- const nextIndex = (currentIndex + direction + triggers.length) % triggers.length;
55
- const nextTrigger = triggers[nextIndex];
56
- const nextValue = nextTrigger.dataset.value;
57
- nextTrigger.focus();
58
- if (nextValue) {
59
- tabsContext.setValue(nextValue);
60
- }
61
- }
62
- return (<button ref={triggerRef} type="button" role="tab" id={triggerId} aria-controls={controlId} aria-selected={active} data-value={value} tabIndex={active ? 0 : -1} onClick={() => tabsContext.setValue(value)} onKeyDown={(e) => {
63
- if (e.key === "Enter" || e.key === " ") {
64
- e.preventDefault();
65
- tabsContext.setValue(value);
66
- }
67
- if ((tabsContext.orientation === "horizontal" && e.key === "ArrowRight") || (tabsContext.orientation === "vertical" && e.key === "ArrowDown")) {
68
- e.preventDefault();
69
- moveFocus(1);
70
- }
71
- if ((tabsContext.orientation === "horizontal" && e.key === "ArrowLeft") || (tabsContext.orientation === "vertical" && e.key === "ArrowUp")) {
72
- e.preventDefault();
73
- moveFocus(-1);
74
- }
75
- if (e.key === "Home") {
76
- e.preventDefault();
77
- const tablist = triggerRef.current?.closest('[role="tablist"]');
78
- const firstTrigger = tablist?.querySelector('[role="tab"]');
79
- firstTrigger?.focus();
80
- if (firstTrigger?.dataset.value) {
81
- tabsContext.setValue(firstTrigger.dataset.value);
82
- }
83
- }
84
- if (e.key === "End") {
85
- e.preventDefault();
86
- const tablist = triggerRef.current?.closest('[role="tablist"]');
87
- const triggers = tablist ? Array.from(tablist.querySelectorAll('[role="tab"]')) : [];
88
- const lastTrigger = triggers.at(-1);
89
- lastTrigger?.focus();
90
- if (lastTrigger?.dataset.value) {
91
- tabsContext.setValue(lastTrigger.dataset.value);
92
- }
93
- }
94
- onKeyDown?.(e);
95
- }} {...props} style={{
96
- border: "none",
97
- borderBottom: active ? "2px solid hsl(var(--accent, 200 100% 40%))" : "2px solid transparent",
98
- background: "transparent",
99
- color: active ? "hsl(var(--foreground, 222 12% 12%))" : "hsl(var(--muted-foreground, 215 20% 65%))",
100
- fontSize: "0.875rem",
101
- fontWeight: 600,
102
- padding: "0.6rem 0.5rem",
103
- cursor: "pointer",
104
- ...style,
105
- }}>
106
- {children}
107
- </button>);
108
- }
109
- export function TabsContentMdx({ value, children, style, ...props }) {
110
- const context = useContext(TabsContext);
111
- if (!context) {
112
- return null;
113
- }
114
- const active = context.value === value;
115
- const panelId = `${context.id}-panel-${value}`;
116
- const triggerId = `${context.id}-tab-${value}`;
117
- return (<div role="tabpanel" id={panelId} aria-labelledby={triggerId} tabIndex={0} hidden={!active} {...props} style={{
118
- padding: "0.75rem",
119
- ...style,
120
- }}>
121
- {active ? children : null}
122
- </div>);
123
- }
124
- //# sourceMappingURL=TabsMdx.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TabsMdx.jsx","sourceRoot":"","sources":["../../src/components/TabsMdx.tsx"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- "use client";
2
- import { useId, useState } from "react";
3
- export function TooltipMdx({ text, tip, side = "top", style, className, ...props }) {
4
- const [open, setOpen] = useState(false);
5
- const id = useId();
6
- const tooltipContent = tip ?? "";
7
- const triggerContent = text ?? "?";
8
- const floatingPosition = side === "bottom" ? { top: "calc(100% + 8px)" } : { bottom: "calc(100% + 8px)" };
9
- return (<span className={className} {...props} style={{ position: "relative", display: "inline-block", ...style }} onMouseEnter={() => setOpen(true)} onMouseLeave={() => setOpen(false)} onFocus={() => setOpen(true)} onBlur={() => setOpen(false)}>
10
- <span tabIndex={0} aria-describedby={id} style={{
11
- cursor: "help",
12
- color: "hsl(var(--primary, 212 85% 55%))",
13
- textDecorationLine: "underline",
14
- textDecorationStyle: "dotted",
15
- textDecorationColor: "hsl(var(--primary, 212 85% 55%))",
16
- textUnderlineOffset: "0.18em",
17
- }} onKeyDown={(event) => {
18
- if (event.key === "Escape") {
19
- setOpen(false);
20
- }
21
- }}>
22
- {triggerContent}
23
- </span>
24
- {open && tooltipContent ? (<span id={id} role="tooltip" style={{
25
- position: "absolute",
26
- left: "50%",
27
- transform: "translateX(-50%)",
28
- ...floatingPosition,
29
- border: "1px solid hsl(var(--border, 210 14% 94%))",
30
- background: "hsl(var(--card, 0 0% 100%))",
31
- color: "hsl(var(--foreground, 222 12% 12%))",
32
- borderRadius: 8,
33
- padding: "0.35rem 0.5rem",
34
- fontSize: "0.78rem",
35
- whiteSpace: "nowrap",
36
- zIndex: 20,
37
- }}>
38
- {tooltipContent}
39
- </span>) : null}
40
- </span>);
41
- }
42
- //# sourceMappingURL=TooltipsMdx.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TooltipsMdx.jsx","sourceRoot":"","sources":["../../src/components/TooltipsMdx.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,KAAK,EAAE,QAAQ,EAA2D,MAAM,OAAO,CAAC;AASjG,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmB;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,cAAc,GAAG,GAAG,IAAI,EAAE,CAAC;IACjC,MAAM,cAAc,GAAG,IAAI,IAAI,GAAG,CAAC;IACnC,MAAM,gBAAgB,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE1G,OAAO,CACH,CAAC,IAAI,CACD,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,IAAI,KAAK,CAAC,CACV,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,KAAK,EAAE,CAAC,CACnE,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAClC,YAAY,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACnC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAC7B,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAE7B;YAAA,CAAC,IAAI,CACD,QAAQ,CAAC,CAAC,CAAC,CAAC,CACZ,gBAAgB,CAAC,CAAC,EAAE,CAAC,CACrB,KAAK,CAAC,CAAC;YACH,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,kCAAkC;YACzC,kBAAkB,EAAE,WAAW;YAC/B,mBAAmB,EAAE,QAAQ;YAC7B,mBAAmB,EAAE,kCAAkC;YACvD,mBAAmB,EAAE,QAAQ;SAChC,CAAC,CACF,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAEF;gBAAA,CAAC,cAAc,CACnB;YAAA,EAAE,IAAI,CACN;YAAA,CAAC,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC,CACtB,CAAC,IAAI,CACD,EAAE,CAAC,CAAC,EAAE,CAAC,CACP,IAAI,CAAC,SAAS,CACd,KAAK,CAAC,CAAC;gBACH,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,KAAK;gBACX,SAAS,EAAE,kBAAkB;gBAC7B,GAAG,gBAAgB;gBACnB,MAAM,EAAE,2CAA2C;gBACnD,UAAU,EAAE,6BAA6B;gBACzC,KAAK,EAAE,qCAAqC;gBAC5C,YAAY,EAAE,CAAC;gBACf,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,SAAS;gBACnB,UAAU,EAAE,QAAQ;gBACpB,MAAM,EAAE,EAAE;aACb,CAAC,CAEF;oBAAA,CAAC,cAAc,CACnB;gBAAA,EAAE,IAAI,CAAC,CACV,CAAC,CAAC,CAAC,IAAI,CACZ;QAAA,EAAE,IAAI,CAAC,CACV,CAAC;AACN,CAAC"}
@@ -1,15 +0,0 @@
1
- export function YoutubeMdx({ videoId, title = "YouTube video" }) {
2
- const src = `https://www.youtube-nocookie.com/embed/${videoId}`;
3
- return (<div style={{
4
- position: "relative",
5
- width: "100%",
6
- paddingTop: "56.25%",
7
- borderRadius: 12,
8
- overflow: "hidden",
9
- border: "1px solid hsl(var(--border, 210 14% 94%))",
10
- margin: "1rem 0",
11
- }}>
12
- <iframe src={src} title={title} allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen style={{ position: "absolute", inset: 0, width: "100%", height: "100%", border: 0 }}/>
13
- </div>);
14
- }
15
- //# sourceMappingURL=YoutubeMdx.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"YoutubeMdx.jsx","sourceRoot":"","sources":["../../src/components/YoutubeMdx.tsx"],"names":[],"mappings":"AAKA,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,eAAe,EAAmB;IAC5E,MAAM,GAAG,GAAG,0CAA0C,OAAO,EAAE,CAAC;IAEhE,OAAO,CACH,CAAC,GAAG,CACA,KAAK,CAAC,CAAC;YACH,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,EAAE;YAChB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,2CAA2C;YACnD,MAAM,EAAE,QAAQ;SACnB,CAAC,CAEF;YAAA,CAAC,MAAM,CACH,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,0FAA0F,CAChG,eAAe,CACf,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAE5F;QAAA,EAAE,GAAG,CAAC,CACT,CAAC;AACN,CAAC"}