Humuhumu33 commited on
Commit
9f78139
·
verified ·
1 Parent(s): 85ed264

kappa mirror: ui + q closures (2357 objects, blake3-addressed) - U3

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. b/0021c105dabfacd2f8e7fc1c2c1b9afecda88860dcedd89faf262d6c98ef7efc +3 -160
  2. b/004375ae38f8f60df30d1aa79b049df17a4d2419a8477b9f0ab6d9f9111d3632 +3 -1
  3. b/00800b27d3271fdf5c10f0d098b7e6b07b527f6fab38ed8b3ba03f981481fcad +0 -0
  4. b/009ad37fa607d681b03e1574c1afd0e22b60b6f9cf2f2d02a914aaf709a67eaf +3 -154
  5. b/00a2ea64f8f1b8baeaae695436c9816469e015112e451abacf6dfe4b683ccc23 +3 -59
  6. b/00d2212e26a720b895d884b125c12686911c8f05f012d9d435c793f5d30eec2e +0 -0
  7. b/00e8b665b233ebe3d2c2115dc7dd5fd4f2c1245608d3bcadd8ae35329669a298 +3 -338
  8. b/00f304cc047e5fa68147f46a224914902c6c78072ee298cfc637adcc67c650f9 +3 -64
  9. b/0118fd81c3350ccbc74d636e535d1ed04fc66f2cc256c0011d7ba9b72bdbaca8 +3 -176
  10. b/0125b4aefcdf8a60f5f792080b5c7c3a2dc4e7d94b2944cc1f33b037e6f88422 +3 -168
  11. b/012a523ffb16f2b547ba592431eadceb30694ad2fbac7808e9bad19816064244 +3 -67
  12. b/0161d18dd956c36090670735eb4e00301bc8094983043942fda308dd17f3a071 +3 -95
  13. b/01d871bb6ba230bc569f2317d0d9b66f261a2886212cea19dd4b9c6d2ea33e00 +3 -21
  14. b/01f614a14b04997f3d83e4c67b86c66cd9c8fd3e283e835a1f758b0dcb1b029f +3 -22
  15. b/0217f0be099e2a66784bbab908faae7dad5885b50bb3630484490f9d42976fcf +0 -0
  16. b/027ff96871dd509b63c900ac842c73b0653e40d2b94ef81fbaaad24828ce4a8d +3 -20
  17. b/02a423c729adb6d0091355b4fa1fa90353e30d86d401053b38f9a8db197fabdc +3 -7
  18. b/02b6d27c31aee0165976995733210ac10b4ff5aa6e7327d6b1335f5c07647dc4 +0 -0
  19. b/02bbcf2632f9442a4ad8b52965c5ea2ed82870767409e46c200661d9c9538750 +3 -21
  20. b/02fadf9567ca18e69153ec90fae6610a8395068dfd81076ddb6072083d860477 +3 -27
  21. b/0301af8caa374b18e6a95973baeed50629ed70097185a0e1437ab1c3d66251c9 +0 -0
  22. b/034b205bc3b448fc60431f627a3442110f44d66d9b16ea00906ae725162ad61a +3 -1
  23. b/034c7c8a5746f6bc4ec2ed9f660d9a118e43cb18271696d4fa17f6a056936b32 +3 -27
  24. b/035ff7cfa206ba468aaabd4736964edd7242b140623de00e26ed034bad437309 +3 -21
  25. b/0370c03a34305a3d873d23f04c878fa4f677b728532a1c0bafd288bdaf9520e9 +3 -175
  26. b/037416e2413c3a31a1d1d437571752ca16a450abdd714a03f591f9560aa44fdf +3 -130
  27. b/03949e721395537c6af6c7195712445aafbb4d000afffdfd028eb6bace54fdef +0 -0
  28. b/039e5d1656c0e8c453be3d328a2e0807bd6517ab56ac00860f5da000a3f08443 +0 -0
  29. b/03f5dc0d0f926e5d712e3958d2af29d00c06b2f19b31f42956205c33a6bba059 +3 -1
  30. b/043c0d04dd880c707120df43cc645f31e7d679ba2bcf12c717dffdfe881db9d2 +3 -20
  31. b/045cad2a1aae28761839e6657051c50b958b16d554cec18b91f6934e4e931dc6 +3 -40
  32. b/045f53bb410d8663676868aae786ad3a13042cca4c29dbd94af87771d76c76a4 +3 -26
  33. b/048dc405399b7359a58d7fdad85d3d5f9d55287309214aab1b590ec1e2a10938 +0 -0
  34. b/04aea8f2ca700f633c65249a2423ba1ff163d6b151481f63b9914421743e2159 +3 -28
  35. b/04b3679916dc81b2c17982a9844297bb4cf1768394bd85d65f3dd023997356bd +3 -20
  36. b/04bd8e277222be166b84adb9c537f9ca9f8362006987bb998691c162e42eddc5 +3 -387
  37. b/04c563a5eade7889e606a0e402e3dcc6ffdcab8d40a97c3c8d8714e424af3fac +3 -32
  38. b/04e78a89259a1e665b7086182d2e5b96a6f0a65afe553aab91eb03d2765eb1d1 +3 -21
  39. b/04fe1db0ccedcb1596368c9de941ea9776265f3124c92e0162a397b136406862 +3 -1
  40. b/05391960291ed7748c95c5463c0114c912a7b83508c9d16cdee9e5b2e6b30736 +3 -27
  41. b/054cba6688ece25c5c539cff176bb114e406cd1023387d85334eb0f26f3a25fb +3 -20
  42. b/05502b8bef64ef6e3a2536edab5f7f823f8d32f677e68d42113c864be480c1a1 +3 -67
  43. b/0585b8f603c192aa7f2808b562d81a636cf7ef163f58372e4b64b5fa53c10271 +3 -214
  44. b/05909d3d141555a0663cac4be63b7faae7e6c78bb95a9c1a74950e3b672b59dc +3 -146
  45. b/059c84413a6e6c685bb8d29596e9994370f2f86316172ab9b619fe0b2327e7e1 +3 -51
  46. b/05b278d12b7101c796f4377aba28fc98899b9ec28dbad33469708e71e8fcf6e5 +3 -1
  47. b/05d5d96082c0baec31176021759fcadb2645f11a124f9e0c03441cf38bd691d4 +3 -109
  48. b/05ddcab3177064eb8198a3edcdf993cfff6e6386791fe60d807b00e5a854dacb +3 -7
  49. b/05e90acb133117e2237b9bca7293db457928e119803758a9cadfcbffbbfd8484 +3 -1
  50. b/0604e56c6852fd527fbf6151eefcbeba39ba0847a8ed15fe338c6db6b946358a +3 -99
b/0021c105dabfacd2f8e7fc1c2c1b9afecda88860dcedd89faf262d6c98ef7efc CHANGED
@@ -1,160 +1,3 @@
1
- /* eslint-disable react/no-children-prop */
2
- "use client"
3
-
4
- import { useForm } from "@tanstack/react-form"
5
- import { toast } from "sonner"
6
- import * as z from "zod"
7
-
8
- import { Button } from "@/registry/new-york-v4/ui/button"
9
- import {
10
- Card,
11
- CardContent,
12
- CardDescription,
13
- CardFooter,
14
- CardHeader,
15
- CardTitle,
16
- } from "@/registry/new-york-v4/ui/card"
17
- import {
18
- Field,
19
- FieldContent,
20
- FieldDescription,
21
- FieldError,
22
- FieldGroup,
23
- FieldLabel,
24
- FieldLegend,
25
- FieldSet,
26
- FieldTitle,
27
- } from "@/registry/new-york-v4/ui/field"
28
- import {
29
- RadioGroup,
30
- RadioGroupItem,
31
- } from "@/registry/new-york-v4/ui/radio-group"
32
-
33
- const plans = [
34
- {
35
- id: "starter",
36
- title: "Starter (100K tokens/month)",
37
- description: "For everyday use with basic features.",
38
- },
39
- {
40
- id: "pro",
41
- title: "Pro (1M tokens/month)",
42
- description: "For advanced AI usage with more features.",
43
- },
44
- {
45
- id: "enterprise",
46
- title: "Enterprise (Unlimited tokens)",
47
- description: "For large teams and heavy usage.",
48
- },
49
- ] as const
50
-
51
- const formSchema = z.object({
52
- plan: z.string().min(1, "You must select a subscription plan to continue."),
53
- })
54
-
55
- export default function FormTanstackRadioGroup() {
56
- const form = useForm({
57
- defaultValues: {
58
- plan: "",
59
- },
60
- validators: {
61
- onSubmit: formSchema,
62
- },
63
- onSubmit: async ({ value }) => {
64
- toast("You submitted the following values:", {
65
- description: (
66
- <pre className="mt-2 w-[320px] overflow-x-auto rounded-md bg-code p-4 text-code-foreground">
67
- <code>{JSON.stringify(value, null, 2)}</code>
68
- </pre>
69
- ),
70
- position: "bottom-right",
71
- classNames: {
72
- content: "flex flex-col gap-2",
73
- },
74
- style: {
75
- "--border-radius": "calc(var(--radius) + 4px)",
76
- } as React.CSSProperties,
77
- })
78
- },
79
- })
80
-
81
- return (
82
- <Card className="w-full sm:max-w-md">
83
- <CardHeader>
84
- <CardTitle>Subscription Plan</CardTitle>
85
- <CardDescription>
86
- See pricing and features for each plan.
87
- </CardDescription>
88
- </CardHeader>
89
- <CardContent>
90
- <form
91
- id="form-tanstack-radiogroup"
92
- onSubmit={(e) => {
93
- e.preventDefault()
94
- form.handleSubmit()
95
- }}
96
- >
97
- <FieldGroup>
98
- <form.Field
99
- name="plan"
100
- children={(field) => {
101
- const isInvalid =
102
- field.state.meta.isTouched && !field.state.meta.isValid
103
- return (
104
- <FieldSet>
105
- <FieldLegend>Plan</FieldLegend>
106
- <FieldDescription>
107
- You can upgrade or downgrade your plan at any time.
108
- </FieldDescription>
109
- <RadioGroup
110
- name={field.name}
111
- value={field.state.value}
112
- onValueChange={field.handleChange}
113
- >
114
- {plans.map((plan) => (
115
- <FieldLabel
116
- key={plan.id}
117
- htmlFor={`form-tanstack-radiogroup-${plan.id}`}
118
- >
119
- <Field
120
- orientation="horizontal"
121
- data-invalid={isInvalid}
122
- >
123
- <FieldContent>
124
- <FieldTitle>{plan.title}</FieldTitle>
125
- <FieldDescription>
126
- {plan.description}
127
- </FieldDescription>
128
- </FieldContent>
129
- <RadioGroupItem
130
- value={plan.id}
131
- id={`form-tanstack-radiogroup-${plan.id}`}
132
- aria-invalid={isInvalid}
133
- />
134
- </Field>
135
- </FieldLabel>
136
- ))}
137
- </RadioGroup>
138
- {isInvalid && (
139
- <FieldError errors={field.state.meta.errors} />
140
- )}
141
- </FieldSet>
142
- )
143
- }}
144
- />
145
- </FieldGroup>
146
- </form>
147
- </CardContent>
148
- <CardFooter>
149
- <Field orientation="horizontal">
150
- <Button type="button" variant="outline" onClick={() => form.reset()}>
151
- Reset
152
- </Button>
153
- <Button type="submit" form="form-tanstack-radiogroup">
154
- Save
155
- </Button>
156
- </Field>
157
- </CardFooter>
158
- </Card>
159
- )
160
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8bfab881f32a1525e1f6f41d66122c965eec061d430c07ff601134f738c02cd7
3
+ size 4643
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/004375ae38f8f60df30d1aa79b049df17a4d2419a8477b9f0ab6d9f9111d3632 CHANGED
@@ -1 +1,3 @@
1
- {"tapes": [{"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 16, 15, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 1044, 449, 14791, 1414, 1558, 1973, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 198, 9, 256, 2972, 1860, 264, 16893], "text": "set a 10 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 15, 15823, 310, 222352, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 20, 15, 387, 2995, 310, 36637, 53525, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 198, 12, 220, 16, 207853, 283, 220, 17, 13, 17, 15, 19, 21, 17, 15823], "text": "convert 50 pounds to kilos"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 1441, 279, 9039, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 328, 404, 1441, 279, 9039, 1288, 694, 353, 1459, 914, 599, 2528, 310, 678, 71550, 11, 9682, 2444, 1785, 11, 466, 866, 11810, 11241, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972], "text": "turn down the temperature"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2919, 279, 10462, 303, 449, 6258, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 716, 264, 25680, 11, 694, 353, 1459, 914, 599, 279, 21610, 310, 3502, 21292, 466, 3627, 854, 3808, 15243, 13, 271, 332, 3710, 353, 628, 635, 64700, 198, 12, 11150, 488, 1791, 264, 25680, 1785, 318, 4650], "text": "remind me to water the plants in an hour"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 974, 279, 71550, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 5774, 2444, 678, 71550, 1521, 353, 1459, 914, 599, 2528, 310, 678, 2046, 579, 7539, 7370, 466, 6745, 5757, 13, 271, 10883, 11, 1532, 513, 1010, 5337, 488, 628, 2404, 424, 974, 25, 271, 16, 13, 2972, 2592, 424, 579, 264, 7539], "text": "turn off the thermostat"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 10939, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 264, 2050, 1560, 310, 1562, 1208, 13, 353, 2688, 449, 14791, 1414, 17313, 11, 748, 353, 628, 914, 1236, 4392, 6526, 13, 271, 2592, 488, 2224, 4313, 310, 5372, 4184, 6725, 10939, 11, 488, 3172, 1144, 310, 958, 678, 4392], "text": "call Chris"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 854, 369, 424, 303, 6924, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 1928, 11, 2583, 279, 1428, 854, 303, 6924, 13, 2921, 6337, 369, 6973, 310, 1092, 557, 3766, 303, 1004, 10125, 2193, 11, 321, 1017, 579, 874, 11112, 466, 854, 795, 5064, 13, 271, 1206, 1423, 279], "text": "what time is it in London"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 851, 728, 279, 8831, 29102, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1301, 8831, 29102, 364, 488, 0, 4213, 11, 353, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 466, 1428, 3543, 33254, 13, 271, 1206, 615, 1428, 8831, 29102, 11, 353, 4035, 6718, 25, 271, 16, 13, 2972, 28034], "text": "read me the weather headlines"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 48502, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 48502, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13, 2972, 5708], "text": "what's the weather in Seoul"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 974, 279, 43167, 3000, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 2444, 6745, 7370, 466, 12346, 303, 678, 2046, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 1206, 2404, 974, 678, 43167, 3000, 11, 488, 3172, 1144, 310, 25, 198, 12, 5272, 279, 3000, 3289, 383], "text": "turn off the porch light"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 14211, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 14211, 11, 353, 6718, 25, 271, 16, 13, 2972, 14030, 21926, 332, 471, 7304, 328, 68916, 8831, 1, 364, 264, 3841, 22527, 198, 17, 13, 2972, 12358], "text": "what's the weather in Toronto"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 79825, 506, 35915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 4439, 728, 310, 328, 27695, 264, 6236, 440, 79825, 506, 35915, 1288, 694, 411, 7701, 310, 381, 264, 4204, 3274, 4598, 1056, 264, 3377, 353, 628, 11290, 440, 31626, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16], "text": "schedule a meeting with grandma at noon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 17230, 1118, 3065, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4204, 12786, 466, 2902, 9412, 11, 748, 353, 628, 914, 3404, 2236, 264, 6236, 364, 488, 13, 271, 10883, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 264, 1876, 332, 310, 3502, 310, 678], "text": "schedule a meeting with dad first thing tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 15, 3161, 314, 220, 23, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 15, 4, 314, 220, 23, 15, 25, 271, 332, 3407, 220, 16, 25, 11747, 279, 11086, 14377, 332, 198, 13682, 16, 15, 59, 4, 1088, 1272, 90, 314, 333, 220, 23, 15, 283, 1088, 35790, 90, 16], "text": "what's 10 percent of 80"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 16586, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 3766, 264, 3108, 310, 3502, 264, 1876, 11, 694, 353, 2688, 524, 2858, 310, 5774, 3522, 1208, 466, 3502, 21306, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 11, 524, 264, 28560, 878, 13, 271, 10883, 11, 353, 628, 1438], "text": "text Jordan that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 17, 15, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 1044, 449, 14791, 1414, 1558, 1973, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 16, 13, 220, 2972, 1860, 678], "text": "set a 20 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 6353, 1083, 5753, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 1, 38, 12778, 189260, 175267, 271, 4277, 271, 332, 60239, 64700, 198, 12, 189551, 38643, 5753, 16629, 364, 328, 17981, 6353, 1, 198, 12, 189551, 11851, 494, 61665, 2980, 2094, 35915, 198, 12, 189551, 191981, 6804, 4252], "text": "translate good morning into German"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 17377, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 1428, 3602, 466, 1865, 7019, 8831, 795, 13, 1946, 615, 449, 12995, 17071, 364, 17377, 11, 4338, 25, 271, 16, 13, 4109, 264, 8831, 3779, 466, 878, 318, 4650, 21926, 877, 11, 11101, 84, 28034, 11, 466], "text": "what's the weather like tonight"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 821, 12553, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 11313, 383, 279, 6331, 25, 271, 332, 47585, 899, 64700, 198, 1, 18103, 11, 4162, 264, 2612, 3200, 11, 668, 381, 1017, 303, 498, 55, 60, 4276, 1149, 271, 332, 12115, 594, 6916, 64700, 198, 1, 18417, 3200, 11], "text": "text my sister that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 3788, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 1423, 3788, 4477, 0, 5514, 513, 1010, 2172, 2519, 25, 271, 332, 61193, 18593, 10401, 64700, 198, 12, 2972, 33, 595, 332, 471, 351, 4638, 73411, 466, 236108, 45123, 428, 198, 12, 2972, 44, 9230, 461, 332], "text": "play some study music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 20, 3161, 314, 220, 17, 19, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 20, 4, 314, 220, 17, 19, 15, 25, 271, 332, 3407, 220, 16, 25, 6943, 11086, 310, 11778, 332, 198, 13682, 20, 59, 4, 283, 1088, 35790, 90, 20, 14728, 16, 15, 15, 92, 283, 220, 15, 13], "text": "what's 5 percent of 240"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 15957, 303, 449, 6258, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 5774, 9412, 15782, 440, 8976, 9389, 1040, 15957, 13, 4213, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 264, 6236, 1622, 2469, 332, 310, 3502, 310, 15957, 198, 17, 13, 2972, 3886, 264, 6236], "text": "schedule a meeting with Taylor in an hour"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 3772, 264, 10793, 364, 41674, 15530, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 369, 264, 11088, 11, 14294, 10793, 364, 73233, 47398, 13, 1061, 10793, 5533, 279, 328, 76, 3690, 290, 13696, 1, 1654, 11, 864, 11121, 264, 19882, 1505, 3434, 321, 264, 20117, 38300, 13, 271, 13962, 2972, 61193, 78887, 73233, 47398, 332, 271, 332], "text": "find a recipe for banana bread"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 10482, 321, 13671, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 24329, 243, 25245, 198, 12, 10838, 98, 249, 42374, 271, 4277, 271, 332, 8839, 64700, 353, 2688, 264, 1414, 5792, 14791, 11, 748, 353, 1459, 914, 599, 2528, 310, 678, 4880, 11580, 1103], "text": "add coffee and milk to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 1248, 1503, 424, 1831, 310, 19695, 19052, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 3251, 6267, 28554, 3984, 12347, 271, 13962, 16743, 21134, 198, 91, 28554, 3856, 735, 3251, 6267, 3984, 735, 198, 91, 17549, 91, 37363, 91, 198, 91, 5626, 19052, 735, 220, 16, 20, 4006, 17, 15, 4276, 735, 198, 91, 10158, 19052, 735, 220], "text": "how long does it take to steam rice"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 20, 3161, 314, 220, 20, 15, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 20, 4, 314, 220, 20, 15, 15, 25, 271, 332, 3407, 220, 16, 25, 6943, 11086, 310, 11778, 332, 198, 13682, 20, 59, 4, 283, 1088, 35790, 90, 20, 14728, 16, 15, 15, 92, 283, 220, 15, 13], "text": "what's 5 percent of 500"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 821, 13005, 17377, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 12786, 11, 678, 13005, 579, 9412, 11, 466, 866, 36602, 7141, 488, 2493, 958, 13, 271, 332, 1206, 3404, 9412, 411, 6236, 11, 488, 3172, 1144, 310, 64700, 271, 16, 13, 2972, 3840, 678, 13005, 579, 17509], "text": "schedule a meeting with my boss tonight"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 279, 1844, 12611, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 1423, 1844, 12611, 0, 4213, 11, 353, 5125, 488, 8719, 914, 5024, 25, 271, 16, 13, 2972, 3710, 913, 314, 4477, 332, 513, 488, 3221, 364, 30, 318, 11265, 11, 6730, 11, 17603, 47093, 11, 3046, 11], "text": "play the top hits"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1438, 728, 1083, 79915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 1, 12325, 728, 175267, 11069, 173976, 112523, 175267, 318, 65, 29656, 938, 288, 131, 240, 8, 271, 332, 21825, 2829, 64700, 198, 12, 2972, 96598, 332, 318, 65, 29656, 938, 8, 283, 310, 1438, 198, 12, 2972, 95815, 332], "text": "translate help me into Mandarin"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 15, 8491, 310, 39229, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 46629, 7911, 64700, 220, 16, 14167, 283, 220, 16, 13, 21, 15, 24, 18, 19, 39229, 271, 332, 45593, 2820, 64700, 198, 13682, 20, 15, 1088, 1272, 90, 8491, 92, 1088, 14695, 220, 16, 13, 21, 15, 24, 18, 19], "text": "convert 50 miles to kilometers"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 43119, 321, 13696, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 4212, 310, 884, 64700, 198, 12, 2972, 1860, 880, 332, 198, 12, 2972, 3850, 455, 332, 271, 4277, 271, 332, 60239, 64700, 198, 12, 189551, 11396, 3470, 513, 28620, 3436, 83831, 198, 12, 189551, 11396, 513, 16138, 1429], "text": "add onions and butter to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 9414, 488, 303, 10452, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 1379, 4047, 321, 30894, 1560, 310, 1910, 328, 55495, 488, 1, 303, 10452, 369, 25, 271, 332, 6737, 339, 266, 282, 332, 318, 82730, 8, 271, 1919, 369, 1429, 303, 1379, 17248, 14314, 13, 271, 4277, 271, 332, 28072, 2193, 64700, 271, 91], "text": "how do you say thank you in Japanese"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6472, 17230, 264, 1876, 5315, 6051, 14756, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 364, 264, 14756, 1876, 310, 678, 17230, 11, 11313, 383, 678, 1647, 25, 271, 332, 5173, 220, 16, 25, 10382, 594, 25739, 332, 198, 1, 31759, 35042, 11, 31448, 0, 457, 10655, 488, 264, 1834, 9896, 440, 15420, 321], "text": "send dad a message saying happy birthday"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 15, 24569, 310, 89668, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 20, 15, 75430, 310, 36983, 382, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 271, 760, 5129, 13996, 369, 25, 198, 12, 2972, 16, 10212, 283, 220, 15, 13, 17], "text": "convert 50 cups to liters"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 17, 15, 15823, 310, 222352, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 17, 15, 387, 2995, 310, 36637, 53525, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 198, 12, 220, 16, 207853, 283, 220, 17, 13, 17, 15, 19, 21, 17, 15823], "text": "convert 20 pounds to kilos"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 7967, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 3766, 264, 3108, 310, 3502, 264, 1876, 11, 694, 353, 1459, 914, 599, 2528, 310, 678, 4204, 17954, 466, 28560, 10187, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972, 48401, 264, 1876, 364, 488, 310], "text": "text Sam that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 18, 15, 3161, 314, 220, 23, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 18, 15, 4, 314, 220, 23, 15, 25, 271, 332, 3407, 220, 16, 25, 6943, 11086, 310, 11778, 332, 198, 13682, 18, 15, 59, 4, 283, 220, 15, 13, 18, 15, 13682, 198, 13682, 15, 13, 18, 15], "text": "what's 30 percent of 80"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 2388, 264, 220, 17, 15, 9104, 5077, 3669, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 26760, 4465, 220, 17, 15, 5084, 258, 1035, 24985, 8891, 271, 332, 14951, 279, 21427, 64700, 271, 16, 13, 2972, 13606, 678, 26622, 332, 471, 10466, 73834, 11, 3160, 24366, 21700, 198, 17, 13, 2972, 10570, 3274, 1132, 332, 471, 3648, 3065, 11], "text": "start a 20 minute focus session"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 50779, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 50779, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13, 2972, 5708], "text": "what's the weather in Cairo"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 685, 279, 31143, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 328, 404, 685, 279, 31143, 1288, 694, 411, 369, 264, 2940, 6047, 383, 678, 3545, 11, 524, 2414, 353, 628, 2444, 5774, 13, 271, 332, 1206, 7265, 31143, 383, 678, 3545, 64700, 271, 12, 2972, 12782, 92217], "text": "turn up the brightness"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 21, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 6am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 854, 369, 424, 303, 32910, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 1928, 11, 2583, 279, 1428, 854, 303, 32910, 13, 271, 70705, 2075, 25224, 383, 2972, 38, 13898, 11429, 3984, 318, 72943, 221719, 864, 369, 2972, 20533, 10, 19, 332, 1007, 20372, 318, 2083, 50273, 13595, 854], "text": "what time is it in Dubai"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 32910, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 32910, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 877, 198, 17, 13, 2972, 5708], "text": "what's the weather in Dubai"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 1372, 400, 558, 477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 50, 13044, 10592, 13044, 10923, 9141, 20819, 9023, 20819, 9009, 28184, 332], "text": "spell serendipity"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 16, 17, 15823, 310, 222352, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 16, 17, 387, 2995, 310, 36637, 53525, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 198, 12, 220, 16, 29040, 318, 20476, 8, 283, 220, 15, 13, 19, 20, 18], "text": "convert 12 pounds to kilos"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 15957, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 3766, 264, 3108, 310, 3502, 264, 1876, 11, 694, 353, 2688, 524, 2858, 310, 5774, 3522, 1208, 466, 3502, 21306, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 11, 524, 264, 28560, 878, 13, 271, 10883, 11, 353, 628, 1438], "text": "text Taylor that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2236, 264, 1898, 1238, 15322, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 23226, 488, 310, 2236, 264, 1898, 1238, 15322, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3627, 854, 1881, 1004, 20319, 13, 271, 332, 3710, 353, 628, 635, 64700, 198, 12, 38256, 18252], "text": "remind me to book a table after lunch"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2216, 279, 7765, 506, 220, 21, 5022, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 716, 264, 25680, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 1791, 466, 9791, 12786, 4216, 466, 21292, 13, 271, 332, 3710, 353, 628, 635, 64700, 198, 12, 11150, 488, 9665, 264, 7903, 18944, 1876, 198], "text": "remind me to pay the rent at 6pm"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 23, 3161, 314, 220, 20, 15, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 23, 4, 314, 220, 20, 15, 15, 25, 271, 332, 8046, 220, 16, 64700, 6943, 279, 11086, 310, 264, 11778, 198, 13682, 16, 23, 59, 4, 283, 1088, 35790, 90, 16, 23, 14728, 16, 15, 15, 92], "text": "what's 18 percent of 500"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 16586, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4392, 579, 17954, 466, 7842, 14512, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 1206, 1562, 16586, 11, 488, 3172, 1144, 310, 25, 198, 12, 5097, 678, 4392, 579, 4392, 878, 198, 12, 8919, 685], "text": "call Jordan"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 6511, 314, 8071, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 6511, 314, 8071, 369, 2972, 6503, 60241, 159034, 271, 2064, 369, 7172, 303, 279, 12982, 17828, 46483, 318, 6609, 681, 864, 557, 3354, 11352, 310, 3626, 279, 5145, 6511, 11, 29099, 1881, 279, 1330, 7526, 9432, 11, 20620, 321, 25592, 13], "text": "what's the capital of Australia"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 854, 369, 424, 303, 48502, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 1928, 11, 2583, 279, 1428, 854, 303, 48502, 13, 1946, 1423, 680, 279, 1428, 854, 303, 48502, 11, 353, 6718, 25, 271, 16, 13, 44555, 678, 3545, 579, 1814, 8598, 4416, 198, 17, 13, 77140, 328], "text": "what time is it in Seoul"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 449, 12995, 17071, 364, 16089, 11, 353, 6718, 25, 271, 16, 13, 2972, 3840, 264, 8831, 3779, 332, 1040, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17], "text": "what's the weather like tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 2388, 264, 220, 16, 20, 9104, 5077, 3669, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 26760, 4465, 220, 16, 20, 5084, 258, 1035, 24985, 8891, 271, 332, 14951, 279, 21427, 64700, 271, 16, 13, 2972, 13606, 678, 26622, 332, 471, 10466, 73834, 11, 3160, 24366, 21700, 198, 17, 13, 2972, 10570, 3274, 1132, 332, 471, 3648, 3065, 11], "text": "start a 15 minute focus session"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 65069, 321, 19052, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 7525, 5860, 1103, 64700, 198, 12, 22023, 25080, 198, 12, 28554, 271, 4277, 271, 332, 60239, 64700, 198, 12, 189551, 17158, 328, 6636, 25080, 1, 310, 279, 1103, 198, 12, 189551, 17158, 328, 22399, 1, 310, 279, 1103], "text": "add bananas and rice to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 20, 3161, 314, 220, 16, 20, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 20, 4, 314, 220, 16, 20, 15, 25, 271, 332, 8046, 220, 16, 64700, 6943, 279, 11086, 310, 264, 11778, 198, 13682, 16, 20, 59, 4, 283, 1088, 35790, 90, 16, 20, 14728, 16, 15, 15, 92], "text": "what's 15 percent of 150"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 821, 12553, 1238, 15322, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4204, 12786, 466, 36602, 1785, 11, 748, 353, 628, 914, 5774, 2236, 264, 6236, 364, 488, 13, 271, 10883, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 264, 1876, 332, 310, 3502, 310, 678], "text": "schedule a meeting with my sister after lunch"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 17, 3161, 314, 220, 21, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 17, 4, 314, 220, 21, 15, 25, 271, 332, 8046, 220, 16, 64700, 6943, 279, 11086, 310, 264, 11778, 198, 13682, 16, 17, 59, 4, 283, 1088, 35790, 90, 16, 17, 14728, 16, 15, 15, 92, 283], "text": "what's 12 percent of 60"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 16, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 430, 353, 1044, 264, 1414, 5792, 14791, 13, 4213, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 332, 1860, 16893, 64700, 198, 12, 8185, 1510, 14567, 478, 25662, 478, 345, 63, 318, 12782, 91070, 8], "text": "set a 1 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 3603, 1083, 10452, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 49732, 14053, 64700, 271, 332, 12512, 31171, 152259, 60896, 10119, 318, 46, 78645, 23572, 31230, 271, 332, 47, 2176, 44767, 64700, 13616, 11691, 1413, 1284, 47409, 1395, 2059, 271, 332, 28072, 2193, 64700, 198, 12, 1061, 369, 279, 1379, 4047, 321, 5629, 1560], "text": "translate good night into Japanese"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 2414, 491, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 12804, 2414, 491, 0, 4213, 11, 353, 5125, 488, 8719, 914, 5024, 1092, 2993, 314, 328, 902, 1, 3039, 488, 2224, 3221, 364, 13, 271, 12525, 488, 35932, 1092, 488, 4035, 1040, 728, 310, 635, 30, 1690], "text": "play something new"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1436, 488, 4970, 303, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 36783, 25, 328, 9538, 1394, 30720, 1, 303, 15659, 271, 13962, 24298, 36783, 271, 332, 1, 220450, 18803, 191931, 34530, 8687, 332, 318, 35, 5734, 1395, 8739, 263, 1402, 9696, 11691, 78, 15836, 271, 332, 47, 2176, 44767, 64700, 50721, 1395, 88, 129], "text": "how do you say see you soon in Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 17, 15, 24569, 310, 89668, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 17, 15, 24569, 310, 89668, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 271, 760, 5129, 13996, 1881, 24569, 321, 89668, 369, 25, 198, 12, 2972, 16, 10212, 283, 220], "text": "convert 20 cups to liters"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 19, 20, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 635, 524, 599, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 16, 13, 220, 2972, 1860, 678, 13897, 64700, 5097], "text": "set a 45 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 6511, 314, 6124, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 6511, 314, 6124, 369, 2972, 51076, 15560, 159034, 271, 51076, 15560, 682, 978, 279, 6511, 2394, 279, 2088, 33716, 64568, 303, 220, 16, 23, 21, 23, 11, 948, 33178, 2088, 33716, 7481, 279, 33145, 5300, 494, 78229, 310, 458, 2887, 318, 7949, 557], "text": "what's the capital of Japan"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 23327, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 23327, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13, 2972, 5708], "text": "what's the weather in Madrid"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2216, 279, 7765, 1118, 3065, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3502, 21292, 310, 488, 13, 353, 2688, 264, 1414, 5792, 14791, 421, 628, 1132, 1817, 321, 5707, 310, 279, 1928, 488, 3300, 303, 1004, 10125, 13, 271, 332, 3710, 353, 628, 635, 64700, 198], "text": "remind me to pay the rent first thing tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6472, 821, 13005, 264, 1876, 5315, 6051, 14756, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 364, 264, 14756, 1876, 310, 678, 13005, 11, 11313, 383, 678, 4864, 321, 279, 2724, 7431, 25, 271, 332, 5173, 220, 16, 25, 20586, 594, 3526, 614, 318, 24845, 364, 1379, 14314, 31230, 198, 29, 328, 31759, 35042, 11], "text": "send my boss a message saying happy birthday"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 9414, 488, 1083, 5753, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 1, 12684, 488, 1, 11069, 328, 36769, 432, 175267, 318, 39102, 278, 8, 466, 328, 36769, 432, 72219, 1, 318, 6183, 46193, 8, 271, 332, 60239, 64700, 198, 12, 50615, 328, 36769, 432, 1, 369, 279, 5129, 11, 58391], "text": "translate thank you into German"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 974, 279, 5214, 2956, 12346, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 2444, 6745, 7370, 466, 12346, 303, 678, 2046, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 321, 1459, 914, 599, 2528, 310, 678, 7539, 2046, 1785, 466, 866, 8173, 7370, 13, 271, 1206, 2404, 974, 678, 5214], "text": "turn off the living room lights"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 16, 20, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 1044, 449, 14791, 1414, 1558, 1973, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 16, 13, 220, 2972, 1860, 678], "text": "set a 15 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1603, 3603, 303, 32988, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 6737, 65982, 64700, 328, 43, 347, 75, 295, 1644, 277, 31434, 1, 318, 148335, 155440, 22639, 149544, 28850, 149798, 8, 271, 332, 47, 2176, 44767, 64700, 328, 43, 347, 2759, 308, 11495, 48683, 1413, 12, 1413, 1, 271, 332, 60239, 64700, 198, 12], "text": "how do you say good night in Arabic"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1603, 6353, 303, 79915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 14773, 6353, 303, 79915, 369, 25, 220, 130328, 318, 89, 131, 236, 8992, 512, 304, 131, 236, 78, 31230, 271, 332, 21825, 2829, 64700, 198, 12, 220, 96614, 318, 89, 131, 236, 78, 8, 283, 3988, 3082, 76833, 198, 12, 220, 95802, 318], "text": "how do you say good morning in Mandarin"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 25358, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 369, 1521, 488, 8719, 914, 3766, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 25358, 11, 353, 1144, 25, 198, 12, 4465, 1428, 3177, 5350, 754, 466, 13534, 198, 12, 12757, 488, 2977, 25358], "text": "how far is Tokyo from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1438, 728, 303, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 36783, 25, 328, 12325, 728, 1, 303, 15659, 271, 13962, 24298, 36783, 271, 332, 1, 196759, 88509, 1, 318, 67, 358, 327, 1573, 784, 15560, 31230, 271, 1919, 369, 279, 1379, 4047, 321, 5629, 1560, 310, 1910, 328, 8389, 728, 1, 303, 15659], "text": "how do you say help me in Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 9414, 488, 303, 8323, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 8323, 16629, 364, 328, 55495, 488, 1, 369, 173976, 1134, 5674, 1, 159034, 271, 12, 2972, 47, 2176, 44767, 92217, 593, 76, 133, 249, 134, 223, 87992, 14, 318, 76, 1264, 12, 3924, 8, 198, 12, 2972, 14354, 92217, 11851, 303, 660, 14314], "text": "how do you say thank you in French"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 1142, 685, 821, 3425, 506, 35915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 23226, 488, 883, 23891, 685, 678, 3425, 506, 35915, 13, 4213, 11, 353, 1459, 914, 599, 279, 5548, 310, 716, 4880, 63383, 466, 21292, 364, 488, 13, 271, 332, 3710, 353, 628, 635, 64700, 198, 12, 38256], "text": "remind me to back up my files at noon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 91893, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 44, 5130, 13148, 332, 3254, 8755, 2172, 6326, 310, 7472, 26, 1546, 16097, 321, 22825, 13, 271, 332, 1536, 13173, 64700, 198, 12, 2972, 969, 14025, 2022, 92217, 31245, 5562, 2414, 15060, 321, 6379, 198, 12, 2972, 53639, 92217, 11142, 286, 3160, 6326], "text": "define meticulous"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 23, 3161, 314, 220, 17, 15, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 23, 4, 314, 220, 17, 15, 15, 25, 271, 332, 8046, 220, 16, 64700, 6943, 279, 11086, 310, 264, 11778, 198, 13682, 16, 23, 59, 4, 283, 1088, 35790, 90, 16, 23, 14728, 16, 15, 15, 92], "text": "what's 18 percent of 200"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1204, 513, 488, 1083, 79915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 1, 4199, 513, 488, 7285, 332, 11069, 173976, 109266, 98179, 10992, 175267, 318, 45, 131, 238, 304, 131, 236, 78, 7256, 9868, 271, 4277, 271, 332, 60239, 64700, 271, 91, 5403, 735, 387, 59431, 735, 46499, 735, 198, 91], "text": "translate how are you into Mandarin"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 81751, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 14952, 279, 1622, 11, 694, 353, 2688, 524, 2858, 310, 1432, 4477, 5774, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 10883, 11, 353, 628, 1438, 488, 1423, 81751, 4477, 18005, 0, 5514, 513, 1010, 17683, 25, 271, 332, 61193, 81751], "text": "play some upbeat music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1438, 728, 1083, 14712, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 1, 347, 204394, 368, 1, 271, 332, 60239, 64700, 198, 12, 328, 13642, 1, 283, 328, 45456, 1692, 396, 1, 50615, 198, 12, 328, 8389, 1, 283, 328, 347, 170905, 1, 50615, 198, 12, 328, 2573, 1, 283, 328, 2573], "text": "translate help me into Spanish"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1603, 6353, 303, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 15666, 64700, 271, 332, 1, 2014, 240052, 626, 71, 507, 15560, 175267, 318, 148924, 154982, 88005, 8, 271, 1919, 369, 279, 5129, 11, 46193, 40719, 1429, 6600, 279, 1834, 303, 15659, 13, 1049, 15433, 3254, 328, 14556, 1, 321, 4138, 364, 6353, 11], "text": "how do you say good morning in Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 6353, 1083, 10452, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 14773, 6353, 303, 10452, 64700, 271, 332, 31171, 14876, 148564, 318, 11569, 347, 282, 31230, 271, 332, 47, 2176, 44767, 64700, 13616, 2741, 347, 12, 2194, 271, 332, 28072, 8129, 64700, 198, 12, 1061, 369, 279, 15855, 1304, 1429, 4082, 4627, 11, 2902], "text": "translate good morning into Japanese"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1436, 488, 4970, 303, 42524, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 36783, 25, 328, 9538, 1394, 30720, 1, 303, 42524, 271, 13962, 24298, 36783, 25, 271, 332, 149106, 159607, 148651, 194508, 150929, 179638, 332, 318, 41, 4594, 14167, 81576, 8, 271, 332, 47, 2176, 44767, 64700, 348, 41, 4594, 14167, 80100, 347, 9, 271], "text": "how do you say see you soon in Hindi"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 17230, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4392, 466, 5548, 310, 1236, 4392, 6526, 13, 4558, 2592, 488, 2224, 3221, 310, 1562, 678, 17230, 11, 488, 3172, 1144, 310, 25, 198, 12, 5272, 678, 4392, 579, 26956, 261, 198, 12, 5272, 264, 28560, 878], "text": "call dad"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 19052, 321, 13671, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 4212, 310, 2604, 64700, 198, 12, 28554, 198, 12, 42374, 271, 4277, 271, 332, 8839, 64700, 353, 2688, 264, 31626, 4560, 11, 524, 264, 11580, 1103, 6436, 13, 1946, 3404, 884, 3470, 310, 678, 4204, 11580, 1103, 11], "text": "add rice and milk to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6472, 16586, 264, 1876, 5315, 6051, 14756, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 3502, 264, 1876, 310, 4184, 6725, 16586, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 3502, 6397, 310, 8976, 32658, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972, 48401, 264, 14756], "text": "send Jordan a message saying happy birthday"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 16, 17, 7303, 310, 19434, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 21365, 64700, 220, 16, 17, 7303, 271, 332, 46629, 7911, 64700, 220, 16, 4330, 283, 220, 15, 13, 18, 15, 19, 23, 19434, 318, 44839, 8, 271, 332, 45593, 2820, 64700, 198, 13682, 16, 17, 1088, 1272, 90, 7303, 92], "text": "convert 12 feet to meters"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 15957, 506, 35915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 12786, 466, 279, 5548, 310, 3404, 9412, 15782, 13, 4213, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 449, 2469, 332, 310, 28647, 279, 6236, 854, 198, 17, 13, 2972, 3886, 264, 3683, 332], "text": "schedule a meeting with Taylor at noon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1332, 369, 279, 7803, 303, 14382, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 1, 35, 833, 6, 4311, 1147, 199274, 7285, 332, 271, 4277, 271, 332, 21825, 2829, 64700, 198, 12, 2972, 35, 833, 6, 4311, 332, 283, 328, 8791, 369, 1, 318, 7965, 1265, 314, 348, 67, 962, 9, 478, 348, 4311, 3636, 198, 12], "text": "how do you say where is the station in Italian"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 6353, 1083, 32988, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 6737, 65982, 64700, 182709, 215066, 271, 332, 47, 2176, 44767, 64700, 348, 73765, 29656, 157, 116, 98, 444, 12283, 65041, 81, 9, 271, 332, 21825, 2829, 64700, 198, 12, 2972, 40218, 156514, 332, 318, 73765, 29656, 157, 116, 98], "text": "translate good morning into Arabic"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 6511, 314, 30466, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 6511, 314, 30466, 369, 2972, 27925, 379, 159034, 271, 27925, 379, 369, 7172, 383, 279, 10663, 13255, 314, 30466, 321, 16545, 430, 279, 3046, 579, 4788, 11, 6739, 11, 321, 12387, 3990, 13, 1049, 682, 978, 279, 6511, 2394, 279, 632, 2325, 314], "text": "what's the capital of Norway"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 22, 25, 18, 15, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 7:30am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2216, 279, 7765, 411, 12967, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3627, 854, 3808, 15243, 13, 3095, 488, 3160, 411, 6040, 11, 353, 2677, 914, 5909, 411, 1622, 13, 271, 332, 1206, 3404, 381, 29171, 11, 488, 1220, 64700, 198, 12, 2488, 449, 16136, 383], "text": "remind me to pay the rent this afternoon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 13696, 321, 35243, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 4212, 310, 2604, 64700, 198, 12, 10838, 100, 230, 29368, 198, 12, 10838, 235, 251, 93988, 271, 4277, 271, 332, 60239, 64700, 198, 91, 5561, 735, 7848, 735, 198, 91, 16077, 91, 502, 91, 198, 91, 29368, 735], "text": "add butter and pasta to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 26882, 7509, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4392, 579, 17954, 466, 7842, 14512, 13, 353, 2688, 449, 14791, 1414, 17313, 11, 524, 264, 4392, 878, 13, 271, 1206, 1562, 26882, 7509, 11, 488, 3172, 1144, 310, 25, 198, 12, 5097, 678, 4392, 579, 4392], "text": "call Priya"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 24441, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 1432, 4477, 5774, 13, 4213, 11, 353, 628, 1438, 488, 1423, 2172, 24441, 4477, 18005, 0, 271, 332, 56480, 24441, 34465, 64700, 198, 12, 2972, 1425, 44, 24828, 742, 8111, 332, 471, 4962, 4649, 11, 2172, 364], "text": "play some workout music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 35243, 321, 19052, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 93988, 198, 12, 28554, 271, 4277, 271, 332, 8839, 64700, 353, 2688, 264, 31626, 4560, 11, 524, 264, 3274, 6436, 13, 1368, 488, 1144, 728, 310, 25, 198, 12, 19182, 449, 4880, 11580], "text": "add pasta and rice to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 13474, 821, 24651, 303, 449, 6258, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 63383, 466, 60212, 364, 488, 13, 1577, 449, 14791, 11, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 11208, 1785, 13, 271, 5328, 716, 264, 8749, 466, 16136, 383, 678, 4392, 466, 6165, 364, 799, 6258, 494, 1381], "text": "remind me to renew my passport in an hour"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 3242, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 3242, 579, 8831, 17071, 11, 353, 6718, 25, 271, 16, 13, 2972, 3840, 264, 8831, 3779, 332, 1040, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13], "text": "what's the weather like today"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 15530, 321, 43119, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 47398, 198, 12, 1848, 880, 271, 4277, 271, 332, 8839, 64700, 353, 1459, 914, 599, 2528, 310, 678, 6149, 11580, 1103, 13, 1368, 488, 4035, 1040, 728, 310, 1438, 488, 25, 271, 16], "text": "add bread and onions to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 79825, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 11313, 383, 678, 6331, 25, 271, 332, 15893, 594, 6916, 64700, 198, 1, 18103, 94587, 11, 353, 2688, 4162, 264, 2612, 3200, 13, 353, 3172, 381, 1017, 4970, 8687, 271, 332, 2278, 264, 25905, 64700, 198, 1, 12675, 94587], "text": "text grandma that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 23, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 8am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 15530, 321, 65416, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 47398, 198, 12, 39341, 595, 271, 4277, 271, 332, 8839, 64700, 353, 1459, 914, 599, 2528, 310, 678, 6149, 11580, 1103, 13, 1368, 488, 4035, 1040, 728, 310, 1438, 488, 25, 271, 16], "text": "add bread and spinach to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 23327, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 369, 1521, 488, 8719, 914, 3766, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 23327, 11, 353, 1144, 25, 198, 12, 4465, 1428, 3177, 5350, 754, 466, 13534, 198, 12, 12757, 488, 1318, 279], "text": "how far is Madrid from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1204, 513, 488, 1083, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 15666, 64700, 271, 332, 1, 4199, 513, 488, 7285, 303, 15659, 369, 25, 328, 148924, 154982, 88005, 7285, 318, 2014, 240052, 626, 71, 507, 15560, 9868, 332, 271, 1919, 369, 279, 5129, 11, 46193, 40719, 1429, 303, 17248, 14314, 13], "text": "translate how are you into Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 1478, 4121, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 1478, 4121, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13, 2972], "text": "what's the weather in New York"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 32729, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 1423, 32729, 4477, 0, 5514, 513, 1010, 18005, 25, 271, 332, 1890, 908, 64700, 198, 12, 34288, 13060, 471, 328, 4904, 1264, 401, 239224, 1, 198, 12, 12795, 627, 471, 328, 38, 1544, 60698, 14643, 536, 1], "text": "play some relaxing music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 56696, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 4252, 41019, 369, 2972, 408, 319, 1128, 159034, 271, 8160, 369, 279, 29006, 25, 198, 9, 256, 2972, 81, 5478, 1284, 17076, 2759, 17076, 5478, 5111, 2308, 332, 271, 332, 44, 68379, 64700, 20500, 314, 279, 3299, 430, 2972, 265, 1284, 319, 1128], "text": "spell resilient"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 6924, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 6924, 11, 353, 6718, 25, 271, 16, 13, 2972, 14030, 21926, 332, 471, 7304, 328, 38261, 8831, 1, 364, 264, 3841, 22527, 198, 17, 13, 2972, 33525], "text": "what's the weather in London"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 2388, 264, 220, 18, 15, 9104, 31676, 3669, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 2, 220, 18, 15, 5084, 258, 1035, 73855, 8891, 271, 550, 19427, 279, 21427, 271, 332, 12358, 18065, 64700, 198, 12, 7145, 264, 11012, 3433, 1845, 494, 73834, 198, 12, 27480, 43187, 383, 264, 43158, 11, 10183, 11, 466, 6220, 198, 12, 13262, 678], "text": "start a 30 minute meditation session"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 9414, 488, 303, 32988, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 36783, 25, 328, 12684, 1394, 1, 303, 32988, 271, 13962, 24298, 36783, 271, 91, 32988, 735, 3922, 75, 35504, 735, 83915, 44767, 735, 198, 91, 502, 91, 746, 12, 91, 37363, 91, 198, 91, 2972, 31704, 30055, 171508, 332, 735, 348, 1948, 3001], "text": "how do you say thank you in Arabic"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 7303, 310, 19434, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 21365, 64700, 220, 20, 7303, 271, 332, 46629, 7911, 64700, 220, 16, 4330, 283, 220, 15, 13, 18, 15, 19, 23, 19434, 318, 44839, 8, 271, 332, 45593, 2820, 64700, 198, 13682, 20, 1088, 1272, 90, 7303, 92, 1088, 14695], "text": "convert 5 feet to meters"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 10482, 321, 65416, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 24329, 243, 25245, 198, 12, 10838, 98, 105, 39341, 595, 271, 4277, 271, 332, 8839, 64700, 353, 2688, 264, 31626, 4560, 11, 524, 264, 3274, 6436, 48952, 1459, 914, 599, 24207, 4779, 314], "text": "add coffee and spinach to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1332, 369, 279, 7803, 1083, 14712, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 1, 29197, 35, 180165, 15012, 1147, 202288, 7285, 332, 271, 4277, 271, 332, 21825, 2829, 64700, 271, 91, 6163, 735, 14712, 735, 198, 91, 22031, 91, 22031, 91, 198, 91, 10646, 735, 27368, 35, 180165, 735, 198, 91, 369], "text": "translate where is the station into Spanish"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 43119, 321, 19052, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 4212, 310, 2604, 64700, 198, 12, 1848, 880, 198, 12, 28554, 271, 4277, 271, 332, 8839, 64700, 353, 2688, 264, 31626, 4560, 11, 524, 264, 11580, 1103, 6436, 13, 1368, 488, 1144, 1438, 440, 25, 198, 12, 24500], "text": "add onions and rice to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 15957, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 264, 2050, 1560, 310, 1562, 1208, 13, 4213, 11, 353, 628, 1438, 488, 1423, 15957, 579, 4392, 1324, 413, 488, 3300, 728, 440, 25, 271, 16, 13, 15957, 579, 2400, 803, 198, 17, 13, 5586, 9468, 2193, 318, 2777, 488], "text": "call Taylor"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 43494, 264, 9414, 488, 5020, 310, 411, 2469, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 9665, 264, 9414, 488, 5020, 0, 4213, 11, 353, 5125, 488, 8719, 914, 5064, 279, 3889, 2469, 488, 4035, 1040, 728, 310, 5707, 310, 13, 271, 5328, 4191, 25, 198, 16, 13, 561, 2469, 488, 3816, 198], "text": "draft a thank you note to this email"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 16, 15, 15, 24569, 310, 89668, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 41096, 25, 220, 16, 15, 15, 75430, 310, 36983, 382, 271, 13962, 14392, 13909, 12, 8046, 12121, 271, 332, 8046, 220, 16, 25, 62366, 279, 13996, 7911, 332, 271, 760, 5129, 13996, 369, 25, 198, 12, 2972, 16, 10212, 283, 220, 15, 13], "text": "convert 100 cups to liters"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 16, 17, 3161, 314, 220, 16, 20, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 16, 17, 4, 314, 220, 16, 20, 15, 25, 271, 332, 8046, 220, 16, 64700, 6943, 279, 11086, 310, 264, 11778, 198, 13682, 16, 17, 59, 4, 283, 1088, 35790, 90, 16, 17, 14728, 16, 15, 15, 92], "text": "what's 12 percent of 150"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 854, 369, 424, 303, 11751, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 1928, 11, 2583, 279, 1428, 854, 303, 11751, 13, 2921, 6337, 369, 6973, 310, 1092, 557, 3766, 303, 1004, 10125, 3712, 11, 864, 3070, 914, 6435, 866, 854, 795, 13, 271, 1206, 1423, 279, 1428, 854], "text": "what time is it in Paris"}]}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6e396793edd6565f130c77e1d82f26641a2ba7d8dabe33283c7893d0bad4e3c4
3
+ size 62641
b/00800b27d3271fdf5c10f0d098b7e6b07b527f6fab38ed8b3ba03f981481fcad CHANGED
The diff for this file is too large to render. See raw diff
 
b/009ad37fa607d681b03e1574c1afd0e22b60b6f9cf2f2d02a914aaf709a67eaf CHANGED
@@ -1,154 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import { Form, Field as FormischField, reset, useForm } from "@formisch/react"
5
- import type { SubmitHandler } from "@formisch/react"
6
- import { toast } from "sonner"
7
- import * as v from "valibot"
8
-
9
- import { Button } from "@/registry/new-york-v4/ui/button"
10
- import {
11
- Card,
12
- CardContent,
13
- CardDescription,
14
- CardFooter,
15
- CardHeader,
16
- CardTitle,
17
- } from "@/registry/new-york-v4/ui/card"
18
- import {
19
- Field,
20
- FieldDescription,
21
- FieldError,
22
- FieldGroup,
23
- FieldLabel,
24
- } from "@/registry/new-york-v4/ui/field"
25
- import { Input } from "@/registry/new-york-v4/ui/input"
26
- import {
27
- InputGroup,
28
- InputGroupAddon,
29
- InputGroupText,
30
- InputGroupTextarea,
31
- } from "@/registry/new-york-v4/ui/input-group"
32
-
33
- const FormSchema = v.object({
34
- title: v.pipe(
35
- v.string(),
36
- v.minLength(5, "Bug title must be at least 5 characters."),
37
- v.maxLength(32, "Bug title must be at most 32 characters.")
38
- ),
39
- description: v.pipe(
40
- v.string(),
41
- v.minLength(20, "Description must be at least 20 characters."),
42
- v.maxLength(100, "Description must be at most 100 characters.")
43
- ),
44
- })
45
-
46
- export default function BugReportForm() {
47
- const form = useForm({
48
- schema: FormSchema,
49
- initialInput: {
50
- title: "",
51
- description: "",
52
- },
53
- })
54
-
55
- const handleSubmit: SubmitHandler<typeof FormSchema> = (output) => {
56
- toast("You submitted the following values:", {
57
- description: (
58
- <pre className="mt-2 w-[320px] overflow-x-auto rounded-md bg-code p-4 text-code-foreground">
59
- <code>{JSON.stringify(output, null, 2)}</code>
60
- </pre>
61
- ),
62
- position: "bottom-right",
63
- classNames: {
64
- content: "flex flex-col gap-2",
65
- },
66
- style: {
67
- "--border-radius": "calc(var(--radius) + 4px)",
68
- } as React.CSSProperties,
69
- })
70
- }
71
-
72
- return (
73
- <Card className="w-full sm:max-w-md">
74
- <CardHeader>
75
- <CardTitle>Bug Report</CardTitle>
76
- <CardDescription>
77
- Help us improve by reporting bugs you encounter.
78
- </CardDescription>
79
- </CardHeader>
80
- <CardContent>
81
- <Form of={form} id="form-formisch-demo" onSubmit={handleSubmit}>
82
- <FieldGroup>
83
- <FormischField of={form} path={["title"]}>
84
- {(field) => (
85
- <Field data-invalid={field.errors !== null}>
86
- <FieldLabel htmlFor="form-formisch-demo-title">
87
- Bug Title
88
- </FieldLabel>
89
- <Input
90
- {...field.props}
91
- id="form-formisch-demo-title"
92
- value={field.input ?? ""}
93
- aria-invalid={field.errors !== null}
94
- placeholder="Login button not working on mobile"
95
- autoComplete="off"
96
- />
97
- {field.errors && (
98
- <FieldError
99
- errors={field.errors.map((message) => ({ message }))}
100
- />
101
- )}
102
- </Field>
103
- )}
104
- </FormischField>
105
- <FormischField of={form} path={["description"]}>
106
- {(field) => (
107
- <Field data-invalid={field.errors !== null}>
108
- <FieldLabel htmlFor="form-formisch-demo-description">
109
- Description
110
- </FieldLabel>
111
- <InputGroup>
112
- <InputGroupTextarea
113
- {...field.props}
114
- id="form-formisch-demo-description"
115
- value={field.input ?? ""}
116
- placeholder="I'm having an issue with the login button on mobile."
117
- rows={6}
118
- className="min-h-24 resize-none"
119
- aria-invalid={field.errors !== null}
120
- />
121
- <InputGroupAddon align="block-end">
122
- <InputGroupText className="tabular-nums">
123
- {(field.input ?? "").length}/100 characters
124
- </InputGroupText>
125
- </InputGroupAddon>
126
- </InputGroup>
127
- <FieldDescription>
128
- Include steps to reproduce, expected behavior, and what
129
- actually happened.
130
- </FieldDescription>
131
- {field.errors && (
132
- <FieldError
133
- errors={field.errors.map((message) => ({ message }))}
134
- />
135
- )}
136
- </Field>
137
- )}
138
- </FormischField>
139
- </FieldGroup>
140
- </Form>
141
- </CardContent>
142
- <CardFooter>
143
- <Field orientation="horizontal">
144
- <Button type="button" variant="outline" onClick={() => reset(form)}>
145
- Reset
146
- </Button>
147
- <Button type="submit" form="form-formisch-demo">
148
- Submit
149
- </Button>
150
- </Field>
151
- </CardFooter>
152
- </Card>
153
- )
154
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:50f25e605015cf2f08103639e25b43b92f99cc768b0635ec6d72b3da796b6307
3
+ size 4958
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/00a2ea64f8f1b8baeaae695436c9816469e015112e451abacf6dfe4b683ccc23 CHANGED
@@ -1,59 +1,3 @@
1
- var ga=Object.defineProperty;var Ca=(e,t)=>{for(var a in t)ga(e,a,{get:t[a],enumerable:!0})};import{forwardRef as Sa,createElement as wa}from"react";var De=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),oe=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as ha,createElement as ve}from"react";var Re={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Te=ha(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:l="",children:r,iconNode:u,...c},p)=>ve("svg",{ref:p,...Re,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:oe("lucide",l),...c},[...u.map(([f,L])=>ve(f,L)),...Array.isArray(r)?r:[r]]));var le=(e,t)=>{let a=Sa(({className:o,...l},r)=>wa(Te,{ref:r,iconNode:t,className:oe(`lucide-${De(e)}`,o),...l}));return a.displayName=`${e}`,a};var Z=le("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var T=le("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function qe(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(t=0;t<l;t++)e[t]&&(a=qe(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function re(){for(var e,t,a=0,o="",l=arguments.length;a<l;a++)(e=arguments[a])&&(t=qe(e))&&(o&&(o+=" "),o+=t);return o}var Ue=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Oe=re,J=(e,t)=>a=>{var o;if(t?.variants==null)return Oe(e,a?.class,a?.className);let{variants:l,defaultVariants:r}=t,u=Object.keys(l).map(f=>{let L=a?.[f],x=r?.[f];if(L===null)return null;let g=Ue(L)||Ue(x);return l[f][g]}),c=a&&Object.entries(a).reduce((f,L)=>{let[x,g]=L;return g===void 0||(f[x]=g),f},{}),p=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((f,L)=>{let{class:x,className:g,...h}=L;return Object.entries(h).every(M=>{let[w,k]=M;return Array.isArray(k)?k.includes({...r,...c}[w]):{...r,...c}[w]===k})?[...f,x,g]:f},[]);return Oe(e,u,p,a?.class,a?.className)};var ka=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},ba=(e,t)=>({classGroupId:e,validator:t}),Ne=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),se="-",He=[],Pa="arbitrary..",Aa=e=>{let t=Ba(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return ya(u);let c=u.split(se),p=c[0]===""&&c.length>1?1:0;return Xe(c,p,t)},getConflictingClassGroupIds:(u,c)=>{if(c){let p=o[u],f=a[u];return p?f?ka(f,p):p:f||He}return a[u]||He}}},Xe=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let l=e[t],r=a.nextPart.get(l);if(r){let f=Xe(e,t+1,r);if(f)return f}let u=a.validators;if(u===null)return;let c=t===0?e.join(se):e.slice(t).join(se),p=u.length;for(let f=0;f<p;f++){let L=u[f];if(L.validator(c))return L.classGroupId}},ya=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?Pa+o:void 0})(),Ba=e=>{let{theme:t,classGroups:a}=e;return Ma(a,t)},Ma=(e,t)=>{let a=Ne();for(let o in e){let l=e[o];ge(l,a,o,t)}return a},ge=(e,t,a,o)=>{let l=e.length;for(let r=0;r<l;r++){let u=e[r];Fa(u,t,a,o)}},Fa=(e,t,a,o)=>{if(typeof e=="string"){Da(e,t,a);return}if(typeof e=="function"){Ra(e,t,a,o);return}va(e,t,a,o)},Da=(e,t,a)=>{let o=e===""?t:Ke(t,e);o.classGroupId=a},Ra=(e,t,a,o)=>{if(Ta(e)){ge(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(ba(a,e))},va=(e,t,a,o)=>{let l=Object.entries(e),r=l.length;for(let u=0;u<r;u++){let[c,p]=l[u];ge(p,Ke(t,c),a,o)}},Ke=(e,t)=>{let a=e,o=t.split(se),l=o.length;for(let r=0;r<l;r++){let u=o[r],c=a.nextPart.get(u);c||(c=Ne(),a.nextPart.set(u,c)),a=c}return a},Ta=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,qa=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),l=(r,u)=>{a[r]=u,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(r){let u=a[r];if(u!==void 0)return u;if((u=o[r])!==void 0)return l(r,u),u},set(r,u){r in a?a[r]=u:l(r,u)}}},Ie="!",Ge=":",Ua=[],ze=(e,t,a,o,l)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:l}),Oa=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=l=>{let r=[],u=0,c=0,p=0,f,L=l.length;for(let w=0;w<L;w++){let k=l[w];if(u===0&&c===0){if(k===Ge){r.push(l.slice(p,w)),p=w+1;continue}if(k==="/"){f=w;continue}}k==="["?u++:k==="]"?u--:k==="("?c++:k===")"&&c--}let x=r.length===0?l:l.slice(p),g=x,h=!1;x.endsWith(Ie)?(g=x.slice(0,-1),h=!0):x.startsWith(Ie)&&(g=x.slice(1),h=!0);let M=f&&f>p?f-p:void 0;return ze(r,h,g,M)};if(t){let l=t+Ge,r=o;o=u=>u.startsWith(l)?r(u.slice(l.length)):ze(Ua,!1,u,void 0,!0)}if(a){let l=o;o=r=>a({className:r,parseClassName:l})}return o},Ha=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],l=[];for(let r=0;r<a.length;r++){let u=a[r],c=u[0]==="[",p=t.has(u);c||p?(l.length>0&&(l.sort(),o.push(...l),l=[]),o.push(u)):l.push(u)}return l.length>0&&(l.sort(),o.push(...l)),o}},Ga=e=>({cache:qa(e.cacheSize),parseClassName:Oa(e),sortModifiers:Ha(e),postfixLookupClassGroupIds:za(e),...Aa(e)}),za=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},Va=/\s+/,Ea=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:l,sortModifiers:r,postfixLookupClassGroupIds:u}=t,c=[],p=e.trim().split(Va),f="";for(let L=p.length-1;L>=0;L-=1){let x=p[L],{isExternal:g,modifiers:h,hasImportantModifier:M,baseClassName:w,maybePostfixModifierPosition:k}=a(x);if(g){f=x+(f.length>0?" "+f:f);continue}let O=!!k,y;if(O){let R=w.substring(0,k);y=o(R);let i=y&&u[y]?o(w):void 0;i&&i!==y&&(y=i,O=!1)}else y=o(w);if(!y){if(!O){f=x+(f.length>0?" "+f:f);continue}if(y=o(w),!y){f=x+(f.length>0?" "+f:f);continue}O=!1}let K=h.length===0?"":h.length===1?h[0]:r(h).join(":"),E=M?K+Ie:K,W=E+y;if(c.indexOf(W)>-1)continue;c.push(W);let N=l(y,O);for(let R=0;R<N.length;++R){let i=N[R];c.push(E+i)}f=x+(f.length>0?" "+f:f)}return f},Wa=(...e)=>{let t=0,a,o,l="";for(;t<e.length;)(a=e[t++])&&(o=Ze(a))&&(l&&(l+=" "),l+=o);return l},Ze=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=Ze(e[o]))&&(a&&(a+=" "),a+=t);return a},Na=(e,...t)=>{let a,o,l,r,u=p=>{let f=t.reduce((L,x)=>x(L),e());return a=Ga(f),o=a.cache.get,l=a.cache.set,r=c,c(p)},c=p=>{let f=o(p);if(f)return f;let L=Ea(p,a);return l(p,L),L};return r=u,(...p)=>r(Wa(...p))},Xa=[],I=e=>{let t=a=>a[e]||Xa;return t.isThemeGetter=!0,t},Je=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_e=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ka=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Za=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ja=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,_a=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Qa=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ja=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,q=e=>Ka.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),D=e=>!!e&&Number.isInteger(Number(e)),xe=e=>e.endsWith("%")&&m(e.slice(0,-1)),v=e=>Za.test(e),Qe=()=>!0,$a=e=>Ja.test(e)&&!_a.test(e),Ce=()=>!1,Ya=e=>Qa.test(e),et=e=>ja.test(e),at=e=>!d(e)&&!s(e),tt=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),ot=e=>U(e,Ye,Ce),d=e=>Je.test(e),G=e=>U(e,ea,$a),Ve=e=>U(e,nt,m),lt=e=>U(e,ta,Qe),rt=e=>U(e,aa,Ce),Ee=e=>U(e,je,Ce),ut=e=>U(e,$e,et),ue=e=>U(e,oa,Ya),s=e=>_e.test(e),_=e=>z(e,ea),dt=e=>z(e,aa),We=e=>z(e,je),st=e=>z(e,Ye),ft=e=>z(e,$e),de=e=>z(e,oa,!0),it=e=>z(e,ta,!0),U=(e,t,a)=>{let o=Je.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},z=(e,t,a=!1)=>{let o=_e.exec(e);return o?o[1]?t(o[1]):a:!1},je=e=>e==="position"||e==="percentage",$e=e=>e==="image"||e==="url",Ye=e=>e==="length"||e==="size"||e==="bg-size",ea=e=>e==="length",nt=e=>e==="number",aa=e=>e==="family-name",ta=e=>e==="number"||e==="weight",oa=e=>e==="shadow";var ct=()=>{let e=I("color"),t=I("font"),a=I("text"),o=I("font-weight"),l=I("tracking"),r=I("leading"),u=I("breakpoint"),c=I("container"),p=I("spacing"),f=I("radius"),L=I("shadow"),x=I("inset-shadow"),g=I("text-shadow"),h=I("drop-shadow"),M=I("blur"),w=I("perspective"),k=I("aspect"),O=I("ease"),y=I("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],E=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...E(),s,d],N=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],i=()=>[s,d,p],B=()=>[q,"full","auto",...i()],ke=()=>[D,"none","subgrid",s,d],be=()=>["auto",{span:["full",D,s,d]},D,s,d],$=()=>[D,"auto",s,d],Pe=()=>["auto","min","max","fr",s,d],ne=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],F=()=>["auto",...i()],H=()=>[q,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],ce=()=>[q,"screen","full","dvw","lvw","svw","min","max","fit",...i()],pe=()=>[q,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],n=()=>[e,s,d],Ae=()=>[...E(),We,Ee,{position:[s,d]}],ye=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Be=()=>["auto","cover","contain",st,ot,{size:[s,d]}],me=()=>[xe,_,G],b=()=>["","none","full",f,s,d],P=()=>["",m,_,G],Y=()=>["solid","dashed","dotted","double"],Me=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[m,xe,We,Ee],Fe=()=>["","none",M,s,d],ee=()=>["none",m,s,d],ae=()=>["none",m,s,d],Le=()=>[m,s,d],te=()=>[q,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[v],breakpoint:[v],color:[Qe],container:[v],"drop-shadow":[v],ease:["in","out","in-out"],font:[at],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[v],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[v],shadow:[v],spacing:["px",m],text:[v],"text-shadow":[v],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",q,d,s,k]}],container:["container"],"container-type":[{"@container":["","normal","size",s,d]}],"container-named":[tt],columns:[{columns:[m,d,s,c]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:W()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:B()}],"inset-x":[{"inset-x":B()}],"inset-y":[{"inset-y":B()}],start:[{"inset-s":B(),start:B()}],end:[{"inset-e":B(),end:B()}],"inset-bs":[{"inset-bs":B()}],"inset-be":[{"inset-be":B()}],top:[{top:B()}],right:[{right:B()}],bottom:[{bottom:B()}],left:[{left:B()}],visibility:["visible","invisible","collapse"],z:[{z:[D,"auto",s,d]}],basis:[{basis:[q,"full","auto",c,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,q,"auto","initial","none",d]}],grow:[{grow:["",m,s,d]}],shrink:[{shrink:["",m,s,d]}],order:[{order:[D,"first","last","none",s,d]}],"grid-cols":[{"grid-cols":ke()}],"col-start-end":[{col:be()}],"col-start":[{"col-start":$()}],"col-end":[{"col-end":$()}],"grid-rows":[{"grid-rows":ke()}],"row-start-end":[{row:be()}],"row-start":[{"row-start":$()}],"row-end":[{"row-end":$()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Pe()}],"auto-rows":[{"auto-rows":Pe()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...ne(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...ne()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:F()}],mx:[{mx:F()}],my:[{my:F()}],ms:[{ms:F()}],me:[{me:F()}],mbs:[{mbs:F()}],mbe:[{mbe:F()}],mt:[{mt:F()}],mr:[{mr:F()}],mb:[{mb:F()}],ml:[{ml:F()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...ce()]}],"min-inline-size":[{"min-inline":["auto",...ce()]}],"max-inline-size":[{"max-inline":["none",...ce()]}],"block-size":[{block:["auto",...pe()]}],"min-block-size":[{"min-block":["auto",...pe()]}],"max-block-size":[{"max-block":["none",...pe()]}],w:[{w:[c,"screen",...H()]}],"min-w":[{"min-w":[c,"screen","none",...H()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[u]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",a,_,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,it,lt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",xe,d]}],"font-family":[{font:[dt,rt,t]}],"font-features":[{"font-features":[d]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,s,d]}],"line-clamp":[{"line-clamp":[m,"none",s,Ve]}],leading:[{leading:[r,...i()]}],"list-image":[{"list-image":["none",s,d]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",s,d]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:n()}],"text-color":[{text:n()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",s,G]}],"text-decoration-color":[{decoration:n()}],"underline-offset":[{"underline-offset":[m,"auto",s,d]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[D,s,d]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",s,d]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",s,d]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ae()}],"bg-repeat":[{bg:ye()}],"bg-size":[{bg:Be()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},D,s,d],radial:["",s,d],conic:[D,s,d]},ft,ut]}],"bg-color":[{bg:n()}],"gradient-from-pos":[{from:me()}],"gradient-via-pos":[{via:me()}],"gradient-to-pos":[{to:me()}],"gradient-from":[{from:n()}],"gradient-via":[{via:n()}],"gradient-to":[{to:n()}],rounded:[{rounded:b()}],"rounded-s":[{"rounded-s":b()}],"rounded-e":[{"rounded-e":b()}],"rounded-t":[{"rounded-t":b()}],"rounded-r":[{"rounded-r":b()}],"rounded-b":[{"rounded-b":b()}],"rounded-l":[{"rounded-l":b()}],"rounded-ss":[{"rounded-ss":b()}],"rounded-se":[{"rounded-se":b()}],"rounded-ee":[{"rounded-ee":b()}],"rounded-es":[{"rounded-es":b()}],"rounded-tl":[{"rounded-tl":b()}],"rounded-tr":[{"rounded-tr":b()}],"rounded-br":[{"rounded-br":b()}],"rounded-bl":[{"rounded-bl":b()}],"border-w":[{border:P()}],"border-w-x":[{"border-x":P()}],"border-w-y":[{"border-y":P()}],"border-w-s":[{"border-s":P()}],"border-w-e":[{"border-e":P()}],"border-w-bs":[{"border-bs":P()}],"border-w-be":[{"border-be":P()}],"border-w-t":[{"border-t":P()}],"border-w-r":[{"border-r":P()}],"border-w-b":[{"border-b":P()}],"border-w-l":[{"border-l":P()}],"divide-x":[{"divide-x":P()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":P()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:n()}],"border-color-x":[{"border-x":n()}],"border-color-y":[{"border-y":n()}],"border-color-s":[{"border-s":n()}],"border-color-e":[{"border-e":n()}],"border-color-bs":[{"border-bs":n()}],"border-color-be":[{"border-be":n()}],"border-color-t":[{"border-t":n()}],"border-color-r":[{"border-r":n()}],"border-color-b":[{"border-b":n()}],"border-color-l":[{"border-l":n()}],"divide-color":[{divide:n()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,s,d]}],"outline-w":[{outline:["",m,_,G]}],"outline-color":[{outline:n()}],shadow:[{shadow:["","none",L,de,ue]}],"shadow-color":[{shadow:n()}],"inset-shadow":[{"inset-shadow":["none",x,de,ue]}],"inset-shadow-color":[{"inset-shadow":n()}],"ring-w":[{ring:P()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:n()}],"ring-offset-w":[{"ring-offset":[m,G]}],"ring-offset-color":[{"ring-offset":n()}],"inset-ring-w":[{"inset-ring":P()}],"inset-ring-color":[{"inset-ring":n()}],"text-shadow":[{"text-shadow":["none",g,de,ue]}],"text-shadow-color":[{"text-shadow":n()}],opacity:[{opacity:[m,s,d]}],"mix-blend":[{"mix-blend":[...Me(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Me()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":n()}],"mask-image-linear-to-color":[{"mask-linear-to":n()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":n()}],"mask-image-t-to-color":[{"mask-t-to":n()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":n()}],"mask-image-r-to-color":[{"mask-r-to":n()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":n()}],"mask-image-b-to-color":[{"mask-b-to":n()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":n()}],"mask-image-l-to-color":[{"mask-l-to":n()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":n()}],"mask-image-x-to-color":[{"mask-x-to":n()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":n()}],"mask-image-y-to-color":[{"mask-y-to":n()}],"mask-image-radial":[{"mask-radial":[s,d]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":n()}],"mask-image-radial-to-color":[{"mask-radial-to":n()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":E()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":n()}],"mask-image-conic-to-color":[{"mask-conic-to":n()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ae()}],"mask-repeat":[{mask:ye()}],"mask-size":[{mask:Be()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",s,d]}],filter:[{filter:["","none",s,d]}],blur:[{blur:Fe()}],brightness:[{brightness:[m,s,d]}],contrast:[{contrast:[m,s,d]}],"drop-shadow":[{"drop-shadow":["","none",h,de,ue]}],"drop-shadow-color":[{"drop-shadow":n()}],grayscale:[{grayscale:["",m,s,d]}],"hue-rotate":[{"hue-rotate":[m,s,d]}],invert:[{invert:["",m,s,d]}],saturate:[{saturate:[m,s,d]}],sepia:[{sepia:["",m,s,d]}],"backdrop-filter":[{"backdrop-filter":["","none",s,d]}],"backdrop-blur":[{"backdrop-blur":Fe()}],"backdrop-brightness":[{"backdrop-brightness":[m,s,d]}],"backdrop-contrast":[{"backdrop-contrast":[m,s,d]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,s,d]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,s,d]}],"backdrop-invert":[{"backdrop-invert":["",m,s,d]}],"backdrop-opacity":[{"backdrop-opacity":[m,s,d]}],"backdrop-saturate":[{"backdrop-saturate":[m,s,d]}],"backdrop-sepia":[{"backdrop-sepia":["",m,s,d]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",s,d]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",s,d]}],ease:[{ease:["linear","initial",O,s,d]}],delay:[{delay:[m,s,d]}],animate:[{animate:["none",y,s,d]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,s,d]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:ae()}],"scale-x":[{"scale-x":ae()}],"scale-y":[{"scale-y":ae()}],"scale-z":[{"scale-z":ae()}],"scale-3d":["scale-3d"],skew:[{skew:Le()}],"skew-x":[{"skew-x":Le()}],"skew-y":[{"skew-y":Le()}],transform:[{transform:[s,d,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:te()}],"translate-x":[{"translate-x":te()}],"translate-y":[{"translate-y":te()}],"translate-z":[{"translate-z":te()}],"translate-none":["translate-none"],zoom:[{zoom:[D,s,d]}],accent:[{accent:n()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:n()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",s,d]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":n()}],"scrollbar-track-color":[{"scrollbar-track":n()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",s,d]}],fill:[{fill:["none",...n()]}],"stroke-w":[{stroke:[m,_,G,Ve]}],stroke:[{stroke:["none",...n()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var la=Na(ct);function A(...e){return la(re(e))}var ie={};Ca(ie,{Root:()=>mt,Slot:()=>mt,Slottable:()=>Lt,createSlot:()=>fa,createSlottable:()=>na});import*as S from"react";import*as ua from"react";function ra(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function pt(...e){return t=>{let a=!1,o=e.map(l=>{let r=ra(l,t);return!a&&typeof r=="function"&&(a=!0),r});if(a)return()=>{for(let l=0;l<o.length;l++){let r=o[l];typeof r=="function"?r():ra(e[l],null)}}}}function da(...e){return ua.useCallback(pt(...e),e)}function fa(e){let t=S.forwardRef((a,o)=>{let{children:l,...r}=a,u=null,c=!1,p=[];sa(l)&&typeof fe=="function"&&(l=fe(l._payload)),S.Children.forEach(l,g=>{if(Ct(g)){c=!0;let h=g,M="child"in h.props?h.props.child:h.props.children;sa(M)&&typeof fe=="function"&&(M=fe(M._payload)),u=xt(h,M),p.push(u?.props?.children)}else p.push(g)}),u?u=S.cloneElement(u,void 0,p):!c&&S.Children.count(l)===1&&S.isValidElement(l)&&(u=l);let f=u?gt(u):void 0,L=da(o,f);if(!u){if(l||l===0)throw new Error(c?kt(e):wt(e));return l}let x=It(r,u.props??{});return u.type!==S.Fragment&&(x.ref=o?L:f),S.cloneElement(u,x)});return t.displayName=`${e}.Slot`,t}var mt=fa("Slot"),ia=Symbol.for("radix.slottable");function na(e){let t=a=>"child"in a?a.children(a.child):a.children;return t.displayName=`${e}.Slottable`,t.__radixId=ia,t}var Lt=na("Slottable"),xt=(e,t)=>{if("child"in e.props){let a=e.props.child;return S.isValidElement(a)?S.cloneElement(a,void 0,e.props.children(a.props.children)):null}return S.isValidElement(t)?t:null};function It(e,t){let a={...t};for(let o in t){let l=e[o],r=t[o];/^on[A-Z]/.test(o)?l&&r?a[o]=(...c)=>{let p=r(...c);return l(...c),p}:l&&(a[o]=l):o==="style"?a[o]={...l,...r}:o==="className"&&(a[o]=[l,r].filter(Boolean).join(" "))}return{...e,...a}}function gt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function Ct(e){return S.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ia}var ht=Symbol.for("react.lazy");function sa(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===ht&&"_payload"in e&&St(e._payload)}function St(e){return typeof e=="object"&&e!==null&&"then"in e}var wt=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,kt=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,fe=S[" use ".trim().toString()];import{jsx as Pt}from"react/jsx-runtime";var bt=J("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function ca({className:e,variant:t="default",size:a="default",asChild:o=!1,...l}){let r=o?ie.Root:"button";return Pt(r,{"data-slot":"button","data-variant":t,"data-size":a,className:A(bt({variant:t,size:a,className:e})),...l})}import{jsx as At}from"react/jsx-runtime";function pa({className:e,type:t,...a}){return At("input",{type:t,"data-slot":"input",className:A("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...a})}import{jsx as yt}from"react/jsx-runtime";function ma({className:e,...t}){return yt("textarea",{"data-slot":"textarea",className:A("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",e),...t})}import{jsx as Q}from"react/jsx-runtime";function he({className:e,...t}){return Q("div",{"data-slot":"input-group",role:"group",className:A("group/input-group relative flex w-full items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none dark:bg-input/30","h-9 min-w-0 has-[>textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50","has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",e),...t})}var Bt=J("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 group-has-[>input]/input-group:pt-2.5 [.border-b]:pb-3","block-end":"order-last w-full justify-start px-3 pb-3 group-has-[>input]/input-group:pb-2.5 [.border-t]:pt-3"}},defaultVariants:{align:"inline-start"}});function Se({className:e,align:t="inline-start",...a}){return Q("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:A(Bt({align:t}),e),onClick:o=>{o.target.closest("button")||o.currentTarget.parentElement?.querySelector("input")?.focus()},...a})}var Mt=J("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",sm:"h-8 gap-1.5 rounded-md px-2.5 has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function La({className:e,type:t="button",variant:a="ghost",size:o="xs",...l}){return Q(ca,{type:t,"data-size":o,variant:a,className:A(Mt({size:o}),e),...l})}function xa({className:e,...t}){return Q(pa,{"data-slot":"input-group-control",className:A("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",e),...t})}function Ia({className:e,...t}){return Q(ma,{"data-slot":"input-group-control",className:A("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",e),...t})}import{jsx as Ft}from"react/jsx-runtime";function we({className:e,...t}){return Ft(T,{role:"status","aria-label":"Loading",className:A("size-4 animate-spin",e),...t})}import{jsx as V,jsxs as j}from"react/jsx-runtime";function Dt(){return j("div",{className:"flex w-full max-w-md flex-col gap-4",children:[j(he,{children:[V(xa,{placeholder:"Send a message...",disabled:!0}),V(Se,{align:"inline-end",children:V(we,{})})]}),j(he,{children:[V(Ia,{placeholder:"Send a message...",disabled:!0}),j(Se,{align:"block-end",children:[V(we,{})," Validating...",j(La,{className:"ml-auto",variant:"default",children:[V(Z,{}),V("span",{className:"sr-only",children:"Send"})]})]})]})]})}export{Dt as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/arrow-up.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/icons/loader-circle.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/lucide-react.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:152e15516635b1f8ce937fe10fbd7b55a0b369fd554c15b8ee6d721f683dde00
3
+ size 40226
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/00d2212e26a720b895d884b125c12686911c8f05f012d9d435c793f5d30eec2e CHANGED
The diff for this file is too large to render. See raw diff
 
b/00e8b665b233ebe3d2c2115dc7dd5fd4f2c1245608d3bcadd8ae35329669a298 CHANGED
@@ -1,338 +1,3 @@
1
- // compile2bit.mjs — the OFFLINE 2-bit compiler (the "compile" half of the 7B infra). Decouples COMPILE from
2
- // LOAD: a Q8 GGUF is re-quantized ONCE, offline, into a content-addressed native-2-bit κ-object the browser
3
- // downloads and runs directly (no hour-class re-quant at load; hosting = serve the block dir, κ-store/κ-disk
4
- // verify per-sector). Reuses the engine's EXACT ingestion (qvac-ingest makeDiskFetcher).
5
- //
6
- // DEFAULT mode = "ldlq": codebook-aware LDLQ to the 2-bit scalar grid (NO incoherence ⇒ no power-of-2
7
- // padding, no runtime Hadamard) + fp16 scales ⇒ ~2.5 bits/weight. LDLQ uses a PROXY input Hessian H=EᵀE from
8
- // the token embeddings (real per-layer calibration needs running the model — a GPU-box job); applied to every
9
- // K=d matrix, scalar fallback for the FFN down-proj (K=ff). Resumable: re-running skips tensors already done.
10
- // Usage: node compile2bit.mjs <gguf-url> <out-dir> [ldlq|incoherent]
11
- import { readHeader, parseGgufHeader, buildManifest, makeDiskFetcher, ggufNameFor } from "./qvac-ingest.mjs";
12
- import { requant2bit, ldlqRound2bit, f32ToF16 } from "./qvac-2bit.mjs";
13
- import { ldlDecompose } from "./e8-quant.mjs";
14
- import { buildE8LUT, packE8, lutNormIndex } from "./e8-lut.mjs";
15
- import { createHash } from "node:crypto";
16
- import { gzipSync } from "node:zlib";
17
- import { mkdirSync, writeFileSync, existsSync, readFileSync } from "node:fs";
18
- import { stampFrame } from "./holo-model-frame.mjs"; // A1: born-stamped shared-frame descriptor + conformance fingerprint
19
-
20
- // friendly model registry → Q8_0 GGUF source (or pass a full URL). Add your own here.
21
- const REGISTRY = {
22
- "smollm2-135m": "https://huggingface.co/bartowski/SmolLM2-135M-Instruct-GGUF/resolve/main/SmolLM2-135M-Instruct-Q8_0.gguf",
23
- "qwen2.5-0.5b": "https://huggingface.co/bartowski/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/Qwen2.5-0.5B-Instruct-Q8_0.gguf",
24
- "qwen2.5-1.5b": "https://huggingface.co/bartowski/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/Qwen2.5-1.5B-Instruct-Q8_0.gguf",
25
- "qwen2.5-3b": "https://huggingface.co/bartowski/Qwen2.5-3B-Instruct-GGUF/resolve/main/Qwen2.5-3B-Instruct-Q8_0.gguf",
26
- "qwen2.5-7b": "https://huggingface.co/bartowski/Qwen2.5-7B-Instruct-GGUF/resolve/main/Qwen2.5-7B-Instruct-Q8_0.gguf",
27
- "llama-3.2-1b": "https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q8_0.gguf",
28
- "llama-3.2-3b": "https://huggingface.co/bartowski/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q8_0.gguf",
29
- };
30
- const arg = process.argv[2];
31
- if (!arg || arg === "--help" || arg === "-h") {
32
- console.log(`usage: npm run compile2bit <model> [mode] [out-dir]
33
- mode : q4 (default, coherent) | ldlq | incoherent (2-bit, research)
34
- model : ${Object.keys(REGISTRY).join(", ")}\n …or a full Q8_0 GGUF URL
35
- out : default ./models/<model>-<mode> (a content-addressed κ-object dir: manifest.json + b/<κ>.gz)
36
- example: npm run compile2bit qwen2.5-7b → ./models/qwen2.5-7b-q4`);
37
- process.exit(arg ? 0 : 1);
38
- }
39
- const isUrl = /^https?:\/\//.test(arg);
40
- const isLocal = !isUrl && existsSync(arg); // a local GGUF path (browser-downloaded — sidesteps HF throttle)
41
- const URL = isUrl || isLocal ? arg : REGISTRY[arg];
42
- if (!URL) { console.error(`unknown model "${arg}". known: ${Object.keys(REGISTRY).join(", ")} (or pass a GGUF URL / local path)`); process.exit(1); }
43
- const name = isUrl ? "model" : arg;
44
- const MODE = process.argv[3] || "q4"; // q4 = coherent default
45
- const OUT = process.argv[4] || `./models/${name}-${MODE}`;
46
- // local-file OR http range reader: a non-http arg is treated as a path on disk (sidesteps the
47
- // HF throttle — download the GGUF in a browser, point us at the file).
48
- let _localFd = null;
49
- const readRange = async (url, start, len) => {
50
- if (!/^https?:\/\//.test(url)) {
51
- const fs = await import("node:fs");
52
- if (_localFd === null) _localFd = fs.openSync(url, "r");
53
- const buf = Buffer.allocUnsafe(len);
54
- let got = 0;
55
- while (got < len) { const n = fs.readSync(_localFd, buf, got, len - got, start + got); if (n <= 0) break; got += n; }
56
- return new Uint8Array(buf.buffer, buf.byteOffset, got);
57
- }
58
- for (let a = 0; a < 8; a++) { try { const r = await fetch(url, { headers: { Range: `bytes=${start}-${start + len - 1}` }, redirect: "follow" }); if (r.ok || r.status === 206) return new Uint8Array(await r.arrayBuffer()); } catch {} await new Promise(z => setTimeout(z, 500 * (a + 1))); } throw new Error("range fetch failed @" + start);
59
- };
60
- const sha = (b) => "sha256:" + createHash("sha256").update(b).digest("hex");
61
- const MB = (n) => (n / 1e6).toFixed(1);
62
-
63
- console.log(`compiling [${MODE}] ${URL}`);
64
- const { dataOffset, tensors, headerBytes } = await readHeader(URL, readRange);
65
- const meta = parseGgufHeader(headerBytes).meta;
66
- const manifest = buildManifest(meta, tensors, 8);
67
- // MoE (G5): buildManifest enumerates only the router per layer (experts are too many to stream-name);
68
- // the κ-object compiler DOES enumerate every expert slice so each is packed + content-addressed. The
69
- // expert FFN runs in the engine's Q4 path (ExpQ/ExpS expect engine-Q4 [nibbles][f32 scales]), so MoE
70
- // compiles in q4 mode only. makeDiskFetcher resolves `l{i}.e{e}.{role}` → the e-th slab of ffn_*_exps.
71
- if (manifest.moe) {
72
- if (MODE !== "q4") throw new Error(`MoE compiles in q4 mode only (got "${MODE}") — the resident expert FFN runs the engine's Q4 GEMV`);
73
- const { n_experts } = manifest.moe, { d: dM, ff: ffM, n_layers: nL } = manifest;
74
- const exp = [];
75
- for (let i = 0; i < nL; i++) for (let e = 0; e < n_experts; e++) {
76
- exp.push({ name: `l${i}.e${e}.gate`, N: ffM, K: dM, blk: true });
77
- exp.push({ name: `l${i}.e${e}.up`, N: ffM, K: dM, blk: true });
78
- exp.push({ name: `l${i}.e${e}.down`, N: dM, K: ffM, blk: true });
79
- }
80
- manifest.tensors = manifest.tensors.concat(exp);
81
- console.log(` MoE: ${n_experts} experts × ${nL} layers × 3 = ${exp.length} expert matrices enumerated (+ routers)`);
82
- }
83
- const BITS = (MODE === "q4" || MODE === "q3" || MODE === "e8") ? 4 : 8; // q4/q3/e8 source from Q4 (fast relayout); old 2-bit modes from Q8
84
- // 3-bit bit-plane packer: per 32-block, 3 u32 planes (low/mid/high bit) + one f32 scale; level = 2q−7 ∈ {−7…7}.
85
- function packQ3(W, N, K) {
86
- const nb = K / 32, planes = new Uint32Array(N * nb * 3), sc = new Float32Array(N * nb);
87
- for (let n = 0; n < N; n++) for (let b = 0; b < nb; b++) {
88
- const o = n * K + b * 32; let mx = 0; for (let i = 0; i < 32; i++) { const a = Math.abs(W[o + i]); if (a > mx) mx = a; }
89
- // MSE-optimal scale (k-quant trick): search the step that minimises block reconstruction error on the zero-centered grid {−3…4}.
90
- let s = (mx / 3) || 1e-12, bestMse = Infinity;
91
- for (let c = 0; c < 9; c++) { const sc2 = (mx * (0.22 + c * 0.035)) || 1e-12; let mse = 0; for (let i = 0; i < 32; i++) { let q = Math.round(W[o + i] / sc2) + 3; if (q < 0) q = 0; else if (q > 7) q = 7; const d = W[o + i] - (q - 3) * sc2; mse += d * d; } if (mse < bestMse) { bestMse = mse; s = sc2; } }
92
- sc[n * nb + b] = s;
93
- // FIELD layout ("q3f"): 10×3-bit direct fields per u32 (w0-9→p0, w10-19→p1, w20-29→p2); w30/w31
94
- // ride the three spare 2-bit stubs (sp6 = q30|q31<<3, split 2+2+2 across the word tops). Same
95
- // 12 B/block as the old bit-planes, but the GPU unpack is ONE shift+and per weight (~½ the ALU).
96
- let p0 = 0, p1 = 0, p2 = 0, sp6 = 0;
97
- for (let i = 0; i < 32; i++) {
98
- let q = Math.round(W[o + i] / s) + 3; if (q < 0) q = 0; else if (q > 7) q = 7;
99
- if (i < 10) p0 |= q << (i * 3);
100
- else if (i < 20) p1 |= q << ((i - 10) * 3);
101
- else if (i < 30) p2 |= q << ((i - 20) * 3);
102
- else sp6 |= q << ((i - 30) * 3);
103
- }
104
- p0 |= (sp6 & 3) << 30; p1 |= ((sp6 >> 2) & 3) << 30; p2 |= ((sp6 >> 4) & 3) << 30;
105
- const bp = (n * nb + b) * 3; planes[bp] = p0 >>> 0; planes[bp + 1] = p1 >>> 0; planes[bp + 2] = p2 >>> 0;
106
- }
107
- return { q: new Uint8Array(planes.buffer), s: sc };
108
- }
109
- // ── bitnet raw fetch: i2_s (ternary), f16, f32 read straight off the GGUF (makeDiskFetcher
110
- // doesn't know i2_s). i2_s layout (ground-truthed vs the bf16 master, 0 non-boundary misses):
111
- // 128-weight blocks → 32 bytes; weight j of a block lives in byte (j mod 32) at bit-pair
112
- // (j div 32), MSB-first (shift = 6−2·plane); codes {0,1,2} = {−1,0,+1}; ONE f32 tensor scale
113
- // in a 32-byte tail. We re-pack to the engine's canonical t2 order: 16 codes per u32, LSB-first.
114
- const GGML_I2S_BYTES = (el) => el / 4 + 32;
115
- const rawFetch = async (name) => {
116
- const gname = ggufNameFor(name, !manifest.tied); const t = tensors.find((x) => x.name === gname);
117
- if (!t) throw new Error("no gguf tensor for " + name);
118
- const el = t.dims.reduce((a, b) => a * b, 1);
119
- const ty = t.ggmlType;
120
- const len = ty === 0 ? el * 4 : ty === 1 ? el * 2 : ty === 35 ? el / 256 * 66 : ty === 12 ? el / 256 * 144 : ty === 14 ? el / 256 * 210 : GGML_I2S_BYTES(el);
121
- return { t, el, ty, bytes: await readRange(URL, dataOffset + Number(t.offset), len) };
122
- };
123
- const f16f = (u) => { const s = (u >> 15) & 1, e = (u >> 10) & 31, m = u & 1023; const v = e === 0 ? m / 1024 * 2 ** -14 : e === 31 ? (m ? NaN : Infinity) : (1 + m / 1024) * 2 ** (e - 15); return s ? -v : v; };
124
- const decodeT = (bytes, el) => { // i2_s → codes {0,1,2} in natural order + scale
125
- const dv = new DataView(bytes.buffer, bytes.byteOffset + el / 4, 32);
126
- const scale = dv.getFloat32(0, true);
127
- const codes = new Uint8Array(el);
128
- let bad = 0;
129
- for (let i = 0; i < el; i++) { const blk = (i / 128) | 0, j = i % 128; const c = (bytes[blk * 32 + (j % 32)] >> (6 - 2 * ((j / 32) | 0))) & 3; if (c === 3) bad++; codes[i] = c; }
130
- if (bad > 0) throw new Error(`i2_s alphabet violation: ${bad} fields decode to 3 — layout differs for this model`);
131
- if (!(scale > 0 && scale < 1e3)) throw new Error(`implausible i2_s scale ${scale}`);
132
- return { codes, scale };
133
- };
134
- const packT2 = (codes, el) => { // canonical t2: 16 codes/u32, LSB-first
135
- const w = new Uint32Array(el / 16);
136
- for (let i = 0; i < el; i++) w[i >> 4] |= codes[i] << ((i & 15) * 2);
137
- return new Uint8Array(w.buffer);
138
- };
139
- // TQ2_0 (mainline llama.cpp ternary, type 35): 256-w blocks of 66 B = qs[64] (four 32-byte planes,
140
- // LSB-first: trit j of a 128-w half in byte (j mod 32) at bit-pair (j div 32)) + ONE f16 scale/block.
141
- // Returns codes {0,1,2} + the per-block scales (collapsed to per-tensor upstream when uniform).
142
- const decodeTQ2 = (bytes, el) => {
143
- const nb = el / 256, codes = new Uint8Array(el), scales = new Float32Array(nb);
144
- let bad = 0;
145
- for (let b = 0; b < nb; b++) {
146
- const o = b * 66;
147
- for (let i = 0; i < 256; i++) {
148
- const half = (i / 128) | 0, j = i % 128;
149
- const c = (bytes[o + half * 32 + (j % 32)] >> (2 * ((j / 32) | 0))) & 3;
150
- if (c === 3) bad++;
151
- codes[b * 256 + i] = c;
152
- }
153
- scales[b] = f16f(bytes[o + 64] | (bytes[o + 65] << 8));
154
- }
155
- if (bad > 0) throw new Error(`TQ2_0 alphabet violation: ${bad} fields = 3`);
156
- return { codes, scales };
157
- };
158
- // K-quant dequant (verbatim ggml layouts) — for the 8B's Q4_K embed / Q6_K output
159
- const decodeQ4K = (bytes, el) => {
160
- const nb = el / 256, W = new Float32Array(el);
161
- for (let b = 0; b < nb; b++) {
162
- const o = b * 144, d = f16f(bytes[o] | (bytes[o + 1] << 8)), dmin = f16f(bytes[o + 2] | (bytes[o + 3] << 8));
163
- const sc = bytes.subarray(o + 4, o + 16), qs = bytes.subarray(o + 16, o + 144);
164
- const sm = (j) => j < 4 ? [sc[j] & 63, sc[j + 4] & 63] : [(sc[j + 4] & 0xF) | ((sc[j - 4] >> 6) << 4), (sc[j + 4] >> 4) | ((sc[j] >> 6) << 4)];
165
- let y = b * 256, is = 0, q = 0;
166
- for (let j = 0; j < 256; j += 64) {
167
- const [s1, m1] = sm(is), [s2, m2] = sm(is + 1);
168
- for (let l = 0; l < 32; l++) W[y + l] = d * s1 * (qs[q + l] & 0xF) - dmin * m1;
169
- for (let l = 0; l < 32; l++) W[y + 32 + l] = d * s2 * (qs[q + l] >> 4) - dmin * m2;
170
- y += 64; q += 32; is += 2;
171
- }
172
- }
173
- return W;
174
- };
175
- const decodeQ6K = (bytes, el) => {
176
- const nb = el / 256, W = new Float32Array(el);
177
- for (let b = 0; b < nb; b++) {
178
- const o = b * 210, ql = bytes.subarray(o, o + 128), qh = bytes.subarray(o + 128, o + 192);
179
- const sc = new Int8Array(bytes.buffer, bytes.byteOffset + o + 192, 16), d = f16f(bytes[o + 208] | (bytes[o + 209] << 8));
180
- let y = b * 256, pql = 0, pqh = 0, psc = 0;
181
- for (let n = 0; n < 256; n += 128) {
182
- for (let l = 0; l < 32; l++) {
183
- const is = (l / 16) | 0;
184
- W[y + l] = d * sc[psc + is] * (((ql[pql + l] & 0xF) | (((qh[pqh + l] >> 0) & 3) << 4)) - 32);
185
- W[y + l + 32] = d * sc[psc + is + 2] * (((ql[pql + l + 32] & 0xF) | (((qh[pqh + l] >> 2) & 3) << 4)) - 32);
186
- W[y + l + 64] = d * sc[psc + is + 4] * (((ql[pql + l] >> 4) | (((qh[pqh + l] >> 4) & 3) << 4)) - 32);
187
- W[y + l + 96] = d * sc[psc + is + 6] * (((ql[pql + l + 32] >> 4) | (((qh[pqh + l] >> 6) & 3) << 4)) - 32);
188
- }
189
- y += 128; pql += 64; pqh += 32; psc += 8;
190
- }
191
- }
192
- return W;
193
- };
194
- const fetchTensor = MODE === "bitnet" ? null : makeDiskFetcher({ url: URL, readRange, dataOffset, tensors, manifest, bits: BITS });
195
- const { d, ff, vocab } = manifest, nbD = d / 32;
196
-
197
- mkdirSync(OUT + "/b", { recursive: true });
198
- // self-contained tokenizer: bundle the GGUF header (tokenizer + arch kv) into the κ-object so the
199
- // browser loader needs NO external source URL (works offline / when HF is unreachable).
200
- const LOCAL_SRC = !/^https?:\/\//.test(URL);
201
- if (LOCAL_SRC) writeFileSync(OUT + "/tokenizer.gguf", headerBytes);
202
- const progPath = OUT + "/progress.json";
203
- const index = existsSync(progPath) ? JSON.parse(readFileSync(progPath, "utf8")) : {};
204
- const saveProg = () => writeFileSync(progPath, JSON.stringify(index));
205
- const writeBlock = (bytes) => { const gz = gzipSync(bytes, { level: 6 }); const k = sha(gz); const f = `${OUT}/b/${k.replace(":", "_")}.gz`; if (!existsSync(f)) writeFileSync(f, gz); return { kappa: k, stored: gz.length }; };
206
- const packScales = (sc) => { const u = new Uint16Array(sc.length); for (let i = 0; i < sc.length; i++) u[i] = f32ToF16(sc[i]); return new Uint8Array(u.buffer); };
207
-
208
- // LDLQ proxy Hessian: H = Σ_t e_t e_tᵀ over a token subset of the embedding table → L (for every K=d matrix).
209
- // L is cached to disk so a resume skips the 543 MB embed re-fetch + the O(d³) decompose (and the memory peak).
210
- let Ld = null; const Lpath = OUT + "/_L.bin";
211
- if (MODE === "ldlq") {
212
- if (existsSync(Lpath)) { const buf = readFileSync(Lpath); Ld = new Float64Array(buf.buffer, buf.byteOffset, buf.length / 8); console.log(" loaded cached proxy L (" + (buf.length / 1e6).toFixed(0) + "MB)"); }
213
- else {
214
- process.stdout.write(" building proxy Hessian (embed EᵀE)… ");
215
- let eb = await fetchTensor("embed"); const eq = new Int8Array(eb.buffer, eb.byteOffset, vocab * d), es = new Float32Array(eb.buffer, eb.byteOffset + vocab * d, vocab * nbD);
216
- const T = 4000, H = new Float64Array(d * d), e = new Float64Array(d); let s = 12345; const rnd = () => (s = (s * 1664525 + 1013904223) >>> 0) / 4294967296;
217
- for (let n = 0; n < T; n++) { const tk = (rnd() * vocab) | 0; for (let a = 0; a < d; a++) e[a] = eq[tk * d + a] * es[tk * nbD + (a >> 5)]; for (let a = 0; a < d; a++) { const ea = e[a], row = a * d; for (let b = a; b < d; b++) H[row + b] += ea * e[b]; } }
218
- eb = null; const es2 = null; // release the 543 MB embed before the decompose
219
- for (let a = 0; a < d; a++) for (let b = a + 1; b < d; b++) H[b * d + a] = H[a * d + b];
220
- let tr = 0; for (let a = 0; a < d; a++) tr += H[a * d + a]; const dmp = 0.01 * tr / d; for (let a = 0; a < d; a++) H[a * d + a] += dmp;
221
- Ld = ldlDecompose(H, d).L; writeFileSync(Lpath, Buffer.from(Ld.buffer)); console.log("done (cached L)");
222
- }
223
- }
224
-
225
- let tIn = 0, tOut = 0, t0 = Date.now(), nLdlq = 0, E8 = null, embedQ3 = null;
226
- const tlist = manifest.tensors;
227
- for (let ti = 0; ti < tlist.length; ti++) {
228
- const t = tlist[ti]; if (index[t.name]) { tOut += index[t.name].stored || 0; continue; } // resume
229
- if (MODE === "bitnet") {
230
- const { el, ty, bytes } = await rawFetch(t.name);
231
- let rec;
232
- if (t.name === "embed" || t.name === "lm_head") { // f16/Q4_K/Q6_K → q3f pack (tied models reuse ONE block — content-address dedups)
233
- let blk3 = manifest.tied ? embedQ3 : null;
234
- if (!blk3) {
235
- let W;
236
- if (ty === 1) { W = new Float32Array(el); const u16 = new Uint16Array(bytes.buffer, bytes.byteOffset, el); for (let i = 0; i < el; i++) W[i] = f16f(u16[i]); }
237
- else if (ty === 12) W = decodeQ4K(bytes, el);
238
- else if (ty === 14) W = decodeQ6K(bytes, el);
239
- else throw new Error(`unsupported ${t.name} ggml type ${ty}`);
240
- const r = packQ3(W, t.N, t.K); const blob = new Uint8Array(r.q.length + r.s.byteLength); blob.set(r.q, 0); blob.set(new Uint8Array(r.s.buffer), r.q.length);
241
- blk3 = writeBlock(blob);
242
- if (manifest.tied) embedQ3 = blk3;
243
- }
244
- rec = { fmt: "q3", N: t.N, K: t.K, ...blk3 };
245
- } else if (t.blk && ty === 35) { // TQ2_0 ternary: collapse per-block scales when uniform (trained per-tensor) → t2; else q3 fallback
246
- const { codes, scales } = decodeTQ2(bytes, el);
247
- // all-zero blocks quantize to d=0 with codes=1 — exact under ANY scale, so they don't break
248
- // uniformity (TriLM has many; treating them as deviation forced 209 tensors into q3f).
249
- let s0 = 0; for (const s of scales) if (s > s0) s0 = s;
250
- let dev = 0, zeroOk = true;
251
- for (let b = 0; b < scales.length; b++) {
252
- const s = scales[b];
253
- if (s === 0) { for (let i = b * 256; i < (b + 1) * 256; i++) if (codes[i] !== 1) { zeroOk = false; break; } }
254
- else dev = Math.max(dev, Math.abs(s - s0) / s0);
255
- }
256
- if (dev < 1e-3 && zeroOk) {
257
- rec = { fmt: "t2", N: t.N, K: t.K, s: s0, ...writeBlock(packT2(codes, el)) };
258
- } else { // non-uniform (per-row/channel scale structure, e.g. TriLM):
259
- // t2r = EXACT TQ2_0 re-layout — trit codes (the lattice residents) + per-256-block f32
260
- // scales. 2.125 bpw, runs the ternary kernel, and the atlas-bridge witness reads the codes.
261
- const blob = new Uint8Array(el / 4 + scales.byteLength);
262
- blob.set(packT2(codes, el), 0); blob.set(new Uint8Array(scales.buffer), el / 4);
263
- rec = { fmt: "t2r", N: t.N, K: t.K, ...writeBlock(blob) };
264
- if (!rawFetch.warned) { console.log(`\n NOTE: ${t.name} has non-uniform TQ2_0 scales (dev ${dev.toFixed(4)}) → t2r (per-block scales)`); rawFetch.warned = true; }
265
- }
266
- } else if (t.blk) { // i2_s ternary matrix → canonical t2 + per-tensor scale in the manifest
267
- const { codes, scale } = decodeT(bytes, el);
268
- rec = { fmt: "t2", N: t.N, K: t.K, s: scale, ...writeBlock(packT2(codes, el)) };
269
- } else { // norms (f32) verbatim
270
- if (ty !== 0) throw new Error(`expected f32 norm ${t.name}, got ggml type ${ty}`);
271
- rec = { fmt: "f32", N: t.N, K: t.K, ...writeBlock(bytes) };
272
- }
273
- index[t.name] = rec; tIn += bytes.length; tOut += rec.stored;
274
- if (ti % 10 === 0) { saveProg(); process.stdout.write(`\r ${Object.keys(index).length}/${tlist.length} tensors · ${MB(tOut)}MB · ${((Date.now() - t0) / 1000).toFixed(0)}s `); }
275
- continue;
276
- }
277
- const bytes = await fetchTensor(t.name); if (!bytes || bytes.length === 0) continue;
278
- let rec;
279
- if (MODE === "q4") { // native Q4: fetchTensor already returns engine [nibbles][f32 scales] — store verbatim
280
- rec = { fmt: t.blk ? "q4" : "f32", N: t.N, K: t.K, ...writeBlock(bytes) };
281
- } else if (MODE === "q3" || MODE === "e8") { // q3: all → 3-bit fields. e8: layers → E₈ codewords (2.5 b/w); embed+lm_head stay q3f
282
- if (!t.blk) { rec = { fmt: "f32", N: t.N, K: t.K, ...writeBlock(bytes) }; }
283
- else { const N = t.N, K = t.K, qlen = N * K / 2, nb = K / 32; const q = bytes.subarray(0, qlen), s = new Float32Array(bytes.buffer, bytes.byteOffset + qlen, N * nb);
284
- const W = new Float32Array(N * K); for (let i = 0; i < N * K; i++) { const nib = (q[i >> 1] >> ((i & 1) * 4)) & 0xf; W[i] = (nib - 8) * s[(((i / K) | 0) * nb) + (((i % K) >> 5))]; }
285
- const e8only = process.env.E8_ONLY; // diagnostic bisect: "attn" | "ffn" restricts which tensor class goes e8q
286
- const e8Eligible = !e8only || (e8only === "attn" ? /\.(wq|wk|wv|wo)$/.test(t.name) : /\.(w_gate|w_up|w_down)$/.test(t.name));
287
- if (MODE === "e8" && t.name !== "embed" && t.name !== "lm_head" && e8Eligible) {
288
- if (!E8) { // build the codebook ONCE from this model's own weights (deterministic; resumable via _lut.bin)
289
- const lutPath = OUT + "/_lut.bin";
290
- if (existsSync(lutPath)) { const b = readFileSync(lutPath); E8 = { lut: new Float32Array(b.buffer, b.byteOffset, 2048) }; }
291
- else { const sample = W.subarray(0, Math.min(1 << 21, N * K)); E8 = buildE8LUT(sample); writeFileSync(lutPath, Buffer.from(E8.lut.buffer)); }
292
- E8.index = E8.index || new Map(Array.from({ length: 256 }, (_, c) => [Array.from({ length: 8 }, (_, i) => Math.abs(Math.round(E8.lut[c * 8 + i] * 2))).join(",") + ",", c]));
293
- E8.rec = writeBlock(new Uint8Array(E8.lut.buffer.slice(0))); // the LUT as a content-addressed block (the substrate anchor)
294
- console.log(`\n E₈ LUT sealed: ${E8.rec.kappa.slice(0, 40)}…`);
295
- }
296
- const r = packE8(W, N, K, E8.lut, E8.index, f32ToF16);
297
- rec = { fmt: "e8q", N, K, fp16: true, ...writeBlock(r.blob) };
298
- } else {
299
- const r = packQ3(W, N, K); const blob = new Uint8Array(r.q.length + r.s.byteLength); blob.set(r.q, 0); blob.set(new Uint8Array(r.s.buffer), r.q.length);
300
- rec = { fmt: "q3", N, K, ...writeBlock(blob) };
301
- }
302
- }
303
- } else if (t.blk && t.name !== "embed") {
304
- const N = t.N, K = t.K, qlen = N * K, nb = K / 32;
305
- const q = bytes.subarray(0, qlen), s = new Float32Array(bytes.buffer, bytes.byteOffset + qlen, N * nb);
306
- const W = new Float32Array(qlen); for (let i = 0; i < qlen; i++) W[i] = (q[i] << 24 >> 24) * s[(((i / K) | 0) * nb) + (((i % K) >> 5))];
307
- if (MODE === "incoherent") {
308
- const r = requant2bit(bytes.subarray(0, qlen), s, N, K); const blob = new Uint8Array(r.q.length + r.s.byteLength); blob.set(r.q, 0); blob.set(new Uint8Array(r.s.buffer), r.q.length);
309
- rec = { fmt: "2bit", N, K, Kp: r.Kp, incoherent: true, ...writeBlock(blob) };
310
- } else {
311
- const sc = new Float32Array(N * nb); for (let i = 0; i < N; i++) for (let b = 0; b < nb; b++) { let mx = 0; for (let j = 0; j < 32; j++) { const a = Math.abs(W[i * K + b * 32 + j]); if (a > mx) mx = a; } sc[i * nb + b] = (mx / 3) || 1e-12; }
312
- const useL = (K === d) ? Ld : null; if (useL) nLdlq++;
313
- const qw = ldlqRound2bit(W, N, K, useL, sc, 256); const f16 = packScales(sc); // banded LDLQ (256) — feasible at 7B scale
314
- const blob = new Uint8Array(qw.byteLength + f16.length); blob.set(new Uint8Array(qw.buffer), 0); blob.set(f16, qw.byteLength);
315
- rec = { fmt: "2bit", N, K, ldlq: !!useL, incoherent: false, fp16: true, ...writeBlock(blob) };
316
- }
317
- nLdlq;
318
- } else {
319
- rec = { fmt: t.name === "embed" ? "q8" : "f32", N: t.N, K: t.K, ...writeBlock(bytes) };
320
- }
321
- index[t.name] = rec; tIn += bytes.length; tOut += rec.stored;
322
- if (ti % 10 === 0) { saveProg(); process.stdout.write(`\r ${Object.keys(index).length}/${tlist.length} tensors · ${MB(tOut)}MB · ${((Date.now() - t0) / 1000).toFixed(0)}s `); }
323
- }
324
- saveProg();
325
- if (MODE === "e8" && !E8 && existsSync(OUT + "/_lut.bin")) { // resume edge: all tensors journaled, LUT κ still needed
326
- const b = readFileSync(OUT + "/_lut.bin");
327
- E8 = { lut: new Float32Array(b.buffer, b.byteOffset, 2048) }; E8.rec = writeBlock(new Uint8Array(E8.lut.buffer.slice(0)));
328
- }
329
- const root = sha(Buffer.from(Object.keys(index).sort().map(n => n + ":" + index[n].kappa).join("\n")));
330
- const { n_heads, n_kv_heads, n_layers, hd, rope_base, attn_bias, qk_norm, qk_norm_dim, tied, sub_norm, ffn_act } = manifest;
331
- const NATIVE3 = MODE === "q3" || MODE === "e8" || MODE === "bitnet";
332
- const outBits = NATIVE3 ? 3 : MODE === "q4" ? 4 : 8;
333
- const out = { format: "holo-2bit/1", mode: MODE, model: meta["general.name"] || "model", source: LOCAL_SRC ? "tokenizer.gguf" : URL, bits: outBits, ...(NATIVE3 ? { layout: "q3f" } : {}), ...(E8 ? { e8lut: E8.rec.kappa } : {}), ...(sub_norm ? { sub_norm: true } : {}), ...(ffn_act ? { ffn_act } : {}), ...(manifest.moe ? { moe: manifest.moe } : {}), twoBit: !NATIVE3 && MODE !== "q4", incoherent: MODE === "incoherent", root, d, n_heads, n_kv_heads, ff, vocab, n_layers, hd, rope_base, attn_bias, qk_norm, qk_norm_dim, tied, tensors: index };
334
- await stampFrame(out); // A1: stamp the frame (id + fingerprint) so the model is born conformant; root κ is over tensor blocks, so this does not change it
335
- writeFileSync(`${OUT}/manifest.json`, JSON.stringify(out, null, 1));
336
- console.log(`\n\ncompiled → ${OUT} [${MODE}]`);
337
- console.log(` ${Object.keys(index).length} tensors · κ-object ${MB(tOut)}MB · ${nLdlq} matrices LDLQ'd (proxy H), rest scalar`);
338
- console.log(` root κ ${root.slice(0, 44)}… · ${((Date.now() - t0) / 1000).toFixed(1)}s`);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4e8da881f80047c4c002a5e2effb4d8496b8fa82ae0725744eb552fba6c15b50
3
+ size 25383
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/00f304cc047e5fa68147f46a224914902c6c78072ee298cfc637adcc67c650f9 CHANGED
@@ -1,64 +1,3 @@
1
- import * as React from "react"
2
- import { ChevronDownIcon } from "lucide-react"
3
- import { Accordion as AccordionPrimitive } from "radix-ui"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- function Accordion({
8
- ...props
9
- }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
10
- return <AccordionPrimitive.Root data-slot="accordion" {...props} />
11
- }
12
-
13
- function AccordionItem({
14
- className,
15
- ...props
16
- }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
17
- return (
18
- <AccordionPrimitive.Item
19
- data-slot="accordion-item"
20
- className={cn("border-b last:border-b-0", className)}
21
- {...props}
22
- />
23
- )
24
- }
25
-
26
- function AccordionTrigger({
27
- className,
28
- children,
29
- ...props
30
- }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
31
- return (
32
- <AccordionPrimitive.Header className="flex">
33
- <AccordionPrimitive.Trigger
34
- data-slot="accordion-trigger"
35
- className={cn(
36
- "flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
37
- className
38
- )}
39
- {...props}
40
- >
41
- {children}
42
- <ChevronDownIcon className="pointer-events-none size-4 shrink-0 translate-y-0.5 text-muted-foreground transition-transform duration-200" />
43
- </AccordionPrimitive.Trigger>
44
- </AccordionPrimitive.Header>
45
- )
46
- }
47
-
48
- function AccordionContent({
49
- className,
50
- children,
51
- ...props
52
- }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
53
- return (
54
- <AccordionPrimitive.Content
55
- data-slot="accordion-content"
56
- className="overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
57
- {...props}
58
- >
59
- <div className={cn("pt-0 pb-4", className)}>{children}</div>
60
- </AccordionPrimitive.Content>
61
- )
62
- }
63
-
64
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9c01f8d794065ebc8bc9ba81feb525c022b1c168fa3120bd2c81bbf6a9a1be95
3
+ size 2034
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0118fd81c3350ccbc74d636e535d1ed04fc66f2cc256c0011d7ba9b72bdbaca8 CHANGED
@@ -1,176 +1,3 @@
1
- <!doctype html>
2
- <meta charset="utf-8">
3
- <title>forge — browser κ-native GPU inference</title>
4
- <body><pre id="out">loading…</pre></body>
5
- <script type="module">
6
- // Full Qwen2.5-0.5B forward on the GPU, in the browser. Weights are the forge's
7
- // unpacked κ-blocks (Q5_0/Q8_0/Q4_0 -> per-32 f32 scale + packed int8 quant;
8
- // Q6_K/Q4_K/F32 -> f32). 24-layer prefill with KV-cache + chunked lm_head ->
9
- // next-token argmax. Witnessed against the CPU oracle / llama.cpp (" Paris").
10
-
11
- const out = document.getElementById("out");
12
- const log = (s) => { out.textContent = s; };
13
- window.__run = { ready: false };
14
- const t0 = performance.now();
15
- const T = (m) => log(`[${((performance.now() - t0) / 1000).toFixed(1)}s] ${m}`);
16
-
17
- const MATVECQ = `
18
- @group(0) @binding(0) var<storage,read> scales: array<f32>;
19
- @group(0) @binding(1) var<storage,read> quants: array<u32>; // 4 packed int8 per u32
20
- @group(0) @binding(2) var<storage,read> act: array<f32>;
21
- @group(0) @binding(3) var<storage,read_write> outv: array<f32>;
22
- @group(0) @binding(4) var<uniform> p: vec4<u32>; // (N,K,outBase)
23
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
24
- let n=g.x; let N=p.x; let K=p.y; if(n>=N){return;}
25
- let nb=K/32u; var acc=0.0;
26
- for (var b=0u;b<nb;b++){
27
- let s=scales[n*nb+b]; let base=n*K+b*32u; let ab=b*32u; var inner=0.0;
28
- for (var i=0u;i<32u;i++){
29
- let idx=base+i; let u=quants[idx>>2u]; let lane=(idx&3u)*8u;
30
- let q=(i32(u<<(24u-lane)))>>24u;
31
- inner=inner+f32(q)*act[ab+i];
32
- }
33
- acc=acc+s*inner;
34
- }
35
- outv[p.z+n]=acc;
36
- }`;
37
- const MATVECF = `
38
- @group(0) @binding(0) var<storage,read> W: array<f32>;
39
- @group(0) @binding(1) var<storage,read> x: array<f32>;
40
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
41
- @group(0) @binding(3) var<uniform> p: vec4<u32>;
42
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
43
- let n=g.x; let N=p.x; let K=p.y; if(n>=N){return;}
44
- var acc=0.0; let b=n*K; for(var k=0u;k<K;k++){acc=acc+W[b+k]*x[k];} y[p.z+n]=acc;
45
- }`;
46
- const ADD = `
47
- @group(0) @binding(0) var<storage,read> a: array<f32>;
48
- @group(0) @binding(1) var<storage,read> b: array<f32>;
49
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
50
- @group(0) @binding(3) var<uniform> p: vec4<u32>;
51
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>){let i=g.x;if(i>=p.x){return;}y[i]=a[i]+b[i];}`;
52
- const RMS = `
53
- @group(0) @binding(0) var<storage,read> x: array<f32>;
54
- @group(0) @binding(1) var<storage,read> w: array<f32>;
55
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
56
- @group(0) @binding(3) var<uniform> p: vec4<f32>;
57
- @compute @workgroup_size(1) fn main(){let N=u32(p.x);var ss=0.0;for(var i=0u;i<N;i++){ss=ss+x[i]*x[i];}let sc=1.0/sqrt(ss/p.x+p.y);for(var i=0u;i<N;i++){y[i]=x[i]*sc*w[i];}}`;
58
- const ROPE = `
59
- @group(0) @binding(0) var<storage,read> x: array<f32>;
60
- @group(0) @binding(1) var<storage,read_write> y: array<f32>;
61
- @group(0) @binding(2) var<uniform> a: vec4<f32>; // (hd,nRot,nheads,pos)
62
- @group(0) @binding(3) var<uniform> b: vec4<f32>; // (freqBase)
63
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>){
64
- let hd=u32(a.x); let nRot=u32(a.y); let nheads=u32(a.z); let pos=a.w; let half=nRot/2u; let idx=g.x;
65
- if(idx>=nheads*half){return;} let head=idx/half; let ic=idx%half; let base=head*hd;
66
- let ts=pow(b.x,-2.0/a.y); let th=pos*pow(ts,f32(ic)); let c=cos(th); let s=sin(th);
67
- let x0=x[base+ic]; let x1=x[base+ic+half]; y[base+ic]=x0*c-x1*s; y[base+ic+half]=x0*s+x1*c;
68
- }`;
69
- const ATTN = `
70
- @group(0) @binding(0) var<storage,read> q: array<f32>;
71
- @group(0) @binding(1) var<storage,read> kc: array<f32>;
72
- @group(0) @binding(2) var<storage,read> vc: array<f32>;
73
- @group(0) @binding(3) var<storage,read_write> ctx: array<f32>;
74
- @group(0) @binding(4) var<uniform> a: vec4<u32>; // (nh,hd,curPos,kv)
75
- @group(0) @binding(5) var<uniform> b: vec4<f32>; // (scale,grp)
76
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>){
77
- let nh=a.x; let hd=a.y; let curPos=a.z; let kv=a.w; let scale=b.x; let grp=u32(b.y);
78
- let hh=g.x; if(hh>=nh){return;} let kvh=hh/grp; let qoff=hh*hd; let koff=kvh*hd;
79
- var sc: array<f32,64>; var mx=-3.0e38;
80
- for(var s=0u;s<=curPos;s++){var d=0.0;for(var i=0u;i<hd;i++){d=d+q[qoff+i]*kc[s*kv+koff+i];}sc[s]=d*scale;if(sc[s]>mx){mx=sc[s];}}
81
- var sum=0.0;for(var s=0u;s<=curPos;s++){sc[s]=exp(sc[s]-mx);sum=sum+sc[s];}
82
- for(var i=0u;i<hd;i++){var acc=0.0;for(var s=0u;s<=curPos;s++){acc=acc+(sc[s]/sum)*vc[s*kv+koff+i];}ctx[qoff+i]=acc;}
83
- }`;
84
- const SWIGLU = `
85
- @group(0) @binding(0) var<storage,read> gt: array<f32>;
86
- @group(0) @binding(1) var<storage,read> up: array<f32>;
87
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
88
- @group(0) @binding(3) var<uniform> p: vec4<u32>;
89
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>){let i=g.x;if(i>=p.x){return;}let v=gt[i];y[i]=(v/(1.0+exp(-v)))*up[i];}`;
90
-
91
- let dev, P;
92
- const pipe = (c) => { const m = dev.createShaderModule({ code: c }); return dev.createComputePipeline({ layout: "auto", compute: { module: m, entryPoint: "main" } }); };
93
- const u4 = (v) => { const b = dev.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, new Uint32Array([...v, 0, 0, 0, 0].slice(0, 4))); return b; };
94
- const f4 = (v) => { const b = dev.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, new Float32Array([...v, 0, 0, 0, 0].slice(0, 4))); return b; };
95
- const sbuf = (n) => dev.createBuffer({ size: Math.max(4, n * 4), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST });
96
- const wbufF = (arr) => { const b = dev.createBuffer({ size: Math.max(4, arr.byteLength), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, arr); return b; };
97
- function disp(enc, pl, bufs, groups) { const bg = dev.createBindGroup({ layout: pl.getBindGroupLayout(0), entries: bufs.map((b, i) => ({ binding: i, resource: { buffer: b } })) }); const pa = enc.beginComputePass(); pa.setPipeline(pl); pa.setBindGroup(0, bg); pa.dispatchWorkgroups(groups); pa.end(); }
98
- const G = (n) => Math.ceil(n / 64);
99
-
100
- async function main() {
101
- const adapter = await navigator.gpu.requestAdapter(); dev = await adapter.requestDevice();
102
- P = { q: pipe(MATVECQ), f: pipe(MATVECF), add: pipe(ADD), rms: pipe(RMS), rope: pipe(ROPE), attn: pipe(ATTN), swiglu: pipe(SWIGLU) };
103
- T("fetching pack…");
104
- const meta = await (await fetch("./model-pack.json")).json();
105
- const f32 = new Float32Array(await (await fetch("./model-f32.bin")).arrayBuffer());
106
- const i8ab = await (await fetch("./model-i8.bin")).arrayBuffer();
107
- T(`pack loaded (${(f32.byteLength / 1e6 | 0)}+${(i8ab.byteLength / 1e6 | 0)}MB). uploading weights…`);
108
- const { n_layer, n_embd: D, n_head: NH, n_head_kv: NHKV, head_dim: HD, eps: EPS, freq_base: FREQ, tokens } = meta;
109
- const FF = meta.tensors["l0.gate"].N;
110
- const KV = NHKV * HD, QD = NH * HD, scale = 1 / Math.sqrt(HD), grp = NH / NHKV, vocab = meta.tensors["lm_head"].N;
111
-
112
- // upload a weight (q -> {kind, sBuf, qBuf, N, K}; f32 -> {kind, fBuf, N, K})
113
- function up(t) {
114
- if (t.kind === "q") {
115
- const s = f32.subarray(t.sOff, t.sOff + t.sLen).slice();
116
- const qU32 = new Uint32Array(i8ab, t.qOff, t.qLen / 4); // reinterpret int8 -> u32 (4 lanes)
117
- return { kind: "q", sBuf: wbufF(s), qBuf: wbufF(qU32), N: t.N, K: t.K };
118
- }
119
- return { kind: "f32", fBuf: wbufF(f32.subarray(t.fOff, t.fOff + t.fLen).slice()), N: t.N, K: t.K };
120
- }
121
- const Wt = {}; for (const k in meta.tensors) if (k !== "lm_head") Wt[k] = up(meta.tensors[k]);
122
- // lm_head chunked (quants buffer would exceed 128MB) — split rows
123
- const lm = meta.tensors["lm_head"], CH = Math.ceil(lm.N / 100000), chunkRows = Math.ceil(lm.N / CH);
124
- const lmScales = wbufF(f32.subarray(lm.sOff, lm.sOff + lm.sLen).slice());
125
- const lmChunks = [];
126
- for (let c = 0; c < CH; c++) { const r0 = c * chunkRows, r1 = Math.min(lm.N, r0 + chunkRows); const nb = lm.K / 32; lmChunks.push({ r0, n: r1 - r0, qBuf: wbufF(new Uint32Array(i8ab, lm.qOff + r0 * lm.K, (r1 - r0) * lm.K / 4)), sBuf: wbufF(f32.subarray(lm.sOff + r0 * nb, lm.sOff + r1 * nb).slice()) }); }
127
- T(`weights uploaded. running ${n_layer}-layer forward over ${tokens.length} tokens…`);
128
-
129
- // scratch + per-layer KV
130
- const S = {}; for (const [n, sz] of [["h", D], ["hh", D], ["xn", D], ["q", QD], ["qb", QD], ["qr", QD], ["k", KV], ["kb", KV], ["kr", KV], ["v", KV], ["vb", KV], ["ctx", QD], ["ao", D], ["fi", D], ["xn2", D], ["g", FF], ["u", FF], ["sw", FF], ["fo", D], ["hn", D]]) S[n] = sbuf(sz);
131
- const Kc = [], Vc = []; for (let L = 0; L < n_layer; L++) { Kc.push(sbuf(tokens.length * KV)); Vc.push(sbuf(tokens.length * KV)); }
132
- const logits = sbuf(vocab);
133
-
134
- const mv = (enc, w, xBuf, yBuf, outBase = 0) => { if (w.kind === "q") disp(enc, P.q, [w.sBuf, w.qBuf, xBuf, yBuf, u4([w.N, w.K, outBase])], G(w.N)); else disp(enc, P.f, [w.fBuf, xBuf, yBuf, u4([w.N, w.K, outBase])], G(w.N)); };
135
-
136
- for (let pos = 0; pos < tokens.length; pos++) {
137
- dev.queue.writeBuffer(S.h, 0, f32.subarray(meta.embeds[pos].off, meta.embeds[pos].off + D).slice());
138
- for (let L = 0; L < n_layer; L++) {
139
- const enc = dev.createCommandEncoder(); const w = (s) => Wt[`l${L}.${s}`];
140
- disp(enc, P.rms, [S.h, w("attn_norm").fBuf, S.xn, f4([D, EPS])], 1);
141
- mv(enc, w("wq"), S.xn, S.q); disp(enc, P.add, [S.q, w("bq").fBuf, S.qb, u4([QD])], G(QD));
142
- mv(enc, w("wk"), S.xn, S.k); disp(enc, P.add, [S.k, w("bk").fBuf, S.kb, u4([KV])], G(KV));
143
- mv(enc, w("wv"), S.xn, S.v); disp(enc, P.add, [S.v, w("bv").fBuf, S.vb, u4([KV])], G(KV));
144
- disp(enc, P.rope, [S.qb, S.qr, f4([HD, HD, NH, pos]), f4([FREQ])], G(NH * HD / 2));
145
- disp(enc, P.rope, [S.kb, S.kr, f4([HD, HD, NHKV, pos]), f4([FREQ])], G(NHKV * HD / 2));
146
- enc.copyBufferToBuffer(S.kr, 0, Kc[L], pos * KV * 4, KV * 4);
147
- enc.copyBufferToBuffer(S.vb, 0, Vc[L], pos * KV * 4, KV * 4);
148
- disp(enc, P.attn, [S.qr, Kc[L], Vc[L], S.ctx, u4([NH, HD, pos, KV]), f4([scale, grp])], G(NH));
149
- mv(enc, w("wo"), S.ctx, S.ao);
150
- disp(enc, P.add, [S.h, S.ao, S.fi, u4([D])], G(D));
151
- disp(enc, P.rms, [S.fi, w("ffn_norm").fBuf, S.xn2, f4([D, EPS])], 1);
152
- mv(enc, w("gate"), S.xn2, S.g); mv(enc, w("up"), S.xn2, S.u);
153
- disp(enc, P.swiglu, [S.g, S.u, S.sw, u4([FF])], G(FF));
154
- mv(enc, w("down"), S.sw, S.fo);
155
- disp(enc, P.add, [S.fi, S.fo, S.hh, u4([D])], G(D));
156
- enc.copyBufferToBuffer(S.hh, 0, S.h, 0, D * 4);
157
- dev.queue.submit([enc.finish()]);
158
- }
159
- if (pos === tokens.length - 1) {
160
- const enc = dev.createCommandEncoder();
161
- disp(enc, P.rms, [S.h, Wt["final_norm"].fBuf, S.hn, f4([D, EPS])], 1);
162
- for (const ch of lmChunks) disp(enc, P.q, [ch.sBuf, ch.qBuf, S.hn, logits, u4([ch.n, lm.K, ch.r0])], G(ch.n));
163
- const rb = dev.createBuffer({ size: vocab * 4, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ });
164
- enc.copyBufferToBuffer(logits, 0, rb, 0, vocab * 4);
165
- dev.queue.submit([enc.finish()]);
166
- await rb.mapAsync(GPUMapMode.READ);
167
- const lg = new Float32Array(rb.getMappedRange().slice(0)); rb.unmap();
168
- let am = 0; for (let i = 1; i < vocab; i++) if (lg[i] > lg[am]) am = i;
169
- const top = Array.from(lg.keys()).sort((a, b) => lg[b] - lg[a]).slice(0, 5);
170
- window.__run = { ready: true, argmax: am, oracleArgmax: meta.oracleArgmax, match: am === meta.oracleArgmax, top5: top, top5v: top.map((i) => +lg[i].toFixed(3)), rootKappa: meta.rootKappa, prompt: meta.prompt };
171
- T(`done: argmax=${am} (oracle ${meta.oracleArgmax}) ${am === meta.oracleArgmax ? "MATCH" : "MISMATCH"}`);
172
- }
173
- }
174
- }
175
- main().catch((e) => { window.__run = { ready: true, error: String(e), stack: e.stack }; log("error: " + e + "\n" + (e.stack || "")); });
176
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8c6f809744f0a2914935421bf922fa49a516b010520bbefbb49a6c1fc3e27407
3
+ size 11873
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0125b4aefcdf8a60f5f792080b5c7c3a2dc4e7d94b2944cc1f33b037e6f88422 CHANGED
@@ -1,168 +1,3 @@
1
- <!doctype html>
2
- <meta charset="utf-8">
3
- <title>KV-commons · prefix-pin TTFT bench (BitNet-2B, from HF)</title>
4
- <style>
5
- :root { color-scheme: dark; }
6
- body { margin: 0; background: #0a0b0d; color: #e6e8ea; font: 13px/1.55 ui-monospace, Menlo, monospace; padding: 22px 26px; }
7
- h1 { font-size: 15px; font-weight: 600; margin: 0 0 2px; }
8
- .sub { color: #8a9099; font-size: 12px; margin-bottom: 14px; max-width: 900px; }
9
- code { color: #b9c2cc; }
10
- #head { border: 1px solid #1c2128; border-radius: 10px; padding: 14px 16px; margin: 4px 0 16px; background: #101318; white-space: pre-wrap; }
11
- #head.ok { border-color: #1f6f43; background: #0d1712; } #head.bad { border-color: #6f2f2f; background: #170d0d; }
12
- table { border-collapse: collapse; width: 100%; max-width: 900px; margin: 4px 0 16px; }
13
- th, td { text-align: right; padding: 6px 12px; border-bottom: 1px solid #1a1d22; vertical-align: top; }
14
- th:first-child, td:first-child { text-align: left; }
15
- th { color: #8a9099; font-weight: 500; }
16
- td.pass { color: #56d38a; } td.fail { color: #ff6b6b; } td.win { color: #56d38a; font-weight: 600; }
17
- #status { color: #8a9099; font-size: 12px; }
18
- .big { font-size: 18px; font-weight: 600; }
19
- </style>
20
-
21
- <h1>KV-commons · prefix-pin TTFT — BitNet-2B streamed from HuggingFace (serverless)</h1>
22
- <div class="sub">
23
- The thesis: a <b>shared prefix</b> (system prompt / RAG context / few-shot block) should be prefilled
24
- <b>once</b>, then reused — so TTFT depends only on the NEW query, not on the prefix length.
25
- <b>COLD</b> = today's behavior when a new conversation reuses the same system prompt: <code>reset()</code> then
26
- <code>decode(prefix + query)</code> re-prefills the whole prefix. <b>WARM</b> = the prefix is pinned
27
- (<code>sync(prefix)</code> once, then <code>truncateTo(|prefix|)</code> per query); only the query is prefilled.
28
- Gate = <b>byte-identical first token</b> COLD vs WARM (the reuse is sound, not approximate). Read <code>window.__kv</code>.
29
- </div>
30
-
31
- <div id="head">idle</div>
32
- <div id="status"></div>
33
-
34
- <table id="rows"><thead><tr>
35
- <th>shared prefix (tokens)</th><th>query (tokens)</th><th>identical</th>
36
- <th>TTFT cold (ms)</th><th>TTFT warm (ms)</th><th>speedup</th><th>prefill saved (ms)</th>
37
- </tr></thead><tbody></tbody></table>
38
-
39
- <script type="module">
40
- import { ready, loadModel, MODELS, qvac_tokenize } from "../../core/loader.js";
41
- const $ = (s) => document.querySelector(s);
42
- const status = (m) => { $("#status").textContent = m; };
43
- const tok = (t) => (JSON.parse(qvac_tokenize(t)).ids) || [];
44
- const med = (a) => { const s = a.slice().sort((x, y) => x - y); return s[Math.floor(s.length / 2)]; };
45
-
46
- // A realistic shared prefix: a system persona + a chunk of retrieval context. We slice PREFIXES of
47
- // increasing length out of ONE tokenization so every row is a real, coherent prefix of the same text.
48
- const CONTEXT = `You are Q, a private assistant running entirely on the user's own device with no server; your weights are verified by re-derivation. Be precise, first-principles, and concise.
49
-
50
- Reference material (retrieved context):
51
- The Hologram substrate is content-addressed: every object has a κ-identity that is the BLAKE3 hash of its canonical bytes. Two computations that produce byte-identical results collapse to the same κ, so a result computed once can be replayed anywhere it is needed without recomputation, and the replay is provably identical to the original. Inference is a computation like any other. The key-value attention cache produced while reading a prompt prefix is a deterministic function of the model weights, the tokenizer, and the exact token sequence of that prefix. Therefore the cache for a shared prefix — a system prompt, a retrieved document, a block of few-shot examples — can be content-addressed and reused across turns, across conversations, across sessions, and across devices, instead of being recomputed on every request. This turns time-to-first-token for any previously-seen prefix from a cost that grows with the prefix length into a cost that depends only on the new tokens. The classical, sound version of this reuse requires only that the collapse be exact: identical token ids at identical positions under the same model produce byte-identical cache state. Semantic canonicalization that changes the token ids is a separate, opt-in concern and must be gated. The substrate already carries a durable content-addressed commons and a peer-to-peer share path, so the same prefix prefilled once on one device can serve every peer that shares the store. This is prefix caching generalized from a single vendor's single session into a verifiable, serverless, cross-party commons.`;
52
-
53
- async function run() {
54
- try {
55
- await ready();
56
- const m = MODELS.find((x) => /bitnet/i.test((x.fam || "") + (x.name || "")));
57
- if (!m) return fail("no BitNet entry in MODELS");
58
- if (!navigator.gpu) return fail("no WebGPU in this browser");
59
-
60
- status(`streaming ${m.name} from HF…`);
61
- const t0 = performance.now();
62
- const loaded = await loadModel(m, { onStatus: (s) => s && status(m.name + ": " + s),
63
- onProgress: (d, t, w) => status(`${m.name}: ${w} ${t ? Math.round(100 * d / t) : 0}%`) });
64
- if (!loaded || !loaded.gpu) return fail("model load failed");
65
- const gpu = loaded.gpu;
66
- if (!gpu.truncateTo) return fail("engine has no truncateTo — rebuild qvac-gpu.js");
67
- const coldLoadMs = Math.round(performance.now() - t0);
68
- const rep = m.rep || 1.3;
69
- const run1 = (ids, n) => (gpu.decode || gpu.generate).call(gpu, ids, n, rep);
70
-
71
- // WARMUP: compile the decode pipelines so timings aren't warmup-confounded.
72
- status("warmup (compiling decode pipelines)…");
73
- const wids = tok("The quick brown fox jumps over the lazy dog.");
74
- gpu.reset(); await run1(wids.slice(), 4);
75
- gpu.reset();
76
-
77
- const allCtx = tok(CONTEXT);
78
- const PREFIX_LENS = [64, 256, 512, 1024, 1600].filter((L) => L < allCtx.length && L + 40 < (m.ctx || 3000));
79
- const QUERIES = [
80
- "In one sentence, what does this let us skip?",
81
- "Give the single most important precondition.",
82
- "Why is this serverless?",
83
- ].map(tok);
84
- const REPS = 3; // repeats per (prefix,query) → median, to damp scheduler jitter
85
-
86
- const rows = [];
87
- let allIdentical = true;
88
- for (const L of PREFIX_LENS) {
89
- const prefix = allCtx.slice(0, L);
90
- // WARM setup: prefill the shared prefix ONCE and pin it.
91
- gpu.reset();
92
- await gpu.sync(prefix.slice());
93
- const pinned = gpu.cachedLen; // == L
94
-
95
- for (let qi = 0; qi < QUERIES.length; qi++) {
96
- const query = QUERIES[qi];
97
- const full = prefix.concat(query);
98
- const coldT = [], warmT = [];
99
- let coldTok = null, warmTok = null;
100
-
101
- for (let r = 0; r < REPS; r++) {
102
- // COLD: no reuse — re-prefill the whole prefix + query (what a new conversation does today).
103
- gpu.reset();
104
- let tc = performance.now();
105
- let seqC = await run1(full.slice(), 1);
106
- coldT.push(performance.now() - tc);
107
- coldTok = seqC[full.length];
108
-
109
- // WARM: prefix stays resident; rewind to the pin, prefill ONLY the query.
110
- gpu.truncateTo(pinned);
111
- let tw = performance.now();
112
- let seqW = await run1(full.slice(), 1);
113
- warmT.push(performance.now() - tw);
114
- warmTok = seqW[full.length];
115
- }
116
- // re-pin for the next query (warm decode advanced pos past L)
117
- gpu.truncateTo(pinned);
118
-
119
- const cold = Math.round(med(coldT)), warm = Math.round(med(warmT));
120
- const identical = coldTok === warmTok;
121
- if (!identical) allIdentical = false;
122
- const row = { prefixLen: L, queryLen: query.length, identical, ttftColdMs: cold, ttftWarmMs: warm,
123
- speedup: +(cold / Math.max(1, warm)).toFixed(2), savedMs: cold - warm,
124
- coldTok, warmTok };
125
- rows.push(row);
126
- addRow(row);
127
- status(`prefix ${L} · query ${qi + 1}/${QUERIES.length} — cold ${cold}ms → warm ${warm}ms (${row.speedup}×)`);
128
- }
129
- }
130
-
131
- // headline: biggest shared prefix, averaged across queries
132
- const big = rows.filter((r) => r.prefixLen === PREFIX_LENS[PREFIX_LENS.length - 1]);
133
- const avg = (a, k) => Math.round(a.reduce((s, r) => s + r[k], 0) / a.length);
134
- const hCold = avg(big, "ttftColdMs"), hWarm = avg(big, "ttftWarmMs");
135
- const dims = gpu.dims || {};
136
- window.__kv = { model: m.name, coldLoadMs, nLayers: dims.n_layers, ctx: m.ctx,
137
- prefixLens: PREFIX_LENS, reps: REPS, rows, allIdentical,
138
- headline: { prefixLen: PREFIX_LENS[PREFIX_LENS.length - 1], ttftColdMs: hCold, ttftWarmMs: hWarm, speedup: +(hCold / Math.max(1, hWarm)).toFixed(2) } };
139
- window.__KV_DONE = true;
140
-
141
- const head = $("#head");
142
- head.className = allIdentical ? "ok" : "bad";
143
- head.innerHTML =
144
- `<span class="big">${allIdentical ? "✓ SOUND" : "✗ MISMATCH"}</span> — every warm first-token is `
145
- + `${allIdentical ? "byte-identical" : "NOT identical"} to cold (reuse is exact).\n\n`
146
- + `<span class="big">${(hCold / Math.max(1, hWarm)).toFixed(1)}× faster TTFT</span> at a ${PREFIX_LENS[PREFIX_LENS.length - 1]}-token shared prefix `
147
- + `(cold ${hCold}ms → warm ${hWarm}ms, avg over ${QUERIES.length} queries).\n`
148
- + `model ${m.name} · ${dims.n_layers} layers · ctx ${m.ctx} · cold load ${(coldLoadMs / 1000).toFixed(1)}s · median of ${REPS} reps.`;
149
- status("done. full data in window.__kv");
150
- } catch (e) {
151
- fail((e && e.message) || String(e));
152
- window.__KV_DONE = true;
153
- window.__kv = { error: (e && (e.stack || e.message)) || String(e) };
154
- }
155
- }
156
-
157
- function addRow(r) {
158
- const tr = document.createElement("tr");
159
- tr.innerHTML = `<td>${r.prefixLen}</td><td>${r.queryLen}</td>`
160
- + `<td class="${r.identical ? "pass" : "fail"}">${r.identical ? "✓" : "✗ " + r.coldTok + "≠" + r.warmTok}</td>`
161
- + `<td>${r.ttftColdMs}</td><td>${r.ttftWarmMs}</td>`
162
- + `<td class="${r.speedup >= 1.5 ? "win" : ""}">${r.speedup}×</td><td>${r.savedMs}</td>`;
163
- $("#rows tbody").appendChild(tr);
164
- }
165
- function fail(msg) { const h = $("#head"); h.className = "bad"; h.textContent = "FAIL — " + msg; status(msg); }
166
-
167
- run();
168
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e64ce2827b15fecac91abfe39f882c69a38f99e21e4517f55a85e469e149ef2e
3
+ size 10303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/012a523ffb16f2b547ba592431eadceb30694ad2fbac7808e9bad19816064244 CHANGED
@@ -1,67 +1,3 @@
1
- var ut=Object.defineProperty;var st=(e,t)=>{for(var a in t)ut(e,a,{get:t[a],enumerable:!0})};import{forwardRef as ft,createElement as it}from"react";var la=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),we=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as dt,createElement as sa}from"react";var ua={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var da=dt(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:u,...s},n)=>sa("svg",{ref:n,...ua,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:we("lucide",r),...s},[...u.map(([d,p])=>sa(d,p)),...Array.isArray(l)?l:[l]]));var re=(e,t)=>{let a=ft(({className:o,...r},l)=>it(da,{ref:l,iconNode:t,className:we(`lucide-${la(e)}`,o),...r}));return a.displayName=`${e}`,a};var fe=re("Bold",[["path",{d:"M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8",key:"mg9rjx"}]]);var ie=re("Italic",[["line",{x1:"19",x2:"10",y1:"4",y2:"4",key:"15jd3p"}],["line",{x1:"14",x2:"5",y1:"20",y2:"20",key:"bu0au3"}],["line",{x1:"15",x2:"9",y1:"4",y2:"20",key:"uljnxc"}]]);var ne=re("Underline",[["path",{d:"M6 4v6a6 6 0 0 0 12 0V4",key:"9kb039"}],["line",{x1:"4",x2:"20",y1:"20",y2:"20",key:"nun2al"}]]);import*as Oe from"react";import*as ca from"react";import*as St from"react-dom";import*as M from"react";import*as ia from"react";function fa(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function nt(...e){return t=>{let a=!1,o=e.map(r=>{let l=fa(r,t);return!a&&typeof l=="function"&&(a=!0),l});if(a)return()=>{for(let r=0;r<o.length;r++){let l=o[r];typeof l=="function"?l():fa(e[r],null)}}}}function $(...e){return ia.useCallback(nt(...e),e)}function ce(e){let t=M.forwardRef((a,o)=>{let{children:r,...l}=a,u=null,s=!1,n=[];na(r)&&typeof ke=="function"&&(r=ke(r._payload)),M.Children.forEach(r,g=>{if(It(g)){s=!0;let h=g,k="child"in h.props?h.props.child:h.props.children;na(k)&&typeof ke=="function"&&(k=ke(k._payload)),u=pt(h,k),n.push(u?.props?.children)}else n.push(g)}),u?u=M.cloneElement(u,void 0,n):!s&&M.Children.count(r)===1&&M.isValidElement(r)&&(u=r);let d=u?Lt(u):void 0,p=$(o,d);if(!u){if(r||r===0)throw new Error(s?ht(e):Ct(e));return r}let m=mt(l,u.props??{});return u.type!==M.Fragment&&(m.ref=o?p:d),M.cloneElement(u,m)});return t.displayName=`${e}.Slot`,t}var ct=Symbol.for("radix.slottable");var pt=(e,t)=>{if("child"in e.props){let a=e.props.child;return M.isValidElement(a)?M.cloneElement(a,void 0,e.props.children(a.props.children)):null}return M.isValidElement(t)?t:null};function mt(e,t){let a={...t};for(let o in t){let r=e[o],l=t[o];/^on[A-Z]/.test(o)?r&&l?a[o]=(...s)=>{let n=l(...s);return r(...s),n}:r&&(a[o]=r):o==="style"?a[o]={...r,...l}:o==="className"&&(a[o]=[r,l].filter(Boolean).join(" "))}return{...e,...a}}function Lt(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning;return a?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,a=t&&"isReactWarning"in t&&t.isReactWarning,a?e.props.ref:e.props.ref||e.ref)}function It(e){return M.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ct}var xt=Symbol.for("react.lazy");function na(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===xt&&"_payload"in e&&gt(e._payload)}function gt(e){return typeof e=="object"&&e!==null&&"then"in e}var Ct=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ht=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,ke=M[" use ".trim().toString()];import{jsx as wt}from"react/jsx-runtime";var kt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],_=kt.reduce((e,t)=>{let a=ce(`Primitive.${t}`),o=ca.forwardRef((r,l)=>{let{asChild:u,...s}=r,n=u?a:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),wt(n,{...s,ref:l})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{});import*as V from"react";import{jsx as bt}from"react/jsx-runtime";function le(e,t=[]){let a=[];function o(l,u){let s=V.createContext(u);s.displayName=l+"Context";let n=a.length;a=[...a,u];let d=m=>{let{scope:g,children:h,...k}=m,C=g?.[e]?.[n]||s,I=V.useMemo(()=>k,Object.values(k));return bt(C.Provider,{value:I,children:h})};d.displayName=l+"Provider";function p(m,g){let h=g?.[e]?.[n]||s,k=V.useContext(h);if(k)return k;if(u!==void 0)return u;throw new Error(`\`${m}\` must be used within \`${l}\``)}return[d,p]}let r=()=>{let l=a.map(u=>V.createContext(u));return function(s){let n=s?.[e]||l;return V.useMemo(()=>({[`__scope${e}`]:{...s,[e]:n}}),[s,n])}};return r.scopeName=e,[o,Pt(r,...t)]}function Pt(...e){let t=e[0];if(e.length===1)return t;let a=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(l){let u=o.reduce((s,{useScope:n,scopeName:d})=>{let m=n(l)[`__scope${d}`];return{...s,...m}},{});return V.useMemo(()=>({[`__scope${t.scopeName}`]:u}),[u])}};return a.scopeName=t.scopeName,a}import*as E from"react";import{jsx as Ve}from"react/jsx-runtime";import*as be from"react";import{jsx as br}from"react/jsx-runtime";function pa(e){let t=e+"CollectionProvider",[a,o]=le(t),[r,l]=a(t,{collectionRef:{current:null},itemMap:new Map}),u=C=>{let{scope:I,children:b}=C,S=E.useRef(null),w=E.useRef(new Map).current;return Ve(r,{scope:I,itemMap:w,collectionRef:S,children:b})};u.displayName=t;let s=e+"CollectionSlot",n=ce(s),d=E.forwardRef((C,I)=>{let{scope:b,children:S}=C,w=l(s,b),P=$(I,w.collectionRef);return Ve(n,{ref:P,children:S})});d.displayName=s;let p=e+"CollectionItemSlot",m="data-radix-collection-item",g=ce(p),h=E.forwardRef((C,I)=>{let{scope:b,children:S,...w}=C,P=E.useRef(null),U=$(I,P),H=l(p,b);return E.useEffect(()=>(H.itemMap.set(P,{ref:P,...w}),()=>void H.itemMap.delete(P))),Ve(g,{[m]:"",ref:U,children:S})});h.displayName=p;function k(C){let I=l(e+"CollectionConsumer",C);return E.useCallback(()=>{let S=I.collectionRef.current;if(!S)return[];let w=Array.from(S.querySelectorAll(`[${m}]`));return Array.from(I.itemMap.values()).sort((H,q)=>w.indexOf(H.ref.current)-w.indexOf(q.ref.current))},[I.collectionRef,I.itemMap])}return[{Provider:u,Slot:d,ItemSlot:h},k,o]}var Rr=!!(typeof window<"u"&&window.document&&window.document.createElement);function W(e,t,{checkForDefaultPrevented:a=!0}={}){return function(r){if(e?.(r),a===!1||!r.defaultPrevented)return t?.(r)}}import*as G from"react";import*as ma from"react";var Pe=globalThis?.document?ma.useLayoutEffect:()=>{};import*as Re from"react";var Rt=G[" useInsertionEffect ".trim().toString()]||Pe;function Q({prop:e,defaultProp:t,onChange:a=()=>{},caller:o}){let[r,l,u]=At({defaultProp:t,onChange:a}),s=e!==void 0,n=s?e:r;{let p=G.useRef(e!==void 0);G.useEffect(()=>{let m=p.current;m!==s&&console.warn(`${o} is changing from ${m?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),p.current=s},[s,o])}let d=G.useCallback(p=>{if(s){let m=yt(p)?p(e):p;m!==e&&u.current?.(m)}else l(p)},[s,e,l,u]);return[n,d]}function At({defaultProp:e,onChange:t}){let[a,o]=G.useState(e),r=G.useRef(a),l=G.useRef(t);return Rt(()=>{l.current=t},[t]),G.useEffect(()=>{r.current!==a&&(l.current?.(a),r.current=a)},[a,r]),[a,o,l]}function yt(e){return typeof e=="function"}var Mr=Symbol("RADIX:SYNC_STATE");import*as We from"react";var vt=We[" useId ".trim().toString()]||(()=>{}),Mt=0;function La(e){let[t,a]=We.useState(vt());return Pe(()=>{e||a(o=>o??String(Mt++))},[e]),e||(t?`radix-${t}`:"")}import*as Ae from"react";import{jsx as qr}from"react/jsx-runtime";var Ft=Ae.createContext(void 0);function ye(e){let t=Ae.useContext(Ft);return e||t||"ltr"}import*as ue from"react";function Ia(e){let t=ue.useRef(e);return ue.useEffect(()=>{t.current=e}),ue.useMemo(()=>(...a)=>t.current?.(...a),[])}import*as v from"react";import{jsx as Y}from"react/jsx-runtime";var Ne="rovingFocusGroup.onEntryFocus",Bt={bubbles:!1,cancelable:!0},pe="RovingFocusGroup",[Xe,xa,Dt]=pa(pe),[Tt,_e]=le(pe,[Dt]),[qt,Ot]=Tt(pe),ga=v.forwardRef((e,t)=>Y(Xe.Provider,{scope:e.__scopeRovingFocusGroup,children:Y(Xe.Slot,{scope:e.__scopeRovingFocusGroup,children:Y(Ut,{...e,ref:t})})}));ga.displayName=pe;var Ut=v.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:a,orientation:o,loop:r=!1,dir:l,currentTabStopId:u,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:n,onEntryFocus:d,preventScrollOnEntryFocus:p=!1,...m}=e,g=v.useRef(null),h=$(t,g),k=ye(l),[C,I]=Q({prop:u,defaultProp:s??null,onChange:n,caller:pe}),[b,S]=v.useState(!1),w=Ia(d),P=xa(a),U=v.useRef(!1),[H,q]=v.useState(0);return v.useEffect(()=>{let f=g.current;if(f)return f.addEventListener(Ne,w),()=>f.removeEventListener(Ne,w)},[w]),Y(qt,{scope:a,orientation:o,dir:k,loop:r,currentTabStopId:C,onItemFocus:v.useCallback(f=>I(f),[I]),onItemShiftTab:v.useCallback(()=>S(!0),[]),onFocusableItemAdd:v.useCallback(()=>q(f=>f+1),[]),onFocusableItemRemove:v.useCallback(()=>q(f=>f-1),[]),children:Y(_.div,{tabIndex:b||H===0?-1:0,"data-orientation":o,...m,ref:h,style:{outline:"none",...e.style},onMouseDown:W(e.onMouseDown,()=>{U.current=!0}),onFocus:W(e.onFocus,f=>{let F=!U.current;if(f.target===f.currentTarget&&F&&!b){let de=new CustomEvent(Ne,Bt);if(f.currentTarget.dispatchEvent(de),!de.defaultPrevented){let te=P().filter(R=>R.focusable),oe=te.find(R=>R.active),Ie=te.find(R=>R.id===C),X=[oe,Ie,...te].filter(Boolean).map(R=>R.ref.current);Sa(X,p)}}U.current=!1}),onBlur:W(e.onBlur,()=>S(!1))})})}),Ca="RovingFocusGroupItem",ha=v.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:a,focusable:o=!0,active:r=!1,tabStopId:l,children:u,...s}=e,n=La(),d=l||n,p=Ot(Ca,a),m=p.currentTabStopId===d,g=xa(a),{onFocusableItemAdd:h,onFocusableItemRemove:k,currentTabStopId:C}=p;return v.useEffect(()=>{if(o)return h(),()=>k()},[o,h,k]),Y(Xe.ItemSlot,{scope:a,id:d,focusable:o,active:r,children:Y(_.span,{tabIndex:m?0:-1,"data-orientation":p.orientation,...s,ref:t,onMouseDown:W(e.onMouseDown,I=>{o?p.onItemFocus(d):I.preventDefault()}),onFocus:W(e.onFocus,()=>p.onItemFocus(d)),onKeyDown:W(e.onKeyDown,I=>{if(I.key==="Tab"&&I.shiftKey){p.onItemShiftTab();return}if(I.target!==I.currentTarget)return;let b=Et(I,p.orientation,p.dir);if(b!==void 0){if(I.metaKey||I.ctrlKey||I.altKey||I.shiftKey)return;I.preventDefault();let w=g().filter(P=>P.focusable).map(P=>P.ref.current);if(b==="last")w.reverse();else if(b==="prev"||b==="next"){b==="prev"&&w.reverse();let P=w.indexOf(I.currentTarget);w=p.loop?zt(w,P+1):w.slice(P+1)}setTimeout(()=>Sa(w))}}),children:typeof u=="function"?u({isCurrentTabStop:m,hasTabStop:C!=null}):u})})});ha.displayName=Ca;var Ht={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Gt(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function Et(e,t,a){let o=Gt(e.key,a);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return Ht[o]}function Sa(e,t=!1){let a=document.activeElement;for(let o of e)if(o===a||(o.focus({preventScroll:t}),document.activeElement!==a))return}function zt(e,t){return e.map((a,o)=>e[(t+o)%e.length])}var wa=ga,ka=ha;import*as ba from"react";import{jsx as Wt}from"react/jsx-runtime";var Pa="Toggle",Ke=ba.forwardRef((e,t)=>{let{pressed:a,defaultPressed:o,onPressedChange:r,...l}=e,[u,s]=Q({prop:a,onChange:r,defaultProp:o??!1,caller:Pa});return Wt(_.button,{type:"button","aria-pressed":u,"data-state":u?"on":"off","data-disabled":e.disabled?"":void 0,...l,ref:t,onClick:W(e.onClick,()=>{e.disabled||s(!u)})})});Ke.displayName=Pa;var me={};st(me,{Item:()=>Jt,Root:()=>Zt,ToggleGroup:()=>Me,ToggleGroupItem:()=>je,createToggleGroupScope:()=>Nt});import*as T from"react";import{jsx as O}from"react/jsx-runtime";var K="ToggleGroup",[Aa,Nt]=le(K,[_e]),ya=_e(),Me=T.forwardRef((e,t)=>{let{type:a,...o}=e;if(a==="single")return O(Xt,{...o,ref:t});if(a==="multiple")return O(_t,{...o,ref:t});throw new Error(`Missing prop \`type\` expected on \`${K}\``)});Me.displayName=K;var[va,Ma]=Aa(K),Xt=T.forwardRef((e,t)=>{let{value:a,defaultValue:o,onValueChange:r=()=>{},...l}=e,[u,s]=Q({prop:a,defaultProp:o??"",onChange:r,caller:K});return O(va,{scope:e.__scopeToggleGroup,type:"single",value:T.useMemo(()=>u?[u]:[],[u]),onItemActivate:s,onItemDeactivate:T.useCallback(()=>s(""),[s]),children:O(Fa,{...l,ref:t})})}),_t=T.forwardRef((e,t)=>{let{value:a,defaultValue:o,onValueChange:r=()=>{},...l}=e,[u,s]=Q({prop:a,defaultProp:o??[],onChange:r,caller:K}),n=T.useCallback(p=>s((m=[])=>[...m,p]),[s]),d=T.useCallback(p=>s((m=[])=>m.filter(g=>g!==p)),[s]);return O(va,{scope:e.__scopeToggleGroup,type:"multiple",value:u,onItemActivate:n,onItemDeactivate:d,children:O(Fa,{...l,ref:t})})});Me.displayName=K;var[Kt,jt]=Aa(K),Fa=T.forwardRef((e,t)=>{let{__scopeToggleGroup:a,disabled:o=!1,rovingFocus:r=!0,orientation:l,dir:u,loop:s=!0,...n}=e,d=ya(a),p=ye(u),m={role:"group",dir:p,...n};return O(Kt,{scope:a,rovingFocus:r,disabled:o,children:r?O(wa,{asChild:!0,...d,orientation:l,dir:p,loop:s,children:O(_.div,{...m,ref:t})}):O(_.div,{...m,ref:t})})}),ve="ToggleGroupItem",je=T.forwardRef((e,t)=>{let a=Ma(ve,e.__scopeToggleGroup),o=jt(ve,e.__scopeToggleGroup),r=ya(e.__scopeToggleGroup),l=a.value.includes(e.value),u=o.disabled||e.disabled,s={...e,pressed:l,disabled:u},n=T.useRef(null);return o.rovingFocus?O(ka,{asChild:!0,...r,focusable:!u,active:l,ref:n,children:O(Ra,{...s,ref:t})}):O(Ra,{...s,ref:t})});je.displayName=ve;var Ra=T.forwardRef((e,t)=>{let{__scopeToggleGroup:a,value:o,...r}=e,l=Ma(ve,a),u={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},s=l.type==="single"?u:void 0;return O(Ke,{...s,...r,ref:t,onPressedChange:n=>{n?l.onItemActivate(o):l.onItemDeactivate(o)}})}),Zt=Me,Jt=je;function Ba(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(a=Ba(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function Fe(){for(var e,t,a=0,o="",r=arguments.length;a<r;a++)(e=arguments[a])&&(t=Ba(e))&&(o&&(o+=" "),o+=t);return o}var $t=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},Qt=(e,t)=>({classGroupId:e,validator:t}),Ga=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),Te="-",Da=[],Yt="arbitrary..",eo=e=>{let t=to(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:u=>{if(u.startsWith("[")&&u.endsWith("]"))return ao(u);let s=u.split(Te),n=s[0]===""&&s.length>1?1:0;return Ea(s,n,t)},getConflictingClassGroupIds:(u,s)=>{if(s){let n=o[u],d=a[u];return n?d?$t(d,n):n:d||Da}return a[u]||Da}}},Ea=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let r=e[t],l=a.nextPart.get(r);if(l){let d=Ea(e,t+1,l);if(d)return d}let u=a.validators;if(u===null)return;let s=t===0?e.join(Te):e.slice(t).join(Te),n=u.length;for(let d=0;d<n;d++){let p=u[d];if(p.validator(s))return p.classGroupId}},ao=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?Yt+o:void 0})(),to=e=>{let{theme:t,classGroups:a}=e;return oo(a,t)},oo=(e,t)=>{let a=Ga();for(let o in e){let r=e[o];$e(r,a,o,t)}return a},$e=(e,t,a,o)=>{let r=e.length;for(let l=0;l<r;l++){let u=e[l];ro(u,t,a,o)}},ro=(e,t,a,o)=>{if(typeof e=="string"){lo(e,t,a);return}if(typeof e=="function"){uo(e,t,a,o);return}so(e,t,a,o)},lo=(e,t,a)=>{let o=e===""?t:za(t,e);o.classGroupId=a},uo=(e,t,a,o)=>{if(fo(e)){$e(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(Qt(a,e))},so=(e,t,a,o)=>{let r=Object.entries(e),l=r.length;for(let u=0;u<l;u++){let[s,n]=r[u];$e(n,za(t,s),a,o)}},za=(e,t)=>{let a=e,o=t.split(Te),r=o.length;for(let l=0;l<r;l++){let u=o[l],s=a.nextPart.get(u);s||(s=Ga(),a.nextPart.set(u,s)),a=s}return a},fo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,io=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),r=(l,u)=>{a[l]=u,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(l){let u=a[l];if(u!==void 0)return u;if((u=o[l])!==void 0)return r(l,u),u},set(l,u){l in a?a[l]=u:r(l,u)}}},Je="!",Ta=":",no=[],qa=(e,t,a,o,r)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),co=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=r=>{let l=[],u=0,s=0,n=0,d,p=r.length;for(let C=0;C<p;C++){let I=r[C];if(u===0&&s===0){if(I===Ta){l.push(r.slice(n,C)),n=C+1;continue}if(I==="/"){d=C;continue}}I==="["?u++:I==="]"?u--:I==="("?s++:I===")"&&s--}let m=l.length===0?r:r.slice(n),g=m,h=!1;m.endsWith(Je)?(g=m.slice(0,-1),h=!0):m.startsWith(Je)&&(g=m.slice(1),h=!0);let k=d&&d>n?d-n:void 0;return qa(l,h,g,k)};if(t){let r=t+Ta,l=o;o=u=>u.startsWith(r)?l(u.slice(r.length)):qa(no,!1,u,void 0,!0)}if(a){let r=o;o=l=>a({className:l,parseClassName:r})}return o},po=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],r=[];for(let l=0;l<a.length;l++){let u=a[l],s=u[0]==="[",n=t.has(u);s||n?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(u)):r.push(u)}return r.length>0&&(r.sort(),o.push(...r)),o}},mo=e=>({cache:io(e.cacheSize),parseClassName:co(e),sortModifiers:po(e),postfixLookupClassGroupIds:Lo(e),...eo(e)}),Lo=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},Io=/\s+/,xo=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:u}=t,s=[],n=e.trim().split(Io),d="";for(let p=n.length-1;p>=0;p-=1){let m=n[p],{isExternal:g,modifiers:h,hasImportantModifier:k,baseClassName:C,maybePostfixModifierPosition:I}=a(m);if(g){d=m+(d.length>0?" "+d:d);continue}let b=!!I,S;if(b){let q=C.substring(0,I);S=o(q);let f=S&&u[S]?o(C):void 0;f&&f!==S&&(S=f,b=!1)}else S=o(C);if(!S){if(!b){d=m+(d.length>0?" "+d:d);continue}if(S=o(C),!S){d=m+(d.length>0?" "+d:d);continue}b=!1}let w=h.length===0?"":h.length===1?h[0]:l(h).join(":"),P=k?w+Je:w,U=P+S;if(s.indexOf(U)>-1)continue;s.push(U);let H=r(S,b);for(let q=0;q<H.length;++q){let f=H[q];s.push(P+f)}d=m+(d.length>0?" "+d:d)}return d},go=(...e)=>{let t=0,a,o,r="";for(;t<e.length;)(a=e[t++])&&(o=Va(a))&&(r&&(r+=" "),r+=o);return r},Va=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=Va(e[o]))&&(a&&(a+=" "),a+=t);return a},Co=(e,...t)=>{let a,o,r,l,u=n=>{let d=t.reduce((p,m)=>m(p),e());return a=mo(d),o=a.cache.get,r=a.cache.set,l=s,s(n)},s=n=>{let d=o(n);if(d)return d;let p=xo(n,a);return r(n,p),p};return l=u,(...n)=>l(go(...n))},ho=[],A=e=>{let t=a=>a[e]||ho;return t.isThemeGetter=!0,t},Wa=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Na=/^\((?:(\w[\w-]*):)?(.+)\)$/i,So=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,wo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ko=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,bo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Po=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ro=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,j=e=>So.test(e),x=e=>!!e&&!Number.isNaN(Number(e)),z=e=>!!e&&Number.isInteger(Number(e)),Ze=e=>e.endsWith("%")&&x(e.slice(0,-1)),N=e=>wo.test(e),Xa=()=>!0,Ao=e=>ko.test(e)&&!bo.test(e),Qe=()=>!1,yo=e=>Po.test(e),vo=e=>Ro.test(e),Mo=e=>!i(e)&&!c(e),Fo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Bo=e=>Z(e,ja,Qe),i=e=>Wa.test(e),ee=e=>Z(e,Za,Ao),Oa=e=>Z(e,Eo,x),Do=e=>Z(e,$a,Xa),To=e=>Z(e,Ja,Qe),Ua=e=>Z(e,_a,Qe),qo=e=>Z(e,Ka,vo),Be=e=>Z(e,Qa,yo),c=e=>Na.test(e),Le=e=>ae(e,Za),Oo=e=>ae(e,Ja),Ha=e=>ae(e,_a),Uo=e=>ae(e,ja),Ho=e=>ae(e,Ka),De=e=>ae(e,Qa,!0),Go=e=>ae(e,$a,!0),Z=(e,t,a)=>{let o=Wa.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},ae=(e,t,a=!1)=>{let o=Na.exec(e);return o?o[1]?t(o[1]):a:!1},_a=e=>e==="position"||e==="percentage",Ka=e=>e==="image"||e==="url",ja=e=>e==="length"||e==="size"||e==="bg-size",Za=e=>e==="length",Eo=e=>e==="number",Ja=e=>e==="family-name",$a=e=>e==="number"||e==="weight",Qa=e=>e==="shadow";var zo=()=>{let e=A("color"),t=A("font"),a=A("text"),o=A("font-weight"),r=A("tracking"),l=A("leading"),u=A("breakpoint"),s=A("container"),n=A("spacing"),d=A("radius"),p=A("shadow"),m=A("inset-shadow"),g=A("text-shadow"),h=A("drop-shadow"),k=A("blur"),C=A("perspective"),I=A("aspect"),b=A("ease"),S=A("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],P=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],U=()=>[...P(),c,i],H=()=>["auto","hidden","clip","visible","scroll"],q=()=>["auto","contain","none"],f=()=>[c,i,n],F=()=>[j,"full","auto",...f()],de=()=>[z,"none","subgrid",c,i],te=()=>["auto",{span:["full",z,c,i]},z,c,i],oe=()=>[z,"auto",c,i],Ie=()=>["auto","min","max","fr",c,i],xe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...f()],J=()=>[j,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],He=()=>[j,"screen","full","dvw","lvw","svw","min","max","fit",...f()],Ge=()=>[j,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],L=()=>[e,c,i],ea=()=>[...P(),Ha,Ua,{position:[c,i]}],aa=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ta=()=>["auto","cover","contain",Uo,Bo,{size:[c,i]}],Ee=()=>[Ze,Le,ee],B=()=>["","none","full",d,c,i],D=()=>["",x,Le,ee],ge=()=>["solid","dashed","dotted","double"],oa=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],y=()=>[x,Ze,Ha,Ua],ra=()=>["","none",k,c,i],Ce=()=>["none",x,c,i],he=()=>["none",x,c,i],ze=()=>[x,c,i],Se=()=>[j,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[N],breakpoint:[N],color:[Xa],container:[N],"drop-shadow":[N],ease:["in","out","in-out"],font:[Mo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[N],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[N],shadow:[N],spacing:["px",x],text:[N],"text-shadow":[N],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",j,i,c,I]}],container:["container"],"container-type":[{"@container":["","normal","size",c,i]}],"container-named":[Fo],columns:[{columns:[x,i,c,s]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:U()}],overflow:[{overflow:H()}],"overflow-x":[{"overflow-x":H()}],"overflow-y":[{"overflow-y":H()}],overscroll:[{overscroll:q()}],"overscroll-x":[{"overscroll-x":q()}],"overscroll-y":[{"overscroll-y":q()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{"inset-s":F(),start:F()}],end:[{"inset-e":F(),end:F()}],"inset-bs":[{"inset-bs":F()}],"inset-be":[{"inset-be":F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[z,"auto",c,i]}],basis:[{basis:[j,"full","auto",s,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[x,j,"auto","initial","none",i]}],grow:[{grow:["",x,c,i]}],shrink:[{shrink:["",x,c,i]}],order:[{order:[z,"first","last","none",c,i]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":oe()}],"col-end":[{"col-end":oe()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":oe()}],"row-end":[{"row-end":oe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ie()}],"auto-rows":[{"auto-rows":Ie()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...xe(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...xe()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":xe()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pbs:[{pbs:f()}],pbe:[{pbe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],"inline-size":[{inline:["auto",...He()]}],"min-inline-size":[{"min-inline":["auto",...He()]}],"max-inline-size":[{"max-inline":["none",...He()]}],"block-size":[{block:["auto",...Ge()]}],"min-block-size":[{"min-block":["auto",...Ge()]}],"max-block-size":[{"max-block":["none",...Ge()]}],w:[{w:[s,"screen",...J()]}],"min-w":[{"min-w":[s,"screen","none",...J()]}],"max-w":[{"max-w":[s,"screen","none","prose",{screen:[u]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",a,Le,ee]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Go,Do]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ze,i]}],"font-family":[{font:[Oo,To,t]}],"font-features":[{"font-features":[i]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,c,i]}],"line-clamp":[{"line-clamp":[x,"none",c,Oa]}],leading:[{leading:[l,...f()]}],"list-image":[{"list-image":["none",c,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",c,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ge(),"wavy"]}],"text-decoration-thickness":[{decoration:[x,"from-font","auto",c,ee]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[x,"auto",c,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"tab-size":[{tab:[z,c,i]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",c,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",c,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ea()}],"bg-repeat":[{bg:aa()}],"bg-size":[{bg:ta()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},z,c,i],radial:["",c,i],conic:[z,c,i]},Ho,qo]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:Ee()}],"gradient-via-pos":[{via:Ee()}],"gradient-to-pos":[{to:Ee()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:B()}],"rounded-s":[{"rounded-s":B()}],"rounded-e":[{"rounded-e":B()}],"rounded-t":[{"rounded-t":B()}],"rounded-r":[{"rounded-r":B()}],"rounded-b":[{"rounded-b":B()}],"rounded-l":[{"rounded-l":B()}],"rounded-ss":[{"rounded-ss":B()}],"rounded-se":[{"rounded-se":B()}],"rounded-ee":[{"rounded-ee":B()}],"rounded-es":[{"rounded-es":B()}],"rounded-tl":[{"rounded-tl":B()}],"rounded-tr":[{"rounded-tr":B()}],"rounded-br":[{"rounded-br":B()}],"rounded-bl":[{"rounded-bl":B()}],"border-w":[{border:D()}],"border-w-x":[{"border-x":D()}],"border-w-y":[{"border-y":D()}],"border-w-s":[{"border-s":D()}],"border-w-e":[{"border-e":D()}],"border-w-bs":[{"border-bs":D()}],"border-w-be":[{"border-be":D()}],"border-w-t":[{"border-t":D()}],"border-w-r":[{"border-r":D()}],"border-w-b":[{"border-b":D()}],"border-w-l":[{"border-l":D()}],"divide-x":[{"divide-x":D()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":D()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ge(),"hidden","none"]}],"divide-style":[{divide:[...ge(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...ge(),"none","hidden"]}],"outline-offset":[{"outline-offset":[x,c,i]}],"outline-w":[{outline:["",x,Le,ee]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",p,De,Be]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",m,De,Be]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:D()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[x,ee]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":D()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",g,De,Be]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[x,c,i]}],"mix-blend":[{"mix-blend":[...oa(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oa()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[x]}],"mask-image-linear-from-pos":[{"mask-linear-from":y()}],"mask-image-linear-to-pos":[{"mask-linear-to":y()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":y()}],"mask-image-t-to-pos":[{"mask-t-to":y()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":y()}],"mask-image-r-to-pos":[{"mask-r-to":y()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":y()}],"mask-image-b-to-pos":[{"mask-b-to":y()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":y()}],"mask-image-l-to-pos":[{"mask-l-to":y()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":y()}],"mask-image-x-to-pos":[{"mask-x-to":y()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":y()}],"mask-image-y-to-pos":[{"mask-y-to":y()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[c,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":y()}],"mask-image-radial-to-pos":[{"mask-radial-to":y()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":P()}],"mask-image-conic-pos":[{"mask-conic":[x]}],"mask-image-conic-from-pos":[{"mask-conic-from":y()}],"mask-image-conic-to-pos":[{"mask-conic-to":y()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ea()}],"mask-repeat":[{mask:aa()}],"mask-size":[{mask:ta()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",c,i]}],filter:[{filter:["","none",c,i]}],blur:[{blur:ra()}],brightness:[{brightness:[x,c,i]}],contrast:[{contrast:[x,c,i]}],"drop-shadow":[{"drop-shadow":["","none",h,De,Be]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",x,c,i]}],"hue-rotate":[{"hue-rotate":[x,c,i]}],invert:[{invert:["",x,c,i]}],saturate:[{saturate:[x,c,i]}],sepia:[{sepia:["",x,c,i]}],"backdrop-filter":[{"backdrop-filter":["","none",c,i]}],"backdrop-blur":[{"backdrop-blur":ra()}],"backdrop-brightness":[{"backdrop-brightness":[x,c,i]}],"backdrop-contrast":[{"backdrop-contrast":[x,c,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",x,c,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[x,c,i]}],"backdrop-invert":[{"backdrop-invert":["",x,c,i]}],"backdrop-opacity":[{"backdrop-opacity":[x,c,i]}],"backdrop-saturate":[{"backdrop-saturate":[x,c,i]}],"backdrop-sepia":[{"backdrop-sepia":["",x,c,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",c,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[x,"initial",c,i]}],ease:[{ease:["linear","initial",b,c,i]}],delay:[{delay:[x,c,i]}],animate:[{animate:["none",S,c,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[C,c,i]}],"perspective-origin":[{"perspective-origin":U()}],rotate:[{rotate:Ce()}],"rotate-x":[{"rotate-x":Ce()}],"rotate-y":[{"rotate-y":Ce()}],"rotate-z":[{"rotate-z":Ce()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":["scale-3d"],skew:[{skew:ze()}],"skew-x":[{"skew-x":ze()}],"skew-y":[{"skew-y":ze()}],transform:[{transform:[c,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:U()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Se()}],"translate-x":[{"translate-x":Se()}],"translate-y":[{"translate-y":Se()}],"translate-z":[{"translate-z":Se()}],"translate-none":["translate-none"],zoom:[{zoom:[z,c,i]}],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",c,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":L()}],"scrollbar-track-color":[{"scrollbar-track":L()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mbs":[{"scroll-mbs":f()}],"scroll-mbe":[{"scroll-mbe":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pbs":[{"scroll-pbs":f()}],"scroll-pbe":[{"scroll-pbe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",c,i]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[x,Le,ee,Oa]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Ya=Co(zo);function qe(...e){return Ya(Fe(e))}var et=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,at=Fe,tt=(e,t)=>a=>{var o;if(t?.variants==null)return at(e,a?.class,a?.className);let{variants:r,defaultVariants:l}=t,u=Object.keys(r).map(d=>{let p=a?.[d],m=l?.[d];if(p===null)return null;let g=et(p)||et(m);return r[d][g]}),s=a&&Object.entries(a).reduce((d,p)=>{let[m,g]=p;return g===void 0||(d[m]=g),d},{}),n=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((d,p)=>{let{class:m,className:g,...h}=p;return Object.entries(h).every(k=>{let[C,I]=k;return Array.isArray(I)?I.includes({...l,...s}[C]):{...l,...s}[C]===I})?[...d,m,g]:d},[]);return at(e,u,n,a?.class,a?.className)};import{jsx as xl}from"react/jsx-runtime";var ot=tt("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 min-w-9 px-2",sm:"h-8 min-w-8 px-1.5",lg:"h-10 min-w-10 px-2.5"}},defaultVariants:{variant:"default",size:"default"}});import{jsx as Ye}from"react/jsx-runtime";var rt=Oe.createContext({size:"default",variant:"default",spacing:0});function lt({className:e,variant:t,size:a,spacing:o=0,children:r,...l}){return Ye(me.Root,{"data-slot":"toggle-group","data-variant":t,"data-size":a,"data-spacing":o,style:{"--gap":o},className:qe("group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs",e),...l,children:Ye(rt.Provider,{value:{variant:t,size:a,spacing:o},children:r})})}function Ue({className:e,children:t,variant:a,size:o,...r}){let l=Oe.useContext(rt);return Ye(me.Item,{"data-slot":"toggle-group-item","data-variant":l.variant||a,"data-size":l.size||o,"data-spacing":l.spacing,className:qe(ot({variant:l.variant||a,size:l.size||o}),"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10","data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l",e),...r,children:t})}import{jsx as se,jsxs as Wo}from"react/jsx-runtime";function Vo(){return Wo(lt,{type:"multiple",variant:"outline",children:[se(Ue,{value:"bold","aria-label":"Toggle bold",children:se(fe,{className:"h-4 w-4"})}),se(Ue,{value:"italic","aria-label":"Toggle italic",children:se(ie,{className:"h-4 w-4"})}),se(Ue,{value:"strikethrough","aria-label":"Toggle strikethrough",children:se(ne,{className:"h-4 w-4"})})]})}export{Vo as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/bold.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/icons/italic.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/icons/underline.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
-
60
- lucide-react/dist/esm/lucide-react.js:
61
- (**
62
- * @license lucide-react v0.456.0 - ISC
63
- *
64
- * This source code is licensed under the ISC license.
65
- * See the LICENSE file in the root directory of this source tree.
66
- *)
67
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f9c0e8226aecbd320fd791f12c298f7ca8d25f908dd81d9913e283d7eadd48bd
3
+ size 46507
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0161d18dd956c36090670735eb4e00301bc8094983043942fda308dd17f3a071 CHANGED
@@ -1,95 +1,3 @@
1
- var Yo=Object.defineProperty;var ca=(e,a)=>{for(var t in a)Yo(e,t,{get:a[t],enumerable:!0})};function lt(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(a=0;a<r;a++)e[a]&&(t=lt(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function qe(){for(var e,a,t=0,o="",r=arguments.length;t<r;t++)(e=arguments[t])&&(a=lt(e))&&(o&&(o+=" "),o+=a);return o}var ut=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,st=qe,dt=(e,a)=>t=>{var o;if(a?.variants==null)return st(e,t?.class,t?.className);let{variants:r,defaultVariants:l}=a,s=Object.keys(r).map(d=>{let n=t?.[d],c=l?.[d];if(n===null)return null;let x=ut(n)||ut(c);return r[d][x]}),u=t&&Object.entries(t).reduce((d,n)=>{let[c,x]=n;return x===void 0||(d[c]=x),d},{}),f=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((d,n)=>{let{class:c,className:x,...I}=n;return Object.entries(I).every(v=>{let[i,g]=v;return Array.isArray(g)?g.includes({...l,...u}[i]):{...l,...u}[i]===g})?[...d,c,x]:d},[]);return st(e,s,f,t?.class,t?.className)};import*as mt from"react";import*as Lt from"react-dom";var He={};ca(He,{Root:()=>er,Slot:()=>er,Slottable:()=>ar,createSlot:()=>he,createSlottable:()=>pt});import*as E from"react";import*as nt from"react";function ft(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function Qo(...e){return a=>{let t=!1,o=e.map(r=>{let l=ft(r,a);return!t&&typeof l=="function"&&(t=!0),l});if(t)return()=>{for(let r=0;r<o.length;r++){let l=o[r];typeof l=="function"?l():ft(e[r],null)}}}}function J(...e){return nt.useCallback(Qo(...e),e)}function he(e){let a=E.forwardRef((t,o)=>{let{children:r,...l}=t,s=null,u=!1,f=[];it(r)&&typeof Ue=="function"&&(r=Ue(r._payload)),E.Children.forEach(r,x=>{if(lr(x)){u=!0;let I=x,v="child"in I.props?I.props.child:I.props.children;it(v)&&typeof Ue=="function"&&(v=Ue(v._payload)),s=tr(I,v),f.push(s?.props?.children)}else f.push(x)}),s?s=E.cloneElement(s,void 0,f):!u&&E.Children.count(r)===1&&E.isValidElement(r)&&(s=r);let d=s?rr(s):void 0,n=J(o,d);if(!s){if(r||r===0)throw new Error(u?fr(e):dr(e));return r}let c=or(l,s.props??{});return s.type!==E.Fragment&&(c.ref=o?n:d),E.cloneElement(s,c)});return a.displayName=`${e}.Slot`,a}var er=he("Slot"),ct=Symbol.for("radix.slottable");function pt(e){let a=t=>"child"in t?t.children(t.child):t.children;return a.displayName=`${e}.Slottable`,a.__radixId=ct,a}var ar=pt("Slottable"),tr=(e,a)=>{if("child"in e.props){let t=e.props.child;return E.isValidElement(t)?E.cloneElement(t,void 0,e.props.children(t.props.children)):null}return E.isValidElement(a)?a:null};function or(e,a){let t={...a};for(let o in a){let r=e[o],l=a[o];/^on[A-Z]/.test(o)?r&&l?t[o]=(...u)=>{let f=l(...u);return r(...u),f}:r&&(t[o]=r):o==="style"?t[o]={...r,...l}:o==="className"&&(t[o]=[r,l].filter(Boolean).join(" "))}return{...e,...t}}function rr(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function lr(e){return E.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ct}var ur=Symbol.for("react.lazy");function it(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===ur&&"_payload"in e&&sr(e._payload)}function sr(e){return typeof e=="object"&&e!==null&&"then"in e}var dr=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,fr=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Ue=E[" use ".trim().toString()];import{jsx as nr}from"react/jsx-runtime";var ir=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],G=ir.reduce((e,a)=>{let t=he(`Primitive.${a}`),o=mt.forwardRef((r,l)=>{let{asChild:s,...u}=r,f=s?t:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),nr(f,{...u,ref:l})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{});function xt(e,a){e&&Lt.flushSync(()=>e.dispatchEvent(a))}import*as X from"react";import{jsx as It}from"react/jsx-runtime";function gt(e,a){let t=X.createContext(a);t.displayName=e+"Context";let o=l=>{let{children:s,...u}=l,f=X.useMemo(()=>u,Object.values(u));return It(t.Provider,{value:f,children:s})};o.displayName=e+"Provider";function r(l){let s=X.useContext(t);if(s)return s;if(a!==void 0)return a;throw new Error(`\`${l}\` must be used within \`${e}\``)}return[o,r]}function ht(e,a=[]){let t=[];function o(l,s){let u=X.createContext(s);u.displayName=l+"Context";let f=t.length;t=[...t,s];let d=c=>{let{scope:x,children:I,...v}=c,i=x?.[e]?.[f]||u,g=X.useMemo(()=>v,Object.values(v));return It(i.Provider,{value:g,children:I})};d.displayName=l+"Provider";function n(c,x){let I=x?.[e]?.[f]||u,v=X.useContext(I);if(v)return v;if(s!==void 0)return s;throw new Error(`\`${c}\` must be used within \`${l}\``)}return[d,n]}let r=()=>{let l=t.map(s=>X.createContext(s));return function(u){let f=u?.[e]||l;return X.useMemo(()=>({[`__scope${e}`]:{...u,[e]:f}}),[u,f])}};return r.scopeName=e,[o,cr(r,...a)]}function cr(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(l){let s=o.reduce((u,{useScope:f,scopeName:d})=>{let c=f(l)[`__scope${d}`];return{...u,...c}},{});return X.useMemo(()=>({[`__scope${a.scopeName}`]:s}),[s])}};return t.scopeName=a.scopeName,t}var Wu=!!(typeof window<"u"&&window.document&&window.document.createElement);function Q(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}import*as K from"react";import*as Ct from"react";var ae=globalThis?.document?Ct.useLayoutEffect:()=>{};import*as Ne from"react";var pr=K[" useInsertionEffect ".trim().toString()]||ae;function St({prop:e,defaultProp:a,onChange:t=()=>{},caller:o}){let[r,l,s]=mr({defaultProp:a,onChange:t}),u=e!==void 0,f=u?e:r;{let n=K.useRef(e!==void 0);K.useEffect(()=>{let c=n.current;c!==u&&console.warn(`${o} is changing from ${c?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),n.current=u},[u,o])}let d=K.useCallback(n=>{if(u){let c=Lr(n)?n(e):n;c!==e&&s.current?.(c)}else l(n)},[u,e,l,s]);return[f,d]}function mr({defaultProp:e,onChange:a}){let[t,o]=K.useState(e),r=K.useRef(t),l=K.useRef(a);return pr(()=>{l.current=a},[a]),K.useEffect(()=>{r.current!==t&&(l.current?.(t),r.current=t)},[t,r]),[t,o,l]}function Lr(e){return typeof e=="function"}var Ku=Symbol("RADIX:SYNC_STATE");import*as q from"react";import*as bt from"react";function xr(e,a){return bt.useReducer((t,o)=>a[t][o]??t,e)}var ke=e=>{let{present:a,children:t}=e,o=Ir(a),r=typeof t=="function"?t({present:o.isPresent}):q.Children.only(t),l=gr(o.ref,hr(r));return typeof t=="function"||o.isPresent?q.cloneElement(r,{ref:l}):null};ke.displayName="Presence";function Ir(e){let[a,t]=q.useState(),o=q.useRef(null),r=q.useRef(e),l=q.useRef("none"),s=e?"mounted":"unmounted",[u,f]=xr(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return q.useEffect(()=>{let d=Ge(o.current);l.current=u==="mounted"?d:"none"},[u]),ae(()=>{let d=o.current,n=r.current;if(n!==e){let x=l.current,I=Ge(d);e?f("MOUNT"):I==="none"||d?.display==="none"?f("UNMOUNT"):f(n&&x!==I?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,f]),ae(()=>{if(a){let d,n=a.ownerDocument.defaultView??window,c=I=>{let i=Ge(o.current).includes(CSS.escape(I.animationName));if(I.target===a&&i&&(f("ANIMATION_END"),!r.current)){let g=a.style.animationFillMode;a.style.animationFillMode="forwards",d=n.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=g)})}},x=I=>{I.target===a&&(l.current=Ge(o.current))};return a.addEventListener("animationstart",x),a.addEventListener("animationcancel",c),a.addEventListener("animationend",c),()=>{n.clearTimeout(d),a.removeEventListener("animationstart",x),a.removeEventListener("animationcancel",c),a.removeEventListener("animationend",c)}}else f("ANIMATION_END")},[a,f]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:q.useCallback(d=>{o.current=d?getComputedStyle(d):null,t(d)},[])}}function wt(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function gr(...e){let a=q.useRef(e);return a.current=e,q.useCallback(t=>{let o=a.current,r=!1,l=o.map(s=>{let u=wt(s,t);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let s=0;s<l.length;s++){let u=l[s];typeof u=="function"?u():wt(o[s],null)}}},[])}function Ge(e){return e?.animationName||"none"}function hr(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}import*as pa from"react";var Cr=pa[" useId ".trim().toString()]||(()=>{}),Sr=0;function ze(e){let[a,t]=pa.useState(Cr());return ae(()=>{e||t(o=>o??String(Sr++))},[e]),e||(a?`radix-${a}`:"")}var W={};ca(W,{Close:()=>Rl,Content:()=>yl,Description:()=>kl,Dialog:()=>Oa,DialogClose:()=>Va,DialogContent:()=>Na,DialogDescription:()=>Wa,DialogOverlay:()=>Ha,DialogPortal:()=>Ua,DialogTitle:()=>za,DialogTrigger:()=>Ea,Overlay:()=>vl,Portal:()=>bl,Root:()=>Sl,Title:()=>Pl,Trigger:()=>wl,WarningProvider:()=>Il,createDialogScope:()=>nl});import*as R from"react";import*as M from"react";import*as Ce from"react";function re(e){let a=Ce.useRef(e);return Ce.useEffect(()=>{a.current=e}),Ce.useMemo(()=>(...t)=>a.current?.(...t),[])}import*as vt from"react";function yt(e,a=globalThis?.document){let t=re(e);vt.useEffect(()=>{let o=r=>{r.key==="Escape"&&t(r)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[t,a])}import{jsx as Rt}from"react/jsx-runtime";var wr="DismissableLayer",ma="dismissableLayer.update",br="dismissableLayer.pointerDownOutside",vr="dismissableLayer.focusOutside",Pt,At=M.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),La=M.forwardRef((e,a)=>{let{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:l,onInteractOutside:s,onDismiss:u,...f}=e,d=M.useContext(At),[n,c]=M.useState(null),x=n?.ownerDocument??globalThis?.document,[,I]=M.useState({}),v=J(a,C=>c(C)),i=Array.from(d.layers),[g]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),b=i.indexOf(g),S=n?i.indexOf(n):-1,y=d.layersWithOutsidePointerEventsDisabled.size>0,k=S>=b,P=kr(C=>{let m=C.target,B=[...d.branches].some(oe=>oe.contains(m));!k||B||(r?.(C),s?.(C),C.defaultPrevented||u?.())},x),D=Rr(C=>{let m=C.target;[...d.branches].some(oe=>oe.contains(m))||(l?.(C),s?.(C),C.defaultPrevented||u?.())},x);return yt(C=>{S===d.layers.size-1&&(o?.(C),!C.defaultPrevented&&u&&(C.preventDefault(),u()))},x),M.useEffect(()=>{if(n)return t&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(Pt=x.body.style.pointerEvents,x.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(n)),d.layers.add(n),kt(),()=>{t&&(d.layersWithOutsidePointerEventsDisabled.delete(n),d.layersWithOutsidePointerEventsDisabled.size===0&&(x.body.style.pointerEvents=Pt))}},[n,x,t,d]),M.useEffect(()=>()=>{n&&(d.layers.delete(n),d.layersWithOutsidePointerEventsDisabled.delete(n),kt())},[n,d]),M.useEffect(()=>{let C=()=>I({});return document.addEventListener(ma,C),()=>document.removeEventListener(ma,C)},[]),Rt(G.div,{...f,ref:v,style:{pointerEvents:y?k?"auto":"none":void 0,...e.style},onFocusCapture:Q(e.onFocusCapture,D.onFocusCapture),onBlurCapture:Q(e.onBlurCapture,D.onBlurCapture),onPointerDownCapture:Q(e.onPointerDownCapture,P.onPointerDownCapture)})});La.displayName=wr;var yr="DismissableLayerBranch",Pr=M.forwardRef((e,a)=>{let t=M.useContext(At),o=M.useRef(null),r=J(a,o);return M.useEffect(()=>{let l=o.current;if(l)return t.branches.add(l),()=>{t.branches.delete(l)}},[t.branches]),Rt(G.div,{...e,ref:r})});Pr.displayName=yr;function kr(e,a=globalThis?.document){let t=re(e),o=M.useRef(!1),r=M.useRef(()=>{});return M.useEffect(()=>{let l=u=>{if(u.target&&!o.current){let d=function(){Dt(br,t,n,{discrete:!0})};var f=d;let n={originalEvent:u};u.pointerType==="touch"?(a.removeEventListener("click",r.current),r.current=d,a.addEventListener("click",r.current,{once:!0})):d()}else a.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{a.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(s),a.removeEventListener("pointerdown",l),a.removeEventListener("click",r.current)}},[a,t]),{onPointerDownCapture:()=>o.current=!0}}function Rr(e,a=globalThis?.document){let t=re(e),o=M.useRef(!1);return M.useEffect(()=>{let r=l=>{l.target&&!o.current&&Dt(vr,t,{originalEvent:l},{discrete:!1})};return a.addEventListener("focusin",r),()=>a.removeEventListener("focusin",r)},[a,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function kt(){let e=new CustomEvent(ma);document.dispatchEvent(e)}function Dt(e,a,t,{discrete:o}){let r=t.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&r.addEventListener(e,a,{once:!0}),o?xt(r,l):r.dispatchEvent(l)}import*as j from"react";import{jsx as Ar}from"react/jsx-runtime";var xa="focusScope.autoFocusOnMount",Ia="focusScope.autoFocusOnUnmount",Mt={bubbles:!1,cancelable:!0},Dr="FocusScope",ga=j.forwardRef((e,a)=>{let{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:l,...s}=e,[u,f]=j.useState(null),d=re(r),n=re(l),c=j.useRef(null),x=J(a,i=>f(i)),I=j.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;j.useEffect(()=>{if(o){let S=function(D){if(I.paused||!u)return;let C=D.target;u.contains(C)?c.current=C:le(c.current,{select:!0})},y=function(D){if(I.paused||!u)return;let C=D.relatedTarget;C!==null&&(u.contains(C)||le(c.current,{select:!0}))},k=function(D){if(document.activeElement===document.body)for(let m of D)m.removedNodes.length>0&&le(u)};var i=S,g=y,b=k;document.addEventListener("focusin",S),document.addEventListener("focusout",y);let P=new MutationObserver(k);return u&&P.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",y),P.disconnect()}}},[o,u,I.paused]),j.useEffect(()=>{if(u){Bt.add(I);let i=document.activeElement;if(!u.contains(i)){let b=new CustomEvent(xa,Mt);u.addEventListener(xa,d),u.dispatchEvent(b),b.defaultPrevented||(Mr(Er(Ot(u)),{select:!0}),document.activeElement===i&&le(u))}return()=>{u.removeEventListener(xa,d),setTimeout(()=>{let b=new CustomEvent(Ia,Mt);u.addEventListener(Ia,n),u.dispatchEvent(b),b.defaultPrevented||le(i??document.body,{select:!0}),u.removeEventListener(Ia,n),Bt.remove(I)},0)}}},[u,d,n,I]);let v=j.useCallback(i=>{if(!t&&!o||I.paused)return;let g=i.key==="Tab"&&!i.altKey&&!i.ctrlKey&&!i.metaKey,b=document.activeElement;if(g&&b){let S=i.currentTarget,[y,k]=Fr(S);y&&k?!i.shiftKey&&b===k?(i.preventDefault(),t&&le(y,{select:!0})):i.shiftKey&&b===y&&(i.preventDefault(),t&&le(k,{select:!0})):b===S&&i.preventDefault()}},[t,o,I.paused]);return Ar(G.div,{tabIndex:-1,...s,ref:x,onKeyDown:v})});ga.displayName=Dr;function Mr(e,{select:a=!1}={}){let t=document.activeElement;for(let o of e)if(le(o,{select:a}),document.activeElement!==t)return}function Fr(e){let a=Ot(e),t=Ft(a,e),o=Ft(a.reverse(),e);return[t,o]}function Ot(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)a.push(t.currentNode);return a}function Ft(e,a){for(let t of e)if(!Br(t,{upTo:a}))return t}function Br(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Tr(e){return e instanceof HTMLInputElement&&"select"in e}function le(e,{select:a=!1}={}){if(e&&e.focus){let t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&Tr(e)&&a&&e.select()}}var Bt=Or();function Or(){let e=[];return{add(a){let t=e[0];a!==t&&t?.pause(),e=Tt(e,a),e.unshift(a)},remove(a){e=Tt(e,a),e[0]?.resume()}}}function Tt(e,a){let t=[...e],o=t.indexOf(a);return o!==-1&&t.splice(o,1),t}function Er(e){return e.filter(a=>a.tagName!=="A")}import*as We from"react";import*as Et from"react-dom";import{jsx as qr}from"react/jsx-runtime";var Ur="Portal",ha=We.forwardRef((e,a)=>{let{container:t,...o}=e,[r,l]=We.useState(!1);ae(()=>l(!0),[]);let s=t||r&&globalThis?.document?.body;return s?Et.createPortal(qr(G.div,{...o,ref:a}),s):null});ha.displayName=Ur;import*as Ut from"react";var Ve=0,Se=null;function Ht(){Ut.useEffect(()=>{Se||(Se={start:qt(),end:qt()});let{start:e,end:a}=Se;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==a&&document.body.insertAdjacentElement("beforeend",a),Ve++,()=>{Ve===1&&(Se?.start.remove(),Se?.end.remove(),Se=null),Ve=Math.max(0,Ve-1)}},[])}function qt(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var z=function(){return z=Object.assign||function(a){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(a[l]=t[l])}return a},z.apply(this,arguments)};function _e(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)a.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]]);return t}function Nt(e,a,t){if(t||arguments.length===2)for(var o=0,r=a.length,l;o<r;o++)(l||!(o in a))&&(l||(l=Array.prototype.slice.call(a,0,o)),l[o]=a[o]);return e.concat(l||Array.prototype.slice.call(a))}import*as $e from"react";import*as U from"react";var ie="right-scroll-bar-position",ce="width-before-scroll-bar",Ca="with-scroll-bars-hidden",Sa="--removed-body-scroll-bar-size";function Xe(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}import{useState as Hr}from"react";function Gt(e,a){var t=Hr(function(){return{value:e,callback:a,facade:{get current(){return t.value},set current(o){var r=t.value;r!==o&&(t.value=o,t.callback(o,r))}}}})[0];return t.callback=a,t.facade}import*as Ke from"react";var Nr=typeof window<"u"?Ke.useLayoutEffect:Ke.useEffect,zt=new WeakMap;function wa(e,a){var t=Gt(a||null,function(o){return e.forEach(function(r){return Xe(r,o)})});return Nr(function(){var o=zt.get(t);if(o){var r=new Set(o),l=new Set(e),s=t.current;r.forEach(function(u){l.has(u)||Xe(u,null)}),l.forEach(function(u){r.has(u)||Xe(u,s)})}zt.set(t,e)},[e]),t}function Gr(e){return e}function zr(e,a){a===void 0&&(a=Gr);var t=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(l){var s=a(l,o);return t.push(s),function(){t=t.filter(function(u){return u!==s})}},assignSyncMedium:function(l){for(o=!0;t.length;){var s=t;t=[],s.forEach(l)}t={push:function(u){return l(u)},filter:function(){return t}}},assignMedium:function(l){o=!0;var s=[];if(t.length){var u=t;t=[],u.forEach(l),s=t}var f=function(){var n=s;s=[],n.forEach(l)},d=function(){return Promise.resolve().then(f)};d(),t={push:function(n){s.push(n),d()},filter:function(n){return s=s.filter(n),t}}}};return r}function ba(e){e===void 0&&(e={});var a=zr(null);return a.options=z({async:!0,ssr:!1},e),a}import*as Wt from"react";var Vt=function(e){var a=e.sideCar,t=_e(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=a.read();if(!o)throw new Error("Sidecar medium not found");return Wt.createElement(o,z({},t))};Vt.isSideCarExport=!0;function va(e,a){return e.useMedium(a),Vt}var je=ba();var ya=function(){},Re=U.forwardRef(function(e,a){var t=U.useRef(null),o=U.useState({onScrollCapture:ya,onWheelCapture:ya,onTouchMoveCapture:ya}),r=o[0],l=o[1],s=e.forwardProps,u=e.children,f=e.className,d=e.removeScrollBar,n=e.enabled,c=e.shards,x=e.sideCar,I=e.noRelative,v=e.noIsolation,i=e.inert,g=e.allowPinchZoom,b=e.as,S=b===void 0?"div":b,y=e.gapMode,k=_e(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=x,D=wa([t,a]),C=z(z({},k),r);return U.createElement(U.Fragment,null,n&&U.createElement(P,{sideCar:je,removeScrollBar:d,shards:c,noRelative:I,noIsolation:v,inert:i,setCallbacks:l,allowPinchZoom:!!g,lockRef:t,gapMode:y}),s?U.cloneElement(U.Children.only(u),z(z({},C),{ref:D})):U.createElement(S,z({},C,{className:f,ref:D}),u))});Re.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Re.classNames={fullWidth:ce,zeroRight:ie};import*as A from"react";import*as be from"react";import*as Kt from"react";var _t;var Xt=function(){if(_t)return _t;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function Wr(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=Xt();return a&&e.setAttribute("nonce",a),e}function Vr(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function _r(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var Pa=function(){var e=0,a=null;return{add:function(t){e==0&&(a=Wr())&&(Vr(a,t),_r(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}};var ka=function(){var e=Pa();return function(a,t){Kt.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&t])}};var Ae=function(){var e=ka(),a=function(t){var o=t.styles,r=t.dynamic;return e(o,r),null};return a};var Xr={left:0,top:0,right:0,gap:0},Ra=function(e){return parseInt(e||"",10)||0},Kr=function(e){var a=window.getComputedStyle(document.body),t=a[e==="padding"?"paddingLeft":"marginLeft"],o=a[e==="padding"?"paddingTop":"marginTop"],r=a[e==="padding"?"paddingRight":"marginRight"];return[Ra(t),Ra(o),Ra(r)]},Aa=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Xr;var a=Kr(e),t=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-t+a[2]-a[0])}};var jr=Ae(),we="data-scroll-locked",Zr=function(e,a,t,o){var r=e.left,l=e.top,s=e.right,u=e.gap;return t===void 0&&(t="margin"),`
2
- .`.concat(Ca,` {
3
- overflow: hidden `).concat(o,`;
4
- padding-right: `).concat(u,"px ").concat(o,`;
5
- }
6
- body[`).concat(we,`] {
7
- overflow: hidden `).concat(o,`;
8
- overscroll-behavior: contain;
9
- `).concat([a&&"position: relative ".concat(o,";"),t==="margin"&&`
10
- padding-left: `.concat(r,`px;
11
- padding-top: `).concat(l,`px;
12
- padding-right: `).concat(s,`px;
13
- margin-left:0;
14
- margin-top:0;
15
- margin-right: `).concat(u,"px ").concat(o,`;
16
- `),t==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),`
17
- }
18
-
19
- .`).concat(ie,` {
20
- right: `).concat(u,"px ").concat(o,`;
21
- }
22
-
23
- .`).concat(ce,` {
24
- margin-right: `).concat(u,"px ").concat(o,`;
25
- }
26
-
27
- .`).concat(ie," .").concat(ie,` {
28
- right: 0 `).concat(o,`;
29
- }
30
-
31
- .`).concat(ce," .").concat(ce,` {
32
- margin-right: 0 `).concat(o,`;
33
- }
34
-
35
- body[`).concat(we,`] {
36
- `).concat(Sa,": ").concat(u,`px;
37
- }
38
- `)},jt=function(){var e=parseInt(document.body.getAttribute(we)||"0",10);return isFinite(e)?e:0},$r=function(){be.useEffect(function(){return document.body.setAttribute(we,(jt()+1).toString()),function(){var e=jt()-1;e<=0?document.body.removeAttribute(we):document.body.setAttribute(we,e.toString())}},[])},Da=function(e){var a=e.noRelative,t=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;$r();var l=be.useMemo(function(){return Aa(r)},[r]);return be.createElement(jr,{styles:Zr(l,!a,r,t?"":"!important")})};var Ma=!1;if(typeof window<"u")try{De=Object.defineProperty({},"passive",{get:function(){return Ma=!0,!0}}),window.addEventListener("test",De,De),window.removeEventListener("test",De,De)}catch{Ma=!1}var De,pe=Ma?{passive:!1}:!1;var Jr=function(e){return e.tagName==="TEXTAREA"},Zt=function(e,a){if(!(e instanceof Element))return!1;var t=window.getComputedStyle(e);return t[a]!=="hidden"&&!(t.overflowY===t.overflowX&&!Jr(e)&&t[a]==="visible")},Yr=function(e){return Zt(e,"overflowY")},Qr=function(e){return Zt(e,"overflowX")},Fa=function(e,a){var t=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=$t(e,o);if(r){var l=Jt(e,o),s=l[1],u=l[2];if(s>u)return!0}o=o.parentNode}while(o&&o!==t.body);return!1},el=function(e){var a=e.scrollTop,t=e.scrollHeight,o=e.clientHeight;return[a,t,o]},al=function(e){var a=e.scrollLeft,t=e.scrollWidth,o=e.clientWidth;return[a,t,o]},$t=function(e,a){return e==="v"?Yr(a):Qr(a)},Jt=function(e,a){return e==="v"?el(a):al(a)},tl=function(e,a){return e==="h"&&a==="rtl"?-1:1},Yt=function(e,a,t,o,r){var l=tl(e,window.getComputedStyle(a).direction),s=l*o,u=t.target,f=a.contains(u),d=!1,n=s>0,c=0,x=0;do{if(!u)break;var I=Jt(e,u),v=I[0],i=I[1],g=I[2],b=i-g-l*v;(v||b)&&$t(e,u)&&(c+=b,x+=v);var S=u.parentNode;u=S&&S.nodeType===Node.DOCUMENT_FRAGMENT_NODE?S.host:S}while(!f&&u!==document.body||f&&(a.contains(u)||a===u));return(n&&(r&&Math.abs(c)<1||!r&&s>c)||!n&&(r&&Math.abs(x)<1||!r&&-s>x))&&(d=!0),d};var Ze=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Qt=function(e){return[e.deltaX,e.deltaY]},eo=function(e){return e&&"current"in e?e.current:e},ol=function(e,a){return e[0]===a[0]&&e[1]===a[1]},rl=function(e){return`
39
- .block-interactivity-`.concat(e,` {pointer-events: none;}
40
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
41
- `)},ll=0,ve=[];function ao(e){var a=A.useRef([]),t=A.useRef([0,0]),o=A.useRef(),r=A.useState(ll++)[0],l=A.useState(Ae)[0],s=A.useRef(e);A.useEffect(function(){s.current=e},[e]),A.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var i=Nt([e.lockRef.current],(e.shards||[]).map(eo),!0).filter(Boolean);return i.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),i.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var u=A.useCallback(function(i,g){if("touches"in i&&i.touches.length===2||i.type==="wheel"&&i.ctrlKey)return!s.current.allowPinchZoom;var b=Ze(i),S=t.current,y="deltaX"in i?i.deltaX:S[0]-b[0],k="deltaY"in i?i.deltaY:S[1]-b[1],P,D=i.target,C=Math.abs(y)>Math.abs(k)?"h":"v";if("touches"in i&&C==="h"&&D.type==="range")return!1;var m=window.getSelection(),B=m&&m.anchorNode,oe=B?B===D||B.contains(D):!1;if(oe)return!1;var de=Fa(C,D);if(!de)return!0;if(de?P=C:(P=C==="v"?"h":"v",de=Fa(C,D)),!de)return!1;if(!o.current&&"changedTouches"in i&&(y||k)&&(o.current=P),!P)return!0;var fe=o.current||P;return Yt(fe,g,i,fe==="h"?y:k,!0)},[]),f=A.useCallback(function(i){var g=i;if(!(!ve.length||ve[ve.length-1]!==l)){var b="deltaY"in g?Qt(g):Ze(g),S=a.current.filter(function(P){return P.name===g.type&&(P.target===g.target||g.target===P.shadowParent)&&ol(P.delta,b)})[0];if(S&&S.should){g.cancelable&&g.preventDefault();return}if(!S){var y=(s.current.shards||[]).map(eo).filter(Boolean).filter(function(P){return P.contains(g.target)}),k=y.length>0?u(g,y[0]):!s.current.noIsolation;k&&g.cancelable&&g.preventDefault()}}},[]),d=A.useCallback(function(i,g,b,S){var y={name:i,delta:g,target:b,should:S,shadowParent:ul(b)};a.current.push(y),setTimeout(function(){a.current=a.current.filter(function(k){return k!==y})},1)},[]),n=A.useCallback(function(i){t.current=Ze(i),o.current=void 0},[]),c=A.useCallback(function(i){d(i.type,Qt(i),i.target,u(i,e.lockRef.current))},[]),x=A.useCallback(function(i){d(i.type,Ze(i),i.target,u(i,e.lockRef.current))},[]);A.useEffect(function(){return ve.push(l),e.setCallbacks({onScrollCapture:c,onWheelCapture:c,onTouchMoveCapture:x}),document.addEventListener("wheel",f,pe),document.addEventListener("touchmove",f,pe),document.addEventListener("touchstart",n,pe),function(){ve=ve.filter(function(i){return i!==l}),document.removeEventListener("wheel",f,pe),document.removeEventListener("touchmove",f,pe),document.removeEventListener("touchstart",n,pe)}},[]);var I=e.removeScrollBar,v=e.inert;return A.createElement(A.Fragment,null,v?A.createElement(l,{styles:rl(r)}):null,I?A.createElement(Da,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function ul(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}var to=va(je,ao);var oo=$e.forwardRef(function(e,a){return $e.createElement(Re,z({},e,{ref:a,sideCar:to}))});oo.classNames=Re.classNames;var Ba=oo;var sl=function(e){if(typeof document>"u")return null;var a=Array.isArray(e)?e[0]:e;return a.ownerDocument.body},ye=new WeakMap,Je=new WeakMap,Ye={},Ta=0,ro=function(e){return e&&(e.host||ro(e.parentNode))},dl=function(e,a){return a.map(function(t){if(e.contains(t))return t;var o=ro(t);return o&&e.contains(o)?o:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(t){return!!t})},fl=function(e,a,t,o){var r=dl(a,Array.isArray(e)?e:[e]);Ye[t]||(Ye[t]=new WeakMap);var l=Ye[t],s=[],u=new Set,f=new Set(r),d=function(c){!c||u.has(c)||(u.add(c),d(c.parentNode))};r.forEach(d);var n=function(c){!c||f.has(c)||Array.prototype.forEach.call(c.children,function(x){if(u.has(x))n(x);else try{var I=x.getAttribute(o),v=I!==null&&I!=="false",i=(ye.get(x)||0)+1,g=(l.get(x)||0)+1;ye.set(x,i),l.set(x,g),s.push(x),i===1&&v&&Je.set(x,!0),g===1&&x.setAttribute(t,"true"),v||x.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",x,b)}})};return n(a),u.clear(),Ta++,function(){s.forEach(function(c){var x=ye.get(c)-1,I=l.get(c)-1;ye.set(c,x),l.set(c,I),x||(Je.has(c)||c.removeAttribute(o),Je.delete(c)),I||c.removeAttribute(t)}),Ta--,Ta||(ye=new WeakMap,ye=new WeakMap,Je=new WeakMap,Ye={})}},lo=function(e,a,t){t===void 0&&(t="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=a||sl(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),fl(o,r,t,"aria-hidden")):function(){return null}};import{Fragment as uo,jsx as F,jsxs as so}from"react/jsx-runtime";var ea="Dialog",[fo,nl]=ht(ea),[il,Y]=fo(ea),Oa=e=>{let{__scopeDialog:a,children:t,open:o,defaultOpen:r,onOpenChange:l,modal:s=!0}=e,u=R.useRef(null),f=R.useRef(null),[d,n]=St({prop:o,defaultProp:r??!1,onChange:l,caller:ea});return F(il,{scope:a,triggerRef:u,contentRef:f,contentId:ze(),titleId:ze(),descriptionId:ze(),open:d,onOpenChange:n,onOpenToggle:R.useCallback(()=>n(c=>!c),[n]),modal:s,children:t})};Oa.displayName=ea;var no="DialogTrigger",Ea=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=Y(no,t),l=J(a,r.triggerRef);return F(G.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":_a(r.open),...o,ref:l,onClick:Q(e.onClick,r.onOpenToggle)})});Ea.displayName=no;var qa="DialogPortal",[cl,io]=fo(qa,{forceMount:void 0}),Ua=e=>{let{__scopeDialog:a,forceMount:t,children:o,container:r}=e,l=Y(qa,a);return F(cl,{scope:a,forceMount:t,children:R.Children.map(o,s=>F(ke,{present:t||l.open,children:F(ha,{asChild:!0,container:r,children:s})}))})};Ua.displayName=qa;var Qe="DialogOverlay",Ha=R.forwardRef((e,a)=>{let t=io(Qe,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,l=Y(Qe,e.__scopeDialog);return l.modal?F(ke,{present:o||l.open,children:F(ml,{...r,ref:a})}):null});Ha.displayName=Qe;var pl=he("DialogOverlay.RemoveScroll"),ml=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=Y(Qe,t);return F(Ba,{as:pl,allowPinchZoom:!0,shards:[r.contentRef],children:F(G.div,{"data-state":_a(r.open),...o,ref:a,style:{pointerEvents:"auto",...o.style}})})}),me="DialogContent",Na=R.forwardRef((e,a)=>{let t=io(me,e.__scopeDialog),{forceMount:o=t.forceMount,...r}=e,l=Y(me,e.__scopeDialog);return F(ke,{present:o||l.open,children:l.modal?F(Ll,{...r,ref:a}):F(xl,{...r,ref:a})})});Na.displayName=me;var Ll=R.forwardRef((e,a)=>{let t=Y(me,e.__scopeDialog),o=R.useRef(null),r=J(a,t.contentRef,o);return R.useEffect(()=>{let l=o.current;if(l)return lo(l)},[]),F(co,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:t.open,onCloseAutoFocus:Q(e.onCloseAutoFocus,l=>{l.preventDefault(),t.triggerRef.current?.focus()}),onPointerDownOutside:Q(e.onPointerDownOutside,l=>{let s=l.detail.originalEvent,u=s.button===0&&s.ctrlKey===!0;(s.button===2||u)&&l.preventDefault()}),onFocusOutside:Q(e.onFocusOutside,l=>l.preventDefault())})}),xl=R.forwardRef((e,a)=>{let t=Y(me,e.__scopeDialog),o=R.useRef(!1),r=R.useRef(!1);return F(co,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(o.current||t.triggerRef.current?.focus(),l.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(o.current=!0,l.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=l.target;t.triggerRef.current?.contains(s)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&r.current&&l.preventDefault()}})}),co=R.forwardRef((e,a)=>{let{__scopeDialog:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:l,...s}=e,u=Y(me,t),f=R.useRef(null),d=J(a,f);return Ht(),so(uo,{children:[F(ga,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:l,children:F(La,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":_a(u.open),...s,ref:d,onDismiss:()=>u.onOpenChange(!1)})}),so(uo,{children:[F(gl,{titleId:u.titleId}),F(Cl,{contentRef:f,descriptionId:u.descriptionId})]})]})}),Ga="DialogTitle",za=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=Y(Ga,t);return F(G.h2,{id:r.titleId,...o,ref:a})});za.displayName=Ga;var po="DialogDescription",Wa=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=Y(po,t);return F(G.p,{id:r.descriptionId,...o,ref:a})});Wa.displayName=po;var mo="DialogClose",Va=R.forwardRef((e,a)=>{let{__scopeDialog:t,...o}=e,r=Y(mo,t);return F(G.button,{type:"button",...o,ref:a,onClick:Q(e.onClick,()=>r.onOpenChange(!1))})});Va.displayName=mo;function _a(e){return e?"open":"closed"}var Lo="DialogTitleWarning",[Il,xo]=gt(Lo,{contentName:me,titleName:Ga,docsSlug:"dialog"}),gl=({titleId:e})=>{let a=xo(Lo),t=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users.
42
-
43
- If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component.
44
-
45
- For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return R.useEffect(()=>{e&&(document.getElementById(e)||console.error(t))},[t,e]),null},hl="DialogDescriptionWarning",Cl=({contentRef:e,descriptionId:a})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${xo(hl).contentName}}.`;return R.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");a&&r&&(document.getElementById(a)||console.warn(o))},[o,e,a]),null},Sl=Oa,wl=Ea,bl=Ua,vl=Ha,yl=Na,Pl=za,kl=Wa,Rl=Va;var aa={};ca(aa,{Label:()=>Xa,Root:()=>Ml});import*as Io from"react";import{jsx as Al}from"react/jsx-runtime";var Dl="Label",Xa=Io.forwardRef((e,a)=>Al(G.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Xa.displayName=Dl;var Ml=Xa;var Fl=(e,a)=>{let t=new Array(e.length+a.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<a.length;o++)t[e.length+o]=a[o];return t},Bl=(e,a)=>({classGroupId:e,validator:a}),vo=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),ra="-",go=[],Tl="arbitrary..",Ol=e=>{let a=ql(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return El(s);let u=s.split(ra),f=u[0]===""&&u.length>1?1:0;return yo(u,f,a)},getConflictingClassGroupIds:(s,u)=>{if(u){let f=o[s],d=t[s];return f?d?Fl(d,f):f:d||go}return t[s]||go}}},yo=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let r=e[a],l=t.nextPart.get(r);if(l){let d=yo(e,a+1,l);if(d)return d}let s=t.validators;if(s===null)return;let u=a===0?e.join(ra):e.slice(a).join(ra),f=s.length;for(let d=0;d<f;d++){let n=s[d];if(n.validator(u))return n.classGroupId}},El=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let a=e.slice(1,-1),t=a.indexOf(":"),o=a.slice(0,t);return o?Tl+o:void 0})(),ql=e=>{let{theme:a,classGroups:t}=e;return Ul(t,a)},Ul=(e,a)=>{let t=vo();for(let o in e){let r=e[o];Za(r,t,o,a)}return t},Za=(e,a,t,o)=>{let r=e.length;for(let l=0;l<r;l++){let s=e[l];Hl(s,a,t,o)}},Hl=(e,a,t,o)=>{if(typeof e=="string"){Nl(e,a,t);return}if(typeof e=="function"){Gl(e,a,t,o);return}zl(e,a,t,o)},Nl=(e,a,t)=>{let o=e===""?a:Po(a,e);o.classGroupId=t},Gl=(e,a,t,o)=>{if(Wl(e)){Za(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(Bl(t,e))},zl=(e,a,t,o)=>{let r=Object.entries(e),l=r.length;for(let s=0;s<l;s++){let[u,f]=r[s];Za(f,Po(a,u),t,o)}},Po=(e,a)=>{let t=e,o=a.split(ra),r=o.length;for(let l=0;l<r;l++){let s=o[l],u=t.nextPart.get(s);u||(u=vo(),t.nextPart.set(s,u)),t=u}return t},Wl=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Vl=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),r=(l,s)=>{t[l]=s,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(l){let s=t[l];if(s!==void 0)return s;if((s=o[l])!==void 0)return r(l,s),s},set(l,s){l in t?t[l]=s:r(l,s)}}},ja="!",ho=":",_l=[],Co=(e,a,t,o,r)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:r}),Xl=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=r=>{let l=[],s=0,u=0,f=0,d,n=r.length;for(let i=0;i<n;i++){let g=r[i];if(s===0&&u===0){if(g===ho){l.push(r.slice(f,i)),f=i+1;continue}if(g==="/"){d=i;continue}}g==="["?s++:g==="]"?s--:g==="("?u++:g===")"&&u--}let c=l.length===0?r:r.slice(f),x=c,I=!1;c.endsWith(ja)?(x=c.slice(0,-1),I=!0):c.startsWith(ja)&&(x=c.slice(1),I=!0);let v=d&&d>f?d-f:void 0;return Co(l,I,x,v)};if(a){let r=a+ho,l=o;o=s=>s.startsWith(r)?l(s.slice(r.length)):Co(_l,!1,s,void 0,!0)}if(t){let r=o;o=l=>t({className:l,parseClassName:r})}return o},Kl=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],r=[];for(let l=0;l<t.length;l++){let s=t[l],u=s[0]==="[",f=a.has(s);u||f?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},jl=e=>({cache:Vl(e.cacheSize),parseClassName:Xl(e),sortModifiers:Kl(e),postfixLookupClassGroupIds:Zl(e),...Ol(e)}),Zl=e=>{let a=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)a[t[o]]=!0;return a},$l=/\s+/,Jl=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:s}=a,u=[],f=e.trim().split($l),d="";for(let n=f.length-1;n>=0;n-=1){let c=f[n],{isExternal:x,modifiers:I,hasImportantModifier:v,baseClassName:i,maybePostfixModifierPosition:g}=t(c);if(x){d=c+(d.length>0?" "+d:d);continue}let b=!!g,S;if(b){let C=i.substring(0,g);S=o(C);let m=S&&s[S]?o(i):void 0;m&&m!==S&&(S=m,b=!1)}else S=o(i);if(!S){if(!b){d=c+(d.length>0?" "+d:d);continue}if(S=o(i),!S){d=c+(d.length>0?" "+d:d);continue}b=!1}let y=I.length===0?"":I.length===1?I[0]:l(I).join(":"),k=v?y+ja:y,P=k+S;if(u.indexOf(P)>-1)continue;u.push(P);let D=r(S,b);for(let C=0;C<D.length;++C){let m=D[C];u.push(k+m)}d=c+(d.length>0?" "+d:d)}return d},Yl=(...e)=>{let a=0,t,o,r="";for(;a<e.length;)(t=e[a++])&&(o=ko(t))&&(r&&(r+=" "),r+=o);return r},ko=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=ko(e[o]))&&(t&&(t+=" "),t+=a);return t},Ql=(e,...a)=>{let t,o,r,l,s=f=>{let d=a.reduce((n,c)=>c(n),e());return t=jl(d),o=t.cache.get,r=t.cache.set,l=u,u(f)},u=f=>{let d=o(f);if(d)return d;let n=Jl(f,t);return r(f,n),n};return l=s,(...f)=>l(Yl(...f))},eu=[],T=e=>{let a=t=>t[e]||eu;return a.isThemeGetter=!0,a},Ro=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ao=/^\((?:(\w[\w-]*):)?(.+)\)$/i,au=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,tu=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ou=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ru=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,lu=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,uu=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ue=e=>au.test(e),w=e=>!!e&&!Number.isNaN(Number(e)),ee=e=>!!e&&Number.isInteger(Number(e)),Ka=e=>e.endsWith("%")&&w(e.slice(0,-1)),te=e=>tu.test(e),Do=()=>!0,su=e=>ou.test(e)&&!ru.test(e),$a=()=>!1,du=e=>lu.test(e),fu=e=>uu.test(e),nu=e=>!p(e)&&!L(e),iu=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),cu=e=>se(e,Bo,$a),p=e=>Ro.test(e),Le=e=>se(e,To,su),So=e=>se(e,Cu,w),pu=e=>se(e,Eo,Do),mu=e=>se(e,Oo,$a),wo=e=>se(e,Mo,$a),Lu=e=>se(e,Fo,fu),ta=e=>se(e,qo,du),L=e=>Ao.test(e),Me=e=>xe(e,To),xu=e=>xe(e,Oo),bo=e=>xe(e,Mo),Iu=e=>xe(e,Bo),gu=e=>xe(e,Fo),oa=e=>xe(e,qo,!0),hu=e=>xe(e,Eo,!0),se=(e,a,t)=>{let o=Ro.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},xe=(e,a,t=!1)=>{let o=Ao.exec(e);return o?o[1]?a(o[1]):t:!1},Mo=e=>e==="position"||e==="percentage",Fo=e=>e==="image"||e==="url",Bo=e=>e==="length"||e==="size"||e==="bg-size",To=e=>e==="length",Cu=e=>e==="number",Oo=e=>e==="family-name",Eo=e=>e==="number"||e==="weight",qo=e=>e==="shadow";var Su=()=>{let e=T("color"),a=T("font"),t=T("text"),o=T("font-weight"),r=T("tracking"),l=T("leading"),s=T("breakpoint"),u=T("container"),f=T("spacing"),d=T("radius"),n=T("shadow"),c=T("inset-shadow"),x=T("text-shadow"),I=T("drop-shadow"),v=T("blur"),i=T("perspective"),g=T("aspect"),b=T("ease"),S=T("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],k=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...k(),L,p],D=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],m=()=>[L,p,f],B=()=>[ue,"full","auto",...m()],oe=()=>[ee,"none","subgrid",L,p],de=()=>["auto",{span:["full",ee,L,p]},ee,L,p],fe=()=>[ee,"auto",L,p],Qa=()=>["auto","min","max","fr",L,p],sa=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ge=()=>["start","end","center","stretch","center-safe","end-safe"],$=()=>["auto",...m()],ne=()=>[ue,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...m()],da=()=>[ue,"screen","full","dvw","lvw","svw","min","max","fit",...m()],fa=()=>[ue,"screen","full","lh","dvh","lvh","svh","min","max","fit",...m()],h=()=>[e,L,p],et=()=>[...k(),bo,wo,{position:[L,p]}],at=()=>["no-repeat",{repeat:["","x","y","space","round"]}],tt=()=>["auto","cover","contain",Iu,cu,{size:[L,p]}],na=()=>[Ka,Me,Le],H=()=>["","none","full",d,L,p],N=()=>["",w,Me,Le],Be=()=>["solid","dashed","dotted","double"],ot=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],O=()=>[w,Ka,bo,wo],rt=()=>["","none",v,L,p],Te=()=>["none",w,L,p],Oe=()=>["none",w,L,p],ia=()=>[w,L,p],Ee=()=>[ue,"full",...m()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[te],breakpoint:[te],color:[Do],container:[te],"drop-shadow":[te],ease:["in","out","in-out"],font:[nu],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[te],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[te],shadow:[te],spacing:["px",w],text:[te],"text-shadow":[te],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ue,p,L,g]}],container:["container"],"container-type":[{"@container":["","normal","size",L,p]}],"container-named":[iu],columns:[{columns:[w,p,L,u]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:B()}],"inset-x":[{"inset-x":B()}],"inset-y":[{"inset-y":B()}],start:[{"inset-s":B(),start:B()}],end:[{"inset-e":B(),end:B()}],"inset-bs":[{"inset-bs":B()}],"inset-be":[{"inset-be":B()}],top:[{top:B()}],right:[{right:B()}],bottom:[{bottom:B()}],left:[{left:B()}],visibility:["visible","invisible","collapse"],z:[{z:[ee,"auto",L,p]}],basis:[{basis:[ue,"full","auto",u,...m()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[w,ue,"auto","initial","none",p]}],grow:[{grow:["",w,L,p]}],shrink:[{shrink:["",w,L,p]}],order:[{order:[ee,"first","last","none",L,p]}],"grid-cols":[{"grid-cols":oe()}],"col-start-end":[{col:de()}],"col-start":[{"col-start":fe()}],"col-end":[{"col-end":fe()}],"grid-rows":[{"grid-rows":oe()}],"row-start-end":[{row:de()}],"row-start":[{"row-start":fe()}],"row-end":[{"row-end":fe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Qa()}],"auto-rows":[{"auto-rows":Qa()}],gap:[{gap:m()}],"gap-x":[{"gap-x":m()}],"gap-y":[{"gap-y":m()}],"justify-content":[{justify:[...sa(),"normal"]}],"justify-items":[{"justify-items":[...ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...ge()]}],"align-content":[{content:["normal",...sa()]}],"align-items":[{items:[...ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":sa()}],"place-items":[{"place-items":[...ge(),"baseline"]}],"place-self":[{"place-self":["auto",...ge()]}],p:[{p:m()}],px:[{px:m()}],py:[{py:m()}],ps:[{ps:m()}],pe:[{pe:m()}],pbs:[{pbs:m()}],pbe:[{pbe:m()}],pt:[{pt:m()}],pr:[{pr:m()}],pb:[{pb:m()}],pl:[{pl:m()}],m:[{m:$()}],mx:[{mx:$()}],my:[{my:$()}],ms:[{ms:$()}],me:[{me:$()}],mbs:[{mbs:$()}],mbe:[{mbe:$()}],mt:[{mt:$()}],mr:[{mr:$()}],mb:[{mb:$()}],ml:[{ml:$()}],"space-x":[{"space-x":m()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":m()}],"space-y-reverse":["space-y-reverse"],size:[{size:ne()}],"inline-size":[{inline:["auto",...da()]}],"min-inline-size":[{"min-inline":["auto",...da()]}],"max-inline-size":[{"max-inline":["none",...da()]}],"block-size":[{block:["auto",...fa()]}],"min-block-size":[{"min-block":["auto",...fa()]}],"max-block-size":[{"max-block":["none",...fa()]}],w:[{w:[u,"screen",...ne()]}],"min-w":[{"min-w":[u,"screen","none",...ne()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[s]},...ne()]}],h:[{h:["screen","lh",...ne()]}],"min-h":[{"min-h":["screen","lh","none",...ne()]}],"max-h":[{"max-h":["screen","lh",...ne()]}],"font-size":[{text:["base",t,Me,Le]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,hu,pu]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Ka,p]}],"font-family":[{font:[xu,mu,a]}],"font-features":[{"font-features":[p]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,L,p]}],"line-clamp":[{"line-clamp":[w,"none",L,So]}],leading:[{leading:[l,...m()]}],"list-image":[{"list-image":["none",L,p]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",L,p]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:h()}],"text-color":[{text:h()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Be(),"wavy"]}],"text-decoration-thickness":[{decoration:[w,"from-font","auto",L,Le]}],"text-decoration-color":[{decoration:h()}],"underline-offset":[{"underline-offset":[w,"auto",L,p]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:m()}],"tab-size":[{tab:[ee,L,p]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",L,p]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",L,p]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:et()}],"bg-repeat":[{bg:at()}],"bg-size":[{bg:tt()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ee,L,p],radial:["",L,p],conic:[ee,L,p]},gu,Lu]}],"bg-color":[{bg:h()}],"gradient-from-pos":[{from:na()}],"gradient-via-pos":[{via:na()}],"gradient-to-pos":[{to:na()}],"gradient-from":[{from:h()}],"gradient-via":[{via:h()}],"gradient-to":[{to:h()}],rounded:[{rounded:H()}],"rounded-s":[{"rounded-s":H()}],"rounded-e":[{"rounded-e":H()}],"rounded-t":[{"rounded-t":H()}],"rounded-r":[{"rounded-r":H()}],"rounded-b":[{"rounded-b":H()}],"rounded-l":[{"rounded-l":H()}],"rounded-ss":[{"rounded-ss":H()}],"rounded-se":[{"rounded-se":H()}],"rounded-ee":[{"rounded-ee":H()}],"rounded-es":[{"rounded-es":H()}],"rounded-tl":[{"rounded-tl":H()}],"rounded-tr":[{"rounded-tr":H()}],"rounded-br":[{"rounded-br":H()}],"rounded-bl":[{"rounded-bl":H()}],"border-w":[{border:N()}],"border-w-x":[{"border-x":N()}],"border-w-y":[{"border-y":N()}],"border-w-s":[{"border-s":N()}],"border-w-e":[{"border-e":N()}],"border-w-bs":[{"border-bs":N()}],"border-w-be":[{"border-be":N()}],"border-w-t":[{"border-t":N()}],"border-w-r":[{"border-r":N()}],"border-w-b":[{"border-b":N()}],"border-w-l":[{"border-l":N()}],"divide-x":[{"divide-x":N()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":N()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Be(),"hidden","none"]}],"divide-style":[{divide:[...Be(),"hidden","none"]}],"border-color":[{border:h()}],"border-color-x":[{"border-x":h()}],"border-color-y":[{"border-y":h()}],"border-color-s":[{"border-s":h()}],"border-color-e":[{"border-e":h()}],"border-color-bs":[{"border-bs":h()}],"border-color-be":[{"border-be":h()}],"border-color-t":[{"border-t":h()}],"border-color-r":[{"border-r":h()}],"border-color-b":[{"border-b":h()}],"border-color-l":[{"border-l":h()}],"divide-color":[{divide:h()}],"outline-style":[{outline:[...Be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[w,L,p]}],"outline-w":[{outline:["",w,Me,Le]}],"outline-color":[{outline:h()}],shadow:[{shadow:["","none",n,oa,ta]}],"shadow-color":[{shadow:h()}],"inset-shadow":[{"inset-shadow":["none",c,oa,ta]}],"inset-shadow-color":[{"inset-shadow":h()}],"ring-w":[{ring:N()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:h()}],"ring-offset-w":[{"ring-offset":[w,Le]}],"ring-offset-color":[{"ring-offset":h()}],"inset-ring-w":[{"inset-ring":N()}],"inset-ring-color":[{"inset-ring":h()}],"text-shadow":[{"text-shadow":["none",x,oa,ta]}],"text-shadow-color":[{"text-shadow":h()}],opacity:[{opacity:[w,L,p]}],"mix-blend":[{"mix-blend":[...ot(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ot()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[w]}],"mask-image-linear-from-pos":[{"mask-linear-from":O()}],"mask-image-linear-to-pos":[{"mask-linear-to":O()}],"mask-image-linear-from-color":[{"mask-linear-from":h()}],"mask-image-linear-to-color":[{"mask-linear-to":h()}],"mask-image-t-from-pos":[{"mask-t-from":O()}],"mask-image-t-to-pos":[{"mask-t-to":O()}],"mask-image-t-from-color":[{"mask-t-from":h()}],"mask-image-t-to-color":[{"mask-t-to":h()}],"mask-image-r-from-pos":[{"mask-r-from":O()}],"mask-image-r-to-pos":[{"mask-r-to":O()}],"mask-image-r-from-color":[{"mask-r-from":h()}],"mask-image-r-to-color":[{"mask-r-to":h()}],"mask-image-b-from-pos":[{"mask-b-from":O()}],"mask-image-b-to-pos":[{"mask-b-to":O()}],"mask-image-b-from-color":[{"mask-b-from":h()}],"mask-image-b-to-color":[{"mask-b-to":h()}],"mask-image-l-from-pos":[{"mask-l-from":O()}],"mask-image-l-to-pos":[{"mask-l-to":O()}],"mask-image-l-from-color":[{"mask-l-from":h()}],"mask-image-l-to-color":[{"mask-l-to":h()}],"mask-image-x-from-pos":[{"mask-x-from":O()}],"mask-image-x-to-pos":[{"mask-x-to":O()}],"mask-image-x-from-color":[{"mask-x-from":h()}],"mask-image-x-to-color":[{"mask-x-to":h()}],"mask-image-y-from-pos":[{"mask-y-from":O()}],"mask-image-y-to-pos":[{"mask-y-to":O()}],"mask-image-y-from-color":[{"mask-y-from":h()}],"mask-image-y-to-color":[{"mask-y-to":h()}],"mask-image-radial":[{"mask-radial":[L,p]}],"mask-image-radial-from-pos":[{"mask-radial-from":O()}],"mask-image-radial-to-pos":[{"mask-radial-to":O()}],"mask-image-radial-from-color":[{"mask-radial-from":h()}],"mask-image-radial-to-color":[{"mask-radial-to":h()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":k()}],"mask-image-conic-pos":[{"mask-conic":[w]}],"mask-image-conic-from-pos":[{"mask-conic-from":O()}],"mask-image-conic-to-pos":[{"mask-conic-to":O()}],"mask-image-conic-from-color":[{"mask-conic-from":h()}],"mask-image-conic-to-color":[{"mask-conic-to":h()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:et()}],"mask-repeat":[{mask:at()}],"mask-size":[{mask:tt()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",L,p]}],filter:[{filter:["","none",L,p]}],blur:[{blur:rt()}],brightness:[{brightness:[w,L,p]}],contrast:[{contrast:[w,L,p]}],"drop-shadow":[{"drop-shadow":["","none",I,oa,ta]}],"drop-shadow-color":[{"drop-shadow":h()}],grayscale:[{grayscale:["",w,L,p]}],"hue-rotate":[{"hue-rotate":[w,L,p]}],invert:[{invert:["",w,L,p]}],saturate:[{saturate:[w,L,p]}],sepia:[{sepia:["",w,L,p]}],"backdrop-filter":[{"backdrop-filter":["","none",L,p]}],"backdrop-blur":[{"backdrop-blur":rt()}],"backdrop-brightness":[{"backdrop-brightness":[w,L,p]}],"backdrop-contrast":[{"backdrop-contrast":[w,L,p]}],"backdrop-grayscale":[{"backdrop-grayscale":["",w,L,p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[w,L,p]}],"backdrop-invert":[{"backdrop-invert":["",w,L,p]}],"backdrop-opacity":[{"backdrop-opacity":[w,L,p]}],"backdrop-saturate":[{"backdrop-saturate":[w,L,p]}],"backdrop-sepia":[{"backdrop-sepia":["",w,L,p]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":m()}],"border-spacing-x":[{"border-spacing-x":m()}],"border-spacing-y":[{"border-spacing-y":m()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",L,p]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[w,"initial",L,p]}],ease:[{ease:["linear","initial",b,L,p]}],delay:[{delay:[w,L,p]}],animate:[{animate:["none",S,L,p]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[i,L,p]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:Te()}],"rotate-x":[{"rotate-x":Te()}],"rotate-y":[{"rotate-y":Te()}],"rotate-z":[{"rotate-z":Te()}],scale:[{scale:Oe()}],"scale-x":[{"scale-x":Oe()}],"scale-y":[{"scale-y":Oe()}],"scale-z":[{"scale-z":Oe()}],"scale-3d":["scale-3d"],skew:[{skew:ia()}],"skew-x":[{"skew-x":ia()}],"skew-y":[{"skew-y":ia()}],transform:[{transform:[L,p,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ee()}],"translate-x":[{"translate-x":Ee()}],"translate-y":[{"translate-y":Ee()}],"translate-z":[{"translate-z":Ee()}],"translate-none":["translate-none"],zoom:[{zoom:[ee,L,p]}],accent:[{accent:h()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:h()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",L,p]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":h()}],"scrollbar-track-color":[{"scrollbar-track":h()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":m()}],"scroll-mx":[{"scroll-mx":m()}],"scroll-my":[{"scroll-my":m()}],"scroll-ms":[{"scroll-ms":m()}],"scroll-me":[{"scroll-me":m()}],"scroll-mbs":[{"scroll-mbs":m()}],"scroll-mbe":[{"scroll-mbe":m()}],"scroll-mt":[{"scroll-mt":m()}],"scroll-mr":[{"scroll-mr":m()}],"scroll-mb":[{"scroll-mb":m()}],"scroll-ml":[{"scroll-ml":m()}],"scroll-p":[{"scroll-p":m()}],"scroll-px":[{"scroll-px":m()}],"scroll-py":[{"scroll-py":m()}],"scroll-ps":[{"scroll-ps":m()}],"scroll-pe":[{"scroll-pe":m()}],"scroll-pbs":[{"scroll-pbs":m()}],"scroll-pbe":[{"scroll-pbe":m()}],"scroll-pt":[{"scroll-pt":m()}],"scroll-pr":[{"scroll-pr":m()}],"scroll-pb":[{"scroll-pb":m()}],"scroll-pl":[{"scroll-pl":m()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",L,p]}],fill:[{fill:["none",...h()]}],"stroke-w":[{stroke:[w,Me,Le,So]}],stroke:[{stroke:["none",...h()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Uo=Ql(Su);function V(...e){return Uo(qe(e))}import{jsx as bu}from"react/jsx-runtime";var wu=dt("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function Pe({className:e,variant:a="default",size:t="default",asChild:o=!1,...r}){let l=o?He.Root:"button";return bu(l,{"data-slot":"button","data-variant":a,"data-size":t,className:V(wu({variant:a,size:t,className:e})),...r})}import{forwardRef as yu,createElement as Pu}from"react";var Ho=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),la=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as vu,createElement as Go}from"react";var No={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var zo=vu(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:s,...u},f)=>Go("svg",{ref:f,...No,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:la("lucide",r),...u},[...s.map(([d,n])=>Go(d,n)),...Array.isArray(l)?l:[l]]));var Wo=(e,a)=>{let t=yu(({className:o,...r},l)=>Pu(zo,{ref:l,iconNode:a,className:la(`lucide-${Ho(e)}`,o),...r}));return t.displayName=`${e}`,t};var Fe=Wo("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);import{jsx as _,jsxs as ua}from"react/jsx-runtime";function Vo({...e}){return _(W.Root,{"data-slot":"dialog",...e})}function _o({...e}){return _(W.Trigger,{"data-slot":"dialog-trigger",...e})}function ku({...e}){return _(W.Portal,{"data-slot":"dialog-portal",...e})}function Xo({...e}){return _(W.Close,{"data-slot":"dialog-close",...e})}function Ru({className:e,...a}){return _(W.Overlay,{"data-slot":"dialog-overlay",className:V("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...a})}function Ko({className:e,children:a,showCloseButton:t=!0,...o}){return ua(ku,{"data-slot":"dialog-portal",children:[_(Ru,{}),ua(W.Content,{"data-slot":"dialog-content",className:V("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...o,children:[a,t&&ua(W.Close,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[_(Fe,{}),_("span",{className:"sr-only",children:"Close"})]})]})]})}function jo({className:e,...a}){return _("div",{"data-slot":"dialog-header",className:V("flex flex-col gap-2 text-center sm:text-left",e),...a})}function Zo({className:e,showCloseButton:a=!1,children:t,...o}){return ua("div",{"data-slot":"dialog-footer",className:V("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...o,children:[t,a&&_(W.Close,{asChild:!0,children:_(Pe,{variant:"outline",children:"Close"})})]})}function $o({className:e,...a}){return _(W.Title,{"data-slot":"dialog-title",className:V("text-lg leading-none font-semibold",e),...a})}function Jo({className:e,...a}){return _(W.Description,{"data-slot":"dialog-description",className:V("text-sm text-muted-foreground",e),...a})}import{jsx as Au}from"react/jsx-runtime";function Ja({className:e,type:a,...t}){return Au("input",{type:a,"data-slot":"input",className:V("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30","focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...t})}import{jsx as Du}from"react/jsx-runtime";function Ya({className:e,...a}){return Du(aa.Root,{"data-slot":"label",className:V("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}import{jsx as Z,jsxs as Ie}from"react/jsx-runtime";function Mu(){return Z(Vo,{children:Ie("form",{children:[Z(_o,{asChild:!0,children:Z(Pe,{variant:"outline",children:"Open Dialog"})}),Ie(Ko,{className:"sm:max-w-[425px]",children:[Ie(jo,{children:[Z($o,{children:"Edit profile"}),Z(Jo,{children:"Make changes to your profile here. Click save when you're done."})]}),Ie("div",{className:"grid gap-4",children:[Ie("div",{className:"grid gap-3",children:[Z(Ya,{htmlFor:"name-1",children:"Name"}),Z(Ja,{id:"name-1",name:"name",defaultValue:"Pedro Duarte"})]}),Ie("div",{className:"grid gap-3",children:[Z(Ya,{htmlFor:"username-1",children:"Username"}),Z(Ja,{id:"username-1",name:"username",defaultValue:"@peduarte"})]})]}),Ie(Zo,{children:[Z(Xo,{asChild:!0,children:Z(Pe,{variant:"outline",children:"Cancel"})}),Z(Pe,{type:"submit",children:"Save changes"})]})]})]})})}export{Mu as default};
46
- /*! Bundled license information:
47
-
48
- lucide-react/dist/esm/shared/src/utils.js:
49
- (**
50
- * @license lucide-react v0.456.0 - ISC
51
- *
52
- * This source code is licensed under the ISC license.
53
- * See the LICENSE file in the root directory of this source tree.
54
- *)
55
-
56
- lucide-react/dist/esm/defaultAttributes.js:
57
- (**
58
- * @license lucide-react v0.456.0 - ISC
59
- *
60
- * This source code is licensed under the ISC license.
61
- * See the LICENSE file in the root directory of this source tree.
62
- *)
63
-
64
- lucide-react/dist/esm/Icon.js:
65
- (**
66
- * @license lucide-react v0.456.0 - ISC
67
- *
68
- * This source code is licensed under the ISC license.
69
- * See the LICENSE file in the root directory of this source tree.
70
- *)
71
-
72
- lucide-react/dist/esm/createLucideIcon.js:
73
- (**
74
- * @license lucide-react v0.456.0 - ISC
75
- *
76
- * This source code is licensed under the ISC license.
77
- * See the LICENSE file in the root directory of this source tree.
78
- *)
79
-
80
- lucide-react/dist/esm/icons/x.js:
81
- (**
82
- * @license lucide-react v0.456.0 - ISC
83
- *
84
- * This source code is licensed under the ISC license.
85
- * See the LICENSE file in the root directory of this source tree.
86
- *)
87
-
88
- lucide-react/dist/esm/lucide-react.js:
89
- (**
90
- * @license lucide-react v0.456.0 - ISC
91
- *
92
- * This source code is licensed under the ISC license.
93
- * See the LICENSE file in the root directory of this source tree.
94
- *)
95
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0c6803f5a2a5068be7ba8572b312e3979d9f4d194be8874e9ce5369b87bd4719
3
+ size 71645
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/01d871bb6ba230bc569f2317d0d9b66f261a2886212cea19dd4b9c6d2ea33e00 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-area-linear",
3
- "name": "chart-area-linear",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Area",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-area-linear.json",
8
- "did": "did:holo:sha256:e06cd4187d0276396be6c4f3973d7a879ef4d2c8c075cc21868439074b7a37c2",
9
- "import": "holo://sha256:7962c49906098cd10aee30b03130ea11226dff562ad0c865096e5e98b04482a5",
10
- "integrity": "sha256-eWLEmQYJjNEK7jCwMTDqESJt/1Yq0MhlCW5emLBEgqU=",
11
- "kappa": "sha256:e06cd4187d0276396be6c4f3973d7a879ef4d2c8c075cc21868439074b7a37c2",
12
- "moduleKappa": "sha256:7962c49906098cd10aee30b03130ea11226dff562ad0c865096e5e98b04482a5",
13
- "renderExport": "ChartAreaLinear",
14
- "source": "registry/new-york-v4/charts/chart-area-linear.tsx",
15
- "module": "vendor/components/chart-area-linear.js",
16
- "exports": [
17
- "description",
18
- "ChartAreaLinear"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b5350b4aace037da75eaf7a2b9e8ec5adfe864fa6838173c75526695004f0af4
3
+ size 914
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/01f614a14b04997f3d83e4c67b86c66cd9c8fd3e283e835a1f758b0dcb1b029f CHANGED
@@ -1,22 +1,3 @@
1
- <!doctype html><meta charset=utf8><title>qwen35 WHOLE MODEL GPU parity</title>
2
- <style>body{font:14px monospace;background:#111;color:#ddd;padding:20px}.ok{color:#5f5}.fail{color:#f55}</style>
3
- <h3>qwen35 whole model on WebGPU — vs HF/CPU fixture (argmax token-for-token)</h3>
4
- <pre id=out>running… (needs a WebGPU browser)</pre>
5
- <script type=module>
6
- import { qwen35ForwardGPU, argmax } from "./holo-qwen35-gpu.mjs";
7
- const out = document.getElementById("out");
8
- const log = (s, cls) => { out.innerHTML += `\n${cls ? `<span class=${cls}>${s}</span>` : s}`; };
9
- const cos = (a, b) => { let d = 0, na = 0, nb = 0; for (let i = 0; i < a.length; i++) { d += a[i] * b[i]; na += a[i] * a[i]; nb += b[i] * b[i]; } return d / (Math.sqrt(na) * Math.sqrt(nb) + 1e-30); };
10
- try {
11
- if (!navigator.gpu) throw new Error("no navigator.gpu");
12
- const ref = await (await fetch("../gguf-forge-qwen35-model-parity.fixture.json")).json();
13
- const dev = await (await navigator.gpu.requestAdapter()).requestDevice();
14
- const F = a => Float32Array.from(a);
15
- const model = { D: ref.D, token_embd: F(ref.token_embd), output_norm: F(ref.output_norm), lm_head: F(ref.lm_head), cos: ref.cos.map(F), sin: ref.sin.map(F), layers: ref.layers.map(l => ({ type: l.type, W: Object.fromEntries(Object.entries(l.W).map(([k, x]) => [k, F(x)])) })) };
16
- const logits = await qwen35ForwardGPU(dev, model, ref.ids);
17
- const yRef = ref.logits.map(F);
18
- let ok = true;
19
- for (let t = 0; t < logits.length; t++) { const c = cos(logits[t], yRef[t]), g = argmax(logits[t]), r = argmax(yRef[t]); const m = g === r; ok = ok && m && c > 0.999; log(` t=${t} cos=${c.toFixed(5)} tok=${g}${m ? "==" : "!="}${r}`, m ? "ok" : "fail"); }
20
- log(ok ? "\nWHOLE MODEL GPU PARITY ✓ (matches HF fixture token-for-token)" : "\nPARITY ✗", ok ? "ok" : "fail");
21
- } catch (e) { log("ERROR: " + e.message + "\n" + e.stack, "fail"); }
22
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a52a2d943fe73d49e191e3b9e91a6145927f079dfaf7b6f247ca60ccc099b48
3
+ size 1883
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0217f0be099e2a66784bbab908faae7dad5885b50bb3630484490f9d42976fcf CHANGED
Binary files a/b/0217f0be099e2a66784bbab908faae7dad5885b50bb3630484490f9d42976fcf and b/b/0217f0be099e2a66784bbab908faae7dad5885b50bb3630484490f9d42976fcf differ
 
b/027ff96871dd509b63c900ac842c73b0653e40d2b94ef81fbaaad24828ce4a8d CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.input-otp-controlled",
3
- "name": "input-otp-controlled",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/input-otp-controlled.json",
8
- "did": "did:holo:sha256:a318d5989c9d3240ab24438d3040af471d448622905794abbacacc3ef0caca60",
9
- "import": "holo://sha256:27d855004c7cef7dd519a60312af2d664f07cc374aa0657500e79978d8ff5033",
10
- "integrity": "sha256-J9hVAEx8733VGaYDEq8tZk8HzDdKoGV1AOeZeNj/UDM=",
11
- "kappa": "sha256:a318d5989c9d3240ab24438d3040af471d448622905794abbacacc3ef0caca60",
12
- "moduleKappa": "sha256:27d855004c7cef7dd519a60312af2d664f07cc374aa0657500e79978d8ff5033",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/input-otp-controlled.tsx",
15
- "module": "vendor/components/input-otp-controlled.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b13ed974cf12ea0a341cf5ac4da3e39b6adbf2133cb61f9bc5f4310fc1fdfe4c
3
+ size 894
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/02a423c729adb6d0091355b4fa1fa90353e30d86d401053b38f9a8db197fabdc CHANGED
@@ -1,7 +1,3 @@
1
- import aqua from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addBase, prefix = '' }) => {
5
- const prefixedaqua = addPrefix(aqua, prefix);
6
- addBase({ ...prefixedaqua });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7a70c8ee987050e754349a7a7dd9eb5030e3f0e741403579a7668fade62ab2d8
3
+ size 221
 
 
 
 
b/02b6d27c31aee0165976995733210ac10b4ff5aa6e7327d6b1335f5c07647dc4 CHANGED
The diff for this file is too large to render. See raw diff
 
b/02bbcf2632f9442a4ad8b52965c5ea2ed82870767409e46c200661d9c9538750 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-pie-stacked",
3
- "name": "chart-pie-stacked",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Pie",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-pie-stacked.json",
8
- "did": "did:holo:sha256:26d04271e4c0a752f4cd41f0c53cb6480db6d3ca540cf9dd35d1c9b1d446c59d",
9
- "import": "holo://sha256:22792713f9f19107a87a6bb46a71af2f212d360bf2d2f7a89f17f7bf429d3f09",
10
- "integrity": "sha256-InknE/nxkQeoemu0anGvLyEtNgvy0veonxf3v0KdPwk=",
11
- "kappa": "sha256:26d04271e4c0a752f4cd41f0c53cb6480db6d3ca540cf9dd35d1c9b1d446c59d",
12
- "moduleKappa": "sha256:22792713f9f19107a87a6bb46a71af2f212d360bf2d2f7a89f17f7bf429d3f09",
13
- "renderExport": "ChartPieStacked",
14
- "source": "registry/new-york-v4/charts/chart-pie-stacked.tsx",
15
- "module": "vendor/components/chart-pie-stacked.js",
16
- "exports": [
17
- "description",
18
- "ChartPieStacked"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:24e912e476fb1856059c228f4077f6621c63909f06e569b665df6b3e1f4abdb6
3
+ size 913
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/02fadf9567ca18e69153ec90fae6610a8395068dfd81076ddb6072083d860477 CHANGED
@@ -1,27 +1,3 @@
1
- import { TweetProps, useTweet } from "react-tweet"
2
-
3
- import {
4
- MagicTweet,
5
- TweetNotFound,
6
- TweetSkeleton,
7
- } from "@/components/ui/tweet-card"
8
-
9
- export const ClientTweetCard = ({
10
- id,
11
- apiUrl,
12
- fallback = <TweetSkeleton />,
13
- components,
14
- fetchOptions,
15
- onError,
16
- ...props
17
- }: TweetProps & { className?: string }) => {
18
- const { data, error, isLoading } = useTweet(id, apiUrl, fetchOptions)
19
-
20
- if (isLoading) return fallback
21
- if (error || !data) {
22
- const NotFound = components?.TweetNotFound ?? TweetNotFound
23
- return <NotFound error={onError ? onError(error) : error} />
24
- }
25
-
26
- return <MagicTweet tweet={data} {...props} />
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f921a3af951665445365b0dae95c61cdc86f472d15fa76b8355d5b2a1ee52f62
3
+ size 639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0301af8caa374b18e6a95973baeed50629ed70097185a0e1437ab1c3d66251c9 CHANGED
Binary files a/b/0301af8caa374b18e6a95973baeed50629ed70097185a0e1437ab1c3d66251c9 and b/b/0301af8caa374b18e6a95973baeed50629ed70097185a0e1437ab1c3d66251c9 differ
 
b/034b205bc3b448fc60431f627a3442110f44d66d9b16ea00906ae725162ad61a CHANGED
@@ -1 +1,3 @@
1
- export default {".timeline":{"@layer daisyui.l1.l2.l3":{"position":"relative","display":"flex","> li":{"position":"relative","display":"grid","flex-shrink":0,"align-items":"center","grid-template-rows":"var(--timeline-row-start, minmax(0, 1fr)) auto var( --timeline-row-end, minmax(0, 1fr) )","grid-template-columns":"var(--timeline-col-start, minmax(0, 1fr)) auto var( --timeline-col-end, minmax(0, 1fr) )","> hr":{"border":"none","width":"100%","&:first-child":{"grid-column-start":"1","grid-row-start":"2"},"&:last-child":{"grid-column-start":"3","grid-column-end":"none","grid-row-start":"2","grid-row-end":"auto"},"@media print":{"border":"0.1px solid var(--color-base-300)"}}},":where(hr)":{"height":"calc(0.25rem * 1)","background-color":"var(--color-base-300)"},"&:has(.timeline-middle hr)":{"&:first-child":{"border-start-start-radius":"0","border-end-start-radius":"0","border-start-end-radius":"var(--radius-selector)","border-end-end-radius":"var(--radius-selector)"},"&:last-child":{"border-start-start-radius":"var(--radius-selector)","border-end-start-radius":"var(--radius-selector)","border-start-end-radius":"0","border-end-end-radius":"0"}},"&:not(:has(.timeline-middle))":{":first-child hr:last-child":{"border-start-start-radius":"var(--radius-selector)","border-end-start-radius":"var(--radius-selector)","border-start-end-radius":"0","border-end-end-radius":"0"},":last-child hr:first-child":{"border-start-start-radius":"0","border-end-start-radius":"0","border-start-end-radius":"var(--radius-selector)","border-end-end-radius":"var(--radius-selector)"}}}},".timeline-box":{"@layer daisyui.l1.l2.l3":{"border":"var(--border) solid","border-radius":"var(--radius-box)","border-color":"var(--color-base-300)","background-color":"var(--color-base-100)","padding-inline":"calc(0.25rem * 4)","padding-block":"calc(0.25rem * 2)","font-size":"0.75rem","box-shadow":"0 1px 2px 0 oklch(0% 0 0/0.05)"}},".timeline-start":{"@layer daisyui.l1.l2.l3":{"grid-column-start":"1","grid-column-end":"4","grid-row-start":"1","grid-row-end":"2","margin":"calc(0.25rem * 1)","align-self":"flex-end","justify-self":"center"}},".timeline-middle":{"@layer daisyui.l1.l2.l3":{"grid-column-start":"2","grid-row-start":"2"}},".timeline-end":{"@layer daisyui.l1.l2.l3":{"grid-column-start":"1","grid-column-end":"4","grid-row-start":"3","grid-row-end":"4","margin":"calc(0.25rem * 1)","align-self":"flex-start","justify-self":"center"}},".timeline-compact":{"@layer daisyui.l1.l2":{"--timeline-row-start":"0",".timeline-start":{"grid-column-start":"1","grid-column-end":"4","grid-row-start":"3","grid-row-end":"4","align-self":"flex-start","justify-self":"center"},"li:has(.timeline-start)":{".timeline-end":{"grid-column-start":"none","grid-row-start":"auto"}},"&.timeline-vertical":{"> li":{"--timeline-col-start":"0"},".timeline-start":{"grid-column-start":"3","grid-column-end":"4","grid-row-start":"1","grid-row-end":"4","align-self":"center","justify-self":"flex-start"},"li:has(.timeline-start)":{".timeline-end":{"grid-column-start":"auto","grid-row-start":"none"}}}}},".timeline-snap-icon":{"@layer daisyui.l1.l2":{"> li":{"--timeline-col-start":"0.5rem","--timeline-row-start":"minmax(0, 1fr)"}}},".timeline-vertical":{"@layer daisyui.l1.l2":{"flex-direction":"column","> li":{"justify-items":"center","--timeline-row-start":"minmax(0, 1fr)","--timeline-row-end":"minmax(0, 1fr)","> hr":{"height":"100%","width":"calc(0.25rem * 1)","&:first-child":{"grid-column-start":"2","grid-row-start":"1"},"&:last-child":{"grid-column-start":"2","grid-column-end":"auto","grid-row-start":"3","grid-row-end":"none"}}},".timeline-start":{"grid-column-start":"1","grid-column-end":"2","grid-row-start":"1","grid-row-end":"4","align-self":"center","justify-self":"flex-end"},".timeline-end":{"grid-column-start":"3","grid-column-end":"4","grid-row-start":"1","grid-row-end":"4","align-self":"center","justify-self":"flex-start"},"&:has(.timeline-middle)":{"> li":{"> hr":{"&:first-child":{"border-top-left-radius":"0","border-top-right-radius":"0","border-bottom-right-radius":"var(--radius-selector)","border-bottom-left-radius":"var(--radius-selector)"},"&:last-child":{"border-top-left-radius":"var(--radius-selector)","border-top-right-radius":"var(--radius-selector)","border-bottom-right-radius":"0","border-bottom-left-radius":"0"}}}},"&:not(:has(.timeline-middle))":{":first-child":{"> hr:last-child":{"border-top-left-radius":"var(--radius-selector)","border-top-right-radius":"var(--radius-selector)","border-bottom-right-radius":"0","border-bottom-left-radius":"0"}},":last-child":{"> hr:first-child":{"border-top-left-radius":"0","border-top-right-radius":"0","border-bottom-right-radius":"var(--radius-selector)","border-bottom-left-radius":"var(--radius-selector)"}}},"&.timeline-snap-icon":{"> li":{"--timeline-col-start":"minmax(0, 1fr)","--timeline-row-start":"0.5rem"}}}},".timeline-horizontal":{"@layer daisyui.l1.l2":{"flex-direction":"row","> li":{"align-items":"center","> hr":{"height":"calc(0.25rem * 1)","width":"100%","&:first-child":{"grid-column-start":"1","grid-row-start":"2"},"&:last-child":{"grid-column-start":"3","grid-column-end":"none","grid-row-start":"2","grid-row-end":"auto"}}},".timeline-start":{"grid-column-start":"1","grid-column-end":"4","grid-row-start":"1","grid-row-end":"2","align-self":"flex-end","justify-self":"center"},".timeline-end":{"grid-column-start":"1","grid-column-end":"4","grid-row-start":"3","grid-row-end":"4","align-self":"flex-start","justify-self":"center"},"&:has(.timeline-middle)":{"> li":{"> hr":{"&:first-child":{"border-start-start-radius":"0","border-end-start-radius":"0","border-start-end-radius":"var(--radius-selector)","border-end-end-radius":"var(--radius-selector)"},"&:last-child":{"border-start-start-radius":"var(--radius-selector)","border-end-start-radius":"var(--radius-selector)","border-start-end-radius":"0","border-end-end-radius":"0"}}}},"&:not(:has(.timeline-middle))":{":first-child":{"> hr:last-child":{"border-start-start-radius":"var(--radius-selector)","border-end-start-radius":"var(--radius-selector)","border-start-end-radius":"0","border-end-end-radius":"0"}},":last-child":{"> hr:first-child":{"border-start-start-radius":"0","border-end-start-radius":"0","border-start-end-radius":"var(--radius-selector)","border-end-end-radius":"var(--radius-selector)"}}}}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b96a2b8c71023b1573d3bf446380d271caeae808b7cad66bbb7f358c77d5c24a
3
+ size 6358
b/034c7c8a5746f6bc4ec2ed9f660d9a118e43cb18271696d4fa17f6a056936b32 CHANGED
@@ -1,27 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.daisyui.list",
3
- "name": "daisyui-list",
4
- "tier": "component",
5
- "library": "daisyui",
6
- "category": "Data Display",
7
- "upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/components/list.css",
8
- "docs": "https://daisyui.com/components/list/",
9
- "did": "did:holo:sha256:1f738c5b4a983d231662d60624b813540951fe5f64df5da1bda55e029d99b762",
10
- "import": "holo://sha256:1f738c5b4a983d231662d60624b813540951fe5f64df5da1bda55e029d99b762",
11
- "integrity": "sha256-H3OMW0qYPSMWYtYGJLgTVAlR/l9k312hvaVeAp2Zt2I=",
12
- "kappa": "sha256:1f738c5b4a983d231662d60624b813540951fe5f64df5da1bda55e029d99b762",
13
- "moduleKappa": "sha256:1f738c5b4a983d231662d60624b813540951fe5f64df5da1bda55e029d99b762",
14
- "renderExport": null,
15
- "format": "css",
16
- "source": "components/list.css",
17
- "module": "vendor/daisyui/components/list.css",
18
- "exports": [],
19
- "bytes": 7365,
20
- "provenance": {
21
- "package": "daisyui",
22
- "version": "5.5.23",
23
- "integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
24
- "file": "components/list.css"
25
- },
26
- "license": "MIT"
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9e077a0b6d646bf511c567fa0e64ca7cc64d55e21cde852e4cbf6b6ac292658c
3
+ size 1118
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/035ff7cfa206ba468aaabd4736964edd7242b140623de00e26ed034bad437309 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-bar-mixed",
3
- "name": "chart-bar-mixed",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Bar",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-bar-mixed.json",
8
- "did": "did:holo:sha256:b7e6ee25820af6a54cd995117db4747bda7970be48ce823f82f7c5ed5767d014",
9
- "import": "holo://sha256:71b39fefedbeb489b7c661eda7e273defff844ffb6aa305496bbae3133800a3c",
10
- "integrity": "sha256-cbOf7+2+tIm3xmHtp+Jz3v/4RP+2qjBUlruuMTOACjw=",
11
- "kappa": "sha256:b7e6ee25820af6a54cd995117db4747bda7970be48ce823f82f7c5ed5767d014",
12
- "moduleKappa": "sha256:71b39fefedbeb489b7c661eda7e273defff844ffb6aa305496bbae3133800a3c",
13
- "renderExport": "ChartBarMixed",
14
- "source": "registry/new-york-v4/charts/chart-bar-mixed.tsx",
15
- "module": "vendor/components/chart-bar-mixed.js",
16
- "exports": [
17
- "description",
18
- "ChartBarMixed"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2f60a61303187f7375921eb89a3fc4fc07d2b038368c9773bcd0ccbc68e409e0
3
+ size 899
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0370c03a34305a3d873d23f04c878fa4f677b728532a1c0bafd288bdaf9520e9 CHANGED
@@ -1,175 +1,3 @@
1
- import {
2
- useCallback,
3
- useEffect,
4
- useId,
5
- useRef,
6
- useState,
7
- type ComponentPropsWithoutRef,
8
- } from "react"
9
- import { motion } from "motion/react"
10
-
11
- import { cn } from "@/lib/utils"
12
-
13
- export interface AnimatedGridPatternProps extends ComponentPropsWithoutRef<"svg"> {
14
- width?: number
15
- height?: number
16
- x?: number
17
- y?: number
18
- strokeDasharray?: number
19
- numSquares?: number
20
- maxOpacity?: number
21
- duration?: number
22
- repeatDelay?: number
23
- }
24
-
25
- type Square = {
26
- id: number
27
- pos: [number, number]
28
- iteration: number
29
- }
30
-
31
- export function AnimatedGridPattern({
32
- width = 40,
33
- height = 40,
34
- x = -1,
35
- y = -1,
36
- strokeDasharray = 0,
37
- numSquares = 50,
38
- className,
39
- maxOpacity = 0.5,
40
- duration = 4,
41
- repeatDelay = 0.5,
42
- ...props
43
- }: AnimatedGridPatternProps) {
44
- const id = useId()
45
- const containerRef = useRef<SVGSVGElement | null>(null)
46
- const [dimensions, setDimensions] = useState({ width: 0, height: 0 })
47
- const [squares, setSquares] = useState<Array<Square>>([])
48
-
49
- const getPos = useCallback((): [number, number] => {
50
- return [
51
- Math.floor((Math.random() * dimensions.width) / width),
52
- Math.floor((Math.random() * dimensions.height) / height),
53
- ]
54
- }, [dimensions.height, dimensions.width, height, width])
55
-
56
- const generateSquares = useCallback(
57
- (count: number) => {
58
- return Array.from({ length: count }, (_, i) => ({
59
- id: i,
60
- pos: getPos(),
61
- iteration: 0,
62
- }))
63
- },
64
- [getPos]
65
- )
66
-
67
- const updateSquarePosition = useCallback(
68
- (squareId: number) => {
69
- setSquares((currentSquares) => {
70
- const current = currentSquares[squareId]
71
- if (!current || current.id !== squareId) return currentSquares
72
-
73
- const nextSquares = currentSquares.slice()
74
- nextSquares[squareId] = {
75
- ...current,
76
- pos: getPos(),
77
- iteration: current.iteration + 1,
78
- }
79
-
80
- return nextSquares
81
- })
82
- },
83
- [getPos]
84
- )
85
-
86
- useEffect(() => {
87
- if (dimensions.width && dimensions.height) {
88
- setSquares(generateSquares(numSquares))
89
- }
90
- }, [dimensions.width, dimensions.height, generateSquares, numSquares])
91
-
92
- useEffect(() => {
93
- const element = containerRef.current
94
- let resizeObserver: ResizeObserver | null = null
95
-
96
- if (element) {
97
- resizeObserver = new ResizeObserver((entries) => {
98
- for (const entry of entries) {
99
- setDimensions((currentDimensions) => {
100
- const nextWidth = entry.contentRect.width
101
- const nextHeight = entry.contentRect.height
102
- if (
103
- currentDimensions.width === nextWidth &&
104
- currentDimensions.height === nextHeight
105
- ) {
106
- return currentDimensions
107
- }
108
- return { width: nextWidth, height: nextHeight }
109
- })
110
- }
111
- })
112
-
113
- resizeObserver.observe(element)
114
- }
115
-
116
- return () => {
117
- if (resizeObserver) {
118
- resizeObserver.disconnect()
119
- }
120
- }
121
- }, [])
122
-
123
- return (
124
- <svg
125
- ref={containerRef}
126
- aria-hidden="true"
127
- className={cn(
128
- "pointer-events-none absolute inset-0 h-full w-full fill-gray-400/30 stroke-gray-400/30",
129
- className
130
- )}
131
- {...props}
132
- >
133
- <defs>
134
- <pattern
135
- id={id}
136
- width={width}
137
- height={height}
138
- patternUnits="userSpaceOnUse"
139
- x={x}
140
- y={y}
141
- >
142
- <path
143
- d={`M.5 ${height}V.5H${width}`}
144
- fill="none"
145
- strokeDasharray={strokeDasharray}
146
- />
147
- </pattern>
148
- </defs>
149
- <rect width="100%" height="100%" fill={`url(#${id})`} />
150
- <svg x={x} y={y} className="overflow-visible">
151
- {squares.map(({ pos: [squareX, squareY], id, iteration }, index) => (
152
- <motion.rect
153
- initial={{ opacity: 0 }}
154
- animate={{ opacity: maxOpacity }}
155
- transition={{
156
- duration,
157
- repeat: 1,
158
- delay: index * 0.1,
159
- repeatType: "reverse",
160
- repeatDelay,
161
- }}
162
- onAnimationComplete={() => updateSquarePosition(id)}
163
- key={`${id}-${iteration}`}
164
- width={width - 1}
165
- height={height - 1}
166
- x={squareX * width + 1}
167
- y={squareY * height + 1}
168
- fill="currentColor"
169
- strokeWidth="0"
170
- />
171
- ))}
172
- </svg>
173
- </svg>
174
- )
175
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6644d9ae3b65c510a9be3222b35b2d13321bd7761df4d263579e5b0afd17159e
3
+ size 4396
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/037416e2413c3a31a1d1d437571752ca16a450abdd714a03f591f9560aa44fdf CHANGED
@@ -1,130 +1,3 @@
1
- // core/code-tools.js — NATIVE agentic-coding tools for Holo Q's Code mode. Self-contained over the
2
- // browser's OPFS (navigator.storage.getDirectory) — no external VFS, works in any browser, 100%
3
- // serverless. Each tool returns Holo Q's agent-tool shape { def, serverName:"code", call }, so the
4
- // Coder-7B brain drives real file work through the existing agentic loop + conscience gate + receipts.
5
- // The workspace is an OPFS "workspace" dir = the agent's writable home; every result is content-addressable.
6
- //
7
- // C2 semantic skin (extended to all κ-objects): build_app emits a schema:SoftwareApplication node and
8
- // verify_object returns the file's schema.org @type — so every object the agent makes is W3C-legible.
9
-
10
- import { appAsSoftware, fileAsDocument } from "./semantic.js";
11
-
12
- const te = new TextEncoder(), td = new TextDecoder();
13
- const sha256Hex = async (bytes) => [...new Uint8Array(await crypto.subtle.digest("SHA-256", bytes))].map((b) => b.toString(16).padStart(2, "0")).join("");
14
- const norm = (p) => ("/" + String(p || "").replace(/^\/+/, "").replace(/\/+/g, "/")).replace(/\/$/, "") || "/";
15
-
16
- async function root() { const d = await navigator.storage.getDirectory(); return d.getDirectoryHandle("workspace", { create: true }); }
17
- async function dirOf(parts, create = false) {
18
- let h = await root();
19
- for (const p of parts) if (p) h = await h.getDirectoryHandle(p, { create });
20
- return h;
21
- }
22
- function split(path) { const parts = norm(path).split("/").filter(Boolean); const name = parts.pop(); return { parts, name }; }
23
-
24
- async function readFile(path) {
25
- const { parts, name } = split(path);
26
- const dir = await dirOf(parts);
27
- const fh = await dir.getFileHandle(name);
28
- const f = await fh.getFile();
29
- return new Uint8Array(await f.arrayBuffer());
30
- }
31
- async function writeFile(path, content) {
32
- const { parts, name } = split(path);
33
- const dir = await dirOf(parts, true);
34
- const fh = await dir.getFileHandle(name, { create: true });
35
- const w = await fh.createWritable(); await w.write(te.encode(String(content ?? ""))); await w.close();
36
- }
37
- async function walk(dirHandle, prefix, out) {
38
- for await (const [n, h] of dirHandle.entries()) {
39
- const p = prefix + "/" + n;
40
- if (h.kind === "file") out.push(p);
41
- else await walk(h, p, out);
42
- }
43
- }
44
- async function listAll() { const out = []; await walk(await root(), "", out); return out.sort(); }
45
-
46
- function globToRe(glob) {
47
- let re = "^";
48
- for (let i = 0; i < glob.length; i++) { const c = glob[i];
49
- if (c === "*") { if (glob[i + 1] === "*") { re += ".*"; i++; if (glob[i + 1] === "/") i++; } else re += "[^/]*"; }
50
- else if (c === "?") re += "[^/]"; else if ("\\^$.|+()[]{}".includes(c)) re += "\\" + c; else re += c; }
51
- return new RegExp(re + "$");
52
- }
53
-
54
- export function codeTools() {
55
- return [
56
- {
57
- def: { name: "read_file", description: "Read a text file from the workspace. Returns its content.", inputSchema: { type: "object", properties: { path: { type: "string" } }, required: ["path"] } },
58
- serverName: "code", call: async ({ path }) => {
59
- try { const bytes = await readFile(path); return { text: td.decode(bytes), isError: false }; }
60
- catch (e) { return { text: "read error: " + (e.message || e), isError: true }; }
61
- },
62
- },
63
- {
64
- def: { name: "write_file", description: "Create or overwrite a file in the workspace with the given content.", inputSchema: { type: "object", properties: { path: { type: "string" }, content: { type: "string" } }, required: ["path", "content"] } },
65
- serverName: "code", call: async ({ path, content }) => {
66
- try { await writeFile(path, content); const k = await sha256Hex(te.encode(String(content ?? ""))); return { text: `wrote ${norm(path)} (${String(content ?? "").length} bytes) · did:holo:sha256:${k.slice(0, 16)}`, isError: false }; }
67
- catch (e) { return { text: "write error: " + (e.message || e), isError: true }; }
68
- },
69
- },
70
- {
71
- def: { name: "edit_file", description: "Replace the first exact occurrence of old_text with new_text in a file.", inputSchema: { type: "object", properties: { path: { type: "string" }, old_text: { type: "string" }, new_text: { type: "string" } }, required: ["path", "old_text", "new_text"] } },
72
- serverName: "code", call: async ({ path, old_text, new_text }) => {
73
- try { const cur = td.decode(await readFile(path)); if (!cur.includes(old_text)) return { text: "edit error: old_text not found", isError: true };
74
- const next = cur.replace(old_text, new_text); await writeFile(path, next); return { text: `edited ${norm(path)} (${cur.length}→${next.length} bytes)`, isError: false }; }
75
- catch (e) { return { text: "edit error: " + (e.message || e), isError: true }; }
76
- },
77
- },
78
- {
79
- def: { name: "list_files", description: "List all files in the workspace, optionally filtered by a glob (e.g. **/*.py).", inputSchema: { type: "object", properties: { glob: { type: "string" } }, required: [] } },
80
- serverName: "code", call: async ({ glob }) => {
81
- try { let files = await listAll(); if (glob) { const re = globToRe(glob); files = files.filter((f) => re.test(f)); }
82
- return { text: files.length ? files.join("\n") : "(workspace empty)", isError: false }; }
83
- catch (e) { return { text: "list error: " + (e.message || e), isError: true }; }
84
- },
85
- },
86
- {
87
- def: { name: "grep", description: "Search file contents for a regular expression. Returns matching path:line: text.", inputSchema: { type: "object", properties: { pattern: { type: "string" }, glob: { type: "string" } }, required: ["pattern"] } },
88
- serverName: "code", call: async ({ pattern, glob }) => {
89
- try { const re = new RegExp(pattern); let files = await listAll(); if (glob) { const g = globToRe(glob); files = files.filter((f) => g.test(f)); }
90
- const hits = [];
91
- for (const f of files) { let text; try { text = td.decode(await readFile(f)); } catch { continue; }
92
- text.split("\n").forEach((ln, i) => { if (re.test(ln) && hits.length < 100) hits.push(`${f}:${i + 1}: ${ln.trim().slice(0, 160)}`); }); }
93
- return { text: hits.length ? hits.join("\n") : "(no matches)", isError: false }; }
94
- catch (e) { return { text: "grep error: " + (e.message || e), isError: true }; }
95
- },
96
- },
97
- // ── κ-NATIVE: build a RENDERABLE app object, sealed (the neural-computer flagship: an agent
98
- // produces a real app, content-addressed, that renders + re-derives — serverless, verifiable) ──
99
- {
100
- def: { name: "build_app", description: "Build a complete self-contained HTML app (one file, inline CSS/JS) and seal it as a content-addressed object. Returns its did:holo κ; the app renders live in the preview pane. Use for 'build me an app/page/tool' requests.", inputSchema: { type: "object", properties: { name: { type: "string" }, html: { type: "string" } }, required: ["name", "html"] } },
101
- serverName: "code", call: async ({ name, html }) => {
102
- try {
103
- const path = (name.endsWith(".html") ? name : name + ".html");
104
- await writeFile(path, html);
105
- const bytes = te.encode(String(html));
106
- const kappa = "did:holo:sha256:" + await sha256Hex(bytes);
107
- // semantic skin: the app object carries a W3C @type (schema:SoftwareApplication + prov:Entity),
108
- // written as a sidecar .jsonld so the object is self-describing to any agent / RDF tool.
109
- const ld = appAsSoftware({ name: path, kappa, bytes: bytes.length });
110
- await writeFile(path.replace(/\.html$/i, "") + ".app.jsonld", JSON.stringify(ld, null, 1));
111
- return { text: `built app "${path}" (${html.length} bytes), sealed ${kappa.slice(0, 30)}… · typed ${ld["@type"].join("+")} — renders in the preview, re-derivable (Law L5).`, isError: false, render: { kind: "app", path: norm(path), kappa, html: String(html), ld } };
112
- } catch (e) { return { text: "build_app error: " + (e.message || e), isError: true }; }
113
- },
114
- },
115
- {
116
- def: { name: "verify_object", description: "Re-derive a workspace file's content address and confirm it matches (Law L5 — verify every byte). Returns whether the bytes are authentic.", inputSchema: { type: "object", properties: { path: { type: "string" }, kappa: { type: "string" } }, required: ["path"] } },
117
- serverName: "code", call: async ({ path, kappa }) => {
118
- try {
119
- const bytes = await readFile(path);
120
- const got = "did:holo:sha256:" + await sha256Hex(bytes);
121
- const ok = !kappa || got === kappa || got.startsWith(kappa) || kappa.startsWith(got.slice(0, kappa.length));
122
- // verify = re-derive κ (Law L5) AND emit the W3C @type — apps are SoftwareApplication, all else DigitalDocument.
123
- const ld = /\.html$/i.test(path) ? appAsSoftware({ name: norm(path), kappa: got, bytes: bytes.length })
124
- : fileAsDocument({ path: norm(path), kappa: got, bytes: bytes.length });
125
- return { text: `${norm(path)} re-derives to ${got.slice(0, 34)}…${kappa ? (ok ? " ✓ matches (authentic)" : " ✗ MISMATCH") : ""} · @type ${ld["@type"].join("+")}`, isError: false, render: { kind: "linked-data", ld } };
126
- } catch (e) { return { text: "verify error: " + (e.message || e), isError: true }; }
127
- },
128
- },
129
- ];
130
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e4ab4ee0ca4d7dfbfae6497d8bece1408847414b7db81a1b8f0fbcd31734885
3
+ size 9355
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/03949e721395537c6af6c7195712445aafbb4d000afffdfd028eb6bace54fdef CHANGED
The diff for this file is too large to render. See raw diff
 
b/039e5d1656c0e8c453be3d328a2e0807bd6517ab56ac00860f5da000a3f08443 CHANGED
The diff for this file is too large to render. See raw diff
 
b/03f5dc0d0f926e5d712e3958d2af29d00c06b2f19b31f42956205c33a6bba059 CHANGED
@@ -1 +1,3 @@
1
- {"model": "qwen3.5-9b-thinking", "new": 48, "tapes": [{"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 7967, 1118, 3065, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 12786, 466, 279, 5548, 310, 3404, 9412, 15782, 13, 4213, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 449, 2469, 332, 310, 7967, 54521, 264, 6236, 854, 198, 17, 13, 2972, 3886, 264, 3683], "text": "schedule a meeting with Sam first thing tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 383, 821, 12786, 3242, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4204, 12786, 466, 866, 36602, 1928, 13, 1946, 1436, 1092, 579, 13145, 364, 3242, 11, 488, 3172, 1144, 310, 25, 271, 16, 13, 4109, 678, 12786, 878, 318, 14030, 16349, 11, 39702, 11, 7905, 16349, 11, 4831], "text": "what's on my calendar today"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 17, 15, 8491, 310, 39229, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 46629, 7911, 64700, 220, 16, 14167, 283, 220, 16, 13, 21, 15, 24, 18, 19, 39229, 271, 332, 45593, 2820, 64700, 198, 13682, 17, 15, 1088, 1272, 90, 8491, 92, 1088, 14695, 220, 16, 13, 21, 15, 24, 18, 19], "text": "convert 20 miles to kilometers"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 43494, 264, 46193, 17177, 310, 411, 2469, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 4439, 728, 310, 9665, 264, 46193, 2469, 17177, 11, 694, 488, 8719, 914, 5064, 279, 3889, 2469, 488, 2224, 28378, 310, 13, 4558, 1206, 1438, 488, 13057, 11, 353, 1144, 310, 1366, 25, 271, 16, 13, 2972, 3710, 369, 279], "text": "draft a polite decline to this email"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 685, 279, 9039, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 4439, 728, 310, 328, 404, 685, 279, 9039, 1288, 694, 411, 369, 264, 4437, 7359, 4598, 1056, 264, 3050, 3377, 310, 11290, 13, 271, 12525, 488, 35932, 1092, 488, 2224, 3221, 364, 30, 1690, 3010, 25, 271, 12, 2972, 32], "text": "turn up the temperature"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6472, 7967, 264, 1876, 5315, 6051, 14756, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 3502, 264, 1876, 310, 7967, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 3502, 6397, 310, 8976, 32658, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 421, 628, 1132, 18459, 1472, 411, 3622, 13, 271, 10883], "text": "send Sam a message saying happy birthday"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2236, 264, 1898, 17377, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3627, 854, 1881, 20319, 13, 9358, 411, 10125, 10029, 11, 353, 2677, 914, 381, 2858, 310, 15002, 488, 13, 271, 332, 1206, 3404, 21374, 411, 11, 488, 1220, 64700, 271, 16, 13, 2972, 1591], "text": "remind me to book a table tonight"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 21, 25, 18, 15, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 6:30am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 91893, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 44, 5130, 13148, 332, 3254, 8755, 2172, 6326, 310, 7472, 26, 1546, 16097, 321, 22825, 13, 271, 332, 1536, 13173, 64700, 198, 12, 2972, 969, 14025, 2022, 92217, 31245, 5562, 2414, 15060, 321, 6379, 198, 12, 2972, 53639, 92217, 11142, 286, 3160, 6326], "text": "define meticulous"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 43530, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 6262, 16641, 332, 369, 264, 6572, 13861, 1528, 321, 264, 15200, 33219, 30825, 539, 264, 5365, 5357, 314, 9414, 29424, 321, 33739, 364, 279, 1603, 2433, 303, 799, 579, 2199, 11, 3315, 781, 513, 3816, 494, 3672, 11, 494, 6775, 11, 466, 1472], "text": "define gratitude"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 6730, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 14952, 279, 1622, 11, 694, 353, 2688, 524, 2858, 310, 1432, 4477, 5774, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 10883, 11, 353, 628, 1438, 488, 303, 975, 5337, 25, 271, 16, 13, 2972, 65362, 6730, 4477, 332, 471, 23870], "text": "play some rock music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 17961, 821, 35915, 6236, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 12786, 466, 6236, 36602, 1785, 13, 1946, 8848, 678, 79996, 6236, 11, 488, 3172, 1144, 310, 25, 271, 16, 13, 2972, 2132, 303, 310, 678, 79996, 2605, 332, 318, 2817, 466, 878, 8, 198, 17, 13, 2972], "text": "cancel my noon meeting"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 3569, 63201, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3502, 21292, 13, 353, 2688, 264, 1414, 5792, 14791, 421, 628, 1132, 1817, 321, 5707, 310, 279, 1928, 488, 3300, 303, 1004, 10125, 13, 271, 332, 3710, 353, 628, 635, 64700, 198, 12, 11150], "text": "remind me to buy groceries tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13642, 1603, 3603, 1083, 79915, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 23640, 64700, 271, 332, 14773, 3603, 332, 303, 79915, 369, 25, 271, 332, 114588, 332, 318, 86, 131, 236, 77, 167967, 77, 8, 271, 4277, 271, 332, 47, 2176, 44767, 64700, 198, 12, 41463, 11668, 3533, 25, 68607, 16, 449, 16, 198, 12], "text": "translate good night into Mandarin"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 279, 47594, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 4439, 728, 310, 328, 6450, 279, 47594, 1288, 694, 353, 2688, 449, 14791, 1414, 5792, 17313, 321, 1459, 914, 599, 279, 5548, 310, 1236, 4392, 6526, 13, 271, 332, 3710, 353, 628, 1438, 440, 4370, 64700, 271, 16, 13, 2972], "text": "call the dentist"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 220, 20, 3161, 314, 220, 23, 15, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 1206, 1423, 220, 20, 4, 314, 220, 23, 15, 25, 271, 332, 3407, 220, 16, 25, 6943, 310, 11778, 332, 198, 13682, 20, 59, 4, 283, 220, 15, 13, 15, 20, 13682, 198, 13682, 15, 13, 15, 20, 1088, 14695, 220], "text": "what's 5 percent of 80"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 21, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 6am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1200, 5437, 537, 411, 2128, 364, 728, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 59987, 264, 2128, 0, 4213, 11, 353, 1459, 914, 1436, 866, 2128, 12037, 310, 678, 1876, 13, 4558, 5328, 3300, 279, 2128, 488, 4035, 1040, 728, 310, 59987, 11, 321, 353, 3172, 381, 15252, 310, 25, 198], "text": "summarize this document for me"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 17, 15, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 1044, 449, 14791, 1414, 1558, 1973, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 16, 13, 220, 2972, 1860, 678], "text": "set a 20 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 3772, 264, 10793, 364, 39502, 19052, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 21165, 29264, 28554, 24500, 271, 13962, 49453, 198, 12, 2972, 18, 24569, 332, 28154, 4022, 19052, 318, 1247, 6086, 11, 62139, 8, 198, 12, 2972, 18, 61718, 332, 34308, 5415, 198, 12, 2972, 19, 332, 3349, 18237, 11, 29306, 198, 12, 2972, 16], "text": "find a recipe for fried rice"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 3242, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 3242, 579, 8831, 17071, 11, 353, 6718, 25, 271, 16, 13, 2972, 3840, 264, 8831, 3779, 332, 1040, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13], "text": "what's the weather like today"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 13761, 220, 20, 15, 8491, 310, 39229, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 12121, 271, 332, 46629, 7911, 64700, 220, 16, 14167, 283, 220, 16, 13, 21, 15, 24, 18, 19, 39229, 271, 332, 45593, 2820, 64700, 198, 13682, 20, 15, 1088, 1272, 90, 8491, 92, 1088, 14695, 220, 16, 13, 21, 15, 24, 18, 19], "text": "convert 50 miles to kilometers"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 10939, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2908, 3766, 264, 3108, 3376, 1272, 10939, 421, 353, 2688, 4162, 3200, 871, 4598, 1056, 264, 3377, 310, 11290, 13, 271, 332, 2592, 488, 2224, 3221, 364, 1438, 440, 2414, 745, 93868, 4338, 1042, 728, 1366, 1092, 488, 4035, 1040, 728], "text": "text Chris that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 4464, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 14952, 279, 1622, 11, 694, 353, 2688, 524, 2858, 310, 1432, 4477, 5774, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 10883, 11, 353, 628, 1438, 488, 303, 975, 5337, 25, 271, 16, 13, 2972, 65362, 4464, 4477, 332, 471, 23870], "text": "play some party music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 2388, 264, 220, 17, 15, 9104, 31676, 3669, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 2, 220, 17, 15, 5084, 258, 1035, 73855, 8891, 271, 550, 19427, 3038, 271, 332, 12358, 64700, 198, 12, 7145, 264, 11012, 3433, 1332, 488, 2677, 914, 381, 53547, 198, 12, 27480, 383, 264, 43158, 11, 10183, 11, 466, 6220, 440, 264, 7435, 33528], "text": "start a 20 minute meditation session"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 1372, 400, 558, 477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 50, 13044, 10592, 13044, 10923, 9141, 20819, 9023, 20819, 9009, 28184, 332], "text": "spell serendipity"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 13474, 821, 24651, 411, 12967, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 23226, 488, 883, 2414, 11, 694, 353, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3502, 21292, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972, 1591, 264, 10189, 5020, 92217, 1394], "text": "remind me to renew my passport this afternoon"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 851, 728, 279, 12641, 29102, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1301, 488, 12641, 29102, 0, 4213, 11, 353, 1459, 914, 599, 1865, 7019, 7361, 2528, 310, 7560, 279, 5362, 3543, 13, 271, 332, 3710, 353, 628, 635, 64700, 271, 16, 13, 2972, 2592, 488, 3300, 3050, 29102, 332, 471], "text": "read me the tech headlines"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 15530, 321, 65416, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 18751, 3470, 64700, 198, 12, 47398, 198, 12, 39341, 595, 271, 4277, 271, 332, 8839, 64700, 353, 1459, 914, 599, 2528, 310, 678, 6149, 11580, 1103, 13, 1368, 488, 4035, 1040, 728, 310, 1438, 488, 25, 271, 16], "text": "add bread and spinach to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 974, 279, 20670, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 2444, 678, 3545, 579, 20670, 5774, 13, 4213, 11, 1532, 513, 279, 7123, 310, 2404, 974, 279, 20670, 383, 1379, 7370, 25, 271, 332, 12782, 64700, 198, 12, 8185, 1510, 16472, 478, 387, 63, 321, 3186, 328], "text": "turn off the speakers"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1763, 474, 728, 310, 2216, 279, 7765, 1118, 3065, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 716, 63383, 466, 3502, 21292, 310, 488, 13, 353, 2688, 264, 1414, 5792, 14791, 421, 628, 1132, 1817, 321, 5707, 310, 279, 1928, 488, 3300, 303, 1004, 10125, 13, 271, 332, 3710, 353, 628, 635, 64700, 198], "text": "remind me to pay the rent first thing tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 353, 17592, 264, 17592, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 369, 279, 2923, 13909, 28253, 8214, 310, 59951, 279, 1379, 4047, 17592, 49091, 25, 279, 2972, 26108, 3309, 12, 2239, 159034, 271, 13962, 70839, 198, 16, 13, 220, 2972, 3684, 279, 56738, 64700, 22041, 279, 17592, 2272, 678, 14697, 13, 561, 6669, 809], "text": "how do I tie a tie"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 43494, 264, 1732, 685, 310, 411, 2469, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1438, 488, 9665, 264, 1732, 5072, 2469, 0, 4213, 11, 353, 1459, 914, 1436, 279, 3889, 2469, 303, 678, 1876, 13, 4558, 5328, 3300, 25, 198, 16, 13, 2972, 760, 3889, 2469, 332, 488, 1318, 310, 1732, 685, 383], "text": "draft a follow up to this email"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 851, 728, 279, 3543, 29102, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 1301, 488, 3543, 29102, 0, 4213, 11, 353, 1459, 914, 599, 2528, 310, 1865, 7019, 3543, 33254, 13, 4558, 1206, 1438, 488, 11, 4338, 25, 271, 16, 13, 2972, 11771, 3050, 29102, 332, 488, 4035, 1040, 728, 310, 10033], "text": "read me the news headlines"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 353, 2854, 424, 303, 5753, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 36783, 25, 328, 40, 2854, 424, 1, 303, 5753, 271, 332, 1, 39032, 88197, 1477, 175267, 271, 13962, 15164, 2829, 25, 198, 91, 5753, 735, 6163, 735, 198, 91, 502, 91, 22031, 91, 198, 91, 25037, 735, 353, 735, 198, 91, 88197, 735], "text": "how do you say I love it in German"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 2388, 264, 220, 19, 20, 9104, 3788, 3669, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 18593, 8891, 17229, 34626, 2765, 237, 109, 29545, 271, 332, 7354, 3984, 25, 220, 19, 20, 4276, 332, 271, 13962, 326, 51487, 15164, 2829, 25, 271, 91, 35873, 735, 20400, 735, 24985, 735, 198, 91, 22031, 91, 14894, 91, 20308, 91, 198, 91], "text": "start a 45 minute study session"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 1010, 33056, 4477, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 14952, 488, 18176, 680, 11, 694, 353, 1318, 310, 381, 2708, 883, 821, 16432, 25, 271, 332, 40, 4021, 1432, 7455, 159029, 353, 2688, 264, 1414, 5792, 14791, 17313, 11, 748, 353, 628, 914, 4129, 4477, 11, 33056, 10054, 11, 466, 866, 7455], "text": "play some ambient music"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 32910, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 18675, 310, 2394, 488, 8719, 914, 5024, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 32910, 11, 353, 1144, 25, 198, 12, 4465, 3177, 5350, 754, 466, 3046, 198, 12, 2441, 678, 13534, 318], "text": "how far is Dubai from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 404, 974, 279, 9488, 12346, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 2444, 6745, 7370, 466, 32585, 303, 678, 2046, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 321, 1459, 914, 599, 2528, 310, 678, 7539, 2046, 1785, 11, 7539, 30147, 11, 466, 866, 975, 11436, 13, 271, 1206], "text": "turn off the kitchen lights"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1200, 5437, 537, 411, 4400, 364, 728, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 59987, 449, 4400, 364, 488, 0, 4213, 11, 353, 1459, 914, 1436, 279, 4400, 1414, 303, 678, 1876, 13, 4558, 5328, 24147, 279, 4400, 488, 4035, 1040, 728, 310, 59987, 11, 321, 353, 3172, 3300, 264, 2708, 11, 61446], "text": "summarize this article for me"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 11751, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 11751, 11, 353, 6718, 25, 271, 16, 13, 2972, 28034, 12664, 92217, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17, 13, 2972, 5708], "text": "what's the weather in Paris"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1244, 56696, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 1026, 319, 1128, 332, 16067, 279, 8390, 310, 48772, 11, 10202, 310, 11, 321, 11394, 494, 86739, 11, 8204, 11, 466, 28911, 13, 271, 8160, 369, 264, 29006, 314, 279, 4496, 3808, 2086, 36353, 25, 271, 9, 256, 2972, 14965, 19107, 64700, 561], "text": "define resilient"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 821, 6714, 25935, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4204, 4477, 6522, 466, 16350, 3401, 13, 1946, 1432, 678, 6714, 25935, 11, 488, 3172, 1144, 310, 25, 271, 16, 13, 5097, 678, 4477, 878, 318, 6205, 36021, 11, 7905, 10401, 11, 12983, 10401, 11, 4831, 5946], "text": "play my favorite playlist"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 303, 6924, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 279, 1428, 8831, 303, 6924, 11, 353, 6718, 25, 271, 16, 13, 2972, 14030, 21926, 332, 471, 7304, 328, 38261, 8831, 1, 364, 264, 3841, 22527, 198, 17, 13, 2972, 33525], "text": "what's the weather in London"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 698, 19052, 321, 15530, 310, 821, 11580, 1103, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 28019, 1697, 5376, 271, 332, 7525, 15600, 1697, 64700, 198, 12, 28554, 198, 12, 47398, 271, 4277, 271, 332, 60239, 64700, 198, 12, 189551, 28554, 3568, 198, 12, 189551, 47398, 3568, 198, 12, 189551, 1697, 5435, 220, 17, 3470, 271, 3742, 1017, 3977], "text": "add rice and bread to my shopping list"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 17961, 821, 220, 18, 5022, 6236, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 12786, 466, 6236, 36602, 1785, 13, 1946, 8848, 678, 220, 18, 5022, 6236, 11, 488, 3172, 1144, 310, 25, 271, 16, 13, 2972, 3840, 678, 12786, 332, 318, 14030, 16349, 11, 39702, 11, 7905, 16349, 11, 4831], "text": "cancel my 3pm meeting"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 635, 488, 1910, 1603, 6353, 303, 15659, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 15666, 64700, 271, 332, 1, 2014, 240052, 626, 71, 507, 15560, 175267, 318, 148924, 154982, 88005, 8, 271, 1919, 369, 279, 5129, 11, 46193, 40719, 1429, 6600, 279, 1834, 303, 15659, 13, 1049, 15433, 3254, 328, 14556, 1, 321, 4138, 364, 6353, 11], "text": "how do you say good morning in Korean"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1272, 821, 12553, 421, 353, 2688, 4162, 3200, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 8160, 513, 264, 2342, 2519, 11313, 383, 279, 6331, 25, 271, 332, 47585, 899, 64700, 198, 1, 18103, 11, 4162, 264, 2612, 3200, 11, 668, 381, 1017, 303, 498, 55, 60, 4276, 1149, 271, 332, 12115, 594, 6916, 64700, 198, 1, 18417, 3200, 11], "text": "text my sister that I'm running late"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 1248, 1503, 424, 1831, 310, 21844, 15530, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 2, 2500, 5546, 12193, 1049, 11440, 310, 50324, 47398, 30, 271, 550, 16743, 21134, 198, 332, 7354, 854, 25, 220, 17, 4006, 16, 17, 10, 3979, 332, 318, 77704, 383, 913, 8, 198, 12, 2972, 5550, 26912, 854, 64700, 220, 17, 15, 4006, 19], "text": "how long does it take to bake bread"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1315, 279, 1727, 5319, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4477, 2693, 466, 16350, 2393, 11, 748, 353, 628, 914, 5774, 2444, 30907, 13, 271, 332, 1206, 1432, 279, 1727, 5319, 11, 1380, 64700, 198, 12, 8185, 286, 279, 2972, 3480, 3627, 332, 3037, 383, 678, 3545], "text": "play the next song"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 91893, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 4252, 41019, 314, 279, 3299, 369, 2972, 17453, 13148, 159034, 271, 8160, 369, 279, 29006, 25, 198, 16, 13, 220, 2972, 44, 332, 198, 17, 13, 220, 2972, 68, 332, 198, 18, 13, 220, 2972, 83, 332, 198, 19, 13, 220, 2972, 72], "text": "spell meticulous"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 19241, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 369, 1521, 488, 8719, 914, 3766, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 19241, 11, 353, 1144, 25, 198, 12, 4465, 3177, 5350, 754, 466, 198, 12, 4465, 13534, 318, 22976, 14, 24641], "text": "how far is Berlin from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 4993, 2944, 369, 14211, 494, 1532, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 1366, 1332, 328, 6527, 1, 369, 1521, 488, 8719, 914, 3766, 678, 1428, 3602, 13, 271, 1206, 10724, 279, 5821, 310, 14211, 11, 353, 1144, 25, 198, 12, 4465, 3177, 5350, 754, 466, 198, 12, 4465, 2534, 466, 198, 12, 4465], "text": "how far is Toronto from here"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 6511, 314, 6124, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 760, 6511, 314, 6124, 369, 2972, 51076, 15560, 159034, 271, 51076, 15560, 682, 978, 279, 6511, 2394, 279, 2088, 33716, 64568, 303, 220, 16, 23, 21, 23, 11, 948, 33178, 2088, 33716, 7481, 279, 33145, 5300, 494, 78229, 310, 458, 2887, 318, 7949, 557], "text": "what's the capital of Japan"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 17230, 1118, 3065, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 678, 4204, 12786, 466, 2902, 9412, 11, 748, 353, 628, 914, 3404, 2236, 264, 6236, 364, 488, 13, 271, 10883, 11, 353, 628, 1438, 488, 25, 271, 16, 13, 2972, 48401, 264, 1876, 332, 310, 3502, 310, 678], "text": "schedule a meeting with dad first thing tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 854, 369, 424, 303, 11751, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 1928, 11, 2583, 279, 1428, 854, 303, 11751, 13, 2921, 6337, 369, 6973, 310, 1092, 557, 3766, 303, 1004, 10125, 3712, 11, 864, 3070, 914, 6435, 866, 854, 795, 13, 271, 1206, 1423, 279, 1428, 854], "text": "what time is it in Paris"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 36408, 37356, 269, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 332, 34, 6481, 10923, 9141, 22882, 10592, 332], "text": "spell candor"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 27695, 264, 6236, 440, 279, 47594, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 5125, 488, 2224, 9859, 728, 310, 1438, 9412, 264, 6236, 440, 264, 47594, 11, 694, 353, 1459, 914, 599, 2528, 310, 678, 4204, 12786, 466, 17109, 21185, 1785, 13, 271, 332, 3710, 353, 628, 1438, 440, 64700, 271, 16, 13, 2972, 48401, 449], "text": "schedule a meeting with the dentist tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 1200, 5437, 537, 411, 2469, 364, 728, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4035, 381, 6051, 310, 59987, 449, 2469, 364, 488, 0, 4213, 11, 353, 1459, 914, 1436, 279, 2469, 2144, 303, 678, 1876, 13, 4558, 5328, 24147, 279, 2469, 1414, 488, 4035, 1040, 728, 310, 59987, 11, 321, 353, 3172, 3300, 264, 2708, 11], "text": "summarize this email for me"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 12195, 579, 279, 8831, 1040, 16089, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 2528, 310, 1865, 7019, 8831, 795, 13, 1946, 615, 449, 12995, 17071, 364, 16089, 11, 353, 6718, 25, 271, 16, 13, 2972, 3840, 264, 8831, 3779, 332, 1040, 21926, 877, 11, 11101, 84, 28034, 11, 466, 21926, 52081, 198, 17], "text": "what's the weather like tomorrow"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 3772, 264, 10793, 364, 13477, 536, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 550, 21165, 426, 643, 4428, 10158, 627, 24500, 271, 13962, 49453, 271, 91, 53052, 735, 24962, 735, 198, 91, 4996, 91, 502, 91, 198, 91, 29368, 735, 220, 25229, 10212, 318, 16, 8941, 8, 735, 198, 91, 25676, 7511, 12781, 735, 220, 16, 10212], "text": "find a recipe for brownies"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 449, 16136, 364, 220, 23, 308, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 449, 16136, 364, 488, 1521, 353, 1459, 914, 599, 2528, 310, 678, 3545, 579, 8598, 466, 12786, 13, 271, 332, 1206, 716, 279, 16136, 11, 4338, 64700, 198, 16, 13, 5097, 678, 4392, 579, 2972, 25270, 332, 878, 198, 17, 13], "text": "set an alarm for 8am"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 723, 264, 220, 18, 15, 9104, 8749, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 4021, 716, 264, 8749, 364, 488, 5774, 11, 430, 353, 1044, 449, 14791, 1414, 1558, 1973, 2528, 310, 678, 3545, 579, 8598, 466, 16136, 5568, 13, 271, 10883, 11, 488, 628, 6497, 635, 411, 5941, 25, 271, 16, 13, 220, 2972, 1860, 678], "text": "set a 30 minute timer"}, {"prompt": [248045, 8678, 198, 2523, 513, 1167, 11, 264, 61446, 11, 10631, 7047, 17313, 13, 248046, 198, 248045, 846, 198, 6450, 3259, 248046, 198, 248045, 74455, 198], "greedy": [248068, 271, 248069, 271, 40, 1459, 914, 599, 279, 5548, 310, 1236, 4392, 6526, 13, 353, 2688, 264, 1414, 5792, 14791, 17313, 13, 271, 2592, 488, 2224, 3221, 364, 1438, 440, 2414, 745, 471, 1040, 4237, 264, 1876, 310, 678, 3259, 11, 8842, 264, 10125, 11, 466, 3977], "text": "call mom"}]}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1fbce4b8e6f391f91cd8b6f444b31c4a8e538ac7324e0fd2c86e8b85c9e9f387
3
+ size 32252
b/043c0d04dd880c707120df43cc645f31e7d679ba2bcf12c717dffdfe881db9d2 CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.card-with-form",
3
- "name": "card-with-form",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/card-with-form.json",
8
- "did": "did:holo:sha256:19c4025a9854a14985bed0ec93e3ab0bb6d500499828302be6574d9da2170f4a",
9
- "import": "holo://sha256:f4c9ca857f3ce5cde18c71c6977c0f30e3f854e443af1f4591e0d7867739e7ac",
10
- "integrity": "sha256-9MnKhX885c3hjHHGl3wPMOP4VORDrx9FkeDXhnc556w=",
11
- "kappa": "sha256:19c4025a9854a14985bed0ec93e3ab0bb6d500499828302be6574d9da2170f4a",
12
- "moduleKappa": "sha256:f4c9ca857f3ce5cde18c71c6977c0f30e3f854e443af1f4591e0d7867739e7ac",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/card-with-form.tsx",
15
- "module": "vendor/components/card-with-form.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5eb2d38f13cccdb9130aea9d9a86cc8dafefa0d17ba9b5f04cdef22de791b4f1
3
+ size 864
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/045cad2a1aae28761839e6657051c50b958b16d554cec18b91f6934e4e931dc6 CHANGED
@@ -1,40 +1,3 @@
1
- // holo-dialog.js — canonical SHELL object: a modal dialog (overlay · titled card · body · footer actions).
2
- // Self-contained, token-themed. Body is an htmlString slot for static content (interactive content should
3
- // be passed as wired actions, or kept native); footer actions are structured + component-wired.
4
- // props: { open?, title?, bodyHtml?, message?, actions?:[{label, variant?, onClick}], onClose?, style? }
5
- import * as React from "react";
6
- const h = React.createElement;
7
-
8
- let styled = false;
9
- function css() {
10
- if (styled || typeof document === "undefined") return; styled = true;
11
- const s = document.createElement("style"); s.id = "holo-shell-dialog-css";
12
- s.textContent = '[data-holo-shell="dialog-overlay"]{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:5vh 5vw;background:#06080cdd;backdrop-filter:blur(7px)}'
13
- + '[data-holo-shell="dialog"] .hd-btn{transition:background .12s,filter .12s}'
14
- + '[data-holo-shell="dialog"] .hd-btn.ghost:hover{background:var(--holo-hover,#1b2433)}'
15
- + '[data-holo-shell="dialog"] .hd-btn.primary:hover{filter:brightness(1.08)}';
16
- document.head.appendChild(s);
17
- }
18
- function Action(a, i) {
19
- const primary = (a.variant || "default") === "default" || a.variant === "primary";
20
- return h("button", { key: i, type: "button", className: "hd-btn " + (primary ? "primary" : "ghost"), onClick: a.onClick, style: {
21
- display: "inline-flex", alignItems: "center", gap: "6px", padding: "9px 14px", borderRadius: "var(--holo-radius, 9px)", font: "inherit", cursor: "pointer",
22
- border: "1px solid " + (primary ? "var(--holo-accent, #3aa0ff)" : "var(--holo-border, #2c3850)"),
23
- background: primary ? "var(--holo-accent, #3aa0ff)" : "var(--holo-surface-2, #161d2c)",
24
- color: primary ? "var(--holo-accent-ink, #fff)" : "var(--holo-ink, #e6ecf5)", fontWeight: primary ? 600 : 400 } }, a.label);
25
- }
26
- export function Dialog(props) {
27
- css(); const p = props || {};
28
- if (p.open === false) return null;
29
- return h("div", { "data-holo-shell": "dialog-overlay", onClick: (e) => { if (e.target === e.currentTarget && p.onClose) p.onClose(); } },
30
- h("div", { "data-holo-shell": "dialog", style: {
31
- width: "min(560px, 92vw)", maxHeight: "88vh", display: "flex", flexDirection: "column", overflow: "hidden", boxSizing: "border-box",
32
- background: "var(--holo-surface, #121826)", border: "1px solid var(--holo-border, #2c3850)", borderRadius: "var(--holo-radius-lg, 16px)",
33
- color: "var(--holo-ink, #e6ecf5)", boxShadow: "0 30px 90px #000b", ...(p.style || {}) } },
34
- p.title ? h("div", { style: { padding: "16px 18px", borderBottom: "1px solid var(--holo-border, #222c3d)", fontWeight: 650, fontSize: "var(--holo-text-md, 1.05rem)" } }, p.title) : null,
35
- h("div", { style: { padding: "16px 18px", overflow: "auto", lineHeight: 1.55, color: "var(--holo-muted, #9aa7bd)" }, dangerouslySetInnerHTML: p.bodyHtml ? { __html: p.bodyHtml } : undefined }, p.bodyHtml ? undefined : (p.message || null)),
36
- (p.actions && p.actions.length) ? h("div", { style: { display: "flex", justifyContent: "flex-end", gap: "8px", padding: "12px 16px", borderTop: "1px solid var(--holo-border, #222c3d)" } }, ...p.actions.map(Action)) : null,
37
- ),
38
- );
39
- }
40
- export default Dialog;
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6097b08a892929df807b2eafaf928e945149c8b79959e9c6eefb8976da62f6ac
3
+ size 3258
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/045f53bb410d8663676868aae786ad3a13042cca4c29dbd94af87771d76c76a4 CHANGED
@@ -1,26 +1,3 @@
1
- // Forge the BitNet TQ2_0 GGUF into a sealed .holo (per-tensor κ-bodies) so it rides the unified
2
- // κ-stream loader, and print the tensor-type summary that drives the runtime kernel/forward wiring.
3
- import { readFileSync, writeFileSync } from "node:fs";
4
- import { writeHolo } from "../holo-archive.mjs";
5
- import { parseGgufHeader } from "../../qvac-ingest.mjs";
6
- import { GGML_TYPE_NAME } from "../gguf-forge.mjs";
7
-
8
- const SRC = "./.models/bitnet-xl-tq2_0.gguf";
9
- const OUT = "./.models/bitnet-xl-tq2_0.holo";
10
- const bytes = new Uint8Array(readFileSync(SRC));
11
- console.log(`read ${(bytes.length / 1e6 | 0)}MB gguf`);
12
-
13
- const { tensors, meta } = parseGgufHeader(bytes);
14
- const arch = meta["general.architecture"];
15
- const typeCount = {}; for (const t of tensors) { const nm = GGML_TYPE_NAME[t.ggmlType] || t.ggmlType; typeCount[nm] = (typeCount[nm] || 0) + 1; }
16
- const has = (suffix) => tensors.some((t) => t.name.endsWith(suffix));
17
- const sample = (name) => { const t = tensors.find((x) => x.name === name); return t ? `${GGML_TYPE_NAME[t.ggmlType] || t.ggmlType} ${JSON.stringify(t.dims)}` : "(absent)"; };
18
- console.log("arch:", arch, "| nTensors:", tensors.length);
19
- console.log("type histogram:", typeCount);
20
- console.log("has attn_q.bias:", has("attn_q.bias"), "| has attn_sub_norm:", has("attn_sub_norm.weight"), "| has ffn_sub_norm:", has("ffn_sub_norm.weight"), "| has output.weight:", has("output.weight"));
21
- for (const n of ["token_embd.weight", "blk.0.attn_q.weight", "blk.0.attn_output.weight", "blk.0.ffn_down.weight", "output_norm.weight", "blk.0.attn_sub_norm.weight"]) console.log(" ", n, "=>", sample(n)); // gitleaks:allow — GGUF tensor names, not a secret (entropy false-positive)
22
-
23
- const { holo, rootHolo, nBodies, nTensors, bytes: outLen } = writeHolo(bytes);
24
- writeFileSync(OUT, holo);
25
- console.log(`\nwrote ${OUT} (${(outLen / 1e6 | 0)}MB, ${nTensors} tensors, ${nBodies} unique bodies)`);
26
- console.log("rootHolo:", rootHolo);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:386771c9698232ba9e6af6aa8d3a6a67f89c39dfd3e139b8f31e4a56d5857b30
3
+ size 1932
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/048dc405399b7359a58d7fdad85d3d5f9d55287309214aab1b590ec1e2a10938 CHANGED
The diff for this file is too large to render. See raw diff
 
b/04aea8f2ca700f633c65249a2423ba1ff163d6b151481f63b9914421743e2159 CHANGED
@@ -1,28 +1,3 @@
1
- // CPU reference for adapter-inference parity: run qwen via the exec WITH the test adapter on attn_q,
2
- // and base (no adapter). The browser run-native ?adapter=1 must reproduce the ADAPTED next-token, and
3
- // it must DIFFER from base (the adapter has a real effect). Same genTestAdapter → same delta both sides.
4
- import { readFileSync } from "node:fs";
5
- import { openGgufHolo, kstreamLoad } from "../gguf-forge-kstream.mjs";
6
- import { synthesizeGraph } from "../gguf-forge-graph.mjs";
7
- import { forward } from "../gguf-forge-exec.mjs";
8
- import { makeTokenizer } from "../gguf-forge-tokenizer.mjs";
9
- import { genTestAdapter } from "../gpu/holo-lora.mjs";
10
-
11
- const { plan, store, headerBytes } = openGgufHolo(new Uint8Array(readFileSync("./.models/qwen2.5-0.5b-instruct.holo")));
12
- const graph = synthesizeGraph(plan), S = graph.stats, tok = makeTokenizer(headerBytes);
13
- const D = S.n_embd, QD = S.n_head * S.head_dim, r = 8, scale = 1.0;
14
- const ids = tok.encode("The capital of France is", { addSpecial: false });
15
- const am = (lg) => { let m = 0; for (let j = 1; j < lg.length; j++) if (lg[j] > lg[m]) m = j; return m; };
16
-
17
- // build the adapter + the exec map keyed by each layer's attn_q κ
18
- const ad = genTestAdapter({ seed: 1, inn: D, out: QD, r, nLayer: S.n_layer, scale, amp: 0.3 });
19
- const adapter = {};
20
- for (let L = 0; L < S.n_layer; L++) { const w = graph.weights[`blk.${L}.attn_q.weight`]; adapter[w.kappa] = { A: ad.layers[L].A, B: ad.layers[L].B, scale, inn: D, out: QD, r }; }
21
-
22
- const base = am(forward(plan, graph, store, ids, { load: kstreamLoad }));
23
- const adapted = am(forward(plan, graph, store, ids, { load: kstreamLoad, adapter }));
24
- console.log(`D=${D} QD=${QD} r=${r} layers=${S.n_layer}`);
25
- console.log(`BASE next-token = ${base} ${JSON.stringify(tok.decode([base]))}`);
26
- console.log(`ADAPT next-token = ${adapted} ${JSON.stringify(tok.decode([adapted]))}`);
27
- console.log(adapted !== base ? "✓ adapter CHANGES the output (real effect)" : "(adapter did not change argmax — bump amp)");
28
- console.log(`\nWITNESS_BASE=${base}\nWITNESS_ADAPT=${adapted}`);
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba17eef01398389ae399a5b01fe4e22df1fcd145d0ee0887710ee346a5f458bf
3
+ size 2057
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/04b3679916dc81b2c17982a9844297bb4cf1768394bd85d65f3dd023997356bd CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.dropdown-menu-dialog",
3
- "name": "dropdown-menu-dialog",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/dropdown-menu-dialog.json",
8
- "did": "did:holo:sha256:9d5d9f08c5f09da14b5d2967ec8a726516fae163a6ddc34e58f8316f8aa2a059",
9
- "import": "holo://sha256:8e88a9b42e8bb77df74d4ac9fcd916d3133e56aac86cd81d49f16c43506aa6b5",
10
- "integrity": "sha256-joiptC6Lt333TUrJ/NkW0xM+VqrIbNgdSfFsQ1BqprU=",
11
- "kappa": "sha256:9d5d9f08c5f09da14b5d2967ec8a726516fae163a6ddc34e58f8316f8aa2a059",
12
- "moduleKappa": "sha256:8e88a9b42e8bb77df74d4ac9fcd916d3133e56aac86cd81d49f16c43506aa6b5",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/dropdown-menu-dialog.tsx",
15
- "module": "vendor/components/dropdown-menu-dialog.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:84f245714127c2635975c1ba55819531543296abed6b0d2fe056c112e3675e96
3
+ size 894
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/04bd8e277222be166b84adb9c537f9ca9f8362006987bb998691c162e42eddc5 CHANGED
@@ -1,387 +1,3 @@
1
- // GGUF Forge — κ-native deterministic QUANTIZER (the inverse of gguf-forge-dequant.mjs).
2
- //
3
- // Turns raw f32/f16 weights into the SAME verbatim-byte quant blocks the forge runs,
4
- // so the whole pipeline is in-substrate: raw weights → quantize → κ-objects → run.
5
- // Deterministic by construction (identical f32 in ⇒ identical bytes out ⇒ identical κ).
6
- //
7
- // Transcribed line-for-line from ggml-quants.c (llama.cpp b7248):
8
- // quantize_row_q4_0_ref:71 q5_0_ref:145 q8_0_ref:234
9
- // Every float op is f32 (Math.fround) to match ggml's `float` arithmetic; the f16
10
- // scale uses the same RNE conversion as the runtime (f32ToF16). Witnessed BIT-FOR-BIT
11
- // vs ggml_quantize_chunk in gguf-forge-quantize.test.mjs (no tolerance — deterministic).
12
-
13
- import { f32ToF16, nearestInt } from "./gguf-forge-matmul.mjs";
14
- import { f16ToF32 } from "../qvac-ingest.mjs";
15
- import { sha256hex, sriOf, kappa, didHolo, jcs } from "../../../../holo-os/system/os/usr/lib/holo/holo-uor.mjs";
16
- import { GGML_TYPE_NAME } from "./gguf-forge.mjs";
17
-
18
- const fr = Math.fround;
19
- const QK_K = 256;
20
- const fabsf = (v) => fr(Math.abs(v));
21
- // C roundf: round half AWAY from zero (≠ JS Math.round, which rounds half toward +∞).
22
- const roundf = (v) => (v >= 0 ? Math.floor(v + 0.5) : Math.ceil(v - 0.5));
23
- // C (int8_t)(float): truncate toward zero, then wrap to signed 8-bit.
24
- const toI8 = (v) => { const t = Math.trunc(v) & 0xff; return t >= 128 ? t - 256 : t; };
25
-
26
- // quantize_row_q8_0_ref (:234). Block 34 B: d:f16 + qs:int8[32]. d = amax/127.
27
- export function quantizeRowQ8_0(x, k) {
28
- const nb = k / 32, out = new Uint8Array(nb * 34), dv = new DataView(out.buffer);
29
- for (let i = 0; i < nb; i++) {
30
- let amax = 0.0;
31
- for (let j = 0; j < 32; j++) { const a = fabsf(x[i * 32 + j]); if (a > amax) amax = a; }
32
- const d = fr(amax / 127), id = d ? fr(1.0 / d) : 0.0;
33
- dv.setUint16(i * 34, f32ToF16(d), true);
34
- for (let j = 0; j < 32; j++) out[i * 34 + 2 + j] = roundf(fr(x[i * 32 + j] * id)) & 0xff;
35
- }
36
- return out;
37
- }
38
-
39
- // quantize_row_q4_0_ref (:71). Block 18 B: d:f16 + qs:nibbles[16]. d = max/−8, signed
40
- // max at the abs-max position; nibble = MIN(15, (int8_t)(x·id + 8.5)).
41
- export function quantizeRowQ4_0(x, k) {
42
- const nb = k / 32, out = new Uint8Array(nb * 18), dv = new DataView(out.buffer);
43
- for (let i = 0; i < nb; i++) {
44
- let amax = 0.0, max = 0.0;
45
- for (let j = 0; j < 32; j++) { const v = x[i * 32 + j], a = fabsf(v); if (amax < a) { amax = a; max = v; } }
46
- const d = fr(max / -8), id = d ? fr(1.0 / d) : 0.0;
47
- dv.setUint16(i * 18, f32ToF16(d), true);
48
- for (let j = 0; j < 16; j++) {
49
- const xi0 = Math.min(15, toI8(fr(fr(x[i * 32 + j] * id) + 8.5)));
50
- const xi1 = Math.min(15, toI8(fr(fr(x[i * 32 + 16 + j] * id) + 8.5)));
51
- out[i * 18 + 2 + j] = ((xi0 & 0xff) | ((xi1 & 0xff) << 4)) & 0xff;
52
- }
53
- }
54
- return out;
55
- }
56
-
57
- // quantize_row_q5_0_ref (:145). Block 22 B: d:f16 + qh:u32 + qs:nibbles[16]. d = max/−16,
58
- // 5-bit value: low nibble in qs, the 5th bit packed into qh.
59
- export function quantizeRowQ5_0(x, k) {
60
- const nb = k / 32, out = new Uint8Array(nb * 22), dv = new DataView(out.buffer);
61
- for (let i = 0; i < nb; i++) {
62
- let amax = 0.0, max = 0.0;
63
- for (let j = 0; j < 32; j++) { const v = x[i * 32 + j], a = fabsf(v); if (amax < a) { amax = a; max = v; } }
64
- const d = fr(max / -16), id = d ? fr(1.0 / d) : 0.0;
65
- dv.setUint16(i * 22, f32ToF16(d), true);
66
- let qh = 0;
67
- for (let j = 0; j < 16; j++) {
68
- const xi0 = Math.min(31, toI8(fr(fr(x[i * 32 + j] * id) + 16.5))) & 0xff;
69
- const xi1 = Math.min(31, toI8(fr(fr(x[i * 32 + 16 + j] * id) + 16.5))) & 0xff;
70
- out[i * 22 + 6 + j] = (xi0 & 0x0f) | ((xi1 & 0x0f) << 4);
71
- qh = (qh | (((xi0 & 0x10) >> 4) << j) | (((xi1 & 0x10) >> 4) << (j + 16))) >>> 0;
72
- }
73
- dv.setUint32(i * 22 + 2, qh, true);
74
- }
75
- return out;
76
- }
77
-
78
- // make_qkx2_quants (:737): the K-quant scale/min optimizer. Picks (scale,min) per
79
- // 32-element sub-block minimizing weighted error over a small grid search. f32-faithful.
80
- // Writes L[Loff..], returns { scale, theMin }. (rmin=-1, rdelta=0.1, nstep=20, useMad=false for q4_K.)
81
- function makeQkx2(n, nmax, x, xoff, weights, L, Loff, rmin, rdelta, nstep, useMad) {
82
- let min = x[xoff], max = x[xoff];
83
- let sum_w = weights[0], sum_x = fr(sum_w * x[xoff]);
84
- for (let i = 1; i < n; i++) { const xi = x[xoff + i]; if (xi < min) min = xi; if (xi > max) max = xi; const w = weights[i]; sum_w = fr(sum_w + w); sum_x = fr(sum_x + fr(w * xi)); }
85
- if (min > 0) min = 0;
86
- if (max === min) { for (let i = 0; i < n; i++) L[Loff + i] = 0; return { scale: 0, theMin: fr(-min) }; }
87
- let iscale = fr(nmax / fr(max - min)), scale = fr(1 / iscale), best_error = 0.0;
88
- for (let i = 0; i < n; i++) {
89
- let l = nearestInt(fr(iscale * fr(x[xoff + i] - min))); l = Math.max(0, Math.min(nmax, l)); L[Loff + i] = l;
90
- let diff = fr(fr(fr(scale * l) + min) - x[xoff + i]); diff = useMad ? fr(Math.abs(diff)) : fr(diff * diff);
91
- best_error = fr(best_error + fr(weights[i] * diff));
92
- }
93
- if (nstep < 1) return { scale, theMin: fr(-min) };
94
- for (let is = 0; is <= nstep; is++) {
95
- iscale = fr(fr(fr(rmin + fr(rdelta * is)) + nmax) / fr(max - min));
96
- let sum_l = 0.0, sum_l2 = 0.0, sum_xl = 0.0, Laux = makeQkx2._aux;
97
- for (let i = 0; i < n; i++) {
98
- let l = nearestInt(fr(iscale * fr(x[xoff + i] - min))); l = Math.max(0, Math.min(nmax, l)); Laux[i] = l;
99
- const w = weights[i]; sum_l = fr(sum_l + fr(w * l)); sum_l2 = fr(sum_l2 + fr(fr(w * l) * l)); sum_xl = fr(sum_xl + fr(fr(w * l) * x[xoff + i]));
100
- }
101
- const D = fr(fr(sum_w * sum_l2) - fr(sum_l * sum_l));
102
- if (D > 0) {
103
- let this_scale = fr(fr(fr(sum_w * sum_xl) - fr(sum_x * sum_l)) / D);
104
- let this_min = fr(fr(fr(sum_l2 * sum_x) - fr(sum_l * sum_xl)) / D);
105
- if (this_min > 0) { this_min = 0; this_scale = fr(sum_xl / sum_l2); }
106
- let cur_error = 0.0;
107
- for (let i = 0; i < n; i++) { let diff = fr(fr(fr(this_scale * Laux[i]) + this_min) - x[xoff + i]); diff = useMad ? fr(Math.abs(diff)) : fr(diff * diff); cur_error = fr(cur_error + fr(weights[i] * diff)); }
108
- if (cur_error < best_error) { for (let i = 0; i < n; i++) L[Loff + i] = Laux[i]; best_error = cur_error; scale = this_scale; min = this_min; }
109
- }
110
- }
111
- return { scale, theMin: fr(-min) };
112
- }
113
- makeQkx2._aux = new Uint8Array(32);
114
-
115
- // get_scale_min_k4 (:818) — read back the packed 6-bit scale/min for the L-quant step.
116
- function scaleMinK4(j, sc) {
117
- if (j < 4) return [sc[j] & 63, sc[j + 4] & 63];
118
- return [(sc[j + 4] & 0xf) | ((sc[j - 4] >> 6) << 4), (sc[j + 4] >> 4) | ((sc[j] >> 6) << 4)];
119
- }
120
-
121
- // make_qkx3_quants (:931): like make_qkx2 but weight falls back to x² when no imatrix,
122
- // uses max<=min, and tracks best_mad. (q4_K imatrix path: rmin=-0.9, rdelta=0.05, nstep=36.)
123
- function makeQkx3(n, nmax, x, xoff, weights, L, Loff, rmin, rdelta, nstep, useMad) {
124
- const wOf = (i) => weights ? weights[i] : fr(x[xoff + i] * x[xoff + i]);
125
- let min = x[xoff], max = x[xoff], sum_w = wOf(0), sum_x = fr(sum_w * x[xoff]);
126
- for (let i = 1; i < n; i++) { const xi = x[xoff + i]; if (xi < min) min = xi; if (xi > max) max = xi; const w = wOf(i); sum_w = fr(sum_w + w); sum_x = fr(sum_x + fr(w * xi)); }
127
- if (min > 0) min = 0;
128
- if (max <= min) { for (let i = 0; i < n; i++) L[Loff + i] = 0; return { scale: 0, theMin: fr(-min) }; }
129
- let iscale = fr(nmax / fr(max - min)), scale = fr(1 / iscale), best_mad = 0.0;
130
- for (let i = 0; i < n; i++) {
131
- const l = Math.max(0, Math.min(nmax, nearestInt(fr(iscale * fr(x[xoff + i] - min))))); L[Loff + i] = l;
132
- let diff = fr(fr(fr(scale * l) + min) - x[xoff + i]); diff = useMad ? fr(Math.abs(diff)) : fr(diff * diff);
133
- best_mad = fr(best_mad + fr(wOf(i) * diff));
134
- }
135
- if (nstep < 1) return { scale, theMin: fr(-min) };
136
- const Laux = makeQkx3._aux;
137
- for (let is = 0; is <= nstep; is++) {
138
- const isc = fr(fr(fr(rmin + fr(rdelta * is)) + nmax) / fr(max - min));
139
- let sum_l = 0.0, sum_l2 = 0.0, sum_xl = 0.0;
140
- for (let i = 0; i < n; i++) {
141
- const l = Math.max(0, Math.min(nmax, nearestInt(fr(isc * fr(x[xoff + i] - min))))); Laux[i] = l;
142
- const w = wOf(i); sum_l = fr(sum_l + fr(w * l)); sum_l2 = fr(sum_l2 + fr(fr(w * l) * l)); sum_xl = fr(sum_xl + fr(fr(w * l) * x[xoff + i]));
143
- }
144
- const D = fr(fr(sum_w * sum_l2) - fr(sum_l * sum_l));
145
- if (D > 0) {
146
- let this_scale = fr(fr(fr(sum_w * sum_xl) - fr(sum_x * sum_l)) / D), this_min = fr(fr(fr(sum_l2 * sum_x) - fr(sum_l * sum_xl)) / D);
147
- if (this_min > 0) { this_min = 0; this_scale = fr(sum_xl / sum_l2); }
148
- let mad = 0.0; for (let i = 0; i < n; i++) { let diff = fr(fr(fr(this_scale * Laux[i]) + this_min) - x[xoff + i]); diff = useMad ? fr(Math.abs(diff)) : fr(diff * diff); mad = fr(mad + fr(wOf(i) * diff)); }
149
- if (mad < best_mad) { for (let i = 0; i < n; i++) L[Loff + i] = Laux[i]; best_mad = mad; scale = this_scale; min = this_min; }
150
- }
151
- }
152
- return { scale, theMin: fr(-min) };
153
- }
154
- makeQkx3._aux = new Uint8Array(32);
155
-
156
- // make_qp_quants (:1014): positive-quantity quantizer (the q4_K block scales/mins),
157
- // iscale grid search then coordinate-descent refinement. quant_weights required.
158
- function makeQpQuants(n, nmax, x, L, qw) {
159
- let max = 0.0; for (let i = 0; i < n; i++) max = Math.max(max, x[i]);
160
- if (max < GROUP_MAX_EPS) { for (let i = 0; i < n; i++) L[i] = 0; return 0.0; }
161
- let iscale = fr(nmax / max);
162
- for (let i = 0; i < n; i++) L[i] = nearestInt(fr(iscale * x[i]));
163
- const scale = fr(1 / iscale); let best_mse = 0.0;
164
- for (let i = 0; i < n; i++) { const diff = fr(x[i] - fr(scale * L[i])); best_mse = fr(best_mse + fr(fr(qw[i] * diff) * diff)); }
165
- for (let is = -4; is <= 4; is++) {
166
- if (is === 0) continue;
167
- const iscale_is = fr(fr(fr(0.1 * is) + nmax) / max), scale_is = fr(1 / iscale_is); let mse = 0.0;
168
- for (let i = 0; i < n; i++) { const l = Math.min(nmax, nearestInt(fr(iscale_is * x[i]))); const diff = fr(x[i] - fr(scale_is * l)); mse = fr(mse + fr(fr(qw[i] * diff) * diff)); }
169
- if (mse < best_mse) { best_mse = mse; iscale = iscale_is; }
170
- }
171
- let sumlx = 0.0, suml2 = 0.0;
172
- for (let i = 0; i < n; i++) { const l = Math.min(nmax, nearestInt(fr(iscale * x[i]))); L[i] = l; sumlx = fr(sumlx + fr(fr(qw[i] * x[i]) * l)); suml2 = fr(suml2 + fr(fr(qw[i] * l) * l)); }
173
- for (let itry = 0; itry < 5; itry++) {
174
- let n_changed = 0;
175
- for (let i = 0; i < n; i++) {
176
- const w = qw[i]; let slx = fr(sumlx - fr(fr(w * x[i]) * L[i])), sl2 = fr(suml2 - fr(fr(w * L[i]) * L[i]));
177
- if (slx > 0 && sl2 > 0) {
178
- const new_l = Math.min(nmax, nearestInt(fr(fr(x[i] * sl2) / slx)));
179
- if (new_l !== L[i]) {
180
- slx = fr(slx + fr(fr(w * x[i]) * new_l)); sl2 = fr(sl2 + fr(fr(w * new_l) * new_l));
181
- if (fr(fr(slx * slx) * suml2) > fr(fr(sumlx * sumlx) * sl2)) { L[i] = new_l; sumlx = slx; suml2 = sl2; n_changed++; }
182
- }
183
- }
184
- }
185
- if (!n_changed) break;
186
- }
187
- return suml2 > 0 ? fr(sumlx / suml2) : 0.0;
188
- }
189
-
190
- // quantize_row_q4_K_impl (:1491): the imatrix path. weights[l] = imatrix·√(σ²+x²); block
191
- // scales/mins quantized by make_qp_quants. (σ² = 2·Σx²/QK_K.)
192
- function quantizeRowQ4KImpl(x, k, imatrix) {
193
- const nb = k / QK_K, out = new Uint8Array(nb * 144), dv = new DataView(out.buffer);
194
- const L = new Uint8Array(QK_K), weights = new Float32Array(32), sw = new Float32Array(8), mins = new Float32Array(8), scales = new Float32Array(8), Ls = new Uint8Array(8), Lm = new Uint8Array(8);
195
- for (let i = 0; i < nb; i++) {
196
- const xo = i * QK_K, bp = i * 144, scB = bp + 4;
197
- let sum_x2 = 0.0; for (let l = 0; l < QK_K; l++) sum_x2 = fr(sum_x2 + fr(x[xo + l] * x[xo + l]));
198
- const sigma2 = fr(fr(2 * sum_x2) / QK_K);
199
- for (let j = 0; j < 8; j++) {
200
- for (let l = 0; l < 32; l++) weights[l] = fr(imatrix[xo + 32 * j + l] * fr(Math.sqrt(fr(sigma2 + fr(x[xo + 32 * j + l] * x[xo + 32 * j + l])))));
201
- let sumw = 0.0; for (let l = 0; l < 32; l++) sumw = fr(sumw + weights[l]); sw[j] = sumw;
202
- const r = makeQkx3(32, 15, x, xo + 32 * j, weights, L, 32 * j, -0.9, 0.05, 36, false); scales[j] = r.scale; mins[j] = r.theMin;
203
- }
204
- const d_block = makeQpQuants(8, 63, scales, Ls, sw), m_block = makeQpQuants(8, 63, mins, Lm, sw);
205
- for (let j = 0; j < 8; j++) {
206
- const ls = Ls[j], lm = Lm[j];
207
- if (j < 4) { out[scB + j] = ls; out[scB + j + 4] = lm; }
208
- else { out[scB + j + 4] = (ls & 0xf) | ((lm & 0xf) << 4); out[scB + j - 4] |= (ls >> 4) << 6; out[scB + j] |= (lm >> 4) << 6; }
209
- }
210
- dv.setUint16(bp, f32ToF16(d_block), true); dv.setUint16(bp + 2, f32ToF16(m_block), true);
211
- const dAll = f16ToF32(dv.getUint16(bp, true)), dminAll = f16ToF32(dv.getUint16(bp + 2, true));
212
- for (let j = 0; j < 8; j++) {
213
- const [sc, m] = scaleMinK4(j, out.subarray(scB, scB + 12));
214
- const d = fr(dAll * sc); if (!d) continue; const dm = fr(dminAll * m);
215
- for (let ii = 0; ii < 32; ii++) { let l = nearestInt(fr(fr(x[xo + 32 * j + ii] + dm) / d)); L[32 * j + ii] = Math.max(0, Math.min(15, l)); }
216
- }
217
- let q = bp + 16;
218
- for (let j = 0; j < QK_K; j += 64) { for (let l = 0; l < 32; l++) out[q + l] = L[j + l] | (L[j + l + 32] << 4); q += 32; }
219
- }
220
- return out;
221
- }
222
-
223
- // quantize_row_q4_K_ref (:1395) / _impl (:1491). Block 144 B: d:f16 dmin:f16 scales[12] qs[128].
224
- export function quantizeRowQ4K(x, k, imatrix = null) {
225
- if (imatrix) return quantizeRowQ4KImpl(x, k, imatrix);
226
- const nb = k / QK_K, out = new Uint8Array(nb * 144), dv = new DataView(out.buffer);
227
- const L = new Uint8Array(QK_K), weights = new Float32Array(32), mins = new Float32Array(8), scales = new Float32Array(8);
228
- for (let i = 0; i < nb; i++) {
229
- const xo = i * QK_K, bp = i * 144, scB = bp + 4;
230
- let max_scale = 0.0, max_min = 0.0;
231
- for (let j = 0; j < 8; j++) {
232
- let sum_x2 = 0.0; for (let l = 0; l < 32; l++) sum_x2 = fr(sum_x2 + fr(x[xo + 32 * j + l] * x[xo + 32 * j + l]));
233
- const av_x = fr(Math.sqrt(fr(sum_x2 / 32)));
234
- for (let l = 0; l < 32; l++) weights[l] = fr(av_x + fr(Math.abs(x[xo + 32 * j + l])));
235
- const r = makeQkx2(32, 15, x, xo + 32 * j, weights, L, 32 * j, -1, 0.1, 20, false);
236
- scales[j] = r.scale; mins[j] = r.theMin;
237
- if (r.scale > max_scale) max_scale = r.scale;
238
- if (r.theMin > max_min) max_min = r.theMin;
239
- }
240
- const inv_scale = max_scale > 0 ? fr(63 / max_scale) : 0.0, inv_min = max_min > 0 ? fr(63 / max_min) : 0.0;
241
- for (let j = 0; j < 8; j++) {
242
- let ls = Math.min(63, nearestInt(fr(inv_scale * scales[j]))), lm = Math.min(63, nearestInt(fr(inv_min * mins[j])));
243
- if (j < 4) { out[scB + j] = ls; out[scB + j + 4] = lm; }
244
- else { out[scB + j + 4] = (ls & 0xf) | ((lm & 0xf) << 4); out[scB + j - 4] |= (ls >> 4) << 6; out[scB + j] |= (lm >> 4) << 6; }
245
- }
246
- dv.setUint16(bp, f32ToF16(fr(max_scale / 63)), true);
247
- dv.setUint16(bp + 2, f32ToF16(fr(max_min / 63)), true);
248
- const dAll = f16ToF32(dv.getUint16(bp, true)), dminAll = f16ToF32(dv.getUint16(bp + 2, true));
249
- for (let j = 0; j < 8; j++) {
250
- const [sc, m] = scaleMinK4(j, out.subarray(scB, scB + 12));
251
- const d = fr(dAll * sc); if (!d) continue;
252
- const dm = fr(dminAll * m);
253
- for (let ii = 0; ii < 32; ii++) { let l = nearestInt(fr(fr(x[xo + 32 * j + ii] + dm) / d)); L[32 * j + ii] = Math.max(0, Math.min(15, l)); }
254
- }
255
- let q = bp + 16;
256
- for (let j = 0; j < QK_K; j += 64) { for (let l = 0; l < 32; l++) out[q + l] = L[j + l] | (L[j + l + 32] << 4); q += 32; }
257
- }
258
- return out;
259
- }
260
-
261
- // make_qx_quants (:566): symmetric (signed) scale optimizer. n=16,nmax=32,rmse_type=1,
262
- // qw=NULL for q6_K. Returns the best scale; L (scratch) is recomputed by the caller.
263
- const GROUP_MAX_EPS = 1e-15;
264
- function makeQxQuants(n, nmax, x, xoff, L, rmseType, qw, qwoff) {
265
- let max = 0.0, amax = 0.0;
266
- for (let i = 0; i < n; i++) { const ax = fabsf(x[xoff + i]); if (ax > amax) { amax = ax; max = x[xoff + i]; } }
267
- if (amax < GROUP_MAX_EPS) { for (let i = 0; i < n; i++) L[i] = 0; return 0.0; }
268
- let iscale = fr(-nmax / max);
269
- const wOf = (i) => qw ? qw[qwoff + i] : rmseType === 1 ? fr(x[xoff + i] * x[xoff + i]) : rmseType === 2 ? 1 : rmseType === 3 ? fabsf(x[xoff + i]) : fr(Math.sqrt(fabsf(x[xoff + i])));
270
- let sumlx = 0.0, suml2 = 0.0;
271
- for (let i = 0; i < n; i++) {
272
- let l = Math.max(-nmax, Math.min(nmax - 1, nearestInt(fr(iscale * x[xoff + i])))); L[i] = l + nmax;
273
- const w = wOf(i); sumlx = fr(sumlx + fr(fr(w * x[xoff + i]) * l)); suml2 = fr(suml2 + fr(fr(w * l) * l));
274
- }
275
- let scale = suml2 ? fr(sumlx / suml2) : 0.0, best = fr(scale * sumlx);
276
- for (let is = -9; is <= 9; is++) {
277
- if (is === 0) continue;
278
- iscale = fr(-fr(nmax + fr(0.1 * is)) / max); sumlx = 0.0; suml2 = 0.0;
279
- for (let i = 0; i < n; i++) {
280
- let l = Math.max(-nmax, Math.min(nmax - 1, nearestInt(fr(iscale * x[xoff + i]))));
281
- const w = wOf(i); sumlx = fr(sumlx + fr(fr(w * x[xoff + i]) * l)); suml2 = fr(suml2 + fr(fr(w * l) * l));
282
- }
283
- if (suml2 > 0 && fr(sumlx * sumlx) > fr(best * suml2)) {
284
- for (let i = 0; i < n; i++) L[i] = nmax + Math.max(-nmax, Math.min(nmax - 1, nearestInt(fr(iscale * x[xoff + i]))));
285
- scale = fr(sumlx / suml2); best = fr(scale * sumlx);
286
- }
287
- }
288
- return scale;
289
- }
290
-
291
- // quantize_row_q6_K_ref (:1807) / _impl (:1908). Block 210 B: ql[128] qh[64] scales:int8[16] d:f16.
292
- // imatrix (quant_weights, an f32 per element) is the high-quality path llama-quantize uses;
293
- // null → plain RNE. The ONLY difference is the per-element weight in make_qx_quants.
294
- export function quantizeRowQ6K(x, k, imatrix = null) {
295
- const nb = k / QK_K, out = new Uint8Array(nb * 210), dv = new DataView(out.buffer);
296
- const L = new Int8Array(QK_K), Lscratch = new Int8Array(16), scales = new Float32Array(16);
297
- for (let i = 0; i < nb; i++) {
298
- const xo = i * QK_K, bp = i * 210, qlB = bp, qhB = bp + 128, scB = bp + 192;
299
- let max_scale = 0.0, max_abs_scale = 0.0;
300
- for (let ib = 0; ib < 16; ib++) {
301
- const scale = makeQxQuants(16, 32, x, xo + 16 * ib, Lscratch, 1, imatrix, xo + 16 * ib);
302
- scales[ib] = scale; const a = fabsf(scale);
303
- if (a > max_abs_scale) { max_abs_scale = a; max_scale = scale; }
304
- }
305
- if (max_abs_scale < GROUP_MAX_EPS) { dv.setUint16(bp + 208, f32ToF16(0), true); continue; } // zero block
306
- const iscale = fr(-128 / max_scale);
307
- dv.setUint16(bp + 208, f32ToF16(fr(1 / iscale)), true);
308
- for (let ib = 0; ib < 16; ib++) out[scB + ib] = Math.min(127, nearestInt(fr(iscale * scales[ib]))) & 0xff;
309
- const dAll = f16ToF32(dv.getUint16(bp + 208, true));
310
- for (let j = 0; j < 16; j++) {
311
- const d = fr(dAll * ((out[scB + j] << 24) >> 24)); if (!d) continue; // scales are int8
312
- for (let ii = 0; ii < 16; ii++) { let l = nearestInt(fr(x[xo + 16 * j + ii] / d)); L[16 * j + ii] = Math.max(-32, Math.min(31, l)) + 32; }
313
- }
314
- let ql = qlB, qh = qhB;
315
- for (let j = 0; j < QK_K; j += 128) {
316
- for (let l = 0; l < 32; l++) {
317
- const q1 = L[j + l] & 0xf, q2 = L[j + l + 32] & 0xf, q3 = L[j + l + 64] & 0xf, q4 = L[j + l + 96] & 0xf;
318
- out[ql + l] = q1 | (q3 << 4); out[ql + l + 32] = q2 | (q4 << 4);
319
- out[qh + l] = (L[j + l] >> 4) | ((L[j + l + 32] >> 4) << 2) | ((L[j + l + 64] >> 4) << 4) | ((L[j + l + 96] >> 4) << 6);
320
- }
321
- ql += 64; qh += 32;
322
- }
323
- }
324
- return out;
325
- }
326
-
327
- // quantize_row_tq2_0_ref (:2313). Block 66 B: qs[64] (2 bits/elem) + d:f16. BitNet
328
- // ternary: d = amax; each weight → lroundf(x·id)+1 ∈ {0,1,2} packed 4/byte. `roundf`
329
- // here is lroundf semantics (ties away from zero). No imatrix (quant_weights unused).
330
- export function quantizeRowTq2_0(x, k) {
331
- const nb = k / QK_K, out = new Uint8Array(nb * 66), dv = new DataView(out.buffer);
332
- for (let i = 0; i < nb; i++) {
333
- const xo = i * QK_K, bp = i * 66;
334
- let amax = 0.0;
335
- for (let j = 0; j < QK_K; j++) { const a = fabsf(x[xo + j]); if (a > amax) amax = a; }
336
- const d = amax, id = d ? fr(1.0 / d) : 0.0;
337
- dv.setUint16(bp + 64, f32ToF16(d), true);
338
- for (let j = 0; j < 64; j += 32) { // two halves; each consumes 4*32 inputs
339
- const xh = xo + (j === 0 ? 0 : 128);
340
- for (let m = 0; m < 32; m++) {
341
- let q = 0;
342
- for (let n = 0; n < 4; n++) { const xi = roundf(fr(x[xh + m + n * 32] * id)) + 1; q += (xi & 3) << (2 * n); }
343
- out[bp + j + m] = q & 0xff;
344
- }
345
- }
346
- }
347
- return out;
348
- }
349
-
350
- // Dispatch by ggml type id (basic, round-to-nearest; no imatrix yet — S2).
351
- export const quantizeRow = {
352
- 8: quantizeRowQ8_0, 2: quantizeRowQ4_0, 6: quantizeRowQ5_0, 12: quantizeRowQ4K, 14: quantizeRowQ6K, 35: quantizeRowTq2_0,
353
- };
354
-
355
- // ── S3: κ-native model factory ──
356
- // Quantize raw f32 weights INTO the substrate: each tensor → its verbatim quant bytes
357
- // = one κ-object (the SAME the forge runner consumes), sealed into a plan with a root κ.
358
- // Deterministic by construction: identical f32 in ⇒ identical bytes ⇒ identical κ/root.
359
- // `tensors`: [{ name, dims, data:Float32Array, type?:ggmlTypeId }]. No external tool.
360
- export function forgeQuantize(tensors, { defaultType = 12, format = "holo-quant/1" } = {}) {
361
- const blocks = new Map(), planTensors = [];
362
- for (const t of tensors) {
363
- const ty = t.type ?? defaultType, qfn = quantizeRow[ty];
364
- if (!qfn) throw new Error(`forgeQuantize: no quantizer for ggml type ${ty}`);
365
- const n = t.dims.reduce((a, b) => a * b, 1), nper = t.dims[0], nrows = n / nper;
366
- // optional per-row imatrix (length n_per_row, applied to every row) — its OWN κ-object
367
- let imRef = null, imFlat = null;
368
- if (t.imatrix) {
369
- if (t.imatrix.length !== nper) throw new Error(`forgeQuantize: imatrix len ${t.imatrix.length} ≠ n_per_row ${nper}`);
370
- const imBytes = new Uint8Array(t.imatrix.buffer, t.imatrix.byteOffset, t.imatrix.byteLength).slice();
371
- const imHex = sha256hex(imBytes);
372
- if (!blocks.has(imHex)) blocks.set(imHex, imBytes);
373
- imRef = kappa("sha256", imHex);
374
- if (nrows === 1) imFlat = t.imatrix; // tile per-row → flat for the quantizer
375
- else { imFlat = new Float32Array(n); for (let r = 0; r < nrows; r++) imFlat.set(t.imatrix, r * nper); }
376
- }
377
- const blob = qfn(t.data, n, imFlat); // EXACT quant bytes = the κ-object
378
- const hex = sha256hex(blob);
379
- if (!blocks.has(hex)) blocks.set(hex, blob); // L2 dedup by content
380
- const pt = { name: t.name, dims: t.dims, type: ty, typeName: GGML_TYPE_NAME[ty] || String(ty), nbytes: blob.length, kappa: kappa("sha256", hex), sri: sriOf(blob) };
381
- if (imRef) pt.imatrix = imRef;
382
- planTensors.push(pt);
383
- }
384
- const plan = { format, quantizer: "ggml-bit-exact", tensors: planTensors };
385
- const rootKappa = didHolo("sha256", sha256hex(jcs(plan)));
386
- return { tensors: planTensors, blocks, plan, rootKappa };
387
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6c769b649df1a53e8d7bae1114cf687186a167bfefa13ccbfad189c7de588691
3
+ size 22719
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/04c563a5eade7889e606a0e402e3dcc6ffdcab8d40a97c3c8d8714e424af3fac CHANGED
@@ -1,32 +1,3 @@
1
- // diff.mjs <capture.json> — decode a window.__cap dump (base64 tensors) → ort/*.f32, then run onnx-run.mjs
2
- // (stopAt the last probe) and report max-abs error vs ORT for each exposed tensor, in order. First ">>>" = the
3
- // first divergent stage. The whole Phase-1-to-green bisect loop reduces to: edit probes → gen-exposed → capture → diff.mjs.
4
- import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
5
- import { loadModel, run } from "./onnx-run.mjs";
6
-
7
- const MODEL = "../../../../../../holo-os/system/os/usr/lib/holo/voice/vendor/models/onnx-community/Kokoro-82M-v1.0-ONNX/onnx/model.onnx";
8
- const capPath = process.argv[2];
9
- if (!capPath) { console.error("usage: node diff.mjs <capture.json>"); process.exit(1); }
10
-
11
- let cap = JSON.parse(readFileSync(capPath, "utf8").trim()); if (typeof cap === "string") cap = JSON.parse(cap);
12
- mkdirSync("ort", { recursive: true });
13
- const man = {};
14
- for (const [name, t] of Object.entries(cap)) { const f = "ort/" + name.replace(/[^A-Za-z0-9]+/g, "_").replace(/^_+/, "") + ".f32"; writeFileSync(f, Buffer.from(t.b64, "base64")); man[name] = { file: f, dims: t.dims }; }
15
- writeFileSync("ort/manifest.json", JSON.stringify(man, null, 2));
16
-
17
- const T = (d, dm, i = false) => ({ data: Float64Array.from(d), dims: dm, int: i });
18
- const meta = JSON.parse(readFileSync("golden.json", "utf8"));
19
- const sb = readFileSync("golden.style.f32"); const style = new Float32Array(sb.buffer, sb.byteOffset, 256);
20
- const model = loadModel(MODEL);
21
- const probes = Object.keys(cap).filter((k) => k !== "waveform");
22
- const stop = probes[probes.length - 1];
23
- const env = run(model, { input_ids: T(meta.ids, [1, meta.ids.length], true), style: T(Float64Array.from(style), [1, 256]), speed: T([1], [1]) }, { stopAt: stop });
24
-
25
- for (const name of probes) {
26
- const mine = env.get(name), m = man[name], ob = readFileSync(m.file), ort = new Float32Array(ob.buffer, ob.byteOffset, ob.length / 4);
27
- if (!mine) { console.log("MISSING(mine) " + name); continue; }
28
- const n = Math.min(mine.data.length, ort.length); let err = 0, mm = 0, mo = 0;
29
- for (let i = 0; i < n; i++) { err = Math.max(err, Math.abs(mine.data[i] - ort[i])); mm = Math.max(mm, Math.abs(mine.data[i])); mo = Math.max(mo, Math.abs(ort[i])); }
30
- const shape = JSON.stringify(mine.dims) === JSON.stringify(m.dims);
31
- console.log((err < 1e-3 && shape ? "OK " : ">>> ") + name.slice(-46).padEnd(47) + " err " + err.toExponential(2) + " mine " + mm.toFixed(3) + " ort " + mo.toFixed(3) + (shape ? "" : " SHAPE " + JSON.stringify(mine.dims) + "/" + JSON.stringify(m.dims)));
32
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a6ab508448000d4c61c047d8653c51ba206e1d91a0992f689606986ee0b8c845
3
+ size 2553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/04e78a89259a1e665b7086182d2e5b96a6f0a65afe553aab91eb03d2765eb1d1 CHANGED
@@ -1,21 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.chart.chart-tooltip-advanced",
3
- "name": "chart-tooltip-advanced",
4
- "tier": "chart",
5
- "library": "shadcn",
6
- "category": "Charts · Tooltip",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/chart-tooltip-advanced.json",
8
- "did": "did:holo:sha256:ecb06efd0b0e78fcd27bd5211046d648d05b311e306857edce20545d67a3c378",
9
- "import": "holo://sha256:fe35ddfc99f94ce4eef211b6084f6752528817228e588aee3362f68e0b7624d4",
10
- "integrity": "sha256-/jXd/Jn5TOTu8hG2CE9nUlKIFyKOWIruM2L2jgt2JNQ=",
11
- "kappa": "sha256:ecb06efd0b0e78fcd27bd5211046d648d05b311e306857edce20545d67a3c378",
12
- "moduleKappa": "sha256:fe35ddfc99f94ce4eef211b6084f6752528817228e588aee3362f68e0b7624d4",
13
- "renderExport": "ChartTooltipAdvanced",
14
- "source": "registry/new-york-v4/charts/chart-tooltip-advanced.tsx",
15
- "module": "vendor/components/chart-tooltip-advanced.js",
16
- "exports": [
17
- "description",
18
- "ChartTooltipAdvanced"
19
- ],
20
- "license": "MIT"
21
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:819bad9324a1a0b2cc322cb3078e4f4b9b8d615c0eaf6d13401f9753f0e29d61
3
+ size 952
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/04fe1db0ccedcb1596368c9de941ea9776265f3124c92e0162a397b136406862 CHANGED
@@ -1 +1,3 @@
1
- var Nt=Object.defineProperty;var ze=(e,r)=>{for(var t in r)Nt(e,t,{get:r[t],enumerable:!0})};import*as B from"react";import*as He from"react";import*as Jt from"react-dom";var ne={};ze(ne,{Root:()=>Gt,Slot:()=>Gt,Slottable:()=>Ut,createSlot:()=>oe,createSlottable:()=>je});import*as E from"react";import*as Ue from"react";function Ge(e,r){if(typeof e=="function")return e(r);e!=null&&(e.current=r)}function zt(...e){return r=>{let t=!1,s=e.map(o=>{let n=Ge(o,r);return!t&&typeof n=="function"&&(t=!0),n});if(t)return()=>{for(let o=0;o<s.length;o++){let n=s[o];typeof n=="function"?n():Ge(e[o],null)}}}}function Be(...e){return Ue.useCallback(zt(...e),e)}function oe(e){let r=E.forwardRef((t,s)=>{let{children:o,...n}=t,i=null,c=!1,u=[];We(o)&&typeof se=="function"&&(o=se(o._payload)),E.Children.forEach(o,v=>{if(jt(v)){c=!0;let w=v,A="child"in w.props?w.props.child:w.props.children;We(A)&&typeof se=="function"&&(A=se(A._payload)),i=Bt(w,A),u.push(i?.props?.children)}else u.push(v)}),i?i=E.cloneElement(i,void 0,u):!c&&E.Children.count(o)===1&&E.isValidElement(o)&&(i=o);let d=i?$t(i):void 0,y=Be(s,d);if(!i){if(o||o===0)throw new Error(c?Kt(e):Yt(e));return o}let b=Wt(n,i.props??{});return i.type!==E.Fragment&&(b.ref=s?y:d),E.cloneElement(i,b)});return r.displayName=`${e}.Slot`,r}var Gt=oe("Slot"),$e=Symbol.for("radix.slottable");function je(e){let r=t=>"child"in t?t.children(t.child):t.children;return r.displayName=`${e}.Slottable`,r.__radixId=$e,r}var Ut=je("Slottable"),Bt=(e,r)=>{if("child"in e.props){let t=e.props.child;return E.isValidElement(t)?E.cloneElement(t,void 0,e.props.children(t.props.children)):null}return E.isValidElement(r)?r:null};function Wt(e,r){let t={...r};for(let s in r){let o=e[s],n=r[s];/^on[A-Z]/.test(s)?o&&n?t[s]=(...c)=>{let u=n(...c);return o(...c),u}:o&&(t[s]=o):s==="style"?t[s]={...o,...n}:s==="className"&&(t[s]=[o,n].filter(Boolean).join(" "))}return{...e,...t}}function $t(e){let r=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=r&&"isReactWarning"in r&&r.isReactWarning;return t?e.ref:(r=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=r&&"isReactWarning"in r&&r.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function jt(e){return E.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$e}var Ht=Symbol.for("react.lazy");function We(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Ht&&"_payload"in e&&qt(e._payload)}function qt(e){return typeof e=="object"&&e!==null&&"then"in e}var Yt=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Kt=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,se=E[" use ".trim().toString()];import{jsx as Qt}from"react/jsx-runtime";var Xt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],qe=Xt.reduce((e,r)=>{let t=oe(`Primitive.${r}`),s=He.forwardRef((o,n)=>{let{asChild:i,...c}=o,u=i?t:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),Qt(u,{...c,ref:n})});return s.displayName=`Primitive.${r}`,{...e,[r]:s}},{});var ie={};ze(ie,{Label:()=>ve,Root:()=>tr});import*as Ye from"react";import{jsx as Zt}from"react/jsx-runtime";var er="Label",ve=Ye.forwardRef((e,r)=>Zt(qe.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));ve.displayName=er;var tr=ve;import g from"react";var rr=e=>e.type==="checkbox",J=e=>e instanceof Date,ke=e=>e==null,tt=e=>typeof e=="object",j=e=>!ke(e)&&!Array.isArray(e)&&tt(e)&&!J(e),Ke=e=>j(e)&&e.target?rr(e.target)?e.target.checked:e.target.value:e,sr=(e,r)=>r.split(".").some((t,s,o)=>!isNaN(Number(t))&&e.has(o.slice(0,s).join("."))),rt=e=>{let r=e.constructor&&e.constructor.prototype;return j(r)&&r.hasOwnProperty("isPrototypeOf")},st=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function ot(e){if(e instanceof Date)return new Date(e);let r=typeof FileList<"u"&&e instanceof FileList;if(st&&(e instanceof Blob||r))return e;let t=Array.isArray(e);if(!t&&!(j(e)&&rt(e)))return e;let s=t?[]:Object.create(Object.getPrototypeOf(e));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&(s[o]=ot(e[o]));return s}var Je={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ce={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"};var nt=["__proto__","constructor","prototype"],it=e=>/^\w*$/.test(e),we=e=>e===void 0,at=e=>e.split(/[.[\]'"]/g).filter(Boolean),D=(e,r,t)=>{if(!r||!j(e))return t;let s=it(r)?[r]:at(r);if(s.some(n=>nt.includes(n)))return t;let o=s.reduce((n,i)=>ke(n)?void 0:n[i],e);return we(o)||o===e?we(e[r])?t:e[r]:o},xe=e=>typeof e=="boolean",ae=e=>typeof e=="function",Qe=(e,r,t)=>{let s=-1,o=it(r)?[r]:at(r),n=o.length,i=n-1;for(;++s<n;){let c=o[s],u=t;if(s!==i){let d=e[c];u=j(d)||Array.isArray(d)?d:isNaN(+o[s+1])?{}:[]}if(nt.includes(c))return;e[c]=u,e=e[c]}},_e=g.createContext(null);_e.displayName="HookFormControlContext";var Ve=()=>g.useContext(_e),or=(e,r,t,s=!0)=>{let o={};for(let n in e)Object.defineProperty(o,n,{get:()=>{let i=n;return r._proxyFormState[i]!==ce.all&&(r._proxyFormState[i]=!s||ce.all),t&&(t[i]=!0),e[i]}});return o},lt=st?g.useLayoutEffect:g.useEffect;function Fe(e){let r=Ve(),{control:t=r,disabled:s,name:o,exact:n}=e||{},[i,c]=g.useState(()=>({...t._formState,defaultValues:t._defaultValues})),u=g.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return lt(()=>t._subscribe({name:o,formState:u.current,exact:n,callback:d=>{!s&&c({...t._formState,...d,defaultValues:t._defaultValues})}}),[o,s,n]),g.useEffect(()=>{u.current.isValid&&t._setValid(!0)},[t]),g.useMemo(()=>or(i,t,u.current,!1),[i,t])}var nr=e=>typeof e=="string",Xe=(e,r,t,s,o)=>nr(e)?(s&&r.watch.add(e),D(t,e,o)):Array.isArray(e)?e.map(n=>(s&&r.watch.add(n),D(t,n))):(s&&(r.watchAll=!0),t),Ze=e=>ke(e)||!tt(e),et=(e,r)=>r.length===0&&!Array.isArray(e)&&!rt(e);function le(e,r,t=new WeakSet){if(e===r)return!0;if(Ze(e)||Ze(r))return Object.is(e,r);if(J(e)&&J(r))return Object.is(e.getTime(),r.getTime());let s=Object.keys(e),o=Object.keys(r);if(s.length!==o.length)return!1;if(et(e,s)||et(r,o))return Object.is(e,r);if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(let n of s){let i=e[n];if(!(n in r))return!1;if(n!=="ref"){let c=r[n];if(J(i)&&J(c)||(j(i)||Array.isArray(i))&&(j(c)||Array.isArray(c))?!le(i,c,t):!Object.is(i,c))return!1}}return!0}function ir(e){let r=Ve(),{control:t=r,name:s,defaultValue:o,disabled:n,exact:i,compute:c}=e||{},u=g.useRef(o),d=g.useRef(c),y=g.useRef(void 0),b=g.useRef(t),v=g.useRef(s);d.current=c;let[w,A]=g.useState(()=>{let h=t._getWatch(s,u.current);return d.current?d.current(h):h}),k=g.useCallback(h=>{let F=Xe(s,t._names,h||t._formValues,!1,u.current);return d.current?d.current(F):F},[t._formValues,t._names,s]),V=g.useCallback(h=>{if(!n){let F=Xe(s,t._names,h||t._formValues,!1,u.current);if(d.current){let O=d.current(F);le(O,y.current)||(A(O),y.current=O)}else A(F)}},[t._formValues,t._names,n,s]);lt(()=>((b.current!==t||!le(v.current,s))&&(b.current=t,v.current=s,V()),t._subscribe({name:s,formState:{values:!0},exact:i,callback:h=>{V(h.values)}})),[t,i,s,V]),g.useEffect(()=>t._removeUnmounted());let R=b.current!==t,_=v.current,x=g.useMemo(()=>{if(n)return null;let h=!R&&!le(_,s);return R||h?k():null},[n,R,s,_,k]);return x!==null?x:w}function ar(e){let r=Ve(),{name:t,disabled:s,control:o=r,shouldUnregister:n,defaultValue:i,exact:c=!0}=e,u=sr(o._names.array,t),d=g.useMemo(()=>D(o._formValues,t,D(o._defaultValues,t,i)),[o,t,i]),y=ir({control:o,name:t,defaultValue:d,exact:c}),b=Fe({control:o,name:t,exact:c}),v=g.useRef(e),w=g.useRef(o.register(t,{...e.rules,value:y,...xe(e.disabled)?{disabled:e.disabled}:{}}));v.current=e;let A=g.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!D(b.errors,t)},isDirty:{enumerable:!0,get:()=>!!D(b.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!D(b.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!D(b.validatingFields,t)},error:{enumerable:!0,get:()=>D(b.errors,t)}}),[b,t]),k=g.useCallback(x=>{let h=Ke(x);D(o._fields,t)||(w.current=o.register(t,{...v.current.rules,value:h})),w.current.onChange({target:{value:Ke(x),name:t},type:Je.CHANGE})},[t,o]),V=g.useCallback(()=>w.current.onBlur({target:{value:D(o._formValues,t),name:t},type:Je.BLUR}),[t,o._formValues]),R=g.useCallback(x=>{let h=D(o._fields,t);h&&h._f&&x&&(h._f.ref={focus:()=>ae(x.focus)&&x.focus(),select:()=>ae(x.select)&&x.select(),setCustomValidity:F=>ae(x.setCustomValidity)&&x.setCustomValidity(F),reportValidity:()=>ae(x.reportValidity)&&x.reportValidity()})},[o._fields,t]),_=g.useMemo(()=>({name:t,value:y,...xe(s)||b.disabled?{disabled:b.disabled||s}:{},onChange:k,onBlur:V,ref:R}),[t,s,b.disabled,k,V,R,y]);return g.useEffect(()=>{let x=o._options.shouldUnregister||n;o.register(t,{...v.current.rules,...xe(v.current.disabled)?{disabled:v.current.disabled}:{}});let h=(F,O)=>{let P=D(o._fields,F);P&&P._f&&(P._f.mount=O)};if(h(t,!0),x){let F=ot(D(n?o._defaultValues:o._options.values||o._defaultValues,t,D(o._options.defaultValues,t,v.current.defaultValue)));Qe(o._defaultValues,t,F),we(D(o._formValues,t))&&Qe(o._formValues,t,F)}return!u&&o.register(t),()=>{(u?x&&!o._state.action:x)?o.unregister(t):h(t,!1)}},[t,o,u,n]),g.useEffect(()=>{o._setDisabledField({disabled:s,name:t})},[s,t,o]),g.useMemo(()=>({field:_,formState:b,fieldState:A}),[_,b,A])}var ct=e=>e.render(ar(e));var Ae=g.createContext(null);Ae.displayName="HookFormContext";var dt=()=>g.useContext(Ae),ut=({children:e,watch:r,getValues:t,getFieldState:s,setError:o,clearErrors:n,setValue:i,setValues:c,trigger:u,formState:d,resetField:y,reset:b,handleSubmit:v,unregister:w,control:A,register:k,setFocus:V,subscribe:R})=>{let _=g.useMemo(()=>({watch:r,getValues:t,getFieldState:s,setError:o,clearErrors:n,setValue:i,setValues:c,trigger:u,formState:d,resetField:y,reset:b,handleSubmit:v,unregister:w,control:A,register:k,setFocus:V,subscribe:R}),[n,A,d,s,t,v,k,b,y,o,V,i,c,R,u,w,r]);return g.createElement(Ae.Provider,{value:_},g.createElement(_e.Provider,{value:_.control},e))};var cs={mode:ce.onSubmit,reValidateMode:ce.onChange,shouldFocusError:!0};function ft(e){var r,t,s="";if(typeof e=="string"||typeof e=="number")s+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(r=0;r<o;r++)e[r]&&(t=ft(e[r]))&&(s&&(s+=" "),s+=t)}else for(t in e)e[t]&&(s&&(s+=" "),s+=t);return s}function mt(){for(var e,r,t=0,s="",o=arguments.length;t<o;t++)(e=arguments[t])&&(r=ft(e))&&(s&&(s+=" "),s+=r);return s}var lr=(e,r)=>{let t=new Array(e.length+r.length);for(let s=0;s<e.length;s++)t[s]=e[s];for(let s=0;s<r.length;s++)t[e.length+s]=r[s];return t},cr=(e,r)=>({classGroupId:e,validator:r}),xt=(e=new Map,r=null,t)=>({nextPart:e,validators:r,classGroupId:t}),fe="-",pt=[],dr="arbitrary..",ur=e=>{let r=mr(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return fr(i);let c=i.split(fe),u=c[0]===""&&c.length>1?1:0;return wt(c,u,r)},getConflictingClassGroupIds:(i,c)=>{if(c){let u=s[i],d=t[i];return u?d?lr(d,u):u:d||pt}return t[i]||pt}}},wt=(e,r,t)=>{if(e.length-r===0)return t.classGroupId;let o=e[r],n=t.nextPart.get(o);if(n){let d=wt(e,r+1,n);if(d)return d}let i=t.validators;if(i===null)return;let c=r===0?e.join(fe):e.slice(r).join(fe),u=i.length;for(let d=0;d<u;d++){let y=i[d];if(y.validator(c))return y.classGroupId}},fr=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let r=e.slice(1,-1),t=r.indexOf(":"),s=r.slice(0,t);return s?dr+s:void 0})(),mr=e=>{let{theme:r,classGroups:t}=e;return pr(t,r)},pr=(e,r)=>{let t=xt();for(let s in e){let o=e[s];Re(o,t,s,r)}return t},Re=(e,r,t,s)=>{let o=e.length;for(let n=0;n<o;n++){let i=e[n];br(i,r,t,s)}},br=(e,r,t,s)=>{if(typeof e=="string"){gr(e,r,t);return}if(typeof e=="function"){yr(e,r,t,s);return}hr(e,r,t,s)},gr=(e,r,t)=>{let s=e===""?r:kt(r,e);s.classGroupId=t},yr=(e,r,t,s)=>{if(vr(e)){Re(e(s),r,t,s);return}r.validators===null&&(r.validators=[]),r.validators.push(cr(t,e))},hr=(e,r,t,s)=>{let o=Object.entries(e),n=o.length;for(let i=0;i<n;i++){let[c,u]=o[i];Re(u,kt(r,c),t,s)}},kt=(e,r)=>{let t=e,s=r.split(fe),o=s.length;for(let n=0;n<o;n++){let i=s[n],c=t.nextPart.get(i);c||(c=xt(),t.nextPart.set(i,c)),t=c}return t},vr=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,xr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let r=0,t=Object.create(null),s=Object.create(null),o=(n,i)=>{t[n]=i,r++,r>e&&(r=0,s=t,t=Object.create(null))};return{get(n){let i=t[n];if(i!==void 0)return i;if((i=s[n])!==void 0)return o(n,i),i},set(n,i){n in t?t[n]=i:o(n,i)}}},Ce="!",bt=":",wr=[],gt=(e,r,t,s,o)=>({modifiers:e,hasImportantModifier:r,baseClassName:t,maybePostfixModifierPosition:s,isExternal:o}),kr=e=>{let{prefix:r,experimentalParseClassName:t}=e,s=o=>{let n=[],i=0,c=0,u=0,d,y=o.length;for(let k=0;k<y;k++){let V=o[k];if(i===0&&c===0){if(V===bt){n.push(o.slice(u,k)),u=k+1;continue}if(V==="/"){d=k;continue}}V==="["?i++:V==="]"?i--:V==="("?c++:V===")"&&c--}let b=n.length===0?o:o.slice(u),v=b,w=!1;b.endsWith(Ce)?(v=b.slice(0,-1),w=!0):b.startsWith(Ce)&&(v=b.slice(1),w=!0);let A=d&&d>u?d-u:void 0;return gt(n,w,v,A)};if(r){let o=r+bt,n=s;s=i=>i.startsWith(o)?n(i.slice(o.length)):gt(wr,!1,i,void 0,!0)}if(t){let o=s;s=n=>t({className:n,parseClassName:o})}return s},_r=e=>{let r=new Map;return e.orderSensitiveModifiers.forEach((t,s)=>{r.set(t,1e6+s)}),t=>{let s=[],o=[];for(let n=0;n<t.length;n++){let i=t[n],c=i[0]==="[",u=r.has(i);c||u?(o.length>0&&(o.sort(),s.push(...o),o=[]),s.push(i)):o.push(i)}return o.length>0&&(o.sort(),s.push(...o)),s}},Vr=e=>({cache:xr(e.cacheSize),parseClassName:kr(e),sortModifiers:_r(e),postfixLookupClassGroupIds:Fr(e),...ur(e)}),Fr=e=>{let r=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let s=0;s<t.length;s++)r[t[s]]=!0;return r},Ar=/\s+/,Sr=(e,r)=>{let{parseClassName:t,getClassGroupId:s,getConflictingClassGroupIds:o,sortModifiers:n,postfixLookupClassGroupIds:i}=r,c=[],u=e.trim().split(Ar),d="";for(let y=u.length-1;y>=0;y-=1){let b=u[y],{isExternal:v,modifiers:w,hasImportantModifier:A,baseClassName:k,maybePostfixModifierPosition:V}=t(b);if(v){d=b+(d.length>0?" "+d:d);continue}let R=!!V,_;if(R){let P=k.substring(0,V);_=s(P);let f=_&&i[_]?s(k):void 0;f&&f!==_&&(_=f,R=!1)}else _=s(k);if(!_){if(!R){d=b+(d.length>0?" "+d:d);continue}if(_=s(k),!_){d=b+(d.length>0?" "+d:d);continue}R=!1}let x=w.length===0?"":w.length===1?w[0]:n(w).join(":"),h=A?x+Ce:x,F=h+_;if(c.indexOf(F)>-1)continue;c.push(F);let O=o(_,R);for(let P=0;P<O.length;++P){let f=O[P];c.push(h+f)}d=b+(d.length>0?" "+d:d)}return d},Cr=(...e)=>{let r=0,t,s,o="";for(;r<e.length;)(t=e[r++])&&(s=_t(t))&&(o&&(o+=" "),o+=s);return o},_t=e=>{if(typeof e=="string")return e;let r,t="";for(let s=0;s<e.length;s++)e[s]&&(r=_t(e[s]))&&(t&&(t+=" "),t+=r);return t},Rr=(e,...r)=>{let t,s,o,n,i=u=>{let d=r.reduce((y,b)=>b(y),e());return t=Vr(d),s=t.cache.get,o=t.cache.set,n=c,c(u)},c=u=>{let d=s(u);if(d)return d;let y=Sr(u,t);return o(u,y),y};return n=i,(...u)=>n(Cr(...u))},Er=[],S=e=>{let r=t=>t[e]||Er;return r.isThemeGetter=!0,r},Vt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ft=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Dr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Tr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ir=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Pr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Mr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Or=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,G=e=>Dr.test(e),p=e=>!!e&&!Number.isNaN(Number(e)),N=e=>!!e&&Number.isInteger(Number(e)),Se=e=>e.endsWith("%")&&p(e.slice(0,-1)),z=e=>Tr.test(e),At=()=>!0,Lr=e=>Ir.test(e)&&!Pr.test(e),Ee=()=>!1,Nr=e=>Mr.test(e),zr=e=>Or.test(e),Gr=e=>!a(e)&&!l(e),Ur=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Br=e=>U(e,Rt,Ee),a=e=>Vt.test(e),H=e=>U(e,Et,Lr),yt=e=>U(e,Jr,p),Wr=e=>U(e,Tt,At),$r=e=>U(e,Dt,Ee),ht=e=>U(e,St,Ee),jr=e=>U(e,Ct,zr),de=e=>U(e,It,Nr),l=e=>Ft.test(e),Q=e=>q(e,Et),Hr=e=>q(e,Dt),vt=e=>q(e,St),qr=e=>q(e,Rt),Yr=e=>q(e,Ct),ue=e=>q(e,It,!0),Kr=e=>q(e,Tt,!0),U=(e,r,t)=>{let s=Vt.exec(e);return s?s[1]?r(s[1]):t(s[2]):!1},q=(e,r,t=!1)=>{let s=Ft.exec(e);return s?s[1]?r(s[1]):t:!1},St=e=>e==="position"||e==="percentage",Ct=e=>e==="image"||e==="url",Rt=e=>e==="length"||e==="size"||e==="bg-size",Et=e=>e==="length",Jr=e=>e==="number",Dt=e=>e==="family-name",Tt=e=>e==="number"||e==="weight",It=e=>e==="shadow";var Qr=()=>{let e=S("color"),r=S("font"),t=S("text"),s=S("font-weight"),o=S("tracking"),n=S("leading"),i=S("breakpoint"),c=S("container"),u=S("spacing"),d=S("radius"),y=S("shadow"),b=S("inset-shadow"),v=S("text-shadow"),w=S("drop-shadow"),A=S("blur"),k=S("perspective"),V=S("aspect"),R=S("ease"),_=S("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],h=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],F=()=>[...h(),l,a],O=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto","contain","none"],f=()=>[l,a,u],M=()=>[G,"full","auto",...f()],De=()=>[N,"none","subgrid",l,a],Te=()=>["auto",{span:["full",N,l,a]},N,l,a],X=()=>[N,"auto",l,a],Ie=()=>["auto","min","max","fr",l,a],pe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],K=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...f()],$=()=>[G,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],be=()=>[G,"screen","full","dvw","lvw","svw","min","max","fit",...f()],ge=()=>[G,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],m=()=>[e,l,a],Pe=()=>[...h(),vt,ht,{position:[l,a]}],Me=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Oe=()=>["auto","cover","contain",qr,Br,{size:[l,a]}],ye=()=>[Se,Q,H],T=()=>["","none","full",d,l,a],I=()=>["",p,Q,H],Z=()=>["solid","dashed","dotted","double"],Le=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[p,Se,vt,ht],Ne=()=>["","none",A,l,a],ee=()=>["none",p,l,a],te=()=>["none",p,l,a],he=()=>[p,l,a],re=()=>[G,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[z],breakpoint:[z],color:[At],container:[z],"drop-shadow":[z],ease:["in","out","in-out"],font:[Gr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[z],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[z],shadow:[z],spacing:["px",p],text:[z],"text-shadow":[z],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",G,a,l,V]}],container:["container"],"container-type":[{"@container":["","normal","size",l,a]}],"container-named":[Ur],columns:[{columns:[p,a,l,c]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:F()}],overflow:[{overflow:O()}],"overflow-x":[{"overflow-x":O()}],"overflow-y":[{"overflow-y":O()}],overscroll:[{overscroll:P()}],"overscroll-x":[{"overscroll-x":P()}],"overscroll-y":[{"overscroll-y":P()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[N,"auto",l,a]}],basis:[{basis:[G,"full","auto",c,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[p,G,"auto","initial","none",a]}],grow:[{grow:["",p,l,a]}],shrink:[{shrink:["",p,l,a]}],order:[{order:[N,"first","last","none",l,a]}],"grid-cols":[{"grid-cols":De()}],"col-start-end":[{col:Te()}],"col-start":[{"col-start":X()}],"col-end":[{"col-end":X()}],"grid-rows":[{"grid-rows":De()}],"row-start-end":[{row:Te()}],"row-start":[{"row-start":X()}],"row-end":[{"row-end":X()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ie()}],"auto-rows":[{"auto-rows":Ie()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...pe(),"normal"]}],"justify-items":[{"justify-items":[...K(),"normal"]}],"justify-self":[{"justify-self":["auto",...K()]}],"align-content":[{content:["normal",...pe()]}],"align-items":[{items:[...K(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...K(),{baseline:["","last"]}]}],"place-content":[{"place-content":pe()}],"place-items":[{"place-items":[...K(),"baseline"]}],"place-self":[{"place-self":["auto",...K()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pbs:[{pbs:f()}],pbe:[{pbe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mbs:[{mbs:L()}],mbe:[{mbe:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:$()}],"inline-size":[{inline:["auto",...be()]}],"min-inline-size":[{"min-inline":["auto",...be()]}],"max-inline-size":[{"max-inline":["none",...be()]}],"block-size":[{block:["auto",...ge()]}],"min-block-size":[{"min-block":["auto",...ge()]}],"max-block-size":[{"max-block":["none",...ge()]}],w:[{w:[c,"screen",...$()]}],"min-w":[{"min-w":[c,"screen","none",...$()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[i]},...$()]}],h:[{h:["screen","lh",...$()]}],"min-h":[{"min-h":["screen","lh","none",...$()]}],"max-h":[{"max-h":["screen","lh",...$()]}],"font-size":[{text:["base",t,Q,H]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,Kr,Wr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Se,a]}],"font-family":[{font:[Hr,$r,r]}],"font-features":[{"font-features":[a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,l,a]}],"line-clamp":[{"line-clamp":[p,"none",l,yt]}],leading:[{leading:[n,...f()]}],"list-image":[{"list-image":["none",l,a]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,a]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:m()}],"text-color":[{text:m()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Z(),"wavy"]}],"text-decoration-thickness":[{decoration:[p,"from-font","auto",l,H]}],"text-decoration-color":[{decoration:m()}],"underline-offset":[{"underline-offset":[p,"auto",l,a]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"tab-size":[{tab:[N,l,a]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,a]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",l,a]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Pe()}],"bg-repeat":[{bg:Me()}],"bg-size":[{bg:Oe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},N,l,a],radial:["",l,a],conic:[N,l,a]},Yr,jr]}],"bg-color":[{bg:m()}],"gradient-from-pos":[{from:ye()}],"gradient-via-pos":[{via:ye()}],"gradient-to-pos":[{to:ye()}],"gradient-from":[{from:m()}],"gradient-via":[{via:m()}],"gradient-to":[{to:m()}],rounded:[{rounded:T()}],"rounded-s":[{"rounded-s":T()}],"rounded-e":[{"rounded-e":T()}],"rounded-t":[{"rounded-t":T()}],"rounded-r":[{"rounded-r":T()}],"rounded-b":[{"rounded-b":T()}],"rounded-l":[{"rounded-l":T()}],"rounded-ss":[{"rounded-ss":T()}],"rounded-se":[{"rounded-se":T()}],"rounded-ee":[{"rounded-ee":T()}],"rounded-es":[{"rounded-es":T()}],"rounded-tl":[{"rounded-tl":T()}],"rounded-tr":[{"rounded-tr":T()}],"rounded-br":[{"rounded-br":T()}],"rounded-bl":[{"rounded-bl":T()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-bs":[{"border-bs":I()}],"border-w-be":[{"border-be":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":I()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Z(),"hidden","none"]}],"divide-style":[{divide:[...Z(),"hidden","none"]}],"border-color":[{border:m()}],"border-color-x":[{"border-x":m()}],"border-color-y":[{"border-y":m()}],"border-color-s":[{"border-s":m()}],"border-color-e":[{"border-e":m()}],"border-color-bs":[{"border-bs":m()}],"border-color-be":[{"border-be":m()}],"border-color-t":[{"border-t":m()}],"border-color-r":[{"border-r":m()}],"border-color-b":[{"border-b":m()}],"border-color-l":[{"border-l":m()}],"divide-color":[{divide:m()}],"outline-style":[{outline:[...Z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[p,l,a]}],"outline-w":[{outline:["",p,Q,H]}],"outline-color":[{outline:m()}],shadow:[{shadow:["","none",y,ue,de]}],"shadow-color":[{shadow:m()}],"inset-shadow":[{"inset-shadow":["none",b,ue,de]}],"inset-shadow-color":[{"inset-shadow":m()}],"ring-w":[{ring:I()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:m()}],"ring-offset-w":[{"ring-offset":[p,H]}],"ring-offset-color":[{"ring-offset":m()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":m()}],"text-shadow":[{"text-shadow":["none",v,ue,de]}],"text-shadow-color":[{"text-shadow":m()}],opacity:[{opacity:[p,l,a]}],"mix-blend":[{"mix-blend":[...Le(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Le()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[p]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":m()}],"mask-image-linear-to-color":[{"mask-linear-to":m()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":m()}],"mask-image-t-to-color":[{"mask-t-to":m()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":m()}],"mask-image-r-to-color":[{"mask-r-to":m()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":m()}],"mask-image-b-to-color":[{"mask-b-to":m()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":m()}],"mask-image-l-to-color":[{"mask-l-to":m()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":m()}],"mask-image-x-to-color":[{"mask-x-to":m()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":m()}],"mask-image-y-to-color":[{"mask-y-to":m()}],"mask-image-radial":[{"mask-radial":[l,a]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":m()}],"mask-image-radial-to-color":[{"mask-radial-to":m()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":h()}],"mask-image-conic-pos":[{"mask-conic":[p]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":m()}],"mask-image-conic-to-color":[{"mask-conic-to":m()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Pe()}],"mask-repeat":[{mask:Me()}],"mask-size":[{mask:Oe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,a]}],filter:[{filter:["","none",l,a]}],blur:[{blur:Ne()}],brightness:[{brightness:[p,l,a]}],contrast:[{contrast:[p,l,a]}],"drop-shadow":[{"drop-shadow":["","none",w,ue,de]}],"drop-shadow-color":[{"drop-shadow":m()}],grayscale:[{grayscale:["",p,l,a]}],"hue-rotate":[{"hue-rotate":[p,l,a]}],invert:[{invert:["",p,l,a]}],saturate:[{saturate:[p,l,a]}],sepia:[{sepia:["",p,l,a]}],"backdrop-filter":[{"backdrop-filter":["","none",l,a]}],"backdrop-blur":[{"backdrop-blur":Ne()}],"backdrop-brightness":[{"backdrop-brightness":[p,l,a]}],"backdrop-contrast":[{"backdrop-contrast":[p,l,a]}],"backdrop-grayscale":[{"backdrop-grayscale":["",p,l,a]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[p,l,a]}],"backdrop-invert":[{"backdrop-invert":["",p,l,a]}],"backdrop-opacity":[{"backdrop-opacity":[p,l,a]}],"backdrop-saturate":[{"backdrop-saturate":[p,l,a]}],"backdrop-sepia":[{"backdrop-sepia":["",p,l,a]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",l,a]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[p,"initial",l,a]}],ease:[{ease:["linear","initial",R,l,a]}],delay:[{delay:[p,l,a]}],animate:[{animate:["none",_,l,a]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,l,a]}],"perspective-origin":[{"perspective-origin":F()}],rotate:[{rotate:ee()}],"rotate-x":[{"rotate-x":ee()}],"rotate-y":[{"rotate-y":ee()}],"rotate-z":[{"rotate-z":ee()}],scale:[{scale:te()}],"scale-x":[{"scale-x":te()}],"scale-y":[{"scale-y":te()}],"scale-z":[{"scale-z":te()}],"scale-3d":["scale-3d"],skew:[{skew:he()}],"skew-x":[{"skew-x":he()}],"skew-y":[{"skew-y":he()}],transform:[{transform:[l,a,"","none","gpu","cpu"]}],"transform-origin":[{origin:F()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],zoom:[{zoom:[N,l,a]}],accent:[{accent:m()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:m()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",l,a]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":m()}],"scrollbar-track-color":[{"scrollbar-track":m()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mbs":[{"scroll-mbs":f()}],"scroll-mbe":[{"scroll-mbe":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pbs":[{"scroll-pbs":f()}],"scroll-pbe":[{"scroll-pbe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",l,a]}],fill:[{fill:["none",...m()]}],"stroke-w":[{stroke:[p,Q,H,yt]}],stroke:[{stroke:["none",...m()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Pt=Rr(Qr);function Y(...e){return Pt(mt(e))}import{jsx as Xr}from"react/jsx-runtime";function Mt({className:e,...r}){return Xr(ie.Root,{"data-slot":"label",className:Y("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}import{jsx as W}from"react/jsx-runtime";var Vs=ut,Ot=B.createContext({}),Fs=({...e})=>W(Ot.Provider,{value:{name:e.name},children:W(ct,{...e})}),me=()=>{let e=B.useContext(Ot),r=B.useContext(Lt),{getFieldState:t}=dt(),s=Fe({name:e.name}),o=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:n}=r;return{id:n,name:e.name,formItemId:`${n}-form-item`,formDescriptionId:`${n}-form-item-description`,formMessageId:`${n}-form-item-message`,...o}},Lt=B.createContext({});function As({className:e,...r}){let t=B.useId();return W(Lt.Provider,{value:{id:t},children:W("div",{"data-slot":"form-item",className:Y("grid gap-2",e),...r})})}function Ss({className:e,...r}){let{error:t,formItemId:s}=me();return W(Mt,{"data-slot":"form-label","data-error":!!t,className:Y("data-[error=true]:text-destructive",e),htmlFor:s,...r})}function Cs({...e}){let{error:r,formItemId:t,formDescriptionId:s,formMessageId:o}=me();return W(ne.Root,{"data-slot":"form-control",id:t,"aria-describedby":r?`${s} ${o}`:`${s}`,"aria-invalid":!!r,...e})}function Rs({className:e,...r}){let{formDescriptionId:t}=me();return W("p",{"data-slot":"form-description",id:t,className:Y("text-sm text-muted-foreground",e),...r})}function Es({className:e,...r}){let{error:t,formMessageId:s}=me(),o=t?String(t?.message??""):r.children;return o?W("p",{"data-slot":"form-message",id:s,className:Y("text-sm text-destructive",e),...r,children:o}):null}export{Vs as Form,Cs as FormControl,Rs as FormDescription,Fs as FormField,As as FormItem,Ss as FormLabel,Es as FormMessage,me as useFormField};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:106dc170429301666ce26080f53a1bb7be946ec043e172baac206b8300bf5f96
3
+ size 39739
b/05391960291ed7748c95c5463c0114c912a7b83508c9d16cdee9e5b2e6b30736 CHANGED
@@ -1,27 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.daisyui.dock",
3
- "name": "daisyui-dock",
4
- "tier": "component",
5
- "library": "daisyui",
6
- "category": "Navigation",
7
- "upstream": "https://cdn.jsdelivr.net/npm/daisyui@5.5.23/components/dock.css",
8
- "docs": "https://daisyui.com/components/dock/",
9
- "did": "did:holo:sha256:cb025d8b235b19213bdf590e3c34e3f58ce1812f79499cfb93dc4091a19480b9",
10
- "import": "holo://sha256:cb025d8b235b19213bdf590e3c34e3f58ce1812f79499cfb93dc4091a19480b9",
11
- "integrity": "sha256-ywJdiyNbGSE731kOPDTj9YzhgS95SZz7k9xAkaGUgLk=",
12
- "kappa": "sha256:cb025d8b235b19213bdf590e3c34e3f58ce1812f79499cfb93dc4091a19480b9",
13
- "moduleKappa": "sha256:cb025d8b235b19213bdf590e3c34e3f58ce1812f79499cfb93dc4091a19480b9",
14
- "renderExport": null,
15
- "format": "css",
16
- "source": "components/dock.css",
17
- "module": "vendor/daisyui/components/dock.css",
18
- "exports": [],
19
- "bytes": 12711,
20
- "provenance": {
21
- "package": "daisyui",
22
- "version": "5.5.23",
23
- "integrity": "sha512-xuheNUSL4T6ZVtWXoioqcNkjoyGX85QTDz4HTw2aBPfqk4fuMjax5HDo8qCmpV6M1YN8bGvfx5BpYCoDeRlt+A==",
24
- "file": "components/dock.css"
25
- },
26
- "license": "MIT"
27
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4a0d9c76b1efb73419c5901a2421af0ad241f8bf2bed2d2f3d80ae9da29790c7
3
+ size 1117
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/054cba6688ece25c5c539cff176bb114e406cd1023387d85334eb0f26f3a25fb CHANGED
@@ -1,20 +1,3 @@
1
- {
2
- "id": "org.hologram.ui.example.typography-h3",
3
- "name": "typography-h3",
4
- "tier": "example",
5
- "library": "shadcn",
6
- "category": "Examples",
7
- "upstream": "https://ui.shadcn.com/r/styles/new-york-v4/typography-h3.json",
8
- "did": "did:holo:sha256:9b08589f1de6fbe81e70d8fdd8c525b6872548d45b7fe5d8977073071050c3db",
9
- "import": "holo://sha256:58cc31b460eaf2ab6d9e0c325a6881fac9c5b262c50e23e54b8881de9061da6f",
10
- "integrity": "sha256-WMwxtGDq8qttngwyWmiB+snFsmLFDiPlS4iB3pBh2m8=",
11
- "kappa": "sha256:9b08589f1de6fbe81e70d8fdd8c525b6872548d45b7fe5d8977073071050c3db",
12
- "moduleKappa": "sha256:58cc31b460eaf2ab6d9e0c325a6881fac9c5b262c50e23e54b8881de9061da6f",
13
- "renderExport": "default",
14
- "source": "registry/new-york-v4/examples/typography-h3.tsx",
15
- "module": "vendor/components/typography-h3.js",
16
- "exports": [
17
- "default"
18
- ],
19
- "license": "MIT"
20
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5bf3ffacc72c0429cfc9adf9516c42a89201c9b189e4a096a1c425f4086d959b
3
+ size 859
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/05502b8bef64ef6e3a2536edab5f7f823f8d32f677e68d42113c864be480c1a1 CHANGED
@@ -1,67 +1,3 @@
1
- import{forwardRef as ta,createElement as oa}from"react";var be=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ae=(...e)=>e.filter((t,a,o)=>!!t&&t.trim()!==""&&o.indexOf(t)===a).join(" ").trim();import{forwardRef as aa,createElement as Ae}from"react";var Pe={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var Be=aa(({color:e="currentColor",size:t=24,strokeWidth:a=2,absoluteStrokeWidth:o,className:d="",children:s,iconNode:f,...p},m)=>Ae("svg",{ref:m,...Pe,width:t,height:t,stroke:e,strokeWidth:o?Number(a)*24/Number(t):a,className:ae("lucide",d),...p},[...f.map(([i,L])=>Ae(i,L)),...Array.isArray(s)?s:[s]]));var X=(e,t)=>{let a=ta(({className:o,...d},s)=>oa(Be,{ref:s,iconNode:t,className:ae(`lucide-${be(e)}`,o),...d}));return a.displayName=`${e}`,a};var Z=X("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var J=X("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var R=X("Ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);function ye(e){var t,a,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var d=e.length;for(t=0;t<d;t++)e[t]&&(a=ye(e[t]))&&(o&&(o+=" "),o+=a)}else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function te(){for(var e,t,a=0,o="",d=arguments.length;a<d;a++)(e=arguments[a])&&(t=ye(e))&&(o&&(o+=" "),o+=t);return o}var la=(e,t)=>{let a=new Array(e.length+t.length);for(let o=0;o<e.length;o++)a[o]=e[o];for(let o=0;o<t.length;o++)a[e.length+o]=t[o];return a},ua=(e,t)=>({classGroupId:e,validator:t}),qe=(e=new Map,t=null,a)=>({nextPart:e,validators:t,classGroupId:a}),ue="-",Me=[],da="arbitrary..",ra=e=>{let t=fa(e),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:f=>{if(f.startsWith("[")&&f.endsWith("]"))return sa(f);let p=f.split(ue),m=p[0]===""&&p.length>1?1:0;return Ue(p,m,t)},getConflictingClassGroupIds:(f,p)=>{if(p){let m=o[f],i=a[f];return m?i?la(i,m):m:i||Me}return a[f]||Me}}},Ue=(e,t,a)=>{if(e.length-t===0)return a.classGroupId;let d=e[t],s=a.nextPart.get(d);if(s){let i=Ue(e,t+1,s);if(i)return i}let f=a.validators;if(f===null)return;let p=t===0?e.join(ue):e.slice(t).join(ue),m=f.length;for(let i=0;i<m;i++){let L=f[i];if(L.validator(p))return L.classGroupId}},sa=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),a=t.indexOf(":"),o=t.slice(0,a);return o?da+o:void 0})(),fa=e=>{let{theme:t,classGroups:a}=e;return ia(a,t)},ia=(e,t)=>{let a=qe();for(let o in e){let d=e[o];pe(d,a,o,t)}return a},pe=(e,t,a,o)=>{let d=e.length;for(let s=0;s<d;s++){let f=e[s];na(f,t,a,o)}},na=(e,t,a,o)=>{if(typeof e=="string"){ca(e,t,a);return}if(typeof e=="function"){pa(e,t,a,o);return}ma(e,t,a,o)},ca=(e,t,a)=>{let o=e===""?t:Oe(t,e);o.classGroupId=a},pa=(e,t,a,o)=>{if(La(e)){pe(e(o),t,a,o);return}t.validators===null&&(t.validators=[]),t.validators.push(ua(a,e))},ma=(e,t,a,o)=>{let d=Object.entries(e),s=d.length;for(let f=0;f<s;f++){let[p,m]=d[f];pe(m,Oe(t,p),a,o)}},Oe=(e,t)=>{let a=e,o=t.split(ue),d=o.length;for(let s=0;s<d;s++){let f=o[s],p=a.nextPart.get(f);p||(p=qe(),a.nextPart.set(f,p)),a=p}return a},La=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Ia=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,a=Object.create(null),o=Object.create(null),d=(s,f)=>{a[s]=f,t++,t>e&&(t=0,o=a,a=Object.create(null))};return{get(s){let f=a[s];if(f!==void 0)return f;if((f=o[s])!==void 0)return d(s,f),f},set(s,f){s in a?a[s]=f:d(s,f)}}},ce="!",Fe=":",xa=[],De=(e,t,a,o,d)=>({modifiers:e,hasImportantModifier:t,baseClassName:a,maybePostfixModifierPosition:o,isExternal:d}),Ca=e=>{let{prefix:t,experimentalParseClassName:a}=e,o=d=>{let s=[],f=0,p=0,m=0,i,L=d.length;for(let g=0;g<L;g++){let h=d[g];if(f===0&&p===0){if(h===Fe){s.push(d.slice(m,g)),m=g+1;continue}if(h==="/"){i=g;continue}}h==="["?f++:h==="]"?f--:h==="("?p++:h===")"&&p--}let I=s.length===0?d:d.slice(m),k=I,A=!1;I.endsWith(ce)?(k=I.slice(0,-1),A=!0):I.startsWith(ce)&&(k=I.slice(1),A=!0);let U=i&&i>m?i-m:void 0;return De(s,A,k,U)};if(t){let d=t+Fe,s=o;o=f=>f.startsWith(d)?s(f.slice(d.length)):De(xa,!1,f,void 0,!0)}if(a){let d=o;o=s=>a({className:s,parseClassName:d})}return o},ga=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((a,o)=>{t.set(a,1e6+o)}),a=>{let o=[],d=[];for(let s=0;s<a.length;s++){let f=a[s],p=f[0]==="[",m=t.has(f);p||m?(d.length>0&&(d.sort(),o.push(...d),d=[]),o.push(f)):d.push(f)}return d.length>0&&(d.sort(),o.push(...d)),o}},ha=e=>({cache:Ia(e.cacheSize),parseClassName:Ca(e),sortModifiers:ga(e),postfixLookupClassGroupIds:Sa(e),...ra(e)}),Sa=e=>{let t=Object.create(null),a=e.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)t[a[o]]=!0;return t},wa=/\s+/,ka=(e,t)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:d,sortModifiers:s,postfixLookupClassGroupIds:f}=t,p=[],m=e.trim().split(wa),i="";for(let L=m.length-1;L>=0;L-=1){let I=m[L],{isExternal:k,modifiers:A,hasImportantModifier:U,baseClassName:g,maybePostfixModifierPosition:h}=a(I);if(k){i=I+(i.length>0?" "+i:i);continue}let O=!!h,b;if(O){let F=g.substring(0,h);b=o(F);let r=b&&f[b]?o(g):void 0;r&&r!==b&&(b=r,O=!1)}else b=o(g);if(!b){if(!O){i=I+(i.length>0?" "+i:i);continue}if(b=o(g),!b){i=I+(i.length>0?" "+i:i);continue}O=!1}let K=A.length===0?"":A.length===1?A[0]:s(A).join(":"),V=U?K+ce:K,W=V+b;if(p.indexOf(W)>-1)continue;p.push(W);let E=d(b,O);for(let F=0;F<E.length;++F){let r=E[F];p.push(V+r)}i=I+(i.length>0?" "+i:i)}return i},ba=(...e)=>{let t=0,a,o,d="";for(;t<e.length;)(a=e[t++])&&(o=He(a))&&(d&&(d+=" "),d+=o);return d},He=e=>{if(typeof e=="string")return e;let t,a="";for(let o=0;o<e.length;o++)e[o]&&(t=He(e[o]))&&(a&&(a+=" "),a+=t);return a},Pa=(e,...t)=>{let a,o,d,s,f=m=>{let i=t.reduce((L,I)=>I(L),e());return a=ha(i),o=a.cache.get,d=a.cache.set,s=p,p(m)},p=m=>{let i=o(m);if(i)return i;let L=ka(m,a);return d(m,L),L};return s=f,(...m)=>s(ba(...m))},Aa=[],x=e=>{let t=a=>a[e]||Aa;return t.isThemeGetter=!0,t},Ge=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ze=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ba=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ya=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ma=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Fa=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Da=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ra=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,v=e=>Ba.test(e),c=e=>!!e&&!Number.isNaN(Number(e)),y=e=>!!e&&Number.isInteger(Number(e)),ne=e=>e.endsWith("%")&&c(e.slice(0,-1)),D=e=>ya.test(e),Ve=()=>!0,va=e=>Ma.test(e)&&!Fa.test(e),me=()=>!1,Ta=e=>Da.test(e),qa=e=>Ra.test(e),Ua=e=>!l(e)&&!u(e),Oa=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Ha=e=>T(e,Ne,me),l=e=>Ge.test(e),G=e=>T(e,Xe,va),Re=e=>T(e,Ka,c),Ga=e=>T(e,Ze,Ve),za=e=>T(e,Ke,me),ve=e=>T(e,We,me),Va=e=>T(e,Ee,qa),oe=e=>T(e,Je,Ta),u=e=>ze.test(e),Q=e=>z(e,Xe),Wa=e=>z(e,Ke),Te=e=>z(e,We),Ea=e=>z(e,Ne),Na=e=>z(e,Ee),le=e=>z(e,Je,!0),Xa=e=>z(e,Ze,!0),T=(e,t,a)=>{let o=Ge.exec(e);return o?o[1]?t(o[1]):a(o[2]):!1},z=(e,t,a=!1)=>{let o=ze.exec(e);return o?o[1]?t(o[1]):a:!1},We=e=>e==="position"||e==="percentage",Ee=e=>e==="image"||e==="url",Ne=e=>e==="length"||e==="size"||e==="bg-size",Xe=e=>e==="length",Ka=e=>e==="number",Ke=e=>e==="family-name",Ze=e=>e==="number"||e==="weight",Je=e=>e==="shadow";var Za=()=>{let e=x("color"),t=x("font"),a=x("text"),o=x("font-weight"),d=x("tracking"),s=x("leading"),f=x("breakpoint"),p=x("container"),m=x("spacing"),i=x("radius"),L=x("shadow"),I=x("inset-shadow"),k=x("text-shadow"),A=x("drop-shadow"),U=x("blur"),g=x("perspective"),h=x("aspect"),O=x("ease"),b=x("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],W=()=>[...V(),u,l],E=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],r=()=>[u,l,m],P=()=>[v,"full","auto",...r()],Ie=()=>[y,"none","subgrid",u,l],xe=()=>["auto",{span:["full",y,u,l]},y,u,l],j=()=>[y,"auto",u,l],Ce=()=>["auto","min","max","fr",u,l],de=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],B=()=>["auto",...r()],H=()=>[v,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...r()],re=()=>[v,"screen","full","dvw","lvw","svw","min","max","fit",...r()],se=()=>[v,"screen","full","lh","dvh","lvh","svh","min","max","fit",...r()],n=()=>[e,u,l],ge=()=>[...V(),Te,ve,{position:[u,l]}],he=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Se=()=>["auto","cover","contain",Ea,Ha,{size:[u,l]}],fe=()=>[ne,Q,G],S=()=>["","none","full",i,u,l],w=()=>["",c,Q,G],_=()=>["solid","dashed","dotted","double"],we=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[c,ne,Te,ve],ke=()=>["","none",U,u,l],Y=()=>["none",c,u,l],$=()=>["none",c,u,l],ie=()=>[c,u,l],ee=()=>[v,"full",...r()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[D],breakpoint:[D],color:[Ve],container:[D],"drop-shadow":[D],ease:["in","out","in-out"],font:[Ua],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[D],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[D],shadow:[D],spacing:["px",c],text:[D],"text-shadow":[D],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",v,l,u,h]}],container:["container"],"container-type":[{"@container":["","normal","size",u,l]}],"container-named":[Oa],columns:[{columns:[c,l,u,p]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:W()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:P()}],"inset-x":[{"inset-x":P()}],"inset-y":[{"inset-y":P()}],start:[{"inset-s":P(),start:P()}],end:[{"inset-e":P(),end:P()}],"inset-bs":[{"inset-bs":P()}],"inset-be":[{"inset-be":P()}],top:[{top:P()}],right:[{right:P()}],bottom:[{bottom:P()}],left:[{left:P()}],visibility:["visible","invisible","collapse"],z:[{z:[y,"auto",u,l]}],basis:[{basis:[v,"full","auto",p,...r()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[c,v,"auto","initial","none",l]}],grow:[{grow:["",c,u,l]}],shrink:[{shrink:["",c,u,l]}],order:[{order:[y,"first","last","none",u,l]}],"grid-cols":[{"grid-cols":Ie()}],"col-start-end":[{col:xe()}],"col-start":[{"col-start":j()}],"col-end":[{"col-end":j()}],"grid-rows":[{"grid-rows":Ie()}],"row-start-end":[{row:xe()}],"row-start":[{"row-start":j()}],"row-end":[{"row-end":j()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":Ce()}],"auto-rows":[{"auto-rows":Ce()}],gap:[{gap:r()}],"gap-x":[{"gap-x":r()}],"gap-y":[{"gap-y":r()}],"justify-content":[{justify:[...de(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...de()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":de()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:r()}],px:[{px:r()}],py:[{py:r()}],ps:[{ps:r()}],pe:[{pe:r()}],pbs:[{pbs:r()}],pbe:[{pbe:r()}],pt:[{pt:r()}],pr:[{pr:r()}],pb:[{pb:r()}],pl:[{pl:r()}],m:[{m:B()}],mx:[{mx:B()}],my:[{my:B()}],ms:[{ms:B()}],me:[{me:B()}],mbs:[{mbs:B()}],mbe:[{mbe:B()}],mt:[{mt:B()}],mr:[{mr:B()}],mb:[{mb:B()}],ml:[{ml:B()}],"space-x":[{"space-x":r()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":r()}],"space-y-reverse":["space-y-reverse"],size:[{size:H()}],"inline-size":[{inline:["auto",...re()]}],"min-inline-size":[{"min-inline":["auto",...re()]}],"max-inline-size":[{"max-inline":["none",...re()]}],"block-size":[{block:["auto",...se()]}],"min-block-size":[{"min-block":["auto",...se()]}],"max-block-size":[{"max-block":["none",...se()]}],w:[{w:[p,"screen",...H()]}],"min-w":[{"min-w":[p,"screen","none",...H()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[f]},...H()]}],h:[{h:["screen","lh",...H()]}],"min-h":[{"min-h":["screen","lh","none",...H()]}],"max-h":[{"max-h":["screen","lh",...H()]}],"font-size":[{text:["base",a,Q,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Xa,Ga]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ne,l]}],"font-family":[{font:[Wa,za,t]}],"font-features":[{"font-features":[l]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[d,u,l]}],"line-clamp":[{"line-clamp":[c,"none",u,Re]}],leading:[{leading:[s,...r()]}],"list-image":[{"list-image":["none",u,l]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",u,l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:n()}],"text-color":[{text:n()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[..._(),"wavy"]}],"text-decoration-thickness":[{decoration:[c,"from-font","auto",u,G]}],"text-decoration-color":[{decoration:n()}],"underline-offset":[{"underline-offset":[c,"auto",u,l]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:r()}],"tab-size":[{tab:[y,u,l]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",u,l]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",u,l]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ge()}],"bg-repeat":[{bg:he()}],"bg-size":[{bg:Se()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},y,u,l],radial:["",u,l],conic:[y,u,l]},Na,Va]}],"bg-color":[{bg:n()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:n()}],"gradient-via":[{via:n()}],"gradient-to":[{to:n()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-bs":[{"border-bs":w()}],"border-w-be":[{"border-be":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[..._(),"hidden","none"]}],"divide-style":[{divide:[..._(),"hidden","none"]}],"border-color":[{border:n()}],"border-color-x":[{"border-x":n()}],"border-color-y":[{"border-y":n()}],"border-color-s":[{"border-s":n()}],"border-color-e":[{"border-e":n()}],"border-color-bs":[{"border-bs":n()}],"border-color-be":[{"border-be":n()}],"border-color-t":[{"border-t":n()}],"border-color-r":[{"border-r":n()}],"border-color-b":[{"border-b":n()}],"border-color-l":[{"border-l":n()}],"divide-color":[{divide:n()}],"outline-style":[{outline:[..._(),"none","hidden"]}],"outline-offset":[{"outline-offset":[c,u,l]}],"outline-w":[{outline:["",c,Q,G]}],"outline-color":[{outline:n()}],shadow:[{shadow:["","none",L,le,oe]}],"shadow-color":[{shadow:n()}],"inset-shadow":[{"inset-shadow":["none",I,le,oe]}],"inset-shadow-color":[{"inset-shadow":n()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:n()}],"ring-offset-w":[{"ring-offset":[c,G]}],"ring-offset-color":[{"ring-offset":n()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":n()}],"text-shadow":[{"text-shadow":["none",k,le,oe]}],"text-shadow-color":[{"text-shadow":n()}],opacity:[{opacity:[c,u,l]}],"mix-blend":[{"mix-blend":[...we(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":we()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[c]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":n()}],"mask-image-linear-to-color":[{"mask-linear-to":n()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":n()}],"mask-image-t-to-color":[{"mask-t-to":n()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":n()}],"mask-image-r-to-color":[{"mask-r-to":n()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":n()}],"mask-image-b-to-color":[{"mask-b-to":n()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":n()}],"mask-image-l-to-color":[{"mask-l-to":n()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":n()}],"mask-image-x-to-color":[{"mask-x-to":n()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":n()}],"mask-image-y-to-color":[{"mask-y-to":n()}],"mask-image-radial":[{"mask-radial":[u,l]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":n()}],"mask-image-radial-to-color":[{"mask-radial-to":n()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":V()}],"mask-image-conic-pos":[{"mask-conic":[c]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":n()}],"mask-image-conic-to-color":[{"mask-conic-to":n()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ge()}],"mask-repeat":[{mask:he()}],"mask-size":[{mask:Se()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",u,l]}],filter:[{filter:["","none",u,l]}],blur:[{blur:ke()}],brightness:[{brightness:[c,u,l]}],contrast:[{contrast:[c,u,l]}],"drop-shadow":[{"drop-shadow":["","none",A,le,oe]}],"drop-shadow-color":[{"drop-shadow":n()}],grayscale:[{grayscale:["",c,u,l]}],"hue-rotate":[{"hue-rotate":[c,u,l]}],invert:[{invert:["",c,u,l]}],saturate:[{saturate:[c,u,l]}],sepia:[{sepia:["",c,u,l]}],"backdrop-filter":[{"backdrop-filter":["","none",u,l]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[c,u,l]}],"backdrop-contrast":[{"backdrop-contrast":[c,u,l]}],"backdrop-grayscale":[{"backdrop-grayscale":["",c,u,l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[c,u,l]}],"backdrop-invert":[{"backdrop-invert":["",c,u,l]}],"backdrop-opacity":[{"backdrop-opacity":[c,u,l]}],"backdrop-saturate":[{"backdrop-saturate":[c,u,l]}],"backdrop-sepia":[{"backdrop-sepia":["",c,u,l]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":r()}],"border-spacing-x":[{"border-spacing-x":r()}],"border-spacing-y":[{"border-spacing-y":r()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",u,l]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[c,"initial",u,l]}],ease:[{ease:["linear","initial",O,u,l]}],delay:[{delay:[c,u,l]}],animate:[{animate:["none",b,u,l]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,u,l]}],"perspective-origin":[{"perspective-origin":W()}],rotate:[{rotate:Y()}],"rotate-x":[{"rotate-x":Y()}],"rotate-y":[{"rotate-y":Y()}],"rotate-z":[{"rotate-z":Y()}],scale:[{scale:$()}],"scale-x":[{"scale-x":$()}],"scale-y":[{"scale-y":$()}],"scale-z":[{"scale-z":$()}],"scale-3d":["scale-3d"],skew:[{skew:ie()}],"skew-x":[{"skew-x":ie()}],"skew-y":[{"skew-y":ie()}],transform:[{transform:[u,l,"","none","gpu","cpu"]}],"transform-origin":[{origin:W()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ee()}],"translate-x":[{"translate-x":ee()}],"translate-y":[{"translate-y":ee()}],"translate-z":[{"translate-z":ee()}],"translate-none":["translate-none"],zoom:[{zoom:[y,u,l]}],accent:[{accent:n()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:n()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",u,l]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":n()}],"scrollbar-track-color":[{"scrollbar-track":n()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":r()}],"scroll-mx":[{"scroll-mx":r()}],"scroll-my":[{"scroll-my":r()}],"scroll-ms":[{"scroll-ms":r()}],"scroll-me":[{"scroll-me":r()}],"scroll-mbs":[{"scroll-mbs":r()}],"scroll-mbe":[{"scroll-mbe":r()}],"scroll-mt":[{"scroll-mt":r()}],"scroll-mr":[{"scroll-mr":r()}],"scroll-mb":[{"scroll-mb":r()}],"scroll-ml":[{"scroll-ml":r()}],"scroll-p":[{"scroll-p":r()}],"scroll-px":[{"scroll-px":r()}],"scroll-py":[{"scroll-py":r()}],"scroll-ps":[{"scroll-ps":r()}],"scroll-pe":[{"scroll-pe":r()}],"scroll-pbs":[{"scroll-pbs":r()}],"scroll-pbe":[{"scroll-pbe":r()}],"scroll-pt":[{"scroll-pt":r()}],"scroll-pr":[{"scroll-pr":r()}],"scroll-pb":[{"scroll-pb":r()}],"scroll-pl":[{"scroll-pl":r()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",u,l]}],fill:[{fill:["none",...n()]}],"stroke-w":[{stroke:[c,Q,G,Re]}],stroke:[{stroke:["none",...n()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Qe=Pa(Za);function q(...e){return Qe(te(e))}var je=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,_e=te,Ye=(e,t)=>a=>{var o;if(t?.variants==null)return _e(e,a?.class,a?.className);let{variants:d,defaultVariants:s}=t,f=Object.keys(d).map(i=>{let L=a?.[i],I=s?.[i];if(L===null)return null;let k=je(L)||je(I);return d[i][k]}),p=a&&Object.entries(a).reduce((i,L)=>{let[I,k]=L;return k===void 0||(i[I]=k),i},{}),m=t==null||(o=t.compoundVariants)===null||o===void 0?void 0:o.reduce((i,L)=>{let{class:I,className:k,...A}=L;return Object.entries(A).every(U=>{let[g,h]=U;return Array.isArray(h)?h.includes({...s,...p}[g]):{...s,...p}[g]===h})?[...i,I,k]:i},[]);return _e(e,f,m,a?.class,a?.className)};import{jsx as bt}from"react/jsx-runtime";var $e=Ye("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});import{jsx as M,jsxs as Le}from"react/jsx-runtime";function Mt({className:e,...t}){return M("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:q("mx-auto flex w-full justify-center",e),...t})}function Ft({className:e,...t}){return M("ul",{"data-slot":"pagination-content",className:q("flex flex-row items-center gap-1",e),...t})}function Dt({...e}){return M("li",{"data-slot":"pagination-item",...e})}function ea({className:e,isActive:t,size:a="icon",...o}){return M("a",{"aria-current":t?"page":void 0,"data-slot":"pagination-link","data-active":t,className:q($e({variant:t?"outline":"ghost",size:a}),e),...o})}function Rt({className:e,...t}){return Le(ea,{"aria-label":"Go to previous page",size:"default",className:q("gap-1 px-2.5 sm:pl-2.5",e),...t,children:[M(Z,{}),M("span",{className:"hidden sm:block",children:"Previous"})]})}function vt({className:e,...t}){return Le(ea,{"aria-label":"Go to next page",size:"default",className:q("gap-1 px-2.5 sm:pr-2.5",e),...t,children:[M("span",{className:"hidden sm:block",children:"Next"}),M(J,{})]})}function Tt({className:e,...t}){return Le("span",{"aria-hidden":!0,"data-slot":"pagination-ellipsis",className:q("flex size-9 items-center justify-center",e),...t,children:[M(R,{className:"size-4"}),M("span",{className:"sr-only",children:"More pages"})]})}export{Mt as Pagination,Ft as PaginationContent,Tt as PaginationEllipsis,Dt as PaginationItem,ea as PaginationLink,vt as PaginationNext,Rt as PaginationPrevious};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/chevron-left.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/icons/chevron-right.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/icons/ellipsis.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
-
60
- lucide-react/dist/esm/lucide-react.js:
61
- (**
62
- * @license lucide-react v0.456.0 - ISC
63
- *
64
- * This source code is licensed under the ISC license.
65
- * See the LICENSE file in the root directory of this source tree.
66
- *)
67
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:653d2e9e7a2882a19947eb9b792e0921c1efbebf67bfabbdfc8a609711ee0492
3
+ size 34104
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/0585b8f603c192aa7f2808b562d81a636cf7ef163f58372e4b64b5fa53c10271 CHANGED
@@ -1,214 +1,3 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
-
5
- import { cn } from "@/lib/utils"
6
-
7
- export default function Component() {
8
- return (
9
- <div className="grid aspect-video w-full max-w-md justify-center text-foreground md:grid-cols-2 [&>div]:relative [&>div]:flex [&>div]:h-[137px] [&>div]:w-[224px] [&>div]:items-center [&>div]:justify-center [&>div]:p-4">
10
- <div>
11
- <div className="absolute top-[45px] left-[-35px] z-10 text-sm font-medium">
12
- Label
13
- </div>
14
- <svg
15
- xmlns="http://www.w3.org/2000/svg"
16
- viewBox="0 0 193 40"
17
- width="50"
18
- height="12"
19
- fill="none"
20
- className="absolute top-[50px] left-[5px] z-10"
21
- >
22
- <g clipPath="url(#a)">
23
- <path
24
- fill="currentColor"
25
- d="M173.928 21.13C115.811 44.938 58.751 45.773 0 26.141c4.227-4.386 7.82-2.715 10.567-1.88 21.133 5.64 42.9 6.266 64.457 7.101 31.066 1.253 60.441-5.848 89.183-17.335 1.268-.418 2.325-1.253 4.861-2.924-14.582-2.924-29.165 2.089-41.845-3.76.212-.835.212-1.879.423-2.714 9.51-.627 19.231-1.253 28.742-2.089 9.51-.835 18.808-1.88 28.318-2.506 6.974-.418 9.933 2.924 7.397 9.19-3.17 8.145-7.608 15.664-11.623 23.391-.423.836-1.057 1.88-1.902 2.298-2.325.835-4.65 1.044-7.186 1.67-.422-2.088-1.479-4.386-1.268-6.265.423-2.506 1.902-4.595 3.804-9.19Z"
26
- />
27
- </g>
28
- <defs>
29
- <clipPath id="a">
30
- <path fill="currentColor" d="M0 0h193v40H0z" />
31
- </clipPath>
32
- </defs>
33
- </svg>
34
- <TooltipDemo
35
- label="Page Views"
36
- payload={[
37
- { name: "Desktop", value: 186, fill: "var(--chart-1)" },
38
- { name: "Mobile", value: 80, fill: "var(--chart-2)" },
39
- ]}
40
- className="w-[8rem]"
41
- />
42
- </div>
43
- <div className="items-end">
44
- <div className="absolute top-[0px] left-[122px] z-10 text-sm font-medium">
45
- Name
46
- </div>
47
- <svg
48
- xmlns="http://www.w3.org/2000/svg"
49
- width="35"
50
- height="42"
51
- fill="none"
52
- viewBox="0 0 122 148"
53
- className="absolute top-[10px] left-[85px] z-10 -scale-x-100"
54
- >
55
- <g clipPath="url(#ab)">
56
- <path
57
- fill="currentColor"
58
- d="M0 2.65c6.15-4.024 12.299-2.753 17.812-.847a115.56 115.56 0 0 1 21.84 10.59C70.4 32.727 88.849 61.744 96.483 97.54c1.908 9.108 2.544 18.639 3.817 29.017 8.481-4.871 12.934-14.402 21.416-19.909 1.061 4.236-1.06 6.989-2.756 9.319-6.998 9.531-14.207 19.062-21.63 28.382-3.604 4.448-6.36 4.871-10.177 1.059-8.058-7.837-12.935-17.368-14.42-28.382 0-.424.636-1.059 1.485-2.118 9.118 2.33 6.997 13.979 14.843 18.215 3.393-14.614.848-28.593-2.969-42.149-4.029-14.19-9.33-27.746-17.812-39.82-8.27-11.86-18.66-21.392-30.11-30.287C26.93 11.758 14.207 6.039 0 2.65Z"
59
- />
60
- </g>
61
- <defs>
62
- <clipPath id="ab">
63
- <path fill="currentColor" d="M0 0h122v148H0z" />
64
- </clipPath>
65
- </defs>
66
- </svg>
67
- <TooltipDemo
68
- label="Browser"
69
- hideLabel
70
- payload={[
71
- { name: "Chrome", value: 1286, fill: "var(--chart-3)" },
72
- { name: "Firefox", value: 1000, fill: "var(--chart-4)" },
73
- ]}
74
- indicator="dashed"
75
- className="w-[8rem]"
76
- />
77
- </div>
78
- <div className="hidden! md:flex!">
79
- <TooltipDemo
80
- label="Page Views"
81
- payload={[{ name: "Desktop", value: 12486, fill: "var(--chart-3)" }]}
82
- className="w-[9rem]"
83
- indicator="line"
84
- />
85
- </div>
86
- <div className="items-start! justify-start!">
87
- <div className="absolute top-[60px] left-[50px] z-10 text-sm font-medium">
88
- Indicator
89
- </div>
90
- <TooltipDemo
91
- label="Browser"
92
- hideLabel
93
- payload={[{ name: "Chrome", value: 1286, fill: "var(--chart-1)" }]}
94
- indicator="dot"
95
- className="w-[8rem]"
96
- />
97
- <svg
98
- xmlns="http://www.w3.org/2000/svg"
99
- width="15"
100
- height="34"
101
- fill="none"
102
- viewBox="0 0 75 175"
103
- className="absolute top-[38px] left-[30px] z-10 rotate-[-40deg]"
104
- >
105
- <g clipPath="url(#abc)">
106
- <path
107
- fill="currentColor"
108
- d="M20.187 175c-4.439-2.109-7.186-2.531-8.032-4.008-3.17-5.484-6.763-10.968-8.454-17.084-5.073-16.242-4.439-32.694-1.057-49.146 5.707-28.053 18.388-52.942 34.24-76.565 1.692-2.531 3.171-5.063 4.862-7.805 0-.21-.211-.632-.634-1.265-4.65 1.265-9.511 2.53-14.161 3.585-2.537.422-5.496.422-8.032-.421-1.48-.422-3.593-2.742-3.593-4.219 0-1.898 1.48-4.218 2.747-5.906 1.057-1.054 2.96-1.265 4.65-1.687C35.406 7.315 48.088 3.729 60.98.776c10.99-2.53 14.584 1.055 13.95 11.812-.634 11.18-.846 22.358-1.268 33.326-.212 3.375-.846 6.96-1.268 10.757-8.878-4.007-8.878-4.007-12.048-38.177C47.03 33.259 38.153 49.289 29.91 65.741 21.667 82.193 16.17 99.49 13.212 117.84c-2.959 18.984.634 36.912 6.975 57.161Z"
109
- />
110
- </g>
111
- <defs>
112
- <clipPath id="abc">
113
- <path fill="currentColor" d="M0 0h75v175H0z" />
114
- </clipPath>
115
- </defs>
116
- </svg>
117
- </div>
118
- </div>
119
- )
120
- }
121
-
122
- function TooltipDemo({
123
- indicator = "dot",
124
- label,
125
- payload,
126
- hideLabel,
127
- hideIndicator,
128
- className,
129
- }: {
130
- label: string
131
- hideLabel?: boolean
132
- hideIndicator?: boolean
133
- indicator?: "line" | "dot" | "dashed"
134
- payload: {
135
- name: string
136
- value: number
137
- fill: string
138
- }[]
139
- nameKey?: string
140
- labelKey?: string
141
- } & React.ComponentProps<"div">) {
142
- const tooltipLabel = hideLabel ? null : (
143
- <div className="font-medium">{label}</div>
144
- )
145
-
146
- if (!payload?.length) {
147
- return null
148
- }
149
-
150
- const nestLabel = payload.length === 1 && indicator !== "dot"
151
-
152
- return (
153
- <div
154
- className={cn(
155
- "grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl transition-all ease-in-out hover:-translate-y-0.5",
156
- className
157
- )}
158
- >
159
- {!nestLabel ? tooltipLabel : null}
160
- <div className="grid gap-1.5">
161
- {payload.map((item, index) => {
162
- const indicatorColor = item.fill
163
-
164
- return (
165
- <div
166
- key={index}
167
- className={cn(
168
- "flex w-full items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground",
169
- indicator === "dot" && "items-center"
170
- )}
171
- >
172
- <>
173
- {!hideIndicator && (
174
- <div
175
- className={cn(
176
- "shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
177
- {
178
- "h-2.5 w-2.5": indicator === "dot",
179
- "w-1": indicator === "line",
180
- "w-0 border-[1.5px] border-dashed bg-transparent":
181
- indicator === "dashed",
182
- "my-0.5": nestLabel && indicator === "dashed",
183
- }
184
- )}
185
- style={
186
- {
187
- "--color-bg": indicatorColor,
188
- "--color-border": indicatorColor,
189
- } as React.CSSProperties
190
- }
191
- />
192
- )}
193
- <div
194
- className={cn(
195
- "flex flex-1 justify-between leading-none",
196
- nestLabel ? "items-end" : "items-center"
197
- )}
198
- >
199
- <div className="grid gap-1.5">
200
- {nestLabel ? tooltipLabel : null}
201
- <span className="text-muted-foreground">{item.name}</span>
202
- </div>
203
- <span className="font-mono font-medium text-foreground tabular-nums">
204
- {item.value.toLocaleString()}
205
- </span>
206
- </div>
207
- </>
208
- </div>
209
- )
210
- })}
211
- </div>
212
- </div>
213
- )
214
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f5feba3eed8eb9682ea5d60c03e583883f59ea6e62c2b145cbf0d27a4f87cce
3
+ size 8110
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/05909d3d141555a0663cac4be63b7faae7e6c78bb95a9c1a74950e3b672b59dc CHANGED
@@ -1,146 +1,3 @@
1
- <!doctype html>
2
- <meta charset="utf-8">
3
- <title>forge gpu — full layer orchestration</title>
4
- <body><pre id="out">loading…</pre></body>
5
- <script type="module">
6
- // GPU orchestration of a full real-model transformer layer (Qwen2.5-0.5B blk.0),
7
- // all activations resident on GPU across the op chain, witnessed vs the CPU oracle.
8
- // rmsnorm -> GQA QKV(+bias) -> NEOX rope -> causal attention(+KV-cache) -> wo ->
9
- // residual -> ffn rmsnorm -> SwiGLU -> residual. f32 weights (quant kernels are
10
- // witnessed separately) to isolate the orchestration.
11
-
12
- const out = document.getElementById("out");
13
- const log = (s) => { out.textContent = s; };
14
- window.__fwd = { ready: false };
15
-
16
- let dev, P = {};
17
- function pipe(code) { const m = dev.createShaderModule({ code }); return dev.createComputePipeline({ layout: "auto", compute: { module: m, entryPoint: "main" } }); }
18
-
19
- const MATVEC = `
20
- @group(0) @binding(0) var<storage,read> W: array<f32>;
21
- @group(0) @binding(1) var<storage,read> x: array<f32>;
22
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
23
- @group(0) @binding(3) var<uniform> p: vec4<u32>; // (N,K)
24
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
25
- let n = g.x; let N = p.x; let K = p.y; if (n >= N) { return; }
26
- var acc = 0.0; let b = n*K;
27
- for (var k=0u;k<K;k++){ acc = acc + W[b+k]*x[k]; }
28
- y[n] = acc;
29
- }`;
30
- const ADD = `
31
- @group(0) @binding(0) var<storage,read> a: array<f32>;
32
- @group(0) @binding(1) var<storage,read> b: array<f32>;
33
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
34
- @group(0) @binding(3) var<uniform> p: vec4<u32>;
35
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
36
- let i=g.x; if (i>=p.x){return;} y[i]=a[i]+b[i];
37
- }`;
38
- const RMS = `
39
- @group(0) @binding(0) var<storage,read> x: array<f32>;
40
- @group(0) @binding(1) var<storage,read> w: array<f32>;
41
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
42
- @group(0) @binding(3) var<uniform> p: vec4<f32>; // (N, eps)
43
- @compute @workgroup_size(1) fn main() {
44
- let N=u32(p.x); var ss=0.0; for(var i=0u;i<N;i++){ ss=ss+x[i]*x[i]; }
45
- let sc=1.0/sqrt(ss/p.x+p.y); for(var i=0u;i<N;i++){ y[i]=x[i]*sc*w[i]; }
46
- }`;
47
- const ROPE = `
48
- @group(0) @binding(0) var<storage,read> x: array<f32>;
49
- @group(0) @binding(1) var<storage,read_write> y: array<f32>;
50
- @group(0) @binding(2) var<uniform> a: vec4<f32>; // (hd, nRot, nheads, pos)
51
- @group(0) @binding(3) var<uniform> b: vec4<f32>; // (freqBase)
52
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
53
- let hd=u32(a.x); let nRot=u32(a.y); let nheads=u32(a.z); let pos=a.w; let fb=b.x;
54
- let half=nRot/2u; let idx=g.x; if (idx>=nheads*half){return;}
55
- let head=idx/half; let ic=idx%half; let base=head*hd;
56
- let ts=pow(fb,-2.0/a.y); let theta=pos*pow(ts,f32(ic));
57
- let c=cos(theta); let s=sin(theta);
58
- let x0=x[base+ic]; let x1=x[base+ic+half];
59
- y[base+ic]=x0*c-x1*s; y[base+ic+half]=x0*s+x1*c;
60
- }`;
61
- const ATTN = `
62
- @group(0) @binding(0) var<storage,read> q: array<f32>;
63
- @group(0) @binding(1) var<storage,read> kc: array<f32>;
64
- @group(0) @binding(2) var<storage,read> vc: array<f32>;
65
- @group(0) @binding(3) var<storage,read_write> ctx: array<f32>;
66
- @group(0) @binding(4) var<uniform> a: vec4<u32>; // (nh, hd, curPos, kv)
67
- @group(0) @binding(5) var<uniform> b: vec4<f32>; // (scale, grp)
68
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
69
- let nh=a.x; let hd=a.y; let curPos=a.z; let kv=a.w; let scale=b.x; let grp=u32(b.y);
70
- let hh=g.x; if (hh>=nh){return;}
71
- let kvh=hh/grp; let qoff=hh*hd; let koff=kvh*hd; // integer division (f32 div was imprecise)
72
- var sc: array<f32, 64>;
73
- var mx=-3.0e38;
74
- for (var s=0u;s<=curPos;s++){ var d=0.0; for(var i=0u;i<hd;i++){ d=d+q[qoff+i]*kc[s*kv+koff+i]; } sc[s]=d*scale; if(sc[s]>mx){mx=sc[s];} }
75
- var sum=0.0; for (var s=0u;s<=curPos;s++){ sc[s]=exp(sc[s]-mx); sum=sum+sc[s]; }
76
- for (var i=0u;i<hd;i++){ var acc=0.0; for(var s=0u;s<=curPos;s++){ acc=acc+(sc[s]/sum)*vc[s*kv+koff+i]; } ctx[qoff+i]=acc; }
77
- }`;
78
- const SWIGLU = `
79
- @group(0) @binding(0) var<storage,read> gt: array<f32>;
80
- @group(0) @binding(1) var<storage,read> up: array<f32>;
81
- @group(0) @binding(2) var<storage,read_write> y: array<f32>;
82
- @group(0) @binding(3) var<uniform> p: vec4<u32>;
83
- @compute @workgroup_size(64) fn main(@builtin(global_invocation_id) g: vec3<u32>) {
84
- let i=g.x; if(i>=p.x){return;} let v=gt[i]; y[i]=(v/(1.0+exp(-v)))*up[i];
85
- }`;
86
-
87
- const u32buf = (vals) => { const b = dev.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, new Uint32Array([...vals, 0, 0, 0, 0].slice(0, 4))); return b; };
88
- const f32buf = (vals) => { const b = dev.createBuffer({ size: 16, usage: GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, new Float32Array([...vals, 0, 0, 0, 0].slice(0, 4))); return b; };
89
- const storage = (lenFloats) => dev.createBuffer({ size: Math.max(4, lenFloats * 4), usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC | GPUBufferUsage.COPY_DST });
90
- function dispatch(enc, pipeline, buffers, groups) {
91
- const bg = dev.createBindGroup({ layout: pipeline.getBindGroupLayout(0), entries: buffers.map((b, i) => ({ binding: i, resource: { buffer: b } })) });
92
- const pass = enc.beginComputePass(); pass.setPipeline(pipeline); pass.setBindGroup(0, bg); pass.dispatchWorkgroups(groups); pass.end();
93
- }
94
-
95
- async function main() {
96
- const adapter = await navigator.gpu.requestAdapter(); dev = await adapter.requestDevice();
97
- P = { matvec: pipe(MATVEC), add: pipe(ADD), rms: pipe(RMS), rope: pipe(ROPE), attn: pipe(ATTN), swiglu: pipe(SWIGLU) };
98
- const meta = await (await fetch("./layer0.json")).json();
99
- const raw = new Float32Array(await (await fetch("./layer0.bin")).arrayBuffer());
100
- const { D, NH, NHKV, HD, FF, KV, QD, EPS, FREQ, T, scale, grp, layout } = meta;
101
- const slice = (name) => raw.subarray(layout[name].off, layout[name].off + layout[name].len);
102
- // upload weights
103
- const wbuf = {};
104
- for (const n of ["wq", "bq", "wk", "bk", "wv", "bv", "wo", "attn_norm", "ffn_norm", "gate", "up", "down"]) {
105
- const a = slice(n).slice(); const b = dev.createBuffer({ size: a.byteLength, usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST }); dev.queue.writeBuffer(b, 0, a); wbuf[n] = b;
106
- }
107
- // scratch + KV cache
108
- const B = { h: storage(D), xn: storage(D), q: storage(QD), qb: storage(QD), qr: storage(QD), k: storage(KV), kb: storage(KV), kr: storage(KV), v: storage(KV), vb: storage(KV), ctx: storage(QD), ao: storage(D), fi: storage(D), xn2: storage(D), g: storage(FF), u: storage(FF), sw: storage(FF), fo: storage(D), o: storage(D), Kc: storage(T * KV), Vc: storage(T * KV) };
109
- const G = (n) => Math.ceil(n / 64);
110
- const results = [];
111
- for (let pos = 0; pos < T; pos++) {
112
- dev.queue.writeBuffer(B.h, 0, slice(`emb${pos}`).slice());
113
- const enc = dev.createCommandEncoder();
114
- dispatch(enc, P.rms, [B.h, wbuf.attn_norm, B.xn, f32buf([D, EPS])], 1);
115
- dispatch(enc, P.matvec, [wbuf.wq, B.xn, B.q, u32buf([QD, D])], G(QD));
116
- dispatch(enc, P.add, [B.q, wbuf.bq, B.qb, u32buf([QD])], G(QD));
117
- dispatch(enc, P.matvec, [wbuf.wk, B.xn, B.k, u32buf([KV, D])], G(KV));
118
- dispatch(enc, P.add, [B.k, wbuf.bk, B.kb, u32buf([KV])], G(KV));
119
- dispatch(enc, P.matvec, [wbuf.wv, B.xn, B.v, u32buf([KV, D])], G(KV));
120
- dispatch(enc, P.add, [B.v, wbuf.bv, B.vb, u32buf([KV])], G(KV));
121
- dispatch(enc, P.rope, [B.qb, B.qr, f32buf([HD, HD, NH, pos]), f32buf([FREQ])], G(NH * HD / 2));
122
- dispatch(enc, P.rope, [B.kb, B.kr, f32buf([HD, HD, NHKV, pos]), f32buf([FREQ])], G(NHKV * HD / 2));
123
- enc.copyBufferToBuffer(B.kr, 0, B.Kc, pos * KV * 4, KV * 4);
124
- enc.copyBufferToBuffer(B.vb, 0, B.Vc, pos * KV * 4, KV * 4);
125
- dispatch(enc, P.attn, [B.qr, B.Kc, B.Vc, B.ctx, u32buf([NH, HD, pos, KV]), f32buf([scale, grp])], G(NH));
126
- dispatch(enc, P.matvec, [wbuf.wo, B.ctx, B.ao, u32buf([D, QD])], G(D));
127
- dispatch(enc, P.add, [B.h, B.ao, B.fi, u32buf([D])], G(D));
128
- dispatch(enc, P.rms, [B.fi, wbuf.ffn_norm, B.xn2, f32buf([D, EPS])], 1);
129
- dispatch(enc, P.matvec, [wbuf.gate, B.xn2, B.g, u32buf([FF, D])], G(FF));
130
- dispatch(enc, P.matvec, [wbuf.up, B.xn2, B.u, u32buf([FF, D])], G(FF));
131
- dispatch(enc, P.swiglu, [B.g, B.u, B.sw, u32buf([FF])], G(FF));
132
- dispatch(enc, P.matvec, [wbuf.down, B.sw, B.fo, u32buf([D, FF])], G(D));
133
- dispatch(enc, P.add, [B.fi, B.fo, B.o, u32buf([D])], G(D));
134
- const rb = dev.createBuffer({ size: D * 4, usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ });
135
- enc.copyBufferToBuffer(B.o, 0, rb, 0, D * 4);
136
- dev.queue.submit([enc.finish()]);
137
- await rb.mapAsync(GPUMapMode.READ);
138
- results.push(Array.from(new Float32Array(rb.getMappedRange().slice(0)))); rb.unmap(); rb.destroy();
139
- }
140
- // compare to expected
141
- const cmp = results.map((got, i) => { const e = slice(`exp${i}`); let maxAbs = 0, dot = 0, na = 0, nb = 0; for (let j = 0; j < D; j++) { maxAbs = Math.max(maxAbs, Math.abs(got[j] - e[j])); dot += got[j] * e[j]; na += got[j] * got[j]; nb += e[j] * e[j]; } return { pos: i, maxAbs: +maxAbs.toExponential(2), cosine: +(dot / Math.sqrt(na * nb)).toFixed(8) }; });
142
- window.__fwd = { ready: true, cmp, sampleGot: results[3].slice(0, 3), sampleExp: [...slice("exp3").slice(0, 3)] };
143
- log("done: " + JSON.stringify(cmp));
144
- }
145
- main().catch((e) => { window.__fwd = { ready: true, error: String(e) }; log("error: " + e + "\n" + (e.stack || "")); });
146
- </script>
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cb1d53de7a031931391332e6df115095005bf92055da9c82514c3587dbb148b5
3
+ size 9405
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/059c84413a6e6c685bb8d29596e9994370f2f86316172ab9b619fe0b2327e7e1 CHANGED
@@ -1,51 +1,3 @@
1
- var na=Object.defineProperty;var pa=(e,a)=>{for(var t in a)na(e,t,{get:a[t],enumerable:!0})};import*as ee from"react";var ma=ee.forwardRef(function({href:a,replace:t,scroll:o,prefetch:l,locale:s,shallow:r,passHref:n,legacyBehavior:p,children:c,...L},I){let k=typeof a=="string"?a:a&&(a.pathname||"")||"#";return ee.createElement("a",{ref:I,href:k,...L},c)}),pe=ma;import{forwardRef as Ia,createElement as xa}from"react";var Me=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ae=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as La,createElement as Fe}from"react";var ye={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var De=La(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:l="",children:s,iconNode:r,...n},p)=>Fe("svg",{ref:p,...ye,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:ae("lucide",l),...n},[...r.map(([c,L])=>Fe(c,L)),...Array.isArray(s)?s:[s]]));var Re=(e,a)=>{let t=Ia(({className:o,...l},s)=>xa(De,{ref:s,iconNode:a,className:ae(`lucide-${Me(e)}`,o),...l}));return t.displayName=`${e}`,t};var Z=Re("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);var oe={};pa(oe,{Root:()=>ga,Slot:()=>ga,Slottable:()=>ha,createSlot:()=>Oe,createSlottable:()=>Ge});import*as g from"react";import*as qe from"react";function Te(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function Ca(...e){return a=>{let t=!1,o=e.map(l=>{let s=Te(l,a);return!t&&typeof s=="function"&&(t=!0),s});if(t)return()=>{for(let l=0;l<o.length;l++){let s=o[l];typeof s=="function"?s():Te(e[l],null)}}}}function ve(...e){return qe.useCallback(Ca(...e),e)}function Oe(e){let a=g.forwardRef((t,o)=>{let{children:l,...s}=t,r=null,n=!1,p=[];Ue(l)&&typeof te=="function"&&(l=te(l._payload)),g.Children.forEach(l,k=>{if(ba(k)){n=!0;let h=k,F="child"in h.props?h.props.child:h.props.children;Ue(F)&&typeof te=="function"&&(F=te(F._payload)),r=Sa(h,F),p.push(r?.props?.children)}else p.push(k)}),r?r=g.cloneElement(r,void 0,p):!n&&g.Children.count(l)===1&&g.isValidElement(l)&&(r=l);let c=r?ka(r):void 0,L=ve(o,c);if(!r){if(l||l===0)throw new Error(n?Ma(e):Ba(e));return l}let I=wa(s,r.props??{});return r.type!==g.Fragment&&(I.ref=o?L:c),g.cloneElement(r,I)});return a.displayName=`${e}.Slot`,a}var ga=Oe("Slot"),He=Symbol.for("radix.slottable");function Ge(e){let a=t=>"child"in t?t.children(t.child):t.children;return a.displayName=`${e}.Slottable`,a.__radixId=He,a}var ha=Ge("Slottable"),Sa=(e,a)=>{if("child"in e.props){let t=e.props.child;return g.isValidElement(t)?g.cloneElement(t,void 0,e.props.children(t.props.children)):null}return g.isValidElement(a)?a:null};function wa(e,a){let t={...a};for(let o in a){let l=e[o],s=a[o];/^on[A-Z]/.test(o)?l&&s?t[o]=(...n)=>{let p=s(...n);return l(...n),p}:l&&(t[o]=l):o==="style"?t[o]={...l,...s}:o==="className"&&(t[o]=[l,s].filter(Boolean).join(" "))}return{...e,...t}}function ka(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function ba(e){return g.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===He}var Pa=Symbol.for("react.lazy");function Ue(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===Pa&&"_payload"in e&&Aa(e._payload)}function Aa(e){return typeof e=="object"&&e!==null&&"then"in e}var Ba=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,Ma=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,te=g[" use ".trim().toString()];function ze(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var l=e.length;for(a=0;a<l;a++)e[a]&&(t=ze(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Ve(){for(var e,a,t=0,o="",l=arguments.length;t<l;t++)(e=arguments[t])&&(a=ze(e))&&(o&&(o+=" "),o+=a);return o}var ya=(e,a)=>{let t=new Array(e.length+a.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<a.length;o++)t[e.length+o]=a[o];return t},Fa=(e,a)=>({classGroupId:e,validator:a}),Je=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),ue="-",Ee=[],Da="arbitrary..",Ra=e=>{let a=qa(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:r=>{if(r.startsWith("[")&&r.endsWith("]"))return Ta(r);let n=r.split(ue),p=n[0]===""&&n.length>1?1:0;return _e(n,p,a)},getConflictingClassGroupIds:(r,n)=>{if(n){let p=o[r],c=t[r];return p?c?ya(c,p):p:c||Ee}return t[r]||Ee}}},_e=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let l=e[a],s=t.nextPart.get(l);if(s){let c=_e(e,a+1,s);if(c)return c}let r=t.validators;if(r===null)return;let n=a===0?e.join(ue):e.slice(a).join(ue),p=r.length;for(let c=0;c<p;c++){let L=r[c];if(L.validator(n))return L.classGroupId}},Ta=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let a=e.slice(1,-1),t=a.indexOf(":"),o=a.slice(0,t);return o?Da+o:void 0})(),qa=e=>{let{theme:a,classGroups:t}=e;return va(t,a)},va=(e,a)=>{let t=Je();for(let o in e){let l=e[o];Ie(l,t,o,a)}return t},Ie=(e,a,t,o)=>{let l=e.length;for(let s=0;s<l;s++){let r=e[s];Ua(r,a,t,o)}},Ua=(e,a,t,o)=>{if(typeof e=="string"){Oa(e,a,t);return}if(typeof e=="function"){Ha(e,a,t,o);return}Ga(e,a,t,o)},Oa=(e,a,t)=>{let o=e===""?a:Qe(a,e);o.classGroupId=t},Ha=(e,a,t,o)=>{if(za(e)){Ie(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(Fa(t,e))},Ga=(e,a,t,o)=>{let l=Object.entries(e),s=l.length;for(let r=0;r<s;r++){let[n,p]=l[r];Ie(p,Qe(a,n),t,o)}},Qe=(e,a)=>{let t=e,o=a.split(ue),l=o.length;for(let s=0;s<l;s++){let r=o[s],n=t.nextPart.get(r);n||(n=Je(),t.nextPart.set(r,n)),t=n}return t},za=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Va=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),l=(s,r)=>{t[s]=r,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(s){let r=t[s];if(r!==void 0)return r;if((r=o[s])!==void 0)return l(s,r),r},set(s,r){s in t?t[s]=r:l(s,r)}}},Le="!",We=":",Ea=[],Ne=(e,a,t,o,l)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:l}),Wa=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=l=>{let s=[],r=0,n=0,p=0,c,L=l.length;for(let b=0;b<L;b++){let B=l[b];if(r===0&&n===0){if(B===We){s.push(l.slice(p,b)),p=b+1;continue}if(B==="/"){c=b;continue}}B==="["?r++:B==="]"?r--:B==="("?n++:B===")"&&n--}let I=s.length===0?l:l.slice(p),k=I,h=!1;I.endsWith(Le)?(k=I.slice(0,-1),h=!0):I.startsWith(Le)&&(k=I.slice(1),h=!0);let F=c&&c>p?c-p:void 0;return Ne(s,h,k,F)};if(a){let l=a+We,s=o;o=r=>r.startsWith(l)?s(r.slice(l.length)):Ne(Ea,!1,r,void 0,!0)}if(t){let l=o;o=s=>t({className:s,parseClassName:l})}return o},Na=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],l=[];for(let s=0;s<t.length;s++){let r=t[s],n=r[0]==="[",p=a.has(r);n||p?(l.length>0&&(l.sort(),o.push(...l),l=[]),o.push(r)):l.push(r)}return l.length>0&&(l.sort(),o.push(...l)),o}},Xa=e=>({cache:Va(e.cacheSize),parseClassName:Wa(e),sortModifiers:Na(e),postfixLookupClassGroupIds:Ka(e),...Ra(e)}),Ka=e=>{let a=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)a[t[o]]=!0;return a},Za=/\s+/,Ja=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:l,sortModifiers:s,postfixLookupClassGroupIds:r}=a,n=[],p=e.trim().split(Za),c="";for(let L=p.length-1;L>=0;L-=1){let I=p[L],{isExternal:k,modifiers:h,hasImportantModifier:F,baseClassName:b,maybePostfixModifierPosition:B}=t(I);if(k){c=I+(c.length>0?" "+c:c);continue}let U=!!B,P;if(U){let R=b.substring(0,B);P=o(R);let f=P&&r[P]?o(b):void 0;f&&f!==P&&(P=f,U=!1)}else P=o(b);if(!P){if(!U){c=I+(c.length>0?" "+c:c);continue}if(P=o(b),!P){c=I+(c.length>0?" "+c:c);continue}U=!1}let K=h.length===0?"":h.length===1?h[0]:s(h).join(":"),V=F?K+Le:K,E=V+P;if(n.indexOf(E)>-1)continue;n.push(E);let W=l(P,U);for(let R=0;R<W.length;++R){let f=W[R];n.push(V+f)}c=I+(c.length>0?" "+c:c)}return c},_a=(...e)=>{let a=0,t,o,l="";for(;a<e.length;)(t=e[a++])&&(o=je(t))&&(l&&(l+=" "),l+=o);return l},je=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=je(e[o]))&&(t&&(t+=" "),t+=a);return t},Qa=(e,...a)=>{let t,o,l,s,r=p=>{let c=a.reduce((L,I)=>I(L),e());return t=Xa(c),o=t.cache.get,l=t.cache.set,s=n,n(p)},n=p=>{let c=o(p);if(c)return c;let L=Ja(p,t);return l(p,L),L};return s=r,(...p)=>s(_a(...p))},ja=[],x=e=>{let a=t=>t[e]||ja;return a.isThemeGetter=!0,a},$e=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ye=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$a=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Ya=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,et=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,at=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,tt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ot=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,q=e=>$a.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),D=e=>!!e&&Number.isInteger(Number(e)),me=e=>e.endsWith("%")&&m(e.slice(0,-1)),T=e=>Ya.test(e),ea=()=>!0,lt=e=>et.test(e)&&!at.test(e),xe=()=>!1,rt=e=>tt.test(e),ut=e=>ot.test(e),dt=e=>!u(e)&&!d(e),st=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),ft=e=>v(e,oa,xe),u=e=>$e.test(e),H=e=>v(e,la,lt),Xe=e=>v(e,xt,m),it=e=>v(e,ua,ea),ct=e=>v(e,ra,xe),Ke=e=>v(e,aa,xe),nt=e=>v(e,ta,ut),le=e=>v(e,da,rt),d=e=>Ye.test(e),J=e=>G(e,la),pt=e=>G(e,ra),Ze=e=>G(e,aa),mt=e=>G(e,oa),Lt=e=>G(e,ta),re=e=>G(e,da,!0),It=e=>G(e,ua,!0),v=(e,a,t)=>{let o=$e.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},G=(e,a,t=!1)=>{let o=Ye.exec(e);return o?o[1]?a(o[1]):t:!1},aa=e=>e==="position"||e==="percentage",ta=e=>e==="image"||e==="url",oa=e=>e==="length"||e==="size"||e==="bg-size",la=e=>e==="length",xt=e=>e==="number",ra=e=>e==="family-name",ua=e=>e==="number"||e==="weight",da=e=>e==="shadow";var Ct=()=>{let e=x("color"),a=x("font"),t=x("text"),o=x("font-weight"),l=x("tracking"),s=x("leading"),r=x("breakpoint"),n=x("container"),p=x("spacing"),c=x("radius"),L=x("shadow"),I=x("inset-shadow"),k=x("text-shadow"),h=x("drop-shadow"),F=x("blur"),b=x("perspective"),B=x("aspect"),U=x("ease"),P=x("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...V(),d,u],W=()=>["auto","hidden","clip","visible","scroll"],R=()=>["auto","contain","none"],f=()=>[d,u,p],A=()=>[q,"full","auto",...f()],he=()=>[D,"none","subgrid",d,u],Se=()=>["auto",{span:["full",D,d,u]},D,d,u],_=()=>[D,"auto",d,u],we=()=>["auto","min","max","fr",d,u],se=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],N=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...f()],O=()=>[q,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],fe=()=>[q,"screen","full","dvw","lvw","svw","min","max","fit",...f()],ie=()=>[q,"screen","full","lh","dvh","lvh","svh","min","max","fit",...f()],i=()=>[e,d,u],ke=()=>[...V(),Ze,Ke,{position:[d,u]}],be=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Pe=()=>["auto","cover","contain",mt,ft,{size:[d,u]}],ce=()=>[me,J,H],S=()=>["","none","full",c,d,u],w=()=>["",m,J,H],Q=()=>["solid","dashed","dotted","double"],Ae=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[m,me,Ze,Ke],Be=()=>["","none",F,d,u],j=()=>["none",m,d,u],$=()=>["none",m,d,u],ne=()=>[m,d,u],Y=()=>[q,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[T],breakpoint:[T],color:[ea],container:[T],"drop-shadow":[T],ease:["in","out","in-out"],font:[dt],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[T],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[T],shadow:[T],spacing:["px",m],text:[T],"text-shadow":[T],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",q,u,d,B]}],container:["container"],"container-type":[{"@container":["","normal","size",d,u]}],"container-named":[st],columns:[{columns:[m,u,d,n]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:W()}],"overflow-x":[{"overflow-x":W()}],"overflow-y":[{"overflow-y":W()}],overscroll:[{overscroll:R()}],"overscroll-x":[{"overscroll-x":R()}],"overscroll-y":[{"overscroll-y":R()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[D,"auto",d,u]}],basis:[{basis:[q,"full","auto",n,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,q,"auto","initial","none",u]}],grow:[{grow:["",m,d,u]}],shrink:[{shrink:["",m,d,u]}],order:[{order:[D,"first","last","none",d,u]}],"grid-cols":[{"grid-cols":he()}],"col-start-end":[{col:Se()}],"col-start":[{"col-start":_()}],"col-end":[{"col-end":_()}],"grid-rows":[{"grid-rows":he()}],"row-start-end":[{row:Se()}],"row-start":[{"row-start":_()}],"row-end":[{"row-end":_()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":we()}],"auto-rows":[{"auto-rows":we()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...se(),"normal"]}],"justify-items":[{"justify-items":[...N(),"normal"]}],"justify-self":[{"justify-self":["auto",...N()]}],"align-content":[{content:["normal",...se()]}],"align-items":[{items:[...N(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...N(),{baseline:["","last"]}]}],"place-content":[{"place-content":se()}],"place-items":[{"place-items":[...N(),"baseline"]}],"place-self":[{"place-self":["auto",...N()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pbs:[{pbs:f()}],pbe:[{pbe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...fe()]}],"min-inline-size":[{"min-inline":["auto",...fe()]}],"max-inline-size":[{"max-inline":["none",...fe()]}],"block-size":[{block:["auto",...ie()]}],"min-block-size":[{"min-block":["auto",...ie()]}],"max-block-size":[{"max-block":["none",...ie()]}],w:[{w:[n,"screen",...O()]}],"min-w":[{"min-w":[n,"screen","none",...O()]}],"max-w":[{"max-w":[n,"screen","none","prose",{screen:[r]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",t,J,H]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,It,it]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",me,u]}],"font-family":[{font:[pt,ct,a]}],"font-features":[{"font-features":[u]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[l,d,u]}],"line-clamp":[{"line-clamp":[m,"none",d,Xe]}],leading:[{leading:[s,...f()]}],"list-image":[{"list-image":["none",d,u]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",d,u]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:i()}],"text-color":[{text:i()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Q(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",d,H]}],"text-decoration-color":[{decoration:i()}],"underline-offset":[{"underline-offset":[m,"auto",d,u]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"tab-size":[{tab:[D,d,u]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",d,u]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",d,u]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ke()}],"bg-repeat":[{bg:be()}],"bg-size":[{bg:Pe()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},D,d,u],radial:["",d,u],conic:[D,d,u]},Lt,nt]}],"bg-color":[{bg:i()}],"gradient-from-pos":[{from:ce()}],"gradient-via-pos":[{via:ce()}],"gradient-to-pos":[{to:ce()}],"gradient-from":[{from:i()}],"gradient-via":[{via:i()}],"gradient-to":[{to:i()}],rounded:[{rounded:S()}],"rounded-s":[{"rounded-s":S()}],"rounded-e":[{"rounded-e":S()}],"rounded-t":[{"rounded-t":S()}],"rounded-r":[{"rounded-r":S()}],"rounded-b":[{"rounded-b":S()}],"rounded-l":[{"rounded-l":S()}],"rounded-ss":[{"rounded-ss":S()}],"rounded-se":[{"rounded-se":S()}],"rounded-ee":[{"rounded-ee":S()}],"rounded-es":[{"rounded-es":S()}],"rounded-tl":[{"rounded-tl":S()}],"rounded-tr":[{"rounded-tr":S()}],"rounded-br":[{"rounded-br":S()}],"rounded-bl":[{"rounded-bl":S()}],"border-w":[{border:w()}],"border-w-x":[{"border-x":w()}],"border-w-y":[{"border-y":w()}],"border-w-s":[{"border-s":w()}],"border-w-e":[{"border-e":w()}],"border-w-bs":[{"border-bs":w()}],"border-w-be":[{"border-be":w()}],"border-w-t":[{"border-t":w()}],"border-w-r":[{"border-r":w()}],"border-w-b":[{"border-b":w()}],"border-w-l":[{"border-l":w()}],"divide-x":[{"divide-x":w()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":w()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Q(),"hidden","none"]}],"divide-style":[{divide:[...Q(),"hidden","none"]}],"border-color":[{border:i()}],"border-color-x":[{"border-x":i()}],"border-color-y":[{"border-y":i()}],"border-color-s":[{"border-s":i()}],"border-color-e":[{"border-e":i()}],"border-color-bs":[{"border-bs":i()}],"border-color-be":[{"border-be":i()}],"border-color-t":[{"border-t":i()}],"border-color-r":[{"border-r":i()}],"border-color-b":[{"border-b":i()}],"border-color-l":[{"border-l":i()}],"divide-color":[{divide:i()}],"outline-style":[{outline:[...Q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,d,u]}],"outline-w":[{outline:["",m,J,H]}],"outline-color":[{outline:i()}],shadow:[{shadow:["","none",L,re,le]}],"shadow-color":[{shadow:i()}],"inset-shadow":[{"inset-shadow":["none",I,re,le]}],"inset-shadow-color":[{"inset-shadow":i()}],"ring-w":[{ring:w()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:i()}],"ring-offset-w":[{"ring-offset":[m,H]}],"ring-offset-color":[{"ring-offset":i()}],"inset-ring-w":[{"inset-ring":w()}],"inset-ring-color":[{"inset-ring":i()}],"text-shadow":[{"text-shadow":["none",k,re,le]}],"text-shadow-color":[{"text-shadow":i()}],opacity:[{opacity:[m,d,u]}],"mix-blend":[{"mix-blend":[...Ae(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":Ae()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":i()}],"mask-image-linear-to-color":[{"mask-linear-to":i()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":i()}],"mask-image-t-to-color":[{"mask-t-to":i()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":i()}],"mask-image-r-to-color":[{"mask-r-to":i()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":i()}],"mask-image-b-to-color":[{"mask-b-to":i()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":i()}],"mask-image-l-to-color":[{"mask-l-to":i()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":i()}],"mask-image-x-to-color":[{"mask-x-to":i()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":i()}],"mask-image-y-to-color":[{"mask-y-to":i()}],"mask-image-radial":[{"mask-radial":[d,u]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":i()}],"mask-image-radial-to-color":[{"mask-radial-to":i()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":V()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":i()}],"mask-image-conic-to-color":[{"mask-conic-to":i()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ke()}],"mask-repeat":[{mask:be()}],"mask-size":[{mask:Pe()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",d,u]}],filter:[{filter:["","none",d,u]}],blur:[{blur:Be()}],brightness:[{brightness:[m,d,u]}],contrast:[{contrast:[m,d,u]}],"drop-shadow":[{"drop-shadow":["","none",h,re,le]}],"drop-shadow-color":[{"drop-shadow":i()}],grayscale:[{grayscale:["",m,d,u]}],"hue-rotate":[{"hue-rotate":[m,d,u]}],invert:[{invert:["",m,d,u]}],saturate:[{saturate:[m,d,u]}],sepia:[{sepia:["",m,d,u]}],"backdrop-filter":[{"backdrop-filter":["","none",d,u]}],"backdrop-blur":[{"backdrop-blur":Be()}],"backdrop-brightness":[{"backdrop-brightness":[m,d,u]}],"backdrop-contrast":[{"backdrop-contrast":[m,d,u]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,d,u]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,d,u]}],"backdrop-invert":[{"backdrop-invert":["",m,d,u]}],"backdrop-opacity":[{"backdrop-opacity":[m,d,u]}],"backdrop-saturate":[{"backdrop-saturate":[m,d,u]}],"backdrop-sepia":[{"backdrop-sepia":["",m,d,u]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",d,u]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",d,u]}],ease:[{ease:["linear","initial",U,d,u]}],delay:[{delay:[m,d,u]}],animate:[{animate:["none",P,d,u]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,d,u]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:j()}],"rotate-x":[{"rotate-x":j()}],"rotate-y":[{"rotate-y":j()}],"rotate-z":[{"rotate-z":j()}],scale:[{scale:$()}],"scale-x":[{"scale-x":$()}],"scale-y":[{"scale-y":$()}],"scale-z":[{"scale-z":$()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[d,u,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],zoom:[{zoom:[D,d,u]}],accent:[{accent:i()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:i()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",d,u]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":i()}],"scrollbar-track-color":[{"scrollbar-track":i()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mbs":[{"scroll-mbs":f()}],"scroll-mbe":[{"scroll-mbe":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pbs":[{"scroll-pbs":f()}],"scroll-pbe":[{"scroll-pbe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",d,u]}],fill:[{fill:["none",...i()]}],"stroke-w":[{stroke:[m,J,H,Xe]}],stroke:[{stroke:["none",...i()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var sa=Qa(Ct);function X(...e){return sa(Ve(e))}import{jsx as z,jsxs as Qt}from"react/jsx-runtime";function fa({...e}){return z("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...e})}function ia({className:e,...a}){return z("ol",{"data-slot":"breadcrumb-list",className:X("flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5",e),...a})}function de({className:e,...a}){return z("li",{"data-slot":"breadcrumb-item",className:X("inline-flex items-center gap-1.5",e),...a})}function Ce({asChild:e,className:a,...t}){let o=e?oe.Root:"a";return z(o,{"data-slot":"breadcrumb-link",className:X("transition-colors hover:text-foreground",a),...t})}function ca({className:e,...a}){return z("span",{"data-slot":"breadcrumb-page",role:"link","aria-disabled":"true","aria-current":"page",className:X("font-normal text-foreground",e),...a})}function ge({children:e,className:a,...t}){return z("li",{"data-slot":"breadcrumb-separator",role:"presentation","aria-hidden":"true",className:X("[&>svg]:size-3.5",a),...t,children:e??z(Z,{})})}import{jsx as y,jsxs as ht}from"react/jsx-runtime";function gt(){return y(fa,{children:ht(ia,{children:[y(de,{children:y(Ce,{asChild:!0,children:y(pe,{href:"/",children:"Home"})})}),y(ge,{}),y(de,{children:y(Ce,{asChild:!0,children:y(pe,{href:"/components",children:"Components"})})}),y(ge,{}),y(de,{children:y(ca,{children:"Breadcrumb"})})]})})}export{gt as default};
2
- /*! Bundled license information:
3
-
4
- lucide-react/dist/esm/shared/src/utils.js:
5
- (**
6
- * @license lucide-react v0.456.0 - ISC
7
- *
8
- * This source code is licensed under the ISC license.
9
- * See the LICENSE file in the root directory of this source tree.
10
- *)
11
-
12
- lucide-react/dist/esm/defaultAttributes.js:
13
- (**
14
- * @license lucide-react v0.456.0 - ISC
15
- *
16
- * This source code is licensed under the ISC license.
17
- * See the LICENSE file in the root directory of this source tree.
18
- *)
19
-
20
- lucide-react/dist/esm/Icon.js:
21
- (**
22
- * @license lucide-react v0.456.0 - ISC
23
- *
24
- * This source code is licensed under the ISC license.
25
- * See the LICENSE file in the root directory of this source tree.
26
- *)
27
-
28
- lucide-react/dist/esm/createLucideIcon.js:
29
- (**
30
- * @license lucide-react v0.456.0 - ISC
31
- *
32
- * This source code is licensed under the ISC license.
33
- * See the LICENSE file in the root directory of this source tree.
34
- *)
35
-
36
- lucide-react/dist/esm/icons/chevron-right.js:
37
- (**
38
- * @license lucide-react v0.456.0 - ISC
39
- *
40
- * This source code is licensed under the ISC license.
41
- * See the LICENSE file in the root directory of this source tree.
42
- *)
43
-
44
- lucide-react/dist/esm/lucide-react.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f2ba6292bd04eade6ba53e08f51a0613cffaf2b95c494b9476638f499900ac43
3
+ size 34096
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/05b278d12b7101c796f4377aba28fc98899b9ec28dbad33469708e71e8fcf6e5 CHANGED
@@ -1 +1,3 @@
1
- {"vocab": 248320, "eos": [248046, 248044], "ctx": true, "max_len": 256, "d": 320, "r": 32, "layers": 5}
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ab95e3a6ef1b6508583cfbc1cbe5e901152aa928f04c9f3dc4e04636d7f0e16
3
+ size 103
b/05d5d96082c0baec31176021759fcadb2645f11a124f9e0c03441cf38bd691d4 CHANGED
@@ -1,109 +1,3 @@
1
- // Browser κ-DISK reader — the in-browser realization of holospaces' KappaDisk
2
- // (crates/holospaces/src/disk.rs) for qvac. The model's weights live in the
3
- // substrate as κ-addressed sectors (KappaStore = the served .qvf, addressed by
4
- // sector κ). Every sector read is RE-DERIVED against its κ-label
5
- // (sha256(bytes)===κ → verify-by-re-derivation, the substrate law) and kept in a
6
- // content-keyed read-through cache (Law L3: RAM is a bounded cache of the
7
- // canonical store). The model is one verified, teleportable `image_kappa`.
8
- //
9
- // Exposes rr(off,len) over the virtual disk image, so qvac's loader (header →
10
- // tokenizer, singles, per-layer frames, MoE experts) reads through the substrate
11
- // unchanged. The peer realizes the matmuls on its GPU.
12
-
13
- const G = (typeof window !== "undefined" ? window : globalThis);
14
- G.__kdcache = G.__kdcache || new Map(); // κ → Uint8Array (content-keyed, shared across loads/peers)
15
- G.__kdinflight = G.__kdinflight || new Map(); // κ → Promise
16
- let CACHE_SECTORS = 1024; // bound (KappaDisk CACHE_CAPACITY); LRU. ~1GB @1MB — kept small so kd-cache + engine expert-cache + embed stay under the renderer's ~4GB cap
17
- if (typeof window !== "undefined" && window.__kdCacheSectors) CACHE_SECTORS = window.__kdCacheSectors;
18
-
19
- // Bound concurrent source fetches — HTTP/1.0 opens a connection per request, so
20
- // too many at once exhausts the browser's per-host pool ("Failed to fetch"). A
21
- // small gate keeps us under it. (With keep-alive or multi-source this would widen.)
22
- const GATE_MAX = 12; // global concurrent fetches, spread across source origins
23
- G.__kdgate = G.__kdgate || { active: 0, q: [] };
24
- function acquire() { const g = G.__kdgate; if (g.active < GATE_MAX) { g.active++; return Promise.resolve(); } return new Promise((res) => g.q.push(res)).then(() => { g.active++; }); }
25
- function release() { const g = G.__kdgate; g.active--; const n = g.q.shift(); if (n) n(); }
26
-
27
- const hex = (buf) => { const b = new Uint8Array(buf); let s = ""; for (let i = 0; i < b.length; i++) s += b[i].toString(16).padStart(2, "0"); return s; };
28
-
29
- // A MULTI-SOURCE κ-disk. `index` = the .kdisk.json; `sources` = data-file URLs
30
- // (different origins: local disk, LAN peers, CDN). Because every sector is
31
- // verified by re-derivation, sources are never trusted — a wrong/corrupt/missing
32
- // byte stream is rejected and another source is tried. Sectors are round-robined
33
- // across sources so multiple links carry the load in parallel (bandwidth
34
- // aggregation) AND a wedged/slow source just fails over to the next (resilience).
35
- export function makeKDisk({ index, sources, dataUrl, verify = true }) {
36
- const SS = index.sectorSize, sectors = index.sectors, fileSize = index.fileSize;
37
- const cache = G.__kdcache, inflight = G.__kdinflight;
38
- const SRC = (sources && sources.length) ? sources : [dataUrl];
39
- let fetched = 0, verified = 0, hits = 0;
40
- const perSource = SRC.map(() => 0);
41
-
42
- // ONE coalesced multi-source HTTP fetch of [absOff, absOff+length) — big base in
43
- // the URL (small Range header, dodging Chromium's large-offset hang), rotating
44
- // sources for aggregation, patient failover (κ-verified ⇒ retry is always safe).
45
- const evict = (k) => { while (cache.size >= CACHE_SECTORS && !cache.has(k)) { const o = cache.keys().next().value; cache.delete(o); } };
46
- let reqId = 0; // per-request source rotation → spread load across origins (aggregation)
47
- async function fetchRange(absOff, length) {
48
- const base = reqId++;
49
- let bytes = null, lastErr;
50
- for (let attempt = 0; attempt < 20 && !bytes; attempt++) {
51
- const s = (base + attempt) % SRC.length;
52
- try {
53
- if (attempt) await new Promise((res) => setTimeout(res, Math.min(1500, 40 * Math.pow(1.6, attempt))));
54
- await acquire();
55
- try {
56
- const r = await fetch(SRC[s] + "?base=" + absOff, { headers: { Range: `bytes=0-${length - 1}` } });
57
- if (!r.ok && r.status !== 206) throw new Error("HTTP " + r.status);
58
- bytes = new Uint8Array(await r.arrayBuffer());
59
- } finally { release(); }
60
- if (bytes.length !== length) { lastErr = new Error("short read"); bytes = null; continue; }
61
- perSource[s]++;
62
- } catch (e) { lastErr = e; }
63
- }
64
- if (!bytes) throw new Error(`κ-disk range ${absOff}+${length} unresolvable across ${SRC.length} sources: ${lastErr}`);
65
- fetched++;
66
- return bytes;
67
- }
68
-
69
- return {
70
- imageKappa: index.imageKappa,
71
- qvf: index.qvf,
72
- sources: SRC,
73
- stats: () => ({ fetched, verified, hits, cached: cache.size, perSource, sources: SRC.length, distinctSectors: index.distinctSectors, sectorCount: index.sectorCount }),
74
- // read [off, off+len): assemble from the content cache where possible; for the
75
- // uncached part, ONE coalesced fetch covering the whole range, then verify +
76
- // cache each FULL sector it spans (still content-addressed: each κ re-derived).
77
- rr: async (off, len) => {
78
- const out = new Uint8Array(len);
79
- const f0 = Math.floor(off / SS), f1 = Math.floor((off + len - 1) / SS);
80
- let allCached = true;
81
- for (let si = f0; si <= f1; si++) if (!cache.has(sectors[si])) { allCached = false; break; }
82
- if (allCached) { // 0 fetches — pure cache hit
83
- let done = 0, si = f0, within = off - si * SS;
84
- while (done < len) { const sec = cache.get(sectors[si]); cache.delete(sectors[si]); cache.set(sectors[si], sec); const take = Math.min(sec.length - within, len - done); out.set(sec.subarray(within, within + take), done); done += take; si++; within = 0; }
85
- hits++; return out;
86
- }
87
- const raw = await fetchRange(off, len); // 1 HTTP fetch for the whole range
88
- out.set(raw, 0);
89
- for (let si = f0; si <= f1; si++) { // verify + cache the FULL sectors covered
90
- const sStart = si * SS, sEnd = Math.min(sStart + SS, fileSize);
91
- if (sStart >= off && sEnd <= off + len && !cache.has(sectors[si])) {
92
- const sub = raw.subarray(sStart - off, sEnd - off);
93
- if (verify) { const got = index.axis + ":" + hex(await crypto.subtle.digest("SHA-256", sub)); if (got !== sectors[si]) throw new Error(`κ MISMATCH sector ${si}`); verified++; }
94
- evict(sectors[si]); cache.set(sectors[si], new Uint8Array(sub));
95
- }
96
- }
97
- return out;
98
- },
99
- // verify the disk INDEX itself re-derives to image_kappa (KappaDisk::image_kappa)
100
- verifyImage: async () => {
101
- const enc = new TextEncoder().encode(index.imageIri || "https://uor.foundation/holospaces/realization/kappa-disk");
102
- const parts = [enc, new Uint8Array([0])];
103
- for (const k of sectors) { const h = k.split(":")[1]; const b = new Uint8Array(h.length / 2); for (let i = 0; i < b.length; i++) b[i] = parseInt(h.substr(i * 2, 2), 16); parts.push(b); }
104
- let total = 0; for (const p of parts) total += p.length; const all = new Uint8Array(total); let o = 0; for (const p of parts) { all.set(p, o); o += p.length; }
105
- const got = index.axis + ":" + hex(await crypto.subtle.digest("SHA-256", all));
106
- return { ok: got === index.imageKappa, got, expected: index.imageKappa };
107
- },
108
- };
109
- }
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a83e882c2cbb49278a239dc70df4026841e9a5185c84871e9f049b6a45890176
3
+ size 7242
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b/05ddcab3177064eb8198a3edcdf993cfff6e6386791fe60d807b00e5a854dacb CHANGED
@@ -1,7 +1,3 @@
1
- import toast from './object.js';
2
- import { addPrefix } from '../../functions/addPrefix.js';
3
-
4
- export default ({ addComponents, prefix = '' }) => {
5
- const prefixedtoast = addPrefix(toast, prefix);
6
- addComponents({ ...prefixedtoast });
7
- };
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1dfa72e4a329ca66dc27d86783de874858bec36b056df5e070662266ed5e84ee
3
+ size 237
 
 
 
 
b/05e90acb133117e2237b9bca7293db457928e119803758a9cadfcbffbbfd8484 CHANGED
@@ -1 +1,3 @@
1
- export default {".status":{"@layer daisyui.l1.l2.l3":{"display":"inline-block","aspect-ratio":"1 / 1","width":"calc(0.25rem * 2)","height":"calc(0.25rem * 2)","border-radius":"var(--radius-selector)","background-color":"color-mix(in oklab, var(--color-base-content) 20%, transparent)","background-position":"center","background-repeat":"no-repeat","vertical-align":"middle","color":"color-mix(in oklab, var(--color-black) 30%, transparent)","background-image":"radial-gradient( circle at 35% 30%, oklch(1 0 0 / calc(var(--depth) * 0.5)), #0000 )","box-shadow":"0 2px 3px -1px color-mix(in oklab, currentColor calc(var(--depth) * 100%), #0000)"}},".status-primary":{"@layer daisyui.l1.l2":{"background-color":"var(--color-primary)","color":"var(--color-primary)"}},".status-secondary":{"@layer daisyui.l1.l2":{"background-color":"var(--color-secondary)","color":"var(--color-secondary)"}},".status-accent":{"@layer daisyui.l1.l2":{"background-color":"var(--color-accent)","color":"var(--color-accent)"}},".status-neutral":{"@layer daisyui.l1.l2":{"background-color":"var(--color-neutral)","color":"var(--color-neutral)"}},".status-info":{"@layer daisyui.l1.l2":{"background-color":"var(--color-info)","color":"var(--color-info)"}},".status-success":{"@layer daisyui.l1.l2":{"background-color":"var(--color-success)","color":"var(--color-success)"}},".status-warning":{"@layer daisyui.l1.l2":{"background-color":"var(--color-warning)","color":"var(--color-warning)"}},".status-error":{"@layer daisyui.l1.l2":{"background-color":"var(--color-error)","color":"var(--color-error)"}},".status-xs":{"@layer daisyui.l1.l2":{"width":"calc(0.25rem * 0.5)","height":"calc(0.25rem * 0.5)"}},".status-sm":{"@layer daisyui.l1.l2":{"width":"calc(0.25rem * 1)","height":"calc(0.25rem * 1)"}},".status-md":{"@layer daisyui.l1.l2":{"width":"calc(0.25rem * 2)","height":"calc(0.25rem * 2)"}},".status-lg":{"@layer daisyui.l1.l2":{"width":"calc(0.25rem * 3)","height":"calc(0.25rem * 3)"}},".status-xl":{"@layer daisyui.l1.l2":{"width":"calc(0.25rem * 4)","height":"calc(0.25rem * 4)"}}};
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4e99a6ae60da25eb8ffc6d1bbbfce70489a89b1fc0eac1493b4192830d522eff
3
+ size 2068
b/0604e56c6852fd527fbf6151eefcbeba39ba0847a8ed15fe338c6db6b946358a CHANGED
@@ -1,99 +1,3 @@
1
- var es=Object.defineProperty;var st=(e,a)=>{for(var t in a)es(e,t,{get:a[t],enumerable:!0})};import{forwardRef as ts,createElement as os}from"react";var oo=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wa=(...e)=>e.filter((a,t,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===t).join(" ").trim();import{forwardRef as as,createElement as lo}from"react";var ro={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var so=as(({color:e="currentColor",size:a=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:r="",children:l,iconNode:s,...u},d)=>lo("svg",{ref:d,...ro,width:a,height:a,stroke:e,strokeWidth:o?Number(t)*24/Number(a):t,className:wa("lucide",r),...u},[...s.map(([n,f])=>lo(n,f)),...Array.isArray(l)?l:[l]]));var va=(e,a)=>{let t=ts(({className:o,...r},l)=>os(so,{ref:l,iconNode:a,className:wa(`lucide-${oo(e)}`,o),...r}));return t.displayName=`${e}`,t};var ua=va("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var na=va("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);function uo(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(a=0;a<r;a++)e[a]&&(t=uo(e[a]))&&(o&&(o+=" "),o+=t)}else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function ba(){for(var e,a,t=0,o="",r=arguments.length;t<r;t++)(e=arguments[t])&&(a=uo(e))&&(o&&(o+=" "),o+=a);return o}var no=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,fo=ba,ya=(e,a)=>t=>{var o;if(a?.variants==null)return fo(e,t?.class,t?.className);let{variants:r,defaultVariants:l}=a,s=Object.keys(r).map(n=>{let f=t?.[n],i=l?.[n];if(f===null)return null;let c=no(f)||no(i);return r[n][c]}),u=t&&Object.entries(t).reduce((n,f)=>{let[i,c]=f;return c===void 0||(n[i]=c),n},{}),d=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((n,f)=>{let{class:i,className:c,...p}=f;return Object.entries(p).every(h=>{let[m,x]=h;return Array.isArray(x)?x.includes({...l,...u}[m]):{...l,...u}[m]===x})?[...n,i,c]:n},[]);return fo(e,s,d,t?.class,t?.className)};import*as xo from"react";import*as Lo from"react-dom";var Ra={};st(Ra,{Root:()=>ls,Slot:()=>ls,Slottable:()=>ss,createSlot:()=>je,createSlottable:()=>ho});import*as $ from"react";import*as co from"react";function io(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function rs(...e){return a=>{let t=!1,o=e.map(r=>{let l=io(r,a);return!t&&typeof l=="function"&&(t=!0),l});if(t)return()=>{for(let r=0;r<o.length;r++){let l=o[r];typeof l=="function"?l():io(e[r],null)}}}}function re(...e){return co.useCallback(rs(...e),e)}function je(e){let a=$.forwardRef((t,o)=>{let{children:r,...l}=t,s=null,u=!1,d=[];po(r)&&typeof Pa=="function"&&(r=Pa(r._payload)),$.Children.forEach(r,c=>{if(fs(c)){u=!0;let p=c,h="child"in p.props?p.props.child:p.props.children;po(h)&&typeof Pa=="function"&&(h=Pa(h._payload)),s=us(p,h),d.push(s?.props?.children)}else d.push(c)}),s?s=$.cloneElement(s,void 0,d):!u&&$.Children.count(r)===1&&$.isValidElement(r)&&(s=r);let n=s?ds(s):void 0,f=re(o,n);if(!s){if(r||r===0)throw new Error(u?ms(e):ps(e));return r}let i=ns(l,s.props??{});return s.type!==$.Fragment&&(i.ref=o?f:n),$.cloneElement(s,i)});return a.displayName=`${e}.Slot`,a}var ls=je("Slot"),mo=Symbol.for("radix.slottable");function ho(e){let a=t=>"child"in t?t.children(t.child):t.children;return a.displayName=`${e}.Slottable`,a.__radixId=mo,a}var ss=ho("Slottable"),us=(e,a)=>{if("child"in e.props){let t=e.props.child;return $.isValidElement(t)?$.cloneElement(t,void 0,e.props.children(t.props.children)):null}return $.isValidElement(a)?a:null};function ns(e,a){let t={...a};for(let o in a){let r=e[o],l=a[o];/^on[A-Z]/.test(o)?r&&l?t[o]=(...u)=>{let d=l(...u);return r(...u),d}:r&&(t[o]=r):o==="style"?t[o]={...r,...l}:o==="className"&&(t[o]=[r,l].filter(Boolean).join(" "))}return{...e,...t}}function ds(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}function fs(e){return $.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===mo}var is=Symbol.for("react.lazy");function po(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===is&&"_payload"in e&&cs(e._payload)}function cs(e){return typeof e=="object"&&e!==null&&"then"in e}var ps=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,ms=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Pa=$[" use ".trim().toString()];import{jsx as hs}from"react/jsx-runtime";var xs=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Z=xs.reduce((e,a)=>{let t=je(`Primitive.${a}`),o=xo.forwardRef((r,l)=>{let{asChild:s,...u}=r,d=s?t:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),hs(d,{...u,ref:l})});return o.displayName=`Primitive.${a}`,{...e,[a]:o}},{});function go(e,a){e&&Lo.flushSync(()=>e.dispatchEvent(a))}import*as we from"react";import{jsx as Ls}from"react/jsx-runtime";function ka(e,a=[]){let t=[];function o(l,s){let u=we.createContext(s);u.displayName=l+"Context";let d=t.length;t=[...t,s];let n=i=>{let{scope:c,children:p,...h}=i,m=c?.[e]?.[d]||u,x=we.useMemo(()=>h,Object.values(h));return Ls(m.Provider,{value:x,children:p})};n.displayName=l+"Provider";function f(i,c){let p=c?.[e]?.[d]||u,h=we.useContext(p);if(h)return h;if(s!==void 0)return s;throw new Error(`\`${i}\` must be used within \`${l}\``)}return[n,f]}let r=()=>{let l=t.map(s=>we.createContext(s));return function(u){let d=u?.[e]||l;return we.useMemo(()=>({[`__scope${e}`]:{...u,[e]:d}}),[u,d])}};return r.scopeName=e,[o,gs(r,...a)]}function gs(...e){let a=e[0];if(e.length===1)return a;let t=()=>{let o=e.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(l){let s=o.reduce((u,{useScope:d,scopeName:n})=>{let i=d(l)[`__scope${n}`];return{...u,...i}},{});return we.useMemo(()=>({[`__scope${a.scopeName}`]:s}),[s])}};return t.scopeName=a.scopeName,t}var Vd=!!(typeof window<"u"&&window.document&&window.document.createElement);function ce(e,a,{checkForDefaultPrevented:t=!0}={}){return function(r){if(e?.(r),t===!1||!r.defaultPrevented)return a?.(r)}}import*as le from"react";import*as Io from"react";var ee=globalThis?.document?Io.useLayoutEffect:()=>{};import*as Aa from"react";var Is=le[" useInsertionEffect ".trim().toString()]||ee;function Co({prop:e,defaultProp:a,onChange:t=()=>{},caller:o}){let[r,l,s]=Cs({defaultProp:a,onChange:t}),u=e!==void 0,d=u?e:r;{let f=le.useRef(e!==void 0);le.useEffect(()=>{let i=f.current;i!==u&&console.warn(`${o} is changing from ${i?"controlled":"uncontrolled"} to ${u?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),f.current=u},[u,o])}let n=le.useCallback(f=>{if(u){let i=Ss(f)?f(e):f;i!==e&&s.current?.(i)}else l(f)},[u,e,l,s]);return[d,n]}function Cs({defaultProp:e,onChange:a}){let[t,o]=le.useState(e),r=le.useRef(t),l=le.useRef(a);return Is(()=>{l.current=a},[a]),le.useEffect(()=>{r.current!==t&&(l.current?.(t),r.current=t)},[t,r]),[t,o,l]}function Ss(e){return typeof e=="function"}var Kd=Symbol("RADIX:SYNC_STATE");import*as J from"react";import*as wo from"react";function ws(e,a){return wo.useReducer((t,o)=>a[t][o]??t,e)}var Da=e=>{let{present:a,children:t}=e,o=vs(a),r=typeof t=="function"?t({present:o.isPresent}):J.Children.only(t),l=bs(o.ref,ys(r));return typeof t=="function"||o.isPresent?J.cloneElement(r,{ref:l}):null};Da.displayName="Presence";function vs(e){let[a,t]=J.useState(),o=J.useRef(null),r=J.useRef(e),l=J.useRef("none"),s=e?"mounted":"unmounted",[u,d]=ws(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return J.useEffect(()=>{let n=Ma(o.current);l.current=u==="mounted"?n:"none"},[u]),ee(()=>{let n=o.current,f=r.current;if(f!==e){let c=l.current,p=Ma(n);e?d("MOUNT"):p==="none"||n?.display==="none"?d("UNMOUNT"):d(f&&c!==p?"ANIMATION_OUT":"UNMOUNT"),r.current=e}},[e,d]),ee(()=>{if(a){let n,f=a.ownerDocument.defaultView??window,i=p=>{let m=Ma(o.current).includes(CSS.escape(p.animationName));if(p.target===a&&m&&(d("ANIMATION_END"),!r.current)){let x=a.style.animationFillMode;a.style.animationFillMode="forwards",n=f.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=x)})}},c=p=>{p.target===a&&(l.current=Ma(o.current))};return a.addEventListener("animationstart",c),a.addEventListener("animationcancel",i),a.addEventListener("animationend",i),()=>{f.clearTimeout(n),a.removeEventListener("animationstart",c),a.removeEventListener("animationcancel",i),a.removeEventListener("animationend",i)}}else d("ANIMATION_END")},[a,d]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:J.useCallback(n=>{o.current=n?getComputedStyle(n):null,t(n)},[])}}function So(e,a){if(typeof e=="function")return e(a);e!=null&&(e.current=a)}function bs(...e){let a=J.useRef(e);return a.current=e,J.useCallback(t=>{let o=a.current,r=!1,l=o.map(s=>{let u=So(s,t);return!r&&typeof u=="function"&&(r=!0),u});if(r)return()=>{for(let s=0;s<l.length;s++){let u=l[s];typeof u=="function"?u():So(o[s],null)}}},[])}function Ma(e){return e?.animationName||"none"}function ys(e){let a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning;return t?e.ref:(a=Object.getOwnPropertyDescriptor(e,"ref")?.get,t=a&&"isReactWarning"in a&&a.isReactWarning,t?e.props.ref:e.props.ref||e.ref)}import*as ut from"react";var Ps=ut[" useId ".trim().toString()]||(()=>{}),Rs=0;function vo(e){let[a,t]=ut.useState(Ps());return ee(()=>{e||t(o=>o??String(Rs++))},[e]),e||(a?`radix-${a}`:"")}import*as H from"react";import*as Ke from"react";function pe(e){let a=Ke.useRef(e);return Ke.useEffect(()=>{a.current=e}),Ke.useMemo(()=>(...t)=>a.current?.(...t),[])}import*as bo from"react";function yo(e,a=globalThis?.document){let t=pe(e);bo.useEffect(()=>{let o=r=>{r.key==="Escape"&&t(r)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[t,a])}import{jsx as ko}from"react/jsx-runtime";var ks="DismissableLayer",nt="dismissableLayer.update",As="dismissableLayer.pointerDownOutside",Ms="dismissableLayer.focusOutside",Po,Ao=H.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),dt=H.forwardRef((e,a)=>{let{disableOutsidePointerEvents:t=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:l,onInteractOutside:s,onDismiss:u,...d}=e,n=H.useContext(Ao),[f,i]=H.useState(null),c=f?.ownerDocument??globalThis?.document,[,p]=H.useState({}),h=re(a,S=>i(S)),m=Array.from(n.layers),[x]=[...n.layersWithOutsidePointerEventsDisabled].slice(-1),L=m.indexOf(x),I=f?m.indexOf(f):-1,w=n.layersWithOutsidePointerEventsDisabled.size>0,C=I>=L,P=Bs(S=>{let g=S.target,M=[...n.branches].some(F=>F.contains(g));!C||M||(r?.(S),s?.(S),S.defaultPrevented||u?.())},c),R=Ts(S=>{let g=S.target;[...n.branches].some(F=>F.contains(g))||(l?.(S),s?.(S),S.defaultPrevented||u?.())},c);return yo(S=>{I===n.layers.size-1&&(o?.(S),!S.defaultPrevented&&u&&(S.preventDefault(),u()))},c),H.useEffect(()=>{if(f)return t&&(n.layersWithOutsidePointerEventsDisabled.size===0&&(Po=c.body.style.pointerEvents,c.body.style.pointerEvents="none"),n.layersWithOutsidePointerEventsDisabled.add(f)),n.layers.add(f),Ro(),()=>{t&&(n.layersWithOutsidePointerEventsDisabled.delete(f),n.layersWithOutsidePointerEventsDisabled.size===0&&(c.body.style.pointerEvents=Po))}},[f,c,t,n]),H.useEffect(()=>()=>{f&&(n.layers.delete(f),n.layersWithOutsidePointerEventsDisabled.delete(f),Ro())},[f,n]),H.useEffect(()=>{let S=()=>p({});return document.addEventListener(nt,S),()=>document.removeEventListener(nt,S)},[]),ko(Z.div,{...d,ref:h,style:{pointerEvents:w?C?"auto":"none":void 0,...e.style},onFocusCapture:ce(e.onFocusCapture,R.onFocusCapture),onBlurCapture:ce(e.onBlurCapture,R.onBlurCapture),onPointerDownCapture:ce(e.onPointerDownCapture,P.onPointerDownCapture)})});dt.displayName=ks;var Ds="DismissableLayerBranch",Fs=H.forwardRef((e,a)=>{let t=H.useContext(Ao),o=H.useRef(null),r=re(a,o);return H.useEffect(()=>{let l=o.current;if(l)return t.branches.add(l),()=>{t.branches.delete(l)}},[t.branches]),ko(Z.div,{...e,ref:r})});Fs.displayName=Ds;function Bs(e,a=globalThis?.document){let t=pe(e),o=H.useRef(!1),r=H.useRef(()=>{});return H.useEffect(()=>{let l=u=>{if(u.target&&!o.current){let n=function(){Mo(As,t,f,{discrete:!0})};var d=n;let f={originalEvent:u};u.pointerType==="touch"?(a.removeEventListener("click",r.current),r.current=n,a.addEventListener("click",r.current,{once:!0})):n()}else a.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{a.addEventListener("pointerdown",l)},0);return()=>{window.clearTimeout(s),a.removeEventListener("pointerdown",l),a.removeEventListener("click",r.current)}},[a,t]),{onPointerDownCapture:()=>o.current=!0}}function Ts(e,a=globalThis?.document){let t=pe(e),o=H.useRef(!1);return H.useEffect(()=>{let r=l=>{l.target&&!o.current&&Mo(Ms,t,{originalEvent:l},{discrete:!1})};return a.addEventListener("focusin",r),()=>a.removeEventListener("focusin",r)},[a,t]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Ro(){let e=new CustomEvent(nt);document.dispatchEvent(e)}function Mo(e,a,t,{discrete:o}){let r=t.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:t});a&&r.addEventListener(e,a,{once:!0}),o?go(r,l):r.dispatchEvent(l)}import*as se from"react";import{jsx as Os}from"react/jsx-runtime";var ft="focusScope.autoFocusOnMount",it="focusScope.autoFocusOnUnmount",Do={bubbles:!1,cancelable:!0},Es="FocusScope",ct=se.forwardRef((e,a)=>{let{loop:t=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:l,...s}=e,[u,d]=se.useState(null),n=pe(r),f=pe(l),i=se.useRef(null),c=re(a,m=>d(m)),p=se.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;se.useEffect(()=>{if(o){let I=function(R){if(p.paused||!u)return;let S=R.target;u.contains(S)?i.current=S:Pe(i.current,{select:!0})},w=function(R){if(p.paused||!u)return;let S=R.relatedTarget;S!==null&&(u.contains(S)||Pe(i.current,{select:!0}))},C=function(R){if(document.activeElement===document.body)for(let g of R)g.removedNodes.length>0&&Pe(u)};var m=I,x=w,L=C;document.addEventListener("focusin",I),document.addEventListener("focusout",w);let P=new MutationObserver(C);return u&&P.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",I),document.removeEventListener("focusout",w),P.disconnect()}}},[o,u,p.paused]),se.useEffect(()=>{if(u){Bo.add(p);let m=document.activeElement;if(!u.contains(m)){let L=new CustomEvent(ft,Do);u.addEventListener(ft,n),u.dispatchEvent(L),L.defaultPrevented||(qs(Gs(Oo(u)),{select:!0}),document.activeElement===m&&Pe(u))}return()=>{u.removeEventListener(ft,n),setTimeout(()=>{let L=new CustomEvent(it,Do);u.addEventListener(it,f),u.dispatchEvent(L),L.defaultPrevented||Pe(m??document.body,{select:!0}),u.removeEventListener(it,f),Bo.remove(p)},0)}}},[u,n,f,p]);let h=se.useCallback(m=>{if(!t&&!o||p.paused)return;let x=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,L=document.activeElement;if(x&&L){let I=m.currentTarget,[w,C]=Us(I);w&&C?!m.shiftKey&&L===C?(m.preventDefault(),t&&Pe(w,{select:!0})):m.shiftKey&&L===w&&(m.preventDefault(),t&&Pe(C,{select:!0})):L===I&&m.preventDefault()}},[t,o,p.paused]);return Os(Z.div,{tabIndex:-1,...s,ref:c,onKeyDown:h})});ct.displayName=Es;function qs(e,{select:a=!1}={}){let t=document.activeElement;for(let o of e)if(Pe(o,{select:a}),document.activeElement!==t)return}function Us(e){let a=Oo(e),t=Fo(a,e),o=Fo(a.reverse(),e);return[t,o]}function Oo(e){let a=[],t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)a.push(t.currentNode);return a}function Fo(e,a){for(let t of e)if(!Hs(t,{upTo:a}))return t}function Hs(e,{upTo:a}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(a!==void 0&&e===a)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function Ns(e){return e instanceof HTMLInputElement&&"select"in e}function Pe(e,{select:a=!1}={}){if(e&&e.focus){let t=document.activeElement;e.focus({preventScroll:!0}),e!==t&&Ns(e)&&a&&e.select()}}var Bo=zs();function zs(){let e=[];return{add(a){let t=e[0];a!==t&&t?.pause(),e=To(e,a),e.unshift(a)},remove(a){e=To(e,a),e[0]?.resume()}}}function To(e,a){let t=[...e],o=t.indexOf(a);return o!==-1&&t.splice(o,1),t}function Gs(e){return e.filter(a=>a.tagName!=="A")}import*as Fa from"react";import*as Eo from"react-dom";import{jsx as Ws}from"react/jsx-runtime";var Vs="Portal",pt=Fa.forwardRef((e,a)=>{let{container:t,...o}=e,[r,l]=Fa.useState(!1);ee(()=>l(!0),[]);let s=t||r&&globalThis?.document?.body;return s?Eo.createPortal(Ws(Z.div,{...o,ref:a}),s):null});pt.displayName=Vs;import*as Uo from"react";var Ba=0,$e=null;function Ho(){Uo.useEffect(()=>{$e||($e={start:qo(),end:qo()});let{start:e,end:a}=$e;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==a&&document.body.insertAdjacentElement("beforeend",a),Ba++,()=>{Ba===1&&($e?.start.remove(),$e?.end.remove(),$e=null),Ba=Math.max(0,Ba-1)}},[])}function qo(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var te=function(){return te=Object.assign||function(a){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var l in t)Object.prototype.hasOwnProperty.call(t,l)&&(a[l]=t[l])}return a},te.apply(this,arguments)};function Ta(e,a){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&a.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)a.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]]);return t}function No(e,a,t){if(t||arguments.length===2)for(var o=0,r=a.length,l;o<r;o++)(l||!(o in a))&&(l||(l=Array.prototype.slice.call(a,0,o)),l[o]=a[o]);return e.concat(l||Array.prototype.slice.call(a))}import*as Ha from"react";import*as Q from"react";var Me="right-scroll-bar-position",De="width-before-scroll-bar",mt="with-scroll-bars-hidden",ht="--removed-body-scroll-bar-size";function Oa(e,a){return typeof e=="function"?e(a):e&&(e.current=a),e}import{useState as _s}from"react";function zo(e,a){var t=_s(function(){return{value:e,callback:a,facade:{get current(){return t.value},set current(o){var r=t.value;r!==o&&(t.value=o,t.callback(o,r))}}}})[0];return t.callback=a,t.facade}import*as Ea from"react";var Xs=typeof window<"u"?Ea.useLayoutEffect:Ea.useEffect,Go=new WeakMap;function xt(e,a){var t=zo(a||null,function(o){return e.forEach(function(r){return Oa(r,o)})});return Xs(function(){var o=Go.get(t);if(o){var r=new Set(o),l=new Set(e),s=t.current;r.forEach(function(u){l.has(u)||Oa(u,null)}),l.forEach(function(u){r.has(u)||Oa(u,s)})}Go.set(t,e)},[e]),t}function js(e){return e}function Ks(e,a){a===void 0&&(a=js);var t=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return t.length?t[t.length-1]:e},useMedium:function(l){var s=a(l,o);return t.push(s),function(){t=t.filter(function(u){return u!==s})}},assignSyncMedium:function(l){for(o=!0;t.length;){var s=t;t=[],s.forEach(l)}t={push:function(u){return l(u)},filter:function(){return t}}},assignMedium:function(l){o=!0;var s=[];if(t.length){var u=t;t=[],u.forEach(l),s=t}var d=function(){var f=s;s=[],f.forEach(l)},n=function(){return Promise.resolve().then(d)};n(),t={push:function(f){s.push(f),n()},filter:function(f){return s=s.filter(f),t}}}};return r}function Lt(e){e===void 0&&(e={});var a=Ks(null);return a.options=te({async:!0,ssr:!1},e),a}import*as Wo from"react";var Vo=function(e){var a=e.sideCar,t=Ta(e,["sideCar"]);if(!a)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=a.read();if(!o)throw new Error("Sidecar medium not found");return Wo.createElement(o,te({},t))};Vo.isSideCarExport=!0;function gt(e,a){return e.useMedium(a),Vo}var qa=Lt();var It=function(){},da=Q.forwardRef(function(e,a){var t=Q.useRef(null),o=Q.useState({onScrollCapture:It,onWheelCapture:It,onTouchMoveCapture:It}),r=o[0],l=o[1],s=e.forwardProps,u=e.children,d=e.className,n=e.removeScrollBar,f=e.enabled,i=e.shards,c=e.sideCar,p=e.noRelative,h=e.noIsolation,m=e.inert,x=e.allowPinchZoom,L=e.as,I=L===void 0?"div":L,w=e.gapMode,C=Ta(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),P=c,R=xt([t,a]),S=te(te({},C),r);return Q.createElement(Q.Fragment,null,f&&Q.createElement(P,{sideCar:qa,removeScrollBar:n,shards:i,noRelative:p,noIsolation:h,inert:m,setCallbacks:l,allowPinchZoom:!!x,lockRef:t,gapMode:w}),s?Q.cloneElement(Q.Children.only(u),te(te({},S),{ref:R})):Q.createElement(I,te({},S,{className:d,ref:R}),u))});da.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};da.classNames={fullWidth:De,zeroRight:Me};import*as O from"react";import*as Ye from"react";import*as jo from"react";var _o;var Xo=function(){if(_o)return _o;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function $s(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var a=Xo();return a&&e.setAttribute("nonce",a),e}function Zs(e,a){e.styleSheet?e.styleSheet.cssText=a:e.appendChild(document.createTextNode(a))}function Ys(e){var a=document.head||document.getElementsByTagName("head")[0];a.appendChild(e)}var Ct=function(){var e=0,a=null;return{add:function(t){e==0&&(a=$s())&&(Zs(a,t),Ys(a)),e++},remove:function(){e--,!e&&a&&(a.parentNode&&a.parentNode.removeChild(a),a=null)}}};var St=function(){var e=Ct();return function(a,t){jo.useEffect(function(){return e.add(a),function(){e.remove()}},[a&&t])}};var fa=function(){var e=St(),a=function(t){var o=t.styles,r=t.dynamic;return e(o,r),null};return a};var Js={left:0,top:0,right:0,gap:0},wt=function(e){return parseInt(e||"",10)||0},Qs=function(e){var a=window.getComputedStyle(document.body),t=a[e==="padding"?"paddingLeft":"marginLeft"],o=a[e==="padding"?"paddingTop":"marginTop"],r=a[e==="padding"?"paddingRight":"marginRight"];return[wt(t),wt(o),wt(r)]},vt=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return Js;var a=Qs(e),t=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-t+a[2]-a[0])}};var eu=fa(),Ze="data-scroll-locked",au=function(e,a,t,o){var r=e.left,l=e.top,s=e.right,u=e.gap;return t===void 0&&(t="margin"),`
2
- .`.concat(mt,` {
3
- overflow: hidden `).concat(o,`;
4
- padding-right: `).concat(u,"px ").concat(o,`;
5
- }
6
- body[`).concat(Ze,`] {
7
- overflow: hidden `).concat(o,`;
8
- overscroll-behavior: contain;
9
- `).concat([a&&"position: relative ".concat(o,";"),t==="margin"&&`
10
- padding-left: `.concat(r,`px;
11
- padding-top: `).concat(l,`px;
12
- padding-right: `).concat(s,`px;
13
- margin-left:0;
14
- margin-top:0;
15
- margin-right: `).concat(u,"px ").concat(o,`;
16
- `),t==="padding"&&"padding-right: ".concat(u,"px ").concat(o,";")].filter(Boolean).join(""),`
17
- }
18
-
19
- .`).concat(Me,` {
20
- right: `).concat(u,"px ").concat(o,`;
21
- }
22
-
23
- .`).concat(De,` {
24
- margin-right: `).concat(u,"px ").concat(o,`;
25
- }
26
-
27
- .`).concat(Me," .").concat(Me,` {
28
- right: 0 `).concat(o,`;
29
- }
30
-
31
- .`).concat(De," .").concat(De,` {
32
- margin-right: 0 `).concat(o,`;
33
- }
34
-
35
- body[`).concat(Ze,`] {
36
- `).concat(ht,": ").concat(u,`px;
37
- }
38
- `)},Ko=function(){var e=parseInt(document.body.getAttribute(Ze)||"0",10);return isFinite(e)?e:0},tu=function(){Ye.useEffect(function(){return document.body.setAttribute(Ze,(Ko()+1).toString()),function(){var e=Ko()-1;e<=0?document.body.removeAttribute(Ze):document.body.setAttribute(Ze,e.toString())}},[])},bt=function(e){var a=e.noRelative,t=e.noImportant,o=e.gapMode,r=o===void 0?"margin":o;tu();var l=Ye.useMemo(function(){return vt(r)},[r]);return Ye.createElement(eu,{styles:au(l,!a,r,t?"":"!important")})};var yt=!1;if(typeof window<"u")try{ia=Object.defineProperty({},"passive",{get:function(){return yt=!0,!0}}),window.addEventListener("test",ia,ia),window.removeEventListener("test",ia,ia)}catch{yt=!1}var ia,Fe=yt?{passive:!1}:!1;var ou=function(e){return e.tagName==="TEXTAREA"},$o=function(e,a){if(!(e instanceof Element))return!1;var t=window.getComputedStyle(e);return t[a]!=="hidden"&&!(t.overflowY===t.overflowX&&!ou(e)&&t[a]==="visible")},ru=function(e){return $o(e,"overflowY")},lu=function(e){return $o(e,"overflowX")},Pt=function(e,a){var t=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=Zo(e,o);if(r){var l=Yo(e,o),s=l[1],u=l[2];if(s>u)return!0}o=o.parentNode}while(o&&o!==t.body);return!1},su=function(e){var a=e.scrollTop,t=e.scrollHeight,o=e.clientHeight;return[a,t,o]},uu=function(e){var a=e.scrollLeft,t=e.scrollWidth,o=e.clientWidth;return[a,t,o]},Zo=function(e,a){return e==="v"?ru(a):lu(a)},Yo=function(e,a){return e==="v"?su(a):uu(a)},nu=function(e,a){return e==="h"&&a==="rtl"?-1:1},Jo=function(e,a,t,o,r){var l=nu(e,window.getComputedStyle(a).direction),s=l*o,u=t.target,d=a.contains(u),n=!1,f=s>0,i=0,c=0;do{if(!u)break;var p=Yo(e,u),h=p[0],m=p[1],x=p[2],L=m-x-l*h;(h||L)&&Zo(e,u)&&(i+=L,c+=h);var I=u.parentNode;u=I&&I.nodeType===Node.DOCUMENT_FRAGMENT_NODE?I.host:I}while(!d&&u!==document.body||d&&(a.contains(u)||a===u));return(f&&(r&&Math.abs(i)<1||!r&&s>i)||!f&&(r&&Math.abs(c)<1||!r&&-s>c))&&(n=!0),n};var Ua=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Qo=function(e){return[e.deltaX,e.deltaY]},er=function(e){return e&&"current"in e?e.current:e},du=function(e,a){return e[0]===a[0]&&e[1]===a[1]},fu=function(e){return`
39
- .block-interactivity-`.concat(e,` {pointer-events: none;}
40
- .allow-interactivity-`).concat(e,` {pointer-events: all;}
41
- `)},iu=0,Je=[];function ar(e){var a=O.useRef([]),t=O.useRef([0,0]),o=O.useRef(),r=O.useState(iu++)[0],l=O.useState(fa)[0],s=O.useRef(e);O.useEffect(function(){s.current=e},[e]),O.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(r));var m=No([e.lockRef.current],(e.shards||[]).map(er),!0).filter(Boolean);return m.forEach(function(x){return x.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(x){return x.classList.remove("allow-interactivity-".concat(r))})}}},[e.inert,e.lockRef.current,e.shards]);var u=O.useCallback(function(m,x){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var L=Ua(m),I=t.current,w="deltaX"in m?m.deltaX:I[0]-L[0],C="deltaY"in m?m.deltaY:I[1]-L[1],P,R=m.target,S=Math.abs(w)>Math.abs(C)?"h":"v";if("touches"in m&&S==="h"&&R.type==="range")return!1;var g=window.getSelection(),M=g&&g.anchorNode,F=M?M===R||M.contains(R):!1;if(F)return!1;var E=Pt(S,R);if(!E)return!0;if(E?P=S:(P=S==="v"?"h":"v",E=Pt(S,R)),!E)return!1;if(!o.current&&"changedTouches"in m&&(w||C)&&(o.current=P),!P)return!0;var U=o.current||P;return Jo(U,x,m,U==="h"?w:C,!0)},[]),d=O.useCallback(function(m){var x=m;if(!(!Je.length||Je[Je.length-1]!==l)){var L="deltaY"in x?Qo(x):Ua(x),I=a.current.filter(function(P){return P.name===x.type&&(P.target===x.target||x.target===P.shadowParent)&&du(P.delta,L)})[0];if(I&&I.should){x.cancelable&&x.preventDefault();return}if(!I){var w=(s.current.shards||[]).map(er).filter(Boolean).filter(function(P){return P.contains(x.target)}),C=w.length>0?u(x,w[0]):!s.current.noIsolation;C&&x.cancelable&&x.preventDefault()}}},[]),n=O.useCallback(function(m,x,L,I){var w={name:m,delta:x,target:L,should:I,shadowParent:cu(L)};a.current.push(w),setTimeout(function(){a.current=a.current.filter(function(C){return C!==w})},1)},[]),f=O.useCallback(function(m){t.current=Ua(m),o.current=void 0},[]),i=O.useCallback(function(m){n(m.type,Qo(m),m.target,u(m,e.lockRef.current))},[]),c=O.useCallback(function(m){n(m.type,Ua(m),m.target,u(m,e.lockRef.current))},[]);O.useEffect(function(){return Je.push(l),e.setCallbacks({onScrollCapture:i,onWheelCapture:i,onTouchMoveCapture:c}),document.addEventListener("wheel",d,Fe),document.addEventListener("touchmove",d,Fe),document.addEventListener("touchstart",f,Fe),function(){Je=Je.filter(function(m){return m!==l}),document.removeEventListener("wheel",d,Fe),document.removeEventListener("touchmove",d,Fe),document.removeEventListener("touchstart",f,Fe)}},[]);var p=e.removeScrollBar,h=e.inert;return O.createElement(O.Fragment,null,h?O.createElement(l,{styles:fu(r)}):null,p?O.createElement(bt,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function cu(e){for(var a=null;e!==null;)e instanceof ShadowRoot&&(a=e.host,e=e.host),e=e.parentNode;return a}var tr=gt(qa,ar);var or=Ha.forwardRef(function(e,a){return Ha.createElement(da,te({},e,{ref:a,sideCar:tr}))});or.classNames=da.classNames;var Rt=or;var pu=function(e){if(typeof document>"u")return null;var a=Array.isArray(e)?e[0]:e;return a.ownerDocument.body},Qe=new WeakMap,Na=new WeakMap,za={},kt=0,rr=function(e){return e&&(e.host||rr(e.parentNode))},mu=function(e,a){return a.map(function(t){if(e.contains(t))return t;var o=rr(t);return o&&e.contains(o)?o:(console.error("aria-hidden",t,"in not contained inside",e,". Doing nothing"),null)}).filter(function(t){return!!t})},hu=function(e,a,t,o){var r=mu(a,Array.isArray(e)?e:[e]);za[t]||(za[t]=new WeakMap);var l=za[t],s=[],u=new Set,d=new Set(r),n=function(i){!i||u.has(i)||(u.add(i),n(i.parentNode))};r.forEach(n);var f=function(i){!i||d.has(i)||Array.prototype.forEach.call(i.children,function(c){if(u.has(c))f(c);else try{var p=c.getAttribute(o),h=p!==null&&p!=="false",m=(Qe.get(c)||0)+1,x=(l.get(c)||0)+1;Qe.set(c,m),l.set(c,x),s.push(c),m===1&&h&&Na.set(c,!0),x===1&&c.setAttribute(t,"true"),h||c.setAttribute(o,"true")}catch(L){console.error("aria-hidden: cannot operate on ",c,L)}})};return f(a),u.clear(),kt++,function(){s.forEach(function(i){var c=Qe.get(i)-1,p=l.get(i)-1;Qe.set(i,c),l.set(i,p),c||(Na.has(i)||i.removeAttribute(o),Na.delete(i)),p||i.removeAttribute(t)}),kt--,kt||(Qe=new WeakMap,Qe=new WeakMap,Na=new WeakMap,za={})}},lr=function(e,a,t){t===void 0&&(t="data-aria-hidden");var o=Array.from(Array.isArray(e)?e:[e]),r=a||pu(e);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),hu(o,r,t,"aria-hidden")):function(){return null}};import*as sr from"react";function ur(e){let[a,t]=sr.useState(void 0);return ee(()=>{if(e){t({width:e.offsetWidth,height:e.offsetHeight});let o=new ResizeObserver(r=>{if(!Array.isArray(r)||!r.length)return;let l=r[0],s,u;if("borderBoxSize"in l){let d=l.borderBoxSize,n=Array.isArray(d)?d[0]:d;s=n.inlineSize,u=n.blockSize}else s=e.offsetWidth,u=e.offsetHeight;t({width:s,height:u})});return o.observe(e,{box:"border-box"}),()=>o.unobserve(e)}else t(void 0)},[e]),a}import*as Y from"react";var fr=["top","right","bottom","left"];var me=Math.min,ae=Math.max,pa=Math.round,ma=Math.floor,de=e=>({x:e,y:e}),xu={left:"right",right:"left",bottom:"top",top:"bottom"};function Wa(e,a,t){return ae(e,me(a,t))}function he(e,a){return typeof e=="function"?e(a):e}function xe(e){return e.split("-")[0]}function Be(e){return e.split("-")[1]}function Va(e){return e==="x"?"y":"x"}function _a(e){return e==="y"?"height":"width"}function fe(e){let a=e[0];return a==="t"||a==="b"?"y":"x"}function Xa(e){return Va(fe(e))}function ir(e,a,t){t===void 0&&(t=!1);let o=Be(e),r=Xa(e),l=_a(r),s=r==="x"?o===(t?"end":"start")?"right":"left":o==="start"?"bottom":"top";return a.reference[l]>a.floating[l]&&(s=ca(s)),[s,ca(s)]}function cr(e){let a=ca(e);return[Ga(e),a,Ga(a)]}function Ga(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var nr=["left","right"],dr=["right","left"],Lu=["top","bottom"],gu=["bottom","top"];function Iu(e,a,t){switch(e){case"top":case"bottom":return t?a?dr:nr:a?nr:dr;case"left":case"right":return a?Lu:gu;default:return[]}}function pr(e,a,t,o){let r=Be(e),l=Iu(xe(e),t==="start",o);return r&&(l=l.map(s=>s+"-"+r),a&&(l=l.concat(l.map(Ga)))),l}function ca(e){let a=xe(e);return xu[a]+e.slice(a.length)}function Cu(e){return{top:0,right:0,bottom:0,left:0,...e}}function At(e){return typeof e!="number"?Cu(e):{top:e,right:e,bottom:e,left:e}}function Te(e){let{x:a,y:t,width:o,height:r}=e;return{width:o,height:r,top:t,left:a,right:a+o,bottom:t+r,x:a,y:t}}function mr(e,a,t){let{reference:o,floating:r}=e,l=fe(a),s=Xa(a),u=_a(s),d=xe(a),n=l==="y",f=o.x+o.width/2-r.width/2,i=o.y+o.height/2-r.height/2,c=o[u]/2-r[u]/2,p;switch(d){case"top":p={x:f,y:o.y-r.height};break;case"bottom":p={x:f,y:o.y+o.height};break;case"right":p={x:o.x+o.width,y:i};break;case"left":p={x:o.x-r.width,y:i};break;default:p={x:o.x,y:o.y}}switch(Be(a)){case"start":p[s]-=c*(t&&n?-1:1);break;case"end":p[s]+=c*(t&&n?-1:1);break}return p}async function Lr(e,a){var t;a===void 0&&(a={});let{x:o,y:r,platform:l,rects:s,elements:u,strategy:d}=e,{boundary:n="clippingAncestors",rootBoundary:f="viewport",elementContext:i="floating",altBoundary:c=!1,padding:p=0}=he(a,e),h=At(p),x=u[c?i==="floating"?"reference":"floating":i],L=Te(await l.getClippingRect({element:(t=await(l.isElement==null?void 0:l.isElement(x)))==null||t?x:x.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(u.floating)),boundary:n,rootBoundary:f,strategy:d})),I=i==="floating"?{x:o,y:r,width:s.floating.width,height:s.floating.height}:s.reference,w=await(l.getOffsetParent==null?void 0:l.getOffsetParent(u.floating)),C=await(l.isElement==null?void 0:l.isElement(w))?await(l.getScale==null?void 0:l.getScale(w))||{x:1,y:1}:{x:1,y:1},P=Te(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:I,offsetParent:w,strategy:d}):I);return{top:(L.top-P.top+h.top)/C.y,bottom:(P.bottom-L.bottom+h.bottom)/C.y,left:(L.left-P.left+h.left)/C.x,right:(P.right-L.right+h.right)/C.x}}var Su=50,gr=async(e,a,t)=>{let{placement:o="bottom",strategy:r="absolute",middleware:l=[],platform:s}=t,u=s.detectOverflow?s:{...s,detectOverflow:Lr},d=await(s.isRTL==null?void 0:s.isRTL(a)),n=await s.getElementRects({reference:e,floating:a,strategy:r}),{x:f,y:i}=mr(n,o,d),c=o,p=0,h={};for(let m=0;m<l.length;m++){let x=l[m];if(!x)continue;let{name:L,fn:I}=x,{x:w,y:C,data:P,reset:R}=await I({x:f,y:i,initialPlacement:o,placement:c,strategy:r,middlewareData:h,rects:n,platform:u,elements:{reference:e,floating:a}});f=w??f,i=C??i,h[L]={...h[L],...P},R&&p<Su&&(p++,typeof R=="object"&&(R.placement&&(c=R.placement),R.rects&&(n=R.rects===!0?await s.getElementRects({reference:e,floating:a,strategy:r}):R.rects),{x:f,y:i}=mr(n,c,d)),m=-1)}return{x:f,y:i,placement:c,strategy:r,middlewareData:h}},Ir=e=>({name:"arrow",options:e,async fn(a){let{x:t,y:o,placement:r,rects:l,platform:s,elements:u,middlewareData:d}=a,{element:n,padding:f=0}=he(e,a)||{};if(n==null)return{};let i=At(f),c={x:t,y:o},p=Xa(r),h=_a(p),m=await s.getDimensions(n),x=p==="y",L=x?"top":"left",I=x?"bottom":"right",w=x?"clientHeight":"clientWidth",C=l.reference[h]+l.reference[p]-c[p]-l.floating[h],P=c[p]-l.reference[p],R=await(s.getOffsetParent==null?void 0:s.getOffsetParent(n)),S=R?R[w]:0;(!S||!await(s.isElement==null?void 0:s.isElement(R)))&&(S=u.floating[w]||l.floating[h]);let g=C/2-P/2,M=S/2-m[h]/2-1,F=me(i[L],M),E=me(i[I],M),U=F,N=S-m[h]-E,T=S/2-m[h]/2+g,W=Wa(U,T,N),D=!d.arrow&&Be(r)!=null&&T!==W&&l.reference[h]/2-(T<U?F:E)-m[h]/2<0,B=D?T<U?T-U:T-N:0;return{[p]:c[p]+B,data:{[p]:W,centerOffset:T-W-B,...D&&{alignmentOffset:B}},reset:D}}});var Cr=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(a){var t,o;let{placement:r,middlewareData:l,rects:s,initialPlacement:u,platform:d,elements:n}=a,{mainAxis:f=!0,crossAxis:i=!0,fallbackPlacements:c,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:m=!0,...x}=he(e,a);if((t=l.arrow)!=null&&t.alignmentOffset)return{};let L=xe(r),I=fe(u),w=xe(u)===u,C=await(d.isRTL==null?void 0:d.isRTL(n.floating)),P=c||(w||!m?[ca(u)]:cr(u)),R=h!=="none";!c&&R&&P.push(...pr(u,m,h,C));let S=[u,...P],g=await d.detectOverflow(a,x),M=[],F=((o=l.flip)==null?void 0:o.overflows)||[];if(f&&M.push(g[L]),i){let T=ir(r,s,C);M.push(g[T[0]],g[T[1]])}if(F=[...F,{placement:r,overflows:M}],!M.every(T=>T<=0)){var E,U;let T=(((E=l.flip)==null?void 0:E.index)||0)+1,W=S[T];if(W&&(!(i==="alignment"?I!==fe(W):!1)||F.every(A=>fe(A.placement)===I?A.overflows[0]>0:!0)))return{data:{index:T,overflows:F},reset:{placement:W}};let D=(U=F.filter(B=>B.overflows[0]<=0).sort((B,A)=>B.overflows[1]-A.overflows[1])[0])==null?void 0:U.placement;if(!D)switch(p){case"bestFit":{var N;let B=(N=F.filter(A=>{if(R){let z=fe(A.placement);return z===I||z==="y"}return!0}).map(A=>[A.placement,A.overflows.filter(z=>z>0).reduce((z,y)=>z+y,0)]).sort((A,z)=>A[1]-z[1])[0])==null?void 0:N[0];B&&(D=B);break}case"initialPlacement":D=u;break}if(r!==D)return{reset:{placement:D}}}return{}}}};function hr(e,a){return{top:e.top-a.height,right:e.right-a.width,bottom:e.bottom-a.height,left:e.left-a.width}}function xr(e){return fr.some(a=>e[a]>=0)}var Sr=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(a){let{rects:t,platform:o}=a,{strategy:r="referenceHidden",...l}=he(e,a);switch(r){case"referenceHidden":{let s=await o.detectOverflow(a,{...l,elementContext:"reference"}),u=hr(s,t.reference);return{data:{referenceHiddenOffsets:u,referenceHidden:xr(u)}}}case"escaped":{let s=await o.detectOverflow(a,{...l,altBoundary:!0}),u=hr(s,t.floating);return{data:{escapedOffsets:u,escaped:xr(u)}}}default:return{}}}}};var wr=new Set(["left","top"]);async function wu(e,a){let{placement:t,platform:o,elements:r}=e,l=await(o.isRTL==null?void 0:o.isRTL(r.floating)),s=xe(t),u=Be(t),d=fe(t)==="y",n=wr.has(s)?-1:1,f=l&&d?-1:1,i=he(a,e),{mainAxis:c,crossAxis:p,alignmentAxis:h}=typeof i=="number"?{mainAxis:i,crossAxis:0,alignmentAxis:null}:{mainAxis:i.mainAxis||0,crossAxis:i.crossAxis||0,alignmentAxis:i.alignmentAxis};return u&&typeof h=="number"&&(p=u==="end"?h*-1:h),d?{x:p*f,y:c*n}:{x:c*n,y:p*f}}var vr=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(a){var t,o;let{x:r,y:l,placement:s,middlewareData:u}=a,d=await wu(a,e);return s===((t=u.offset)==null?void 0:t.placement)&&(o=u.arrow)!=null&&o.alignmentOffset?{}:{x:r+d.x,y:l+d.y,data:{...d,placement:s}}}}},br=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(a){let{x:t,y:o,placement:r,platform:l}=a,{mainAxis:s=!0,crossAxis:u=!1,limiter:d={fn:L=>{let{x:I,y:w}=L;return{x:I,y:w}}},...n}=he(e,a),f={x:t,y:o},i=await l.detectOverflow(a,n),c=fe(xe(r)),p=Va(c),h=f[p],m=f[c];if(s){let L=p==="y"?"top":"left",I=p==="y"?"bottom":"right",w=h+i[L],C=h-i[I];h=Wa(w,h,C)}if(u){let L=c==="y"?"top":"left",I=c==="y"?"bottom":"right",w=m+i[L],C=m-i[I];m=Wa(w,m,C)}let x=d.fn({...a,[p]:h,[c]:m});return{...x,data:{x:x.x-t,y:x.y-o,enabled:{[p]:s,[c]:u}}}}}},yr=function(e){return e===void 0&&(e={}),{options:e,fn(a){let{x:t,y:o,placement:r,rects:l,middlewareData:s}=a,{offset:u=0,mainAxis:d=!0,crossAxis:n=!0}=he(e,a),f={x:t,y:o},i=fe(r),c=Va(i),p=f[c],h=f[i],m=he(u,a),x=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(d){let w=c==="y"?"height":"width",C=l.reference[c]-l.floating[w]+x.mainAxis,P=l.reference[c]+l.reference[w]-x.mainAxis;p<C?p=C:p>P&&(p=P)}if(n){var L,I;let w=c==="y"?"width":"height",C=wr.has(xe(r)),P=l.reference[i]-l.floating[w]+(C&&((L=s.offset)==null?void 0:L[i])||0)+(C?0:x.crossAxis),R=l.reference[i]+l.reference[w]+(C?0:((I=s.offset)==null?void 0:I[i])||0)-(C?x.crossAxis:0);h<P?h=P:h>R&&(h=R)}return{[c]:p,[i]:h}}}},Pr=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(a){var t,o;let{placement:r,rects:l,platform:s,elements:u}=a,{apply:d=()=>{},...n}=he(e,a),f=await s.detectOverflow(a,n),i=xe(r),c=Be(r),p=fe(r)==="y",{width:h,height:m}=l.floating,x,L;i==="top"||i==="bottom"?(x=i,L=c===(await(s.isRTL==null?void 0:s.isRTL(u.floating))?"start":"end")?"left":"right"):(L=i,x=c==="end"?"top":"bottom");let I=m-f.top-f.bottom,w=h-f.left-f.right,C=me(m-f[x],I),P=me(h-f[L],w),R=!a.middlewareData.shift,S=C,g=P;if((t=a.middlewareData.shift)!=null&&t.enabled.x&&(g=w),(o=a.middlewareData.shift)!=null&&o.enabled.y&&(S=I),R&&!c){let F=ae(f.left,0),E=ae(f.right,0),U=ae(f.top,0),N=ae(f.bottom,0);p?g=h-2*(F!==0||E!==0?F+E:ae(f.left,f.right)):S=m-2*(U!==0||N!==0?U+N:ae(f.top,f.bottom))}await d({...a,availableWidth:g,availableHeight:S});let M=await s.getDimensions(u.floating);return h!==M.width||m!==M.height?{reset:{rects:!0}}:{}}}};function ja(){return typeof window<"u"}function qe(e){return kr(e)?(e.nodeName||"").toLowerCase():"#document"}function oe(e){var a;return(e==null||(a=e.ownerDocument)==null?void 0:a.defaultView)||window}function ie(e){var a;return(a=(kr(e)?e.ownerDocument:e.document)||window.document)==null?void 0:a.documentElement}function kr(e){return ja()?e instanceof Node||e instanceof oe(e).Node:!1}function ue(e){return ja()?e instanceof Element||e instanceof oe(e).Element:!1}function Le(e){return ja()?e instanceof HTMLElement||e instanceof oe(e).HTMLElement:!1}function Rr(e){return!ja()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof oe(e).ShadowRoot}function ea(e){let{overflow:a,overflowX:t,overflowY:o,display:r}=ne(e);return/auto|scroll|overlay|hidden|clip/.test(a+o+t)&&r!=="inline"&&r!=="contents"}function Ar(e){return/^(table|td|th)$/.test(qe(e))}function ha(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var vu=/transform|translate|scale|rotate|perspective|filter/,bu=/paint|layout|strict|content/,Oe=e=>!!e&&e!=="none",Mt;function Ka(e){let a=ue(e)?ne(e):e;return Oe(a.transform)||Oe(a.translate)||Oe(a.scale)||Oe(a.rotate)||Oe(a.perspective)||!$a()&&(Oe(a.backdropFilter)||Oe(a.filter))||vu.test(a.willChange||"")||bu.test(a.contain||"")}function Mr(e){let a=ve(e);for(;Le(a)&&!Ue(a);){if(Ka(a))return a;if(ha(a))return null;a=ve(a)}return null}function $a(){return Mt==null&&(Mt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Mt}function Ue(e){return/^(html|body|#document)$/.test(qe(e))}function ne(e){return oe(e).getComputedStyle(e)}function xa(e){return ue(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ve(e){if(qe(e)==="html")return e;let a=e.assignedSlot||e.parentNode||Rr(e)&&e.host||ie(e);return Rr(a)?a.host:a}function Dr(e){let a=ve(e);return Ue(a)?e.ownerDocument?e.ownerDocument.body:e.body:Le(a)&&ea(a)?a:Dr(a)}function Ee(e,a,t){var o;a===void 0&&(a=[]),t===void 0&&(t=!0);let r=Dr(e),l=r===((o=e.ownerDocument)==null?void 0:o.body),s=oe(r);if(l){let u=Za(s);return a.concat(s,s.visualViewport||[],ea(r)?r:[],u&&t?Ee(u):[])}else return a.concat(r,Ee(r,[],t))}function Za(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Or(e){let a=ne(e),t=parseFloat(a.width)||0,o=parseFloat(a.height)||0,r=Le(e),l=r?e.offsetWidth:t,s=r?e.offsetHeight:o,u=pa(t)!==l||pa(o)!==s;return u&&(t=l,o=s),{width:t,height:o,$:u}}function Ft(e){return ue(e)?e:e.contextElement}function aa(e){let a=Ft(e);if(!Le(a))return de(1);let t=a.getBoundingClientRect(),{width:o,height:r,$:l}=Or(a),s=(l?pa(t.width):t.width)/o,u=(l?pa(t.height):t.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!u||!Number.isFinite(u))&&(u=1),{x:s,y:u}}var yu=de(0);function Er(e){let a=oe(e);return!$a()||!a.visualViewport?yu:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function Pu(e,a,t){return a===void 0&&(a=!1),!t||a&&t!==oe(e)?!1:a}function He(e,a,t,o){a===void 0&&(a=!1),t===void 0&&(t=!1);let r=e.getBoundingClientRect(),l=Ft(e),s=de(1);a&&(o?ue(o)&&(s=aa(o)):s=aa(e));let u=Pu(l,t,o)?Er(l):de(0),d=(r.left+u.x)/s.x,n=(r.top+u.y)/s.y,f=r.width/s.x,i=r.height/s.y;if(l){let c=oe(l),p=o&&ue(o)?oe(o):o,h=c,m=Za(h);for(;m&&o&&p!==h;){let x=aa(m),L=m.getBoundingClientRect(),I=ne(m),w=L.left+(m.clientLeft+parseFloat(I.paddingLeft))*x.x,C=L.top+(m.clientTop+parseFloat(I.paddingTop))*x.y;d*=x.x,n*=x.y,f*=x.x,i*=x.y,d+=w,n+=C,h=oe(m),m=Za(h)}}return Te({width:f,height:i,x:d,y:n})}function Ya(e,a){let t=xa(e).scrollLeft;return a?a.left+t:He(ie(e)).left+t}function qr(e,a){let t=e.getBoundingClientRect(),o=t.left+a.scrollLeft-Ya(e,t),r=t.top+a.scrollTop;return{x:o,y:r}}function Ru(e){let{elements:a,rect:t,offsetParent:o,strategy:r}=e,l=r==="fixed",s=ie(o),u=a?ha(a.floating):!1;if(o===s||u&&l)return t;let d={scrollLeft:0,scrollTop:0},n=de(1),f=de(0),i=Le(o);if((i||!i&&!l)&&((qe(o)!=="body"||ea(s))&&(d=xa(o)),i)){let p=He(o);n=aa(o),f.x=p.x+o.clientLeft,f.y=p.y+o.clientTop}let c=s&&!i&&!l?qr(s,d):de(0);return{width:t.width*n.x,height:t.height*n.y,x:t.x*n.x-d.scrollLeft*n.x+f.x+c.x,y:t.y*n.y-d.scrollTop*n.y+f.y+c.y}}function ku(e){return Array.from(e.getClientRects())}function Au(e){let a=ie(e),t=xa(e),o=e.ownerDocument.body,r=ae(a.scrollWidth,a.clientWidth,o.scrollWidth,o.clientWidth),l=ae(a.scrollHeight,a.clientHeight,o.scrollHeight,o.clientHeight),s=-t.scrollLeft+Ya(e),u=-t.scrollTop;return ne(o).direction==="rtl"&&(s+=ae(a.clientWidth,o.clientWidth)-r),{width:r,height:l,x:s,y:u}}var Fr=25;function Mu(e,a){let t=oe(e),o=ie(e),r=t.visualViewport,l=o.clientWidth,s=o.clientHeight,u=0,d=0;if(r){l=r.width,s=r.height;let f=$a();(!f||f&&a==="fixed")&&(u=r.offsetLeft,d=r.offsetTop)}let n=Ya(o);if(n<=0){let f=o.ownerDocument,i=f.body,c=getComputedStyle(i),p=f.compatMode==="CSS1Compat"&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,h=Math.abs(o.clientWidth-i.clientWidth-p);h<=Fr&&(l-=h)}else n<=Fr&&(l+=n);return{width:l,height:s,x:u,y:d}}function Du(e,a){let t=He(e,!0,a==="fixed"),o=t.top+e.clientTop,r=t.left+e.clientLeft,l=Le(e)?aa(e):de(1),s=e.clientWidth*l.x,u=e.clientHeight*l.y,d=r*l.x,n=o*l.y;return{width:s,height:u,x:d,y:n}}function Br(e,a,t){let o;if(a==="viewport")o=Mu(e,t);else if(a==="document")o=Au(ie(e));else if(ue(a))o=Du(a,t);else{let r=Er(e);o={x:a.x-r.x,y:a.y-r.y,width:a.width,height:a.height}}return Te(o)}function Ur(e,a){let t=ve(e);return t===a||!ue(t)||Ue(t)?!1:ne(t).position==="fixed"||Ur(t,a)}function Fu(e,a){let t=a.get(e);if(t)return t;let o=Ee(e,[],!1).filter(u=>ue(u)&&qe(u)!=="body"),r=null,l=ne(e).position==="fixed",s=l?ve(e):e;for(;ue(s)&&!Ue(s);){let u=ne(s),d=Ka(s);!d&&u.position==="fixed"&&(r=null),(l?!d&&!r:!d&&u.position==="static"&&!!r&&(r.position==="absolute"||r.position==="fixed")||ea(s)&&!d&&Ur(e,s))?o=o.filter(f=>f!==s):r=u,s=ve(s)}return a.set(e,o),o}function Bu(e){let{element:a,boundary:t,rootBoundary:o,strategy:r}=e,s=[...t==="clippingAncestors"?ha(a)?[]:Fu(a,this._c):[].concat(t),o],u=Br(a,s[0],r),d=u.top,n=u.right,f=u.bottom,i=u.left;for(let c=1;c<s.length;c++){let p=Br(a,s[c],r);d=ae(p.top,d),n=me(p.right,n),f=me(p.bottom,f),i=ae(p.left,i)}return{width:n-i,height:f-d,x:i,y:d}}function Tu(e){let{width:a,height:t}=Or(e);return{width:a,height:t}}function Ou(e,a,t){let o=Le(a),r=ie(a),l=t==="fixed",s=He(e,!0,l,a),u={scrollLeft:0,scrollTop:0},d=de(0);function n(){d.x=Ya(r)}if(o||!o&&!l)if((qe(a)!=="body"||ea(r))&&(u=xa(a)),o){let p=He(a,!0,l,a);d.x=p.x+a.clientLeft,d.y=p.y+a.clientTop}else r&&n();l&&!o&&r&&n();let f=r&&!o&&!l?qr(r,u):de(0),i=s.left+u.scrollLeft-d.x-f.x,c=s.top+u.scrollTop-d.y-f.y;return{x:i,y:c,width:s.width,height:s.height}}function Dt(e){return ne(e).position==="static"}function Tr(e,a){if(!Le(e)||ne(e).position==="fixed")return null;if(a)return a(e);let t=e.offsetParent;return ie(e)===t&&(t=t.ownerDocument.body),t}function Hr(e,a){let t=oe(e);if(ha(e))return t;if(!Le(e)){let r=ve(e);for(;r&&!Ue(r);){if(ue(r)&&!Dt(r))return r;r=ve(r)}return t}let o=Tr(e,a);for(;o&&Ar(o)&&Dt(o);)o=Tr(o,a);return o&&Ue(o)&&Dt(o)&&!Ka(o)?t:o||Mr(e)||t}var Eu=async function(e){let a=this.getOffsetParent||Hr,t=this.getDimensions,o=await t(e.floating);return{reference:Ou(e.reference,await a(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function qu(e){return ne(e).direction==="rtl"}var Nr={convertOffsetParentRelativeRectToViewportRelativeRect:Ru,getDocumentElement:ie,getClippingRect:Bu,getOffsetParent:Hr,getElementRects:Eu,getClientRects:ku,getDimensions:Tu,getScale:aa,isElement:ue,isRTL:qu};function zr(e,a){return e.x===a.x&&e.y===a.y&&e.width===a.width&&e.height===a.height}function Uu(e,a){let t=null,o,r=ie(e);function l(){var u;clearTimeout(o),(u=t)==null||u.disconnect(),t=null}function s(u,d){u===void 0&&(u=!1),d===void 0&&(d=1),l();let n=e.getBoundingClientRect(),{left:f,top:i,width:c,height:p}=n;if(u||a(),!c||!p)return;let h=ma(i),m=ma(r.clientWidth-(f+c)),x=ma(r.clientHeight-(i+p)),L=ma(f),w={rootMargin:-h+"px "+-m+"px "+-x+"px "+-L+"px",threshold:ae(0,me(1,d))||1},C=!0;function P(R){let S=R[0].intersectionRatio;if(S!==d){if(!C)return s();S?s(!1,S):o=setTimeout(()=>{s(!1,1e-7)},1e3)}S===1&&!zr(n,e.getBoundingClientRect())&&s(),C=!1}try{t=new IntersectionObserver(P,{...w,root:r.ownerDocument})}catch{t=new IntersectionObserver(P,w)}t.observe(e)}return s(!0),l}function Bt(e,a,t,o){o===void 0&&(o={});let{ancestorScroll:r=!0,ancestorResize:l=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:d=!1}=o,n=Ft(e),f=r||l?[...n?Ee(n):[],...a?Ee(a):[]]:[];f.forEach(L=>{r&&L.addEventListener("scroll",t,{passive:!0}),l&&L.addEventListener("resize",t)});let i=n&&u?Uu(n,t):null,c=-1,p=null;s&&(p=new ResizeObserver(L=>{let[I]=L;I&&I.target===n&&p&&a&&(p.unobserve(a),cancelAnimationFrame(c),c=requestAnimationFrame(()=>{var w;(w=p)==null||w.observe(a)})),t()}),n&&!d&&p.observe(n),a&&p.observe(a));let h,m=d?He(e):null;d&&x();function x(){let L=He(e);m&&!zr(m,L)&&t(),m=L,h=requestAnimationFrame(x)}return t(),()=>{var L;f.forEach(I=>{r&&I.removeEventListener("scroll",t),l&&I.removeEventListener("resize",t)}),i?.(),(L=p)==null||L.disconnect(),p=null,d&&cancelAnimationFrame(h)}}var Gr=vr;var Wr=br,Vr=Cr,_r=Pr,Xr=Sr,Tt=Ir;var jr=yr,Ot=(e,a,t)=>{let o=new Map,r={platform:Nr,...t},l={...r.platform,_c:o};return gr(e,a,{...r,platform:l})};import*as V from"react";import{useLayoutEffect as Hu}from"react";import*as $r from"react-dom";var Nu=typeof document<"u",zu=function(){},Ja=Nu?Hu:zu;function Qa(e,a){if(e===a)return!0;if(typeof e!=typeof a)return!1;if(typeof e=="function"&&e.toString()===a.toString())return!0;let t,o,r;if(e&&a&&typeof e=="object"){if(Array.isArray(e)){if(t=e.length,t!==a.length)return!1;for(o=t;o--!==0;)if(!Qa(e[o],a[o]))return!1;return!0}if(r=Object.keys(e),t=r.length,t!==Object.keys(a).length)return!1;for(o=t;o--!==0;)if(!{}.hasOwnProperty.call(a,r[o]))return!1;for(o=t;o--!==0;){let l=r[o];if(!(l==="_owner"&&e.$$typeof)&&!Qa(e[l],a[l]))return!1}return!0}return e!==e&&a!==a}function Zr(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Kr(e,a){let t=Zr(e);return Math.round(a*t)/t}function Et(e){let a=V.useRef(e);return Ja(()=>{a.current=e}),a}function Yr(e){e===void 0&&(e={});let{placement:a="bottom",strategy:t="absolute",middleware:o=[],platform:r,elements:{reference:l,floating:s}={},transform:u=!0,whileElementsMounted:d,open:n}=e,[f,i]=V.useState({x:0,y:0,strategy:t,placement:a,middlewareData:{},isPositioned:!1}),[c,p]=V.useState(o);Qa(c,o)||p(o);let[h,m]=V.useState(null),[x,L]=V.useState(null),I=V.useCallback(A=>{A!==R.current&&(R.current=A,m(A))},[]),w=V.useCallback(A=>{A!==S.current&&(S.current=A,L(A))},[]),C=l||h,P=s||x,R=V.useRef(null),S=V.useRef(null),g=V.useRef(f),M=d!=null,F=Et(d),E=Et(r),U=Et(n),N=V.useCallback(()=>{if(!R.current||!S.current)return;let A={placement:a,strategy:t,middleware:c};E.current&&(A.platform=E.current),Ot(R.current,S.current,A).then(z=>{let y={...z,isPositioned:U.current!==!1};T.current&&!Qa(g.current,y)&&(g.current=y,$r.flushSync(()=>{i(y)}))})},[c,a,t,E,U]);Ja(()=>{n===!1&&g.current.isPositioned&&(g.current.isPositioned=!1,i(A=>({...A,isPositioned:!1})))},[n]);let T=V.useRef(!1);Ja(()=>(T.current=!0,()=>{T.current=!1}),[]),Ja(()=>{if(C&&(R.current=C),P&&(S.current=P),C&&P){if(F.current)return F.current(C,P,N);N()}},[C,P,N,F,M]);let W=V.useMemo(()=>({reference:R,floating:S,setReference:I,setFloating:w}),[I,w]),D=V.useMemo(()=>({reference:C,floating:P}),[C,P]),B=V.useMemo(()=>{let A={position:t,left:0,top:0};if(!D.floating)return A;let z=Kr(D.floating,f.x),y=Kr(D.floating,f.y);return u?{...A,transform:"translate("+z+"px, "+y+"px)",...Zr(D.floating)>=1.5&&{willChange:"transform"}}:{position:t,left:z,top:y}},[t,u,D.floating,f.x,f.y]);return V.useMemo(()=>({...f,update:N,refs:W,elements:D,floatingStyles:B}),[f,N,W,D,B])}var Gu=e=>{function a(t){return{}.hasOwnProperty.call(t,"current")}return{name:"arrow",options:e,fn(t){let{element:o,padding:r}=typeof e=="function"?e(t):e;return o&&a(o)?o.current!=null?Tt({element:o.current,padding:r}).fn(t):{}:o?Tt({element:o,padding:r}).fn(t):{}}}},Jr=(e,a)=>{let t=Gr(e);return{name:t.name,fn:t.fn,options:[e,a]}},Qr=(e,a)=>{let t=Wr(e);return{name:t.name,fn:t.fn,options:[e,a]}},el=(e,a)=>({fn:jr(e).fn,options:[e,a]}),al=(e,a)=>{let t=Vr(e);return{name:t.name,fn:t.fn,options:[e,a]}},tl=(e,a)=>{let t=_r(e);return{name:t.name,fn:t.fn,options:[e,a]}};var ol=(e,a)=>{let t=Xr(e);return{name:t.name,fn:t.fn,options:[e,a]}};var rl=(e,a)=>{let t=Gu(e);return{name:t.name,fn:t.fn,options:[e,a]}};import*as sl from"react";import{jsx as ll}from"react/jsx-runtime";var Wu="Arrow",ul=sl.forwardRef((e,a)=>{let{children:t,width:o=10,height:r=5,...l}=e;return ll(Z.svg,{...l,ref:a,width:o,height:r,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?t:ll("polygon",{points:"0,0 30,0 15,10"})})});ul.displayName=Wu;var nl=ul;import{jsx as Ne}from"react/jsx-runtime";var qt="Popper",[dl,Ut]=ka(qt),[_u,fl]=dl(qt),il=e=>{let{__scopePopper:a,children:t}=e,[o,r]=Y.useState(null),[l,s]=Y.useState(void 0);return Ne(_u,{scope:a,anchor:o,onAnchorChange:r,placementState:l,setPlacementState:s,children:t})};il.displayName=qt;var cl="PopperAnchor",pl=Y.forwardRef((e,a)=>{let{__scopePopper:t,virtualRef:o,...r}=e,l=fl(cl,t),s=Y.useRef(null),u=l.onAnchorChange,d=Y.useCallback(h=>{s.current=h,h&&u(h)},[u]),n=re(a,d),f=Y.useRef(null);Y.useEffect(()=>{if(!o)return;let h=f.current;f.current=o.current,h!==f.current&&u(f.current)});let i=l.placementState&&Nt(l.placementState),c=i?.[0],p=i?.[1];return o?null:Ne(Z.div,{"data-radix-popper-side":c,"data-radix-popper-align":p,...r,ref:n})});pl.displayName=cl;var Ht="PopperContent",[Xu,ju]=dl(Ht),ml=Y.forwardRef((e,a)=>{let{__scopePopper:t,side:o="bottom",sideOffset:r=0,align:l="center",alignOffset:s=0,arrowPadding:u=0,avoidCollisions:d=!0,collisionBoundary:n,collisionPadding:f=0,sticky:i="partial",hideWhenDetached:c=!1,updatePositionStrategy:p="optimized",onPlaced:h,...m}=e,x=fl(Ht,t),[L,I]=Y.useState(null),w=re(a,ye=>I(ye)),[C,P]=Y.useState(null),R=ur(C),S=R?.width??0,g=R?.height??0,M=o+(l!=="center"?"-"+l:""),F=typeof f=="number"?f:{top:0,right:0,bottom:0,left:0,...f},E=n?Array.isArray(n)?n:[n]:void 0,U=E!==void 0&&E.length>0,N={padding:F,boundary:E?.filter($u),altBoundary:U},{refs:T,floatingStyles:W,placement:D,isPositioned:B,middlewareData:A}=Yr({strategy:"fixed",placement:M,whileElementsMounted:(...ye)=>Bt(...ye,{animationFrame:p==="always"}),elements:{reference:x.anchor},middleware:[Jr({mainAxis:r+g,alignmentAxis:s}),d&&Qr({mainAxis:!0,crossAxis:!1,limiter:i==="partial"?el():void 0,...N}),d&&al({...N}),tl({...N,apply:({elements:ye,rects:G,availableWidth:Sa,availableHeight:_e})=>{let{width:Xe,height:sa}=G.reference,Se=ye.floating.style;Se.setProperty("--radix-popper-available-width",`${Sa}px`),Se.setProperty("--radix-popper-available-height",`${_e}px`),Se.setProperty("--radix-popper-anchor-width",`${Xe}px`),Se.setProperty("--radix-popper-anchor-height",`${sa}px`)}}),C&&rl({element:C,padding:u}),Zu({arrowWidth:S,arrowHeight:g}),c&&ol({strategy:"referenceHidden",...N})]}),z=x.setPlacementState;ee(()=>(z(D),()=>{z(void 0)}),[D,z]);let[y,oa]=Nt(D),ra=pe(h);ee(()=>{B&&ra?.()},[B,ra]);let Ca=A.arrow?.x,la=A.arrow?.y,j=A.arrow?.centerOffset!==0,[K,Ve]=Y.useState();return ee(()=>{L&&Ve(window.getComputedStyle(L).zIndex)},[L]),Ne("div",{ref:T.setFloating,"data-radix-popper-content-wrapper":"",style:{...W,transform:B?W.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:K,"--radix-popper-transform-origin":[A.transformOrigin?.x,A.transformOrigin?.y].join(" "),...A.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:Ne(Xu,{scope:t,placedSide:y,placedAlign:oa,onArrowChange:P,arrowX:Ca,arrowY:la,shouldHideArrow:j,children:Ne(Z.div,{"data-side":y,"data-align":oa,...m,ref:w,style:{...m.style,animation:B?void 0:"none"}})})})});ml.displayName=Ht;var hl="PopperArrow",Ku={top:"bottom",right:"left",bottom:"top",left:"right"},xl=Y.forwardRef(function(a,t){let{__scopePopper:o,...r}=a,l=ju(hl,o),s=Ku[l.placedSide];return Ne("span",{ref:l.onArrowChange,style:{position:"absolute",left:l.arrowX,top:l.arrowY,[s]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[l.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[l.placedSide],visibility:l.shouldHideArrow?"hidden":void 0},children:Ne(nl,{...r,ref:t,style:{...r.style,display:"block"}})})});xl.displayName=hl;function $u(e){return e!==null}var Zu=e=>({name:"transformOrigin",options:e,fn(a){let{placement:t,rects:o,middlewareData:r}=a,s=r.arrow?.centerOffset!==0,u=s?0:e.arrowWidth,d=s?0:e.arrowHeight,[n,f]=Nt(t),i={start:"0%",center:"50%",end:"100%"}[f],c=(r.arrow?.x??0)+u/2,p=(r.arrow?.y??0)+d/2,h="",m="";return n==="bottom"?(h=s?i:`${c}px`,m=`${-d}px`):n==="top"?(h=s?i:`${c}px`,m=`${o.floating.height+d}px`):n==="right"?(h=`${-d}px`,m=s?i:`${p}px`):n==="left"&&(h=`${o.floating.width+d}px`,m=s?i:`${p}px`),{data:{x:h,y:m}}}});function Nt(e){let[a,t="center"]=e.split("-");return[a,t]}var Ll=il,zt=pl,gl=ml,Il=xl;var ze={};st(ze,{Anchor:()=>un,Arrow:()=>pn,Close:()=>cn,Content:()=>fn,Popover:()=>Gt,PopoverAnchor:()=>Wt,PopoverArrow:()=>$t,PopoverClose:()=>Kt,PopoverContent:()=>jt,PopoverPortal:()=>Xt,PopoverTrigger:()=>Vt,Portal:()=>dn,Root:()=>sn,Trigger:()=>nn,createPopoverScope:()=>Ju});import*as q from"react";import{jsx as _}from"react/jsx-runtime";var et="Popover",[Cl,Ju]=ka(et,[Ut]),La=Ut(),[Qu,Re]=Cl(et),Gt=e=>{let{__scopePopover:a,children:t,open:o,defaultOpen:r,onOpenChange:l,modal:s=!1}=e,u=La(a),d=q.useRef(null),[n,f]=q.useState(!1),[i,c]=Co({prop:o,defaultProp:r??!1,onChange:l,caller:et});return _(Ll,{...u,children:_(Qu,{scope:a,contentId:vo(),triggerRef:d,open:i,onOpenChange:c,onOpenToggle:q.useCallback(()=>c(p=>!p),[c]),hasCustomAnchor:n,onCustomAnchorAdd:q.useCallback(()=>f(!0),[]),onCustomAnchorRemove:q.useCallback(()=>f(!1),[]),modal:s,children:t})})};Gt.displayName=et;var Sl="PopoverAnchor",Wt=q.forwardRef((e,a)=>{let{__scopePopover:t,...o}=e,r=Re(Sl,t),l=La(t),{onCustomAnchorAdd:s,onCustomAnchorRemove:u}=r;return q.useEffect(()=>(s(),()=>u()),[s,u]),_(zt,{...l,...o,ref:a})});Wt.displayName=Sl;var wl="PopoverTrigger",Vt=q.forwardRef((e,a)=>{let{__scopePopover:t,...o}=e,r=Re(wl,t),l=La(t),s=re(a,r.triggerRef),u=_(Z.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":yl(r.open),...o,ref:s,onClick:ce(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?u:_(zt,{asChild:!0,...l,children:u})});Vt.displayName=wl;var _t="PopoverPortal",[en,an]=Cl(_t,{forceMount:void 0}),Xt=e=>{let{__scopePopover:a,forceMount:t,children:o,container:r}=e,l=Re(_t,a);return _(en,{scope:a,forceMount:t,children:_(Da,{present:t||l.open,children:_(pt,{asChild:!0,container:r,children:o})})})};Xt.displayName=_t;var ta="PopoverContent",jt=q.forwardRef((e,a)=>{let t=an(ta,e.__scopePopover),{forceMount:o=t.forceMount,...r}=e,l=Re(ta,e.__scopePopover);return _(Da,{present:o||l.open,children:l.modal?_(on,{...r,ref:a}):_(rn,{...r,ref:a})})});jt.displayName=ta;var tn=je("PopoverContent.RemoveScroll"),on=q.forwardRef((e,a)=>{let t=Re(ta,e.__scopePopover),o=q.useRef(null),r=re(a,o),l=q.useRef(!1);return q.useEffect(()=>{let s=o.current;if(s)return lr(s)},[]),_(Rt,{as:tn,allowPinchZoom:!0,children:_(vl,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ce(e.onCloseAutoFocus,s=>{s.preventDefault(),l.current||t.triggerRef.current?.focus()}),onPointerDownOutside:ce(e.onPointerDownOutside,s=>{let u=s.detail.originalEvent,d=u.button===0&&u.ctrlKey===!0,n=u.button===2||d;l.current=n},{checkForDefaultPrevented:!1}),onFocusOutside:ce(e.onFocusOutside,s=>s.preventDefault(),{checkForDefaultPrevented:!1})})})}),rn=q.forwardRef((e,a)=>{let t=Re(ta,e.__scopePopover),o=q.useRef(!1),r=q.useRef(!1);return _(vl,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:l=>{e.onCloseAutoFocus?.(l),l.defaultPrevented||(o.current||t.triggerRef.current?.focus(),l.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:l=>{e.onInteractOutside?.(l),l.defaultPrevented||(o.current=!0,l.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=l.target;t.triggerRef.current?.contains(s)&&l.preventDefault(),l.detail.originalEvent.type==="focusin"&&r.current&&l.preventDefault()}})}),vl=q.forwardRef((e,a)=>{let{__scopePopover:t,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:l,disableOutsidePointerEvents:s,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:n,onInteractOutside:f,...i}=e,c=Re(ta,t),p=La(t);return Ho(),_(ct,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:l,children:_(dt,{asChild:!0,disableOutsidePointerEvents:s,onInteractOutside:f,onEscapeKeyDown:u,onPointerDownOutside:d,onFocusOutside:n,onDismiss:()=>c.onOpenChange(!1),children:_(gl,{"data-state":yl(c.open),role:"dialog",id:c.contentId,...p,...i,ref:a,style:{...i.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),bl="PopoverClose",Kt=q.forwardRef((e,a)=>{let{__scopePopover:t,...o}=e,r=Re(bl,t);return _(Z.button,{type:"button",...o,ref:a,onClick:ce(e.onClick,()=>r.onOpenChange(!1))})});Kt.displayName=bl;var ln="PopoverArrow",$t=q.forwardRef((e,a)=>{let{__scopePopover:t,...o}=e,r=La(t);return _(Il,{...r,...o,ref:a})});$t.displayName=ln;function yl(e){return e?"open":"closed"}var sn=Gt,un=Wt,nn=Vt,dn=Xt,fn=jt,cn=Kt,pn=$t;var at={};st(at,{Root:()=>gn,Separator:()=>Zt});import*as Rl from"react";import{jsx as mn}from"react/jsx-runtime";var hn="Separator",Pl="horizontal",xn=["horizontal","vertical"],Zt=Rl.forwardRef((e,a)=>{let{decorative:t,orientation:o=Pl,...r}=e,l=Ln(o)?o:Pl,u=t?{role:"none"}:{"aria-orientation":l==="vertical"?l:void 0,role:"separator"};return mn(Z.div,{"data-orientation":l,...u,...r,ref:a})});Zt.displayName=hn;function Ln(e){return xn.includes(e)}var gn=Zt;var In=(e,a)=>{let t=new Array(e.length+a.length);for(let o=0;o<e.length;o++)t[o]=e[o];for(let o=0;o<a.length;o++)t[e.length+o]=a[o];return t},Cn=(e,a)=>({classGroupId:e,validator:a}),Tl=(e=new Map,a=null,t)=>({nextPart:e,validators:a,classGroupId:t}),rt="-",kl=[],Sn="arbitrary..",wn=e=>{let a=bn(e),{conflictingClassGroups:t,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return vn(s);let u=s.split(rt),d=u[0]===""&&u.length>1?1:0;return Ol(u,d,a)},getConflictingClassGroupIds:(s,u)=>{if(u){let d=o[s],n=t[s];return d?n?In(n,d):d:n||kl}return t[s]||kl}}},Ol=(e,a,t)=>{if(e.length-a===0)return t.classGroupId;let r=e[a],l=t.nextPart.get(r);if(l){let n=Ol(e,a+1,l);if(n)return n}let s=t.validators;if(s===null)return;let u=a===0?e.join(rt):e.slice(a).join(rt),d=s.length;for(let n=0;n<d;n++){let f=s[n];if(f.validator(u))return f.classGroupId}},vn=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let a=e.slice(1,-1),t=a.indexOf(":"),o=a.slice(0,t);return o?Sn+o:void 0})(),bn=e=>{let{theme:a,classGroups:t}=e;return yn(t,a)},yn=(e,a)=>{let t=Tl();for(let o in e){let r=e[o];Qt(r,t,o,a)}return t},Qt=(e,a,t,o)=>{let r=e.length;for(let l=0;l<r;l++){let s=e[l];Pn(s,a,t,o)}},Pn=(e,a,t,o)=>{if(typeof e=="string"){Rn(e,a,t);return}if(typeof e=="function"){kn(e,a,t,o);return}An(e,a,t,o)},Rn=(e,a,t)=>{let o=e===""?a:El(a,e);o.classGroupId=t},kn=(e,a,t,o)=>{if(Mn(e)){Qt(e(o),a,t,o);return}a.validators===null&&(a.validators=[]),a.validators.push(Cn(t,e))},An=(e,a,t,o)=>{let r=Object.entries(e),l=r.length;for(let s=0;s<l;s++){let[u,d]=r[s];Qt(d,El(a,u),t,o)}},El=(e,a)=>{let t=e,o=a.split(rt),r=o.length;for(let l=0;l<r;l++){let s=o[l],u=t.nextPart.get(s);u||(u=Tl(),t.nextPart.set(s,u)),t=u}return t},Mn=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Dn=e=>{if(e<1)return{get:()=>{},set:()=>{}};let a=0,t=Object.create(null),o=Object.create(null),r=(l,s)=>{t[l]=s,a++,a>e&&(a=0,o=t,t=Object.create(null))};return{get(l){let s=t[l];if(s!==void 0)return s;if((s=o[l])!==void 0)return r(l,s),s},set(l,s){l in t?t[l]=s:r(l,s)}}},Jt="!",Al=":",Fn=[],Ml=(e,a,t,o,r)=>({modifiers:e,hasImportantModifier:a,baseClassName:t,maybePostfixModifierPosition:o,isExternal:r}),Bn=e=>{let{prefix:a,experimentalParseClassName:t}=e,o=r=>{let l=[],s=0,u=0,d=0,n,f=r.length;for(let m=0;m<f;m++){let x=r[m];if(s===0&&u===0){if(x===Al){l.push(r.slice(d,m)),d=m+1;continue}if(x==="/"){n=m;continue}}x==="["?s++:x==="]"?s--:x==="("?u++:x===")"&&u--}let i=l.length===0?r:r.slice(d),c=i,p=!1;i.endsWith(Jt)?(c=i.slice(0,-1),p=!0):i.startsWith(Jt)&&(c=i.slice(1),p=!0);let h=n&&n>d?n-d:void 0;return Ml(l,p,c,h)};if(a){let r=a+Al,l=o;o=s=>s.startsWith(r)?l(s.slice(r.length)):Ml(Fn,!1,s,void 0,!0)}if(t){let r=o;o=l=>t({className:l,parseClassName:r})}return o},Tn=e=>{let a=new Map;return e.orderSensitiveModifiers.forEach((t,o)=>{a.set(t,1e6+o)}),t=>{let o=[],r=[];for(let l=0;l<t.length;l++){let s=t[l],u=s[0]==="[",d=a.has(s);u||d?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},On=e=>({cache:Dn(e.cacheSize),parseClassName:Bn(e),sortModifiers:Tn(e),postfixLookupClassGroupIds:En(e),...wn(e)}),En=e=>{let a=Object.create(null),t=e.postfixLookupClassGroups;if(t)for(let o=0;o<t.length;o++)a[t[o]]=!0;return a},qn=/\s+/,Un=(e,a)=>{let{parseClassName:t,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:l,postfixLookupClassGroupIds:s}=a,u=[],d=e.trim().split(qn),n="";for(let f=d.length-1;f>=0;f-=1){let i=d[f],{isExternal:c,modifiers:p,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:x}=t(i);if(c){n=i+(n.length>0?" "+n:n);continue}let L=!!x,I;if(L){let S=m.substring(0,x);I=o(S);let g=I&&s[I]?o(m):void 0;g&&g!==I&&(I=g,L=!1)}else I=o(m);if(!I){if(!L){n=i+(n.length>0?" "+n:n);continue}if(I=o(m),!I){n=i+(n.length>0?" "+n:n);continue}L=!1}let w=p.length===0?"":p.length===1?p[0]:l(p).join(":"),C=h?w+Jt:w,P=C+I;if(u.indexOf(P)>-1)continue;u.push(P);let R=r(I,L);for(let S=0;S<R.length;++S){let g=R[S];u.push(C+g)}n=i+(n.length>0?" "+n:n)}return n},Hn=(...e)=>{let a=0,t,o,r="";for(;a<e.length;)(t=e[a++])&&(o=ql(t))&&(r&&(r+=" "),r+=o);return r},ql=e=>{if(typeof e=="string")return e;let a,t="";for(let o=0;o<e.length;o++)e[o]&&(a=ql(e[o]))&&(t&&(t+=" "),t+=a);return t},Nn=(e,...a)=>{let t,o,r,l,s=d=>{let n=a.reduce((f,i)=>i(f),e());return t=On(n),o=t.cache.get,r=t.cache.set,l=u,u(d)},u=d=>{let n=o(d);if(n)return n;let f=Un(d,t);return r(d,f),f};return l=s,(...d)=>l(Hn(...d))},zn=[],X=e=>{let a=t=>t[e]||zn;return a.isThemeGetter=!0,a},Ul=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Hl=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Gn=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Wn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Vn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,_n=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Xn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,jn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ke=e=>Gn.test(e),k=e=>!!e&&!Number.isNaN(Number(e)),ge=e=>!!e&&Number.isInteger(Number(e)),Yt=e=>e.endsWith("%")&&k(e.slice(0,-1)),be=e=>Wn.test(e),Nl=()=>!0,Kn=e=>Vn.test(e)&&!_n.test(e),eo=()=>!1,$n=e=>Xn.test(e),Zn=e=>jn.test(e),Yn=e=>!v(e)&&!b(e),Jn=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),Qn=e=>Ae(e,Wl,eo),v=e=>Ul.test(e),Ge=e=>Ae(e,Vl,Kn),Dl=e=>Ae(e,ud,k),ed=e=>Ae(e,Xl,Nl),ad=e=>Ae(e,_l,eo),Fl=e=>Ae(e,zl,eo),td=e=>Ae(e,Gl,Zn),tt=e=>Ae(e,jl,$n),b=e=>Hl.test(e),ga=e=>We(e,Vl),od=e=>We(e,_l),Bl=e=>We(e,zl),rd=e=>We(e,Wl),ld=e=>We(e,Gl),ot=e=>We(e,jl,!0),sd=e=>We(e,Xl,!0),Ae=(e,a,t)=>{let o=Ul.exec(e);return o?o[1]?a(o[1]):t(o[2]):!1},We=(e,a,t=!1)=>{let o=Hl.exec(e);return o?o[1]?a(o[1]):t:!1},zl=e=>e==="position"||e==="percentage",Gl=e=>e==="image"||e==="url",Wl=e=>e==="length"||e==="size"||e==="bg-size",Vl=e=>e==="length",ud=e=>e==="number",_l=e=>e==="family-name",Xl=e=>e==="number"||e==="weight",jl=e=>e==="shadow";var nd=()=>{let e=X("color"),a=X("font"),t=X("text"),o=X("font-weight"),r=X("tracking"),l=X("leading"),s=X("breakpoint"),u=X("container"),d=X("spacing"),n=X("radius"),f=X("shadow"),i=X("inset-shadow"),c=X("text-shadow"),p=X("drop-shadow"),h=X("blur"),m=X("perspective"),x=X("aspect"),L=X("ease"),I=X("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],P=()=>[...C(),b,v],R=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],g=()=>[b,v,d],M=()=>[ke,"full","auto",...g()],F=()=>[ge,"none","subgrid",b,v],E=()=>["auto",{span:["full",ge,b,v]},ge,b,v],U=()=>[ge,"auto",b,v],N=()=>["auto","min","max","fr",b,v],T=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],W=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...g()],B=()=>[ke,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],A=()=>[ke,"screen","full","dvw","lvw","svw","min","max","fit",...g()],z=()=>[ke,"screen","full","lh","dvh","lvh","svh","min","max","fit",...g()],y=()=>[e,b,v],oa=()=>[...C(),Bl,Fl,{position:[b,v]}],ra=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ca=()=>["auto","cover","contain",rd,Qn,{size:[b,v]}],la=()=>[Yt,ga,Ge],j=()=>["","none","full",n,b,v],K=()=>["",k,ga,Ge],Ve=()=>["solid","dashed","dotted","double"],ye=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],G=()=>[k,Yt,Bl,Fl],Sa=()=>["","none",h,b,v],_e=()=>["none",k,b,v],Xe=()=>["none",k,b,v],sa=()=>[k,b,v],Se=()=>[ke,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[be],breakpoint:[be],color:[Nl],container:[be],"drop-shadow":[be],ease:["in","out","in-out"],font:[Yn],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[be],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[be],shadow:[be],spacing:["px",k],text:[be],"text-shadow":[be],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ke,v,b,x]}],container:["container"],"container-type":[{"@container":["","normal","size",b,v]}],"container-named":[Jn],columns:[{columns:[k,v,b,u]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:P()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[ge,"auto",b,v]}],basis:[{basis:[ke,"full","auto",u,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[k,ke,"auto","initial","none",v]}],grow:[{grow:["",k,b,v]}],shrink:[{shrink:["",k,b,v]}],order:[{order:[ge,"first","last","none",b,v]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:E()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:E()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":N()}],"auto-rows":[{"auto-rows":N()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...T(),"normal"]}],"justify-items":[{"justify-items":[...W(),"normal"]}],"justify-self":[{"justify-self":["auto",...W()]}],"align-content":[{content:["normal",...T()]}],"align-items":[{items:[...W(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...W(),{baseline:["","last"]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...W(),"baseline"]}],"place-self":[{"place-self":["auto",...W()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pbs:[{pbs:g()}],pbe:[{pbe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:B()}],"inline-size":[{inline:["auto",...A()]}],"min-inline-size":[{"min-inline":["auto",...A()]}],"max-inline-size":[{"max-inline":["none",...A()]}],"block-size":[{block:["auto",...z()]}],"min-block-size":[{"min-block":["auto",...z()]}],"max-block-size":[{"max-block":["none",...z()]}],w:[{w:[u,"screen",...B()]}],"min-w":[{"min-w":[u,"screen","none",...B()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[s]},...B()]}],h:[{h:["screen","lh",...B()]}],"min-h":[{"min-h":["screen","lh","none",...B()]}],"max-h":[{"max-h":["screen","lh",...B()]}],"font-size":[{text:["base",t,ga,Ge]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,sd,ed]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Yt,v]}],"font-family":[{font:[od,ad,a]}],"font-features":[{"font-features":[v]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,b,v]}],"line-clamp":[{"line-clamp":[k,"none",b,Dl]}],leading:[{leading:[l,...g()]}],"list-image":[{"list-image":["none",b,v]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",b,v]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:y()}],"text-color":[{text:y()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Ve(),"wavy"]}],"text-decoration-thickness":[{decoration:[k,"from-font","auto",b,Ge]}],"text-decoration-color":[{decoration:y()}],"underline-offset":[{"underline-offset":[k,"auto",b,v]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"tab-size":[{tab:[ge,b,v]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",b,v]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",b,v]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:oa()}],"bg-repeat":[{bg:ra()}],"bg-size":[{bg:Ca()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ge,b,v],radial:["",b,v],conic:[ge,b,v]},ld,td]}],"bg-color":[{bg:y()}],"gradient-from-pos":[{from:la()}],"gradient-via-pos":[{via:la()}],"gradient-to-pos":[{to:la()}],"gradient-from":[{from:y()}],"gradient-via":[{via:y()}],"gradient-to":[{to:y()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:K()}],"border-w-x":[{"border-x":K()}],"border-w-y":[{"border-y":K()}],"border-w-s":[{"border-s":K()}],"border-w-e":[{"border-e":K()}],"border-w-bs":[{"border-bs":K()}],"border-w-be":[{"border-be":K()}],"border-w-t":[{"border-t":K()}],"border-w-r":[{"border-r":K()}],"border-w-b":[{"border-b":K()}],"border-w-l":[{"border-l":K()}],"divide-x":[{"divide-x":K()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":K()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Ve(),"hidden","none"]}],"divide-style":[{divide:[...Ve(),"hidden","none"]}],"border-color":[{border:y()}],"border-color-x":[{"border-x":y()}],"border-color-y":[{"border-y":y()}],"border-color-s":[{"border-s":y()}],"border-color-e":[{"border-e":y()}],"border-color-bs":[{"border-bs":y()}],"border-color-be":[{"border-be":y()}],"border-color-t":[{"border-t":y()}],"border-color-r":[{"border-r":y()}],"border-color-b":[{"border-b":y()}],"border-color-l":[{"border-l":y()}],"divide-color":[{divide:y()}],"outline-style":[{outline:[...Ve(),"none","hidden"]}],"outline-offset":[{"outline-offset":[k,b,v]}],"outline-w":[{outline:["",k,ga,Ge]}],"outline-color":[{outline:y()}],shadow:[{shadow:["","none",f,ot,tt]}],"shadow-color":[{shadow:y()}],"inset-shadow":[{"inset-shadow":["none",i,ot,tt]}],"inset-shadow-color":[{"inset-shadow":y()}],"ring-w":[{ring:K()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:y()}],"ring-offset-w":[{"ring-offset":[k,Ge]}],"ring-offset-color":[{"ring-offset":y()}],"inset-ring-w":[{"inset-ring":K()}],"inset-ring-color":[{"inset-ring":y()}],"text-shadow":[{"text-shadow":["none",c,ot,tt]}],"text-shadow-color":[{"text-shadow":y()}],opacity:[{opacity:[k,b,v]}],"mix-blend":[{"mix-blend":[...ye(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ye()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[k]}],"mask-image-linear-from-pos":[{"mask-linear-from":G()}],"mask-image-linear-to-pos":[{"mask-linear-to":G()}],"mask-image-linear-from-color":[{"mask-linear-from":y()}],"mask-image-linear-to-color":[{"mask-linear-to":y()}],"mask-image-t-from-pos":[{"mask-t-from":G()}],"mask-image-t-to-pos":[{"mask-t-to":G()}],"mask-image-t-from-color":[{"mask-t-from":y()}],"mask-image-t-to-color":[{"mask-t-to":y()}],"mask-image-r-from-pos":[{"mask-r-from":G()}],"mask-image-r-to-pos":[{"mask-r-to":G()}],"mask-image-r-from-color":[{"mask-r-from":y()}],"mask-image-r-to-color":[{"mask-r-to":y()}],"mask-image-b-from-pos":[{"mask-b-from":G()}],"mask-image-b-to-pos":[{"mask-b-to":G()}],"mask-image-b-from-color":[{"mask-b-from":y()}],"mask-image-b-to-color":[{"mask-b-to":y()}],"mask-image-l-from-pos":[{"mask-l-from":G()}],"mask-image-l-to-pos":[{"mask-l-to":G()}],"mask-image-l-from-color":[{"mask-l-from":y()}],"mask-image-l-to-color":[{"mask-l-to":y()}],"mask-image-x-from-pos":[{"mask-x-from":G()}],"mask-image-x-to-pos":[{"mask-x-to":G()}],"mask-image-x-from-color":[{"mask-x-from":y()}],"mask-image-x-to-color":[{"mask-x-to":y()}],"mask-image-y-from-pos":[{"mask-y-from":G()}],"mask-image-y-to-pos":[{"mask-y-to":G()}],"mask-image-y-from-color":[{"mask-y-from":y()}],"mask-image-y-to-color":[{"mask-y-to":y()}],"mask-image-radial":[{"mask-radial":[b,v]}],"mask-image-radial-from-pos":[{"mask-radial-from":G()}],"mask-image-radial-to-pos":[{"mask-radial-to":G()}],"mask-image-radial-from-color":[{"mask-radial-from":y()}],"mask-image-radial-to-color":[{"mask-radial-to":y()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[k]}],"mask-image-conic-from-pos":[{"mask-conic-from":G()}],"mask-image-conic-to-pos":[{"mask-conic-to":G()}],"mask-image-conic-from-color":[{"mask-conic-from":y()}],"mask-image-conic-to-color":[{"mask-conic-to":y()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:oa()}],"mask-repeat":[{mask:ra()}],"mask-size":[{mask:Ca()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",b,v]}],filter:[{filter:["","none",b,v]}],blur:[{blur:Sa()}],brightness:[{brightness:[k,b,v]}],contrast:[{contrast:[k,b,v]}],"drop-shadow":[{"drop-shadow":["","none",p,ot,tt]}],"drop-shadow-color":[{"drop-shadow":y()}],grayscale:[{grayscale:["",k,b,v]}],"hue-rotate":[{"hue-rotate":[k,b,v]}],invert:[{invert:["",k,b,v]}],saturate:[{saturate:[k,b,v]}],sepia:[{sepia:["",k,b,v]}],"backdrop-filter":[{"backdrop-filter":["","none",b,v]}],"backdrop-blur":[{"backdrop-blur":Sa()}],"backdrop-brightness":[{"backdrop-brightness":[k,b,v]}],"backdrop-contrast":[{"backdrop-contrast":[k,b,v]}],"backdrop-grayscale":[{"backdrop-grayscale":["",k,b,v]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[k,b,v]}],"backdrop-invert":[{"backdrop-invert":["",k,b,v]}],"backdrop-opacity":[{"backdrop-opacity":[k,b,v]}],"backdrop-saturate":[{"backdrop-saturate":[k,b,v]}],"backdrop-sepia":[{"backdrop-sepia":["",k,b,v]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",b,v]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[k,"initial",b,v]}],ease:[{ease:["linear","initial",L,b,v]}],delay:[{delay:[k,b,v]}],animate:[{animate:["none",I,b,v]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,b,v]}],"perspective-origin":[{"perspective-origin":P()}],rotate:[{rotate:_e()}],"rotate-x":[{"rotate-x":_e()}],"rotate-y":[{"rotate-y":_e()}],"rotate-z":[{"rotate-z":_e()}],scale:[{scale:Xe()}],"scale-x":[{"scale-x":Xe()}],"scale-y":[{"scale-y":Xe()}],"scale-z":[{"scale-z":Xe()}],"scale-3d":["scale-3d"],skew:[{skew:sa()}],"skew-x":[{"skew-x":sa()}],"skew-y":[{"skew-y":sa()}],transform:[{transform:[b,v,"","none","gpu","cpu"]}],"transform-origin":[{origin:P()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Se()}],"translate-x":[{"translate-x":Se()}],"translate-y":[{"translate-y":Se()}],"translate-z":[{"translate-z":Se()}],"translate-none":["translate-none"],zoom:[{zoom:[ge,b,v]}],accent:[{accent:y()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:y()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",b,v]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":y()}],"scrollbar-track-color":[{"scrollbar-track":y()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mbs":[{"scroll-mbs":g()}],"scroll-mbe":[{"scroll-mbe":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pbs":[{"scroll-pbs":g()}],"scroll-pbe":[{"scroll-pbe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",b,v]}],fill:[{fill:["none",...y()]}],"stroke-w":[{stroke:[k,ga,Ge,Dl]}],stroke:[{stroke:["none",...y()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Kl=Nn(nd);function Ie(...e){return Kl(ba(e))}import{jsx as fd}from"react/jsx-runtime";var dd=ya("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function ao({className:e,variant:a="default",size:t="default",asChild:o=!1,...r}){let l=o?Ra.Root:"button";return fd(l,{"data-slot":"button","data-variant":a,"data-size":t,className:Ie(dd({variant:a,size:t,className:e})),...r})}import{jsx as id}from"react/jsx-runtime";function to({className:e,orientation:a="horizontal",decorative:t=!0,...o}){return id(at.Root,{"data-slot":"separator",decorative:t,orientation:a,className:Ie("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...o})}import{jsx as pd}from"react/jsx-runtime";var cd=ya("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}});function $l({className:e,orientation:a,...t}){return pd("div",{role:"group","data-slot":"button-group","data-orientation":a,className:Ie(cd({orientation:a}),e),...t})}import{jsx as lt}from"react/jsx-runtime";function Zl({...e}){return lt(ze.Root,{"data-slot":"popover",...e})}function Yl({...e}){return lt(ze.Trigger,{"data-slot":"popover-trigger",...e})}function Jl({className:e,align:a="center",sideOffset:t=4,...o}){return lt(ze.Portal,{children:lt(ze.Content,{"data-slot":"popover-content",align:a,sideOffset:t,className:Ie("z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...o})})}import{jsx as md}from"react/jsx-runtime";function Ql({className:e,...a}){return md("textarea",{"data-slot":"textarea",className:Ie("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",e),...a})}import{jsx as Ce,jsxs as Ia}from"react/jsx-runtime";function hd(){return Ia($l,{children:[Ia(ao,{variant:"outline",children:[Ce(ua,{})," Copilot"]}),Ia(Zl,{children:[Ce(Yl,{asChild:!0,children:Ce(ao,{variant:"outline",size:"icon","aria-label":"Open Popover",children:Ce(na,{})})}),Ia(Jl,{align:"end",className:"rounded-xl p-0 text-sm",children:[Ce("div",{className:"px-4 py-3",children:Ce("div",{className:"text-sm font-medium",children:"Agent Tasks"})}),Ce(to,{}),Ia("div",{className:"p-4 text-sm *:[p:not(:last-child)]:mb-2",children:[Ce(Ql,{placeholder:"Describe your task in natural language.",className:"mb-4 resize-none"}),Ce("p",{className:"font-medium",children:"Start a new task with Copilot"}),Ce("p",{className:"text-muted-foreground",children:"Describe your task in natural language. Copilot will work in the background and open a pull request for your review."})]})]})]})]})}export{hd as default};
42
- /*! Bundled license information:
43
-
44
- lucide-react/dist/esm/shared/src/utils.js:
45
- (**
46
- * @license lucide-react v0.456.0 - ISC
47
- *
48
- * This source code is licensed under the ISC license.
49
- * See the LICENSE file in the root directory of this source tree.
50
- *)
51
-
52
- lucide-react/dist/esm/defaultAttributes.js:
53
- (**
54
- * @license lucide-react v0.456.0 - ISC
55
- *
56
- * This source code is licensed under the ISC license.
57
- * See the LICENSE file in the root directory of this source tree.
58
- *)
59
-
60
- lucide-react/dist/esm/Icon.js:
61
- (**
62
- * @license lucide-react v0.456.0 - ISC
63
- *
64
- * This source code is licensed under the ISC license.
65
- * See the LICENSE file in the root directory of this source tree.
66
- *)
67
-
68
- lucide-react/dist/esm/createLucideIcon.js:
69
- (**
70
- * @license lucide-react v0.456.0 - ISC
71
- *
72
- * This source code is licensed under the ISC license.
73
- * See the LICENSE file in the root directory of this source tree.
74
- *)
75
-
76
- lucide-react/dist/esm/icons/bot.js:
77
- (**
78
- * @license lucide-react v0.456.0 - ISC
79
- *
80
- * This source code is licensed under the ISC license.
81
- * See the LICENSE file in the root directory of this source tree.
82
- *)
83
-
84
- lucide-react/dist/esm/icons/chevron-down.js:
85
- (**
86
- * @license lucide-react v0.456.0 - ISC
87
- *
88
- * This source code is licensed under the ISC license.
89
- * See the LICENSE file in the root directory of this source tree.
90
- *)
91
-
92
- lucide-react/dist/esm/lucide-react.js:
93
- (**
94
- * @license lucide-react v0.456.0 - ISC
95
- *
96
- * This source code is licensed under the ISC license.
97
- * See the LICENSE file in the root directory of this source tree.
98
- *)
99
- */
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:301ca351db656e45247b854c0d7a24bb6d4f9925e0464e7c106ef60af96ad762
3
+ size 97990