Srikanth, Phani commited on
Commit
b9aa460
·
1 Parent(s): b886111

Added to space

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitignore +2 -0
  2. components.json +17 -0
  3. index.html +1123 -19
  4. next-env.d.ts +5 -0
  5. next.config.mjs +10 -0
  6. out/.DS_Store +0 -0
  7. out/404.html +1 -0
  8. out/404/index.html +1 -0
  9. out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_buildManifest.js +1 -0
  10. out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_ssgManifest.js +1 -0
  11. out/_next/static/chunks/23-3c786d31948a49f2.js +0 -0
  12. out/_next/static/chunks/506-f293b903a260cb45.js +16 -0
  13. out/_next/static/chunks/app/_not-found/page-8022c94d4a8b5013.js +1 -0
  14. out/_next/static/chunks/app/layout-ef4c0ae0c29ac2b5.js +1 -0
  15. out/_next/static/chunks/app/page-24a4cfd26a3ffdcb.js +1 -0
  16. out/_next/static/chunks/fd9d1056-51face16839d2cb0.js +0 -0
  17. out/_next/static/chunks/framework-f66176bb897dc684.js +0 -0
  18. out/_next/static/chunks/main-app-dda775df53745ffe.js +1 -0
  19. out/_next/static/chunks/main-c980e89993b16cc4.js +0 -0
  20. out/_next/static/chunks/pages/_app-6a626577ffa902a4.js +1 -0
  21. out/_next/static/chunks/pages/_error-1be831200e60c5c0.js +1 -0
  22. out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +1 -0
  23. out/_next/static/chunks/webpack-8f7c4246348aad30.js +1 -0
  24. out/_next/static/css/010afec7547c6d1a.css +3 -0
  25. out/_next/static/media/26a46d62cd723877-s.woff2 +0 -0
  26. out/_next/static/media/55c55f0601d81cf3-s.woff2 +0 -0
  27. out/_next/static/media/581909926a08bbc8-s.woff2 +0 -0
  28. out/_next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  29. out/_next/static/media/97e0cb1ae144a2a9-s.woff2 +0 -0
  30. out/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  31. out/_next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  32. out/index.html +0 -0
  33. out/index.txt +10 -0
  34. package-lock.json +0 -0
  35. package.json +35 -0
  36. postcss.config.mjs +9 -0
  37. public/.DS_Store +0 -0
  38. src/.DS_Store +0 -0
  39. src/app/globals.css +69 -0
  40. src/app/layout.tsx +22 -0
  41. src/app/page.tsx +55 -0
  42. src/components/HillclimbingExplanation.tsx +162 -0
  43. src/components/ProgressTimeline.tsx +181 -0
  44. src/components/ScoreMatrixVisualization.tsx +186 -0
  45. src/components/StatsDashboard.tsx +134 -0
  46. src/components/WordEvolutionTracker.tsx +106 -0
  47. src/components/ui/badge.tsx +36 -0
  48. src/components/ui/button.tsx +56 -0
  49. src/components/ui/card.tsx +79 -0
  50. src/components/ui/dialog.tsx +122 -0
.gitignore ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ node_modules/
2
+ screenshots/
components.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "default",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "tailwind.config.ts",
8
+ "css": "src/app/globals.css",
9
+ "baseColor": "slate",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "aliases": {
14
+ "components": "@/components",
15
+ "utils": "@/lib/utils"
16
+ }
17
+ }
index.html CHANGED
@@ -1,19 +1,1123 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>DAT Creativity Game Progress</title>
7
+ <meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization">
8
+ <style>
9
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
10
+
11
+ /* Tailwind CSS Reset and Base Styles */
12
+ *,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::before,::after{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type='button'],[type='reset'],[type='submit']{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type='search']{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role="button"]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}
13
+
14
+ /* Custom Styles */
15
+ body {
16
+ font-family: Inter, sans-serif;
17
+ background: linear-gradient(to bottom right, #eff6ff, #e0e7ff);
18
+ min-height: 100vh;
19
+ color: #111827;
20
+ }
21
+
22
+ .container {
23
+ max-width: 1200px;
24
+ margin: 0 auto;
25
+ padding: 2rem 1rem;
26
+ }
27
+
28
+ .card {
29
+ background: white;
30
+ border-radius: 0.5rem;
31
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
32
+ border: 1px solid #e5e7eb;
33
+ margin-bottom: 2rem;
34
+ }
35
+
36
+ .card-header {
37
+ padding: 1.5rem;
38
+ border-bottom: 1px solid #e5e7eb;
39
+ }
40
+
41
+ .card-content {
42
+ padding: 1.5rem;
43
+ }
44
+
45
+ .title {
46
+ font-size: 2.25rem;
47
+ font-weight: 700;
48
+ text-align: center;
49
+ margin-bottom: 1rem;
50
+ color: #111827;
51
+ }
52
+
53
+ .subtitle {
54
+ font-size: 1.25rem;
55
+ color: #6b7280;
56
+ text-align: center;
57
+ max-width: 42rem;
58
+ margin: 0 auto 3rem;
59
+ }
60
+
61
+ .section-title {
62
+ font-size: 1.5rem;
63
+ font-weight: 600;
64
+ margin-bottom: 1rem;
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 0.5rem;
68
+ }
69
+
70
+ .stats-grid {
71
+ display: grid;
72
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
73
+ gap: 1rem;
74
+ margin-bottom: 2rem;
75
+ }
76
+
77
+ .stat-card {
78
+ padding: 1rem;
79
+ border-radius: 0.5rem;
80
+ border: 1px solid;
81
+ }
82
+
83
+ .stat-card.green {
84
+ background: linear-gradient(to bottom right, #f0fdf4, #dcfce7);
85
+ border-color: #bbf7d0;
86
+ }
87
+
88
+ .stat-card.blue {
89
+ background: linear-gradient(to bottom right, #eff6ff, #dbeafe);
90
+ border-color: #bfdbfe;
91
+ }
92
+
93
+ .stat-card.purple {
94
+ background: linear-gradient(to bottom right, #faf5ff, #f3e8ff);
95
+ border-color: #e9d5ff;
96
+ }
97
+
98
+ .stat-card.orange {
99
+ background: linear-gradient(to bottom right, #fff7ed, #fed7aa);
100
+ border-color: #fdba74;
101
+ }
102
+
103
+ .stat-card.pink {
104
+ background: linear-gradient(to bottom right, #fdf2f8, #fce7f3);
105
+ border-color: #fbcfe8;
106
+ }
107
+
108
+ .stat-card.indigo {
109
+ background: linear-gradient(to bottom right, #eef2ff, #e0e7ff);
110
+ border-color: #c7d2fe;
111
+ }
112
+
113
+ .stat-value {
114
+ font-size: 1.5rem;
115
+ font-weight: 700;
116
+ color: #111827;
117
+ }
118
+
119
+ .stat-label {
120
+ font-size: 0.875rem;
121
+ color: #6b7280;
122
+ }
123
+
124
+ .badge {
125
+ display: inline-flex;
126
+ align-items: center;
127
+ padding: 0.125rem 0.625rem;
128
+ border-radius: 9999px;
129
+ font-size: 0.75rem;
130
+ font-weight: 600;
131
+ margin-bottom: 0.5rem;
132
+ }
133
+
134
+ .badge.green {
135
+ background: #10b981;
136
+ color: white;
137
+ }
138
+
139
+ .badge.blue {
140
+ background: #3b82f6;
141
+ color: white;
142
+ }
143
+
144
+ .badge.purple {
145
+ background: #8b5cf6;
146
+ color: white;
147
+ }
148
+
149
+ .timeline {
150
+ space-y: 1rem;
151
+ }
152
+
153
+ .timeline-item {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 1rem;
157
+ padding: 1rem;
158
+ border: 1px solid #e5e7eb;
159
+ border-radius: 0.5rem;
160
+ transition: background-color 0.2s;
161
+ }
162
+
163
+ .timeline-item:hover {
164
+ background: #f9fafb;
165
+ }
166
+
167
+ .timeline-number {
168
+ width: 2rem;
169
+ height: 2rem;
170
+ border-radius: 50%;
171
+ display: flex;
172
+ align-items: center;
173
+ justify-content: center;
174
+ font-size: 0.875rem;
175
+ font-weight: 600;
176
+ flex-shrink: 0;
177
+ }
178
+
179
+ .timeline-number.active {
180
+ background: #3b82f6;
181
+ color: white;
182
+ }
183
+
184
+ .timeline-number.inactive {
185
+ background: #e5e7eb;
186
+ color: #6b7280;
187
+ }
188
+
189
+ .word-tags {
190
+ display: flex;
191
+ flex-wrap: wrap;
192
+ gap: 0.25rem;
193
+ margin: 0.5rem 0;
194
+ }
195
+
196
+ .word-tag {
197
+ padding: 0.125rem 0.625rem;
198
+ background: #f3f4f6;
199
+ border: 1px solid #d1d5db;
200
+ border-radius: 9999px;
201
+ font-size: 0.75rem;
202
+ font-weight: 600;
203
+ }
204
+
205
+ .matrix-table {
206
+ width: 100%;
207
+ border-collapse: collapse;
208
+ margin: 1rem 0;
209
+ }
210
+
211
+ .matrix-table th,
212
+ .matrix-table td {
213
+ padding: 0.5rem;
214
+ text-align: center;
215
+ border: 1px solid #e5e7eb;
216
+ font-size: 0.75rem;
217
+ }
218
+
219
+ .matrix-table th {
220
+ background: #f9fafb;
221
+ font-weight: 600;
222
+ }
223
+
224
+ .matrix-cell {
225
+ width: 3rem;
226
+ height: 3rem;
227
+ display: flex;
228
+ align-items: center;
229
+ justify-content: center;
230
+ border-radius: 0.25rem;
231
+ font-weight: 600;
232
+ font-size: 0.75rem;
233
+ }
234
+
235
+ .matrix-cell.high {
236
+ background: #10b981;
237
+ color: white;
238
+ }
239
+
240
+ .matrix-cell.medium {
241
+ background: #34d399;
242
+ color: white;
243
+ }
244
+
245
+ .matrix-cell.low {
246
+ background: #a7f3d0;
247
+ color: #065f46;
248
+ }
249
+
250
+ .matrix-cell.zero {
251
+ background: #e5e7eb;
252
+ color: #6b7280;
253
+ }
254
+
255
+ .info-box {
256
+ padding: 1rem;
257
+ border-radius: 0.5rem;
258
+ margin: 1rem 0;
259
+ }
260
+
261
+ .info-box.blue {
262
+ background: #eff6ff;
263
+ border: 1px solid #bfdbfe;
264
+ }
265
+
266
+ .info-box.green {
267
+ background: #f0fdf4;
268
+ border: 1px solid #bbf7d0;
269
+ }
270
+
271
+ .icon {
272
+ width: 1.25rem;
273
+ height: 1.25rem;
274
+ display: inline-block;
275
+ }
276
+
277
+ .flex {
278
+ display: flex;
279
+ }
280
+
281
+ .items-center {
282
+ align-items: center;
283
+ }
284
+
285
+ .gap-2 {
286
+ gap: 0.5rem;
287
+ }
288
+
289
+ .gap-4 {
290
+ gap: 1rem;
291
+ }
292
+
293
+ .mb-4 {
294
+ margin-bottom: 1rem;
295
+ }
296
+
297
+ .mb-8 {
298
+ margin-bottom: 2rem;
299
+ }
300
+
301
+ .text-sm {
302
+ font-size: 0.875rem;
303
+ }
304
+
305
+ .text-lg {
306
+ font-size: 1.125rem;
307
+ }
308
+
309
+ .font-semibold {
310
+ font-weight: 600;
311
+ }
312
+
313
+ .font-medium {
314
+ font-weight: 500;
315
+ }
316
+
317
+ .text-gray-600 {
318
+ color: #6b7280;
319
+ }
320
+
321
+ .text-gray-700 {
322
+ color: #374151;
323
+ }
324
+
325
+ .text-gray-900 {
326
+ color: #111827;
327
+ }
328
+
329
+ .text-blue-600 {
330
+ color: #2563eb;
331
+ }
332
+
333
+ .text-green-600 {
334
+ color: #16a34a;
335
+ }
336
+
337
+ .space-y-4 > * + * {
338
+ margin-top: 1rem;
339
+ }
340
+
341
+ .space-y-6 > * + * {
342
+ margin-top: 1.5rem;
343
+ }
344
+
345
+ .space-y-8 > * + * {
346
+ margin-top: 2rem;
347
+ }
348
+ </style>
349
+ </head>
350
+ <body>
351
+ <div class="container">
352
+ <div class="mb-8">
353
+ <h1 class="title">DAT Creativity Game Progress</h1>
354
+ <p class="subtitle">An interactive visualization of my journey through the Divergent Association Task (DAT) creativity game, showcasing the hillclimbing optimization technique.</p>
355
+ </div>
356
+
357
+ <div class="space-y-8">
358
+ <!-- Performance Statistics -->
359
+ <div class="card">
360
+ <div class="card-header">
361
+ <h2 class="section-title">
362
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
363
+ <path d="M3 3v16a2 2 0 0 0 2 2h16"/>
364
+ <path d="M18 17V9"/>
365
+ <path d="M13 17V5"/>
366
+ <path d="M8 17v-3"/>
367
+ </svg>
368
+ Performance Statistics
369
+ </h2>
370
+ </div>
371
+ <div class="card-content">
372
+ <div class="stats-grid">
373
+ <div class="stat-card green">
374
+ <div class="flex items-center justify-between mb-2">
375
+ <svg class="icon text-green-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
376
+ <path d="M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978"/>
377
+ <path d="M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978"/>
378
+ <path d="M18 9h1.5a1 1 0 0 0 0-5H18"/>
379
+ <path d="M4 22h16"/>
380
+ <path d="M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z"/>
381
+ <path d="M6 9H4.5a1 1 0 0 1 0-5H6"/>
382
+ </svg>
383
+ <span class="badge green">Top 0.02%</span>
384
+ </div>
385
+ <div class="stat-value">95.08</div>
386
+ <div class="stat-label">Final Creativity Score</div>
387
+ </div>
388
+
389
+ <div class="stat-card blue">
390
+ <div class="flex items-center justify-between mb-2">
391
+ <svg class="icon text-blue-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
392
+ <path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/>
393
+ <path d="M16 3.128a4 4 0 0 1 0 7.744"/>
394
+ <path d="M22 21v-2a4 4 0 0 0-3-3.87"/>
395
+ <circle cx="9" cy="7" r="4"/>
396
+ </svg>
397
+ <span class="badge blue">Percentile</span>
398
+ </div>
399
+ <div class="stat-value">99.98%</div>
400
+ <div class="stat-label">Better than others</div>
401
+ </div>
402
+
403
+ <div class="stat-card purple">
404
+ <div class="flex items-center justify-between mb-2">
405
+ <svg class="icon text-purple-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
406
+ <path d="M12 6v6l4 2"/>
407
+ <circle cx="12" cy="12" r="10"/>
408
+ </svg>
409
+ <span class="badge purple">Duration</span>
410
+ </div>
411
+ <div class="stat-value">106m</div>
412
+ <div class="stat-label">Total game time</div>
413
+ </div>
414
+
415
+ <div class="stat-card orange">
416
+ <div class="flex items-center justify-between mb-2">
417
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
418
+ <path d="M16 7h6v6"/>
419
+ <path d="m22 7-8.5 8.5-5-5L2 17"/>
420
+ </svg>
421
+ <span class="badge" style="background: #f59e0b; color: white;">Optimization</span>
422
+ </div>
423
+ <div class="stat-value">13</div>
424
+ <div class="stat-label">Optimization rounds</div>
425
+ </div>
426
+
427
+ <div class="stat-card pink">
428
+ <div class="flex items-center justify-between mb-2">
429
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
430
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
431
+ </svg>
432
+ <span class="badge" style="background: #ec4899; color: white;">Changes</span>
433
+ </div>
434
+ <div class="stat-value">45</div>
435
+ <div class="stat-label">Total word swaps</div>
436
+ </div>
437
+
438
+ <div class="stat-card indigo">
439
+ <div class="flex items-center justify-between mb-2">
440
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
441
+ <path d="M3 3v16a2 2 0 0 0 2 2h16"/>
442
+ <path d="M18 17V9"/>
443
+ <path d="M13 17V5"/>
444
+ <path d="M8 17v-3"/>
445
+ </svg>
446
+ <span class="badge" style="background: #6366f1; color: white;">Vocabulary</span>
447
+ </div>
448
+ <div class="stat-value">30</div>
449
+ <div class="stat-label">Unique words used</div>
450
+ </div>
451
+ </div>
452
+
453
+ <div class="space-y-4">
454
+ <h3 class="text-lg font-semibold text-gray-900">Semantic Distance Analysis</h3>
455
+ <div class="stats-grid" style="grid-template-columns: repeat(3, 1fr);">
456
+ <div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
457
+ <div class="text-sm font-medium text-gray-600 mb-1">Average Distance</div>
458
+ <div class="stat-value text-green-600">95.1</div>
459
+ <div class="text-xs text-gray-500">Across all word pairs</div>
460
+ </div>
461
+ <div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
462
+ <div class="text-sm font-medium text-gray-600 mb-1">Maximum Distance</div>
463
+ <div class="stat-value text-blue-600">104</div>
464
+ <div class="text-xs text-gray-500">Most distant pair</div>
465
+ </div>
466
+ <div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
467
+ <div class="text-sm font-medium text-gray-600 mb-1">Minimum Distance</div>
468
+ <div class="stat-value" style="color: #ea580c;">79</div>
469
+ <div class="text-xs text-gray-500">Closest pair (non-zero)</div>
470
+ </div>
471
+ </div>
472
+
473
+ <div class="info-box blue">
474
+ <h4 class="font-medium" style="color: #1e40af; margin-bottom: 0.5rem;">Key Insights</h4>
475
+ <ul class="space-y-1 text-sm" style="color: #1e3a8a;">
476
+ <li>• Achieved exceptional creativity score through systematic optimization</li>
477
+ <li>• Hillclimbing algorithm effectively explored the semantic space</li>
478
+ <li>• 3.46 average word changes per round shows focused refinement</li>
479
+ <li>• High semantic distances indicate successful divergent thinking</li>
480
+ </ul>
481
+ </div>
482
+ </div>
483
+ </div>
484
+ </div>
485
+
486
+ <!-- Game Progress Timeline -->
487
+ <div class="card">
488
+ <div class="card-header">
489
+ <h2 class="section-title">
490
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
491
+ <path d="M12 6v6l4 2"/>
492
+ <circle cx="12" cy="12" r="10"/>
493
+ </svg>
494
+ Game Progress Timeline
495
+ </h2>
496
+ </div>
497
+ <div class="card-content">
498
+ <div class="space-y-4">
499
+ <!-- Round 1 -->
500
+ <div class="timeline-item">
501
+ <div class="timeline-number inactive">1</div>
502
+ <div class="flex-grow">
503
+ <div class="flex items-center justify-between mb-2">
504
+ <h3 class="font-medium text-gray-900">Round 1</h3>
505
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">11:53 PM</span>
506
+ </div>
507
+ <div class="word-tags">
508
+ <span class="word-tag">brilliance</span>
509
+ <span class="word-tag">sports</span>
510
+ <span class="word-tag">peace</span>
511
+ <span class="word-tag">rocket</span>
512
+ <span class="word-tag">icecream</span>
513
+ <span class="word-tag">+5 more</span>
514
+ </div>
515
+ </div>
516
+ </div>
517
+
518
+ <!-- Round 2 - Optimization -->
519
+ <div class="timeline-item">
520
+ <div class="timeline-number active">2</div>
521
+ <div class="flex-grow">
522
+ <div class="flex items-center justify-between mb-2">
523
+ <h3 class="font-medium text-gray-900">Round 2
524
+ <svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
525
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
526
+ </svg>
527
+ </h3>
528
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">12:00 AM</span>
529
+ </div>
530
+ <div class="word-tags">
531
+ <span class="word-tag">stochastic</span>
532
+ <span class="word-tag">fuselage</span>
533
+ <span class="word-tag">pitfall</span>
534
+ <span class="word-tag">screwdriver</span>
535
+ <span class="word-tag">sand</span>
536
+ <span class="word-tag">+5 more</span>
537
+ </div>
538
+ <div class="flex items-center gap-2 text-sm mt-2">
539
+ <span class="text-green-600">+10 added</span>
540
+ <span class="text-red-600">-10 removed</span>
541
+ </div>
542
+ </div>
543
+ </div>
544
+
545
+ <!-- Round 3 -->
546
+ <div class="timeline-item">
547
+ <div class="timeline-number inactive">3</div>
548
+ <div class="flex-grow">
549
+ <div class="flex items-center justify-between mb-2">
550
+ <h3 class="font-medium text-gray-900">Round 3</h3>
551
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">12:00 AM</span>
552
+ </div>
553
+ <div class="word-tags">
554
+ <span class="word-tag">stochastic</span>
555
+ <span class="word-tag">fuselage</span>
556
+ <span class="word-tag">pitfall</span>
557
+ <span class="word-tag">screwdriver</span>
558
+ <span class="word-tag">sand</span>
559
+ <span class="word-tag">+5 more</span>
560
+ </div>
561
+ </div>
562
+ </div>
563
+
564
+ <!-- Round 4 - Optimization -->
565
+ <div class="timeline-item">
566
+ <div class="timeline-number active">4</div>
567
+ <div class="flex-grow">
568
+ <div class="flex items-center justify-between mb-2">
569
+ <h3 class="font-medium text-gray-900">Round 4
570
+ <svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
571
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
572
+ </svg>
573
+ </h3>
574
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:33 AM</span>
575
+ </div>
576
+ <div class="word-tags">
577
+ <span class="word-tag">stochastic</span>
578
+ <span class="word-tag">fuselage</span>
579
+ <span class="word-tag">throne</span>
580
+ <span class="word-tag">icecream</span>
581
+ <span class="word-tag">cricket</span>
582
+ <span class="word-tag">+5 more</span>
583
+ </div>
584
+ <div class="flex items-center gap-2 text-sm mt-2">
585
+ <span class="text-green-600">+6 added</span>
586
+ <span class="text-red-600">-6 removed</span>
587
+ </div>
588
+ </div>
589
+ </div>
590
+
591
+ <!-- Round 8 - Optimization -->
592
+ <div class="timeline-item">
593
+ <div class="timeline-number active">8</div>
594
+ <div class="flex-grow">
595
+ <div class="flex items-center justify-between mb-2">
596
+ <h3 class="font-medium text-gray-900">Round 8
597
+ <svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
598
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
599
+ </svg>
600
+ </h3>
601
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:36 AM</span>
602
+ </div>
603
+ <div class="word-tags">
604
+ <span class="word-tag">stochastic</span>
605
+ <span class="word-tag">fuselage</span>
606
+ <span class="word-tag">throne</span>
607
+ <span class="word-tag">corporate</span>
608
+ <span class="word-tag">arthritis</span>
609
+ <span class="word-tag">+5 more</span>
610
+ </div>
611
+ <div class="flex items-center gap-2 text-sm mt-2">
612
+ <span class="text-green-600">+2 added</span>
613
+ <span class="text-red-600">-2 removed</span>
614
+ </div>
615
+ </div>
616
+ </div>
617
+
618
+ <!-- Round 10 - Optimization -->
619
+ <div class="timeline-item">
620
+ <div class="timeline-number active">10</div>
621
+ <div class="flex-grow">
622
+ <div class="flex items-center justify-between mb-2">
623
+ <h3 class="font-medium text-gray-900">Round 10
624
+ <svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
625
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
626
+ </svg>
627
+ </h3>
628
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:38 AM</span>
629
+ </div>
630
+ <div class="word-tags">
631
+ <span class="word-tag">stochastic</span>
632
+ <span class="word-tag">fuselage</span>
633
+ <span class="word-tag">throne</span>
634
+ <span class="word-tag">icecream</span>
635
+ <span class="word-tag">foosball</span>
636
+ <span class="word-tag">+5 more</span>
637
+ </div>
638
+ <div class="flex items-center gap-2 text-sm mt-2">
639
+ <span class="text-green-600">+3 added</span>
640
+ <span class="text-red-600">-3 removed</span>
641
+ </div>
642
+ </div>
643
+ </div>
644
+
645
+ <!-- Round 13 - Final Optimization -->
646
+ <div class="timeline-item">
647
+ <div class="timeline-number active">13</div>
648
+ <div class="flex-grow">
649
+ <div class="flex items-center justify-between mb-2">
650
+ <h3 class="font-medium text-gray-900">Round 13
651
+ <svg class="icon" style="color: #eab308; display: inline-block; margin-left: 0.25rem;" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
652
+ <path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a .5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"/>
653
+ </svg>
654
+ </h3>
655
+ <span class="badge" style="background: #f3f4f6; color: #374151; border: 1px solid #d1d5db;">01:39 AM</span>
656
+ </div>
657
+ <div class="word-tags">
658
+ <span class="word-tag">stochastic</span>
659
+ <span class="word-tag">fuselage</span>
660
+ <span class="word-tag">throne</span>
661
+ <span class="word-tag">corporate</span>
662
+ <span class="word-tag">arthritis</span>
663
+ <span class="word-tag">+2 more</span>
664
+ </div>
665
+ <div class="flex items-center gap-2 text-sm mt-2">
666
+ <span class="text-red-600">-3 removed</span>
667
+ </div>
668
+ </div>
669
+ </div>
670
+ </div>
671
+ </div>
672
+ </div>
673
+
674
+ <!-- Word Evolution & Optimization -->
675
+ <div class="card">
676
+ <div class="card-header">
677
+ <h2 class="section-title">
678
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
679
+ <path d="M16 7h6v6"/>
680
+ <path d="m22 7-8.5 8.5-5-5L2 17"/>
681
+ </svg>
682
+ Word Evolution &amp; Optimization
683
+ </h2>
684
+ </div>
685
+ <div class="card-content space-y-6">
686
+ <div class="text-sm text-gray-600 mb-4">Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization.</div>
687
+
688
+ <!-- Round 2 Evolution -->
689
+ <div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
690
+ <div class="flex items-center gap-2 mb-3">
691
+ <span class="badge blue">Round 2</span>
692
+ <svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
693
+ <path d="M5 12h14"/>
694
+ <path d="m12 5 7 7-7 7"/>
695
+ </svg>
696
+ <span class="text-sm text-gray-600">Optimization step</span>
697
+ </div>
698
+ <div class="space-y-3">
699
+ <div>
700
+ <div class="flex items-center gap-2 mb-2">
701
+ <svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
702
+ <path d="M5 12h14"/>
703
+ </svg>
704
+ <span class="text-sm font-medium text-red-600">Removed</span>
705
+ <span class="text-xs text-gray-500">(Lower semantic distance)</span>
706
+ </div>
707
+ <div class="flex flex-wrap gap-2">
708
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">brilliance</span>
709
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">sports</span>
710
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">peace</span>
711
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">rocket</span>
712
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">icecream</span>
713
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">blush</span>
714
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">friends</span>
715
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">rhythm</span>
716
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">velvet</span>
717
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">ocean</span>
718
+ </div>
719
+ </div>
720
+ <div>
721
+ <div class="flex items-center gap-2 mb-2">
722
+ <svg class="icon text-green-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
723
+ <path d="M5 12h14"/>
724
+ <path d="M12 5v14"/>
725
+ </svg>
726
+ <span class="text-sm font-medium text-green-600">Added</span>
727
+ <span class="text-xs text-gray-500">(Higher semantic distance)</span>
728
+ </div>
729
+ <div class="flex flex-wrap gap-2">
730
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">stochastic</span>
731
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">fuselage</span>
732
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">pitfall</span>
733
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">screwdriver</span>
734
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">sand</span>
735
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">spices</span>
736
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">arthritis</span>
737
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">printer</span>
738
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">flute</span>
739
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">dinosaurs</span>
740
+ </div>
741
+ </div>
742
+ <div class="text-xs text-gray-500 mt-2">This change increased the overall semantic distance between word pairs.</div>
743
+ </div>
744
+ </div>
745
+
746
+ <!-- Round 4 Evolution -->
747
+ <div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
748
+ <div class="flex items-center gap-2 mb-3">
749
+ <span class="badge blue">Round 4</span>
750
+ <svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
751
+ <path d="M5 12h14"/>
752
+ <path d="m12 5 7 7-7 7"/>
753
+ </svg>
754
+ <span class="text-sm text-gray-600">Optimization step</span>
755
+ </div>
756
+ <div class="space-y-3">
757
+ <div>
758
+ <div class="flex items-center gap-2 mb-2">
759
+ <svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
760
+ <path d="M5 12h14"/>
761
+ </svg>
762
+ <span class="text-sm font-medium text-red-600">Removed</span>
763
+ <span class="text-xs text-gray-500">(Lower semantic distance)</span>
764
+ </div>
765
+ <div class="flex flex-wrap gap-2">
766
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">pitfall</span>
767
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">screwdriver</span>
768
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">sand</span>
769
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">spices</span>
770
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">flute</span>
771
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">dinosaurs</span>
772
+ </div>
773
+ </div>
774
+ <div>
775
+ <div class="flex items-center gap-2 mb-2">
776
+ <svg class="icon text-green-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
777
+ <path d="M5 12h14"/>
778
+ <path d="M12 5v14"/>
779
+ </svg>
780
+ <span class="text-sm font-medium text-green-600">Added</span>
781
+ <span class="text-xs text-gray-500">(Higher semantic distance)</span>
782
+ </div>
783
+ <div class="flex flex-wrap gap-2">
784
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">throne</span>
785
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">icecream</span>
786
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">cricket</span>
787
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">remote</span>
788
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">eel</span>
789
+ <span class="badge" style="background: #f0fdf4; color: #15803d; border: 1px solid #bbf7d0;">speedbreaker</span>
790
+ </div>
791
+ </div>
792
+ <div class="text-xs text-gray-500 mt-2">This change increased the overall semantic distance between word pairs.</div>
793
+ </div>
794
+ </div>
795
+
796
+ <!-- Round 13 Final Evolution -->
797
+ <div style="border-left: 2px solid #bfdbfe; padding-left: 1rem;">
798
+ <div class="flex items-center gap-2 mb-3">
799
+ <span class="badge blue">Round 13</span>
800
+ <svg class="icon text-gray-400" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
801
+ <path d="M5 12h14"/>
802
+ <path d="m12 5 7 7-7 7"/>
803
+ </svg>
804
+ <span class="text-sm text-gray-600">Final optimization step</span>
805
+ </div>
806
+ <div class="space-y-3">
807
+ <div>
808
+ <div class="flex items-center gap-2 mb-2">
809
+ <svg class="icon text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
810
+ <path d="M5 12h14"/>
811
+ </svg>
812
+ <span class="text-sm font-medium text-red-600">Removed</span>
813
+ <span class="text-xs text-gray-500">(Lower semantic distance)</span>
814
+ </div>
815
+ <div class="flex flex-wrap gap-2">
816
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">icecream</span>
817
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">foosball</span>
818
+ <span class="badge" style="background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca;">speedbreaker</span>
819
+ </div>
820
+ </div>
821
+ <div class="text-xs text-gray-500 mt-2">Final optimization achieved score of 95.08 with 7 highly diverse words.</div>
822
+ </div>
823
+ </div>
824
+
825
+ <div class="info-box blue">
826
+ <h4 class="font-medium" style="color: #1e40af; margin-bottom: 0.5rem;">Hillclimbing Strategy</h4>
827
+ <p class="text-sm" style="color: #1e3a8a;">Each word replacement represents a "hill climbing" step where words with lower semantic distances to other words in the set were systematically replaced with words that had higher distances, improving the overall creativity score.</p>
828
+ </div>
829
+ </div>
830
+ </div>
831
+
832
+ <!-- Understanding Hillclimbing Optimization -->
833
+ <div class="card">
834
+ <div class="card-header">
835
+ <h2 class="section-title">
836
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
837
+ <path d="m8 3 4 8 5-5 5 15H2L8 3z"/>
838
+ </svg>
839
+ Understanding Hillclimbing Optimization
840
+ </h2>
841
+ </div>
842
+ <div class="card-content space-y-6">
843
+ <div class="text-gray-700">
844
+ <p class="mb-4"><strong>Hillclimbing</strong> is a local search optimization algorithm that continuously moves towards better solutions by making incremental improvements. Think of it like climbing a hill in foggy weather - you can only see your immediate surroundings, so you always take the step that goes uphill.</p>
845
+ </div>
846
+ <div class="stats-grid" style="grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));">
847
+ <div class="space-y-4">
848
+ <h3 class="text-lg font-semibold text-gray-900 flex items-center gap-2">
849
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
850
+ <path d="m5 12 7-7 7 7"/>
851
+ <path d="M12 19V5"/>
852
+ </svg>
853
+ Algorithm Steps
854
+ </h3>
855
+ <div class="space-y-3">
856
+ <div class="flex items-start gap-3 p-3 info-box blue">
857
+ <span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">1</span>
858
+ <div class="text-sm"><strong>Initialize:</strong> Start with a random solution (10 diverse words)</div>
859
+ </div>
860
+ <div class="flex items-start gap-3 p-3 info-box blue">
861
+ <span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">2</span>
862
+ <div class="text-sm"><strong>Evaluate:</strong> Calculate semantic distances between all word pairs</div>
863
+ </div>
864
+ <div class="flex items-start gap-3 p-3 info-box blue">
865
+ <span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">3</span>
866
+ <div class="text-sm"><strong>Find weakness:</strong> Identify the word pair with smallest distance</div>
867
+ </div>
868
+ <div class="flex items-start gap-3 p-3 info-box blue">
869
+ <span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">4</span>
870
+ <div class="text-sm"><strong>Improve:</strong> Replace one word with a more distant alternative</div>
871
+ </div>
872
+ <div class="flex items-start gap-3 p-3 info-box blue">
873
+ <span class="badge blue" style="min-width: 24px; height: 24px; padding: 0; display: flex; align-items: center; justify-content: center;">5</span>
874
+ <div class="text-sm"><strong>Repeat:</strong> Continue until no improvement is possible</div>
875
+ </div>
876
+ </div>
877
+ </div>
878
+ <div class="space-y-4">
879
+ <h3 class="text-lg font-semibold text-gray-900 flex items-center gap-2">
880
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
881
+ <circle cx="12" cy="12" r="10"/>
882
+ <circle cx="12" cy="12" r="6"/>
883
+ <circle cx="12" cy="12" r="2"/>
884
+ </svg>
885
+ Application to DAT
886
+ </h3>
887
+ <div class="space-y-3">
888
+ <div class="info-box green" style="border-left: 4px solid #4ade80;">
889
+ <h4 class="font-medium text-green-800 mb-1">Objective Function</h4>
890
+ <p class="text-sm text-green-700">Maximize the sum of semantic distances between all word pairs</p>
891
+ </div>
892
+ <div class="info-box" style="background: #faf5ff; border: 1px solid #e9d5ff; border-left: 4px solid #a855f7;">
893
+ <h4 class="font-medium" style="color: #7c2d12; margin-bottom: 0.25rem;">Neighbor Generation</h4>
894
+ <p class="text-sm" style="color: #7c2d12;">Replace one word at a time with alternatives from vocabulary</p>
895
+ </div>
896
+ <div class="info-box" style="background: #fff7ed; border: 1px solid #fed7aa; border-left: 4px solid #f97316;">
897
+ <h4 class="font-medium" style="color: #c2410c; margin-bottom: 0.25rem;">Local Optimum</h4>
898
+ <p class="text-sm" style="color: #c2410c;">Stop when no single word replacement improves the score</p>
899
+ </div>
900
+ </div>
901
+ </div>
902
+ </div>
903
+
904
+ <div class="stats-grid" style="grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));">
905
+ <div>
906
+ <h4 class="font-medium text-gray-900 mb-3">Why Hillclimbing Works Here</h4>
907
+ <ul class="space-y-2 text-sm text-gray-700">
908
+ <li class="flex items-start gap-2">
909
+ <div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
910
+ <span><strong>Greedy improvement:</strong> Each word replacement immediately improves the score</span>
911
+ </li>
912
+ <li class="flex items-start gap-2">
913
+ <div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
914
+ <span><strong>Fast convergence:</strong> Reaches a good solution quickly</span>
915
+ </li>
916
+ <li class="flex items-start gap-2">
917
+ <div style="width: 6px; height: 6px; background: #10b981; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
918
+ <span><strong>Intuitive process:</strong> Mimics how humans naturally optimize</span>
919
+ </li>
920
+ </ul>
921
+ </div>
922
+ <div>
923
+ <h4 class="font-medium text-gray-900 mb-3">Potential Limitations</h4>
924
+ <ul class="space-y-2 text-sm text-gray-700">
925
+ <li class="flex items-start gap-2">
926
+ <div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
927
+ <span><strong>Local optima:</strong> May get stuck in suboptimal solutions</span>
928
+ </li>
929
+ <li class="flex items-start gap-2">
930
+ <div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
931
+ <span><strong>Initial dependency:</strong> Result depends on starting words</span>
932
+ </li>
933
+ <li class="flex items-start gap-2">
934
+ <div style="width: 6px; height: 6px; background: #ef4444; border-radius: 50%; margin-top: 8px; flex-shrink: 0;"></div>
935
+ <span><strong>Single-word changes:</strong> Cannot make coordinated multi-word swaps</span>
936
+ </li>
937
+ </ul>
938
+ </div>
939
+ </div>
940
+
941
+ <div class="info-box" style="background: linear-gradient(to right, #eff6ff, #faf5ff); border: 1px solid #bfdbfe;">
942
+ <h4 class="font-semibold text-gray-900 mb-2 flex items-center gap-2">
943
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
944
+ <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/>
945
+ <path d="M3 3v5h5"/>
946
+ </svg>
947
+ My Implementation Result
948
+ </h4>
949
+ <p class="text-sm text-gray-700 mb-2">Despite these theoretical limitations, the hillclimbing approach was highly effective for the DAT creativity game, achieving a score of <strong>95.08</strong> and ranking in the <strong>99.98th percentile</strong>.</p>
950
+ <p class="text-sm text-gray-600">This success suggests that the semantic distance landscape for this problem has favorable properties for local search, with relatively few problematic local optima.</p>
951
+ </div>
952
+ </div>
953
+ </div>
954
+
955
+ <!-- Semantic Distance Matrix -->
956
+ <div class="card">
957
+ <div class="card-header">
958
+ <h2 class="section-title">
959
+ <svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
960
+ <rect width="18" height="18" x="3" y="3" rx="2"/>
961
+ <path d="M3 9h18"/>
962
+ <path d="M3 15h18"/>
963
+ <path d="M9 3v18"/>
964
+ <path d="M15 3v18"/>
965
+ </svg>
966
+ Semantic Distance Matrix
967
+ </h2>
968
+ </div>
969
+ <div class="card-content">
970
+ <div class="flex items-center justify-between mb-4">
971
+ <p class="text-sm text-gray-600">Interactive matrix showing semantic distances between final word pairs</p>
972
+ <div class="flex items-center gap-2">
973
+ <svg class="icon text-green-600" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
974
+ <circle cx="12" cy="12" r="10"/>
975
+ <circle cx="12" cy="12" r="6"/>
976
+ <circle cx="12" cy="12" r="2"/>
977
+ </svg>
978
+ <span class="badge green">Score: 95.08</span>
979
+ </div>
980
+ </div>
981
+
982
+ <div style="overflow-x: auto;">
983
+ <table class="matrix-table">
984
+ <thead>
985
+ <tr>
986
+ <th style="width: 100px;"></th>
987
+ <th>stochastic</th>
988
+ <th>fuselage</th>
989
+ <th>throne</th>
990
+ <th>corporate</th>
991
+ <th>arthritis</th>
992
+ <th>chilli</th>
993
+ <th>lens</th>
994
+ </tr>
995
+ </thead>
996
+ <tbody>
997
+ <tr>
998
+ <th>stochastic</th>
999
+ <td><div class="matrix-cell zero">0</div></td>
1000
+ <td><div class="matrix-cell high">103</div></td>
1001
+ <td><div class="matrix-cell high">100</div></td>
1002
+ <td><div class="matrix-cell high">93</div></td>
1003
+ <td><div class="matrix-cell high">94</div></td>
1004
+ <td><div class="matrix-cell high">98</div></td>
1005
+ <td><div class="matrix-cell high">94</div></td>
1006
+ </tr>
1007
+ <tr>
1008
+ <th>fuselage</th>
1009
+ <td><div class="matrix-cell high">103</div></td>
1010
+ <td><div class="matrix-cell zero">0</div></td>
1011
+ <td><div class="matrix-cell high">94</div></td>
1012
+ <td><div class="matrix-cell high">98</div></td>
1013
+ <td><div class="matrix-cell high">96</div></td>
1014
+ <td><div class="matrix-cell high">91</div></td>
1015
+ <td><div class="matrix-cell low">79</div></td>
1016
+ </tr>
1017
+ <tr>
1018
+ <th>throne</th>
1019
+ <td><div class="matrix-cell high">100</div></td>
1020
+ <td><div class="matrix-cell high">94</div></td>
1021
+ <td><div class="matrix-cell zero">0</div></td>
1022
+ <td><div class="matrix-cell high">95</div></td>
1023
+ <td><div class="matrix-cell high">98</div></td>
1024
+ <td><div class="matrix-cell high">101</div></td>
1025
+ <td><div class="matrix-cell high">98</div></td>
1026
+ </tr>
1027
+ <tr>
1028
+ <th>corporate</th>
1029
+ <td><div class="matrix-cell high">93</div></td>
1030
+ <td><div class="matrix-cell high">98</div></td>
1031
+ <td><div class="matrix-cell high">95</div></td>
1032
+ <td><div class="matrix-cell zero">0</div></td>
1033
+ <td><div class="matrix-cell high">97</div></td>
1034
+ <td><div class="matrix-cell high">100</div></td>
1035
+ <td><div class="matrix-cell high">92</div></td>
1036
+ </tr>
1037
+ <tr>
1038
+ <th>arthritis</th>
1039
+ <td><div class="matrix-cell high">94</div></td>
1040
+ <td><div class="matrix-cell high">96</div></td>
1041
+ <td><div class="matrix-cell high">98</div></td>
1042
+ <td><div class="matrix-cell high">97</div></td>
1043
+ <td><div class="matrix-cell zero">0</div></td>
1044
+ <td><div class="matrix-cell high">86</div></td>
1045
+ <td><div class="matrix-cell high">87</div></td>
1046
+ </tr>
1047
+ <tr>
1048
+ <th>chilli</th>
1049
+ <td><div class="matrix-cell high">98</div></td>
1050
+ <td><div class="matrix-cell high">91</div></td>
1051
+ <td><div class="matrix-cell high">101</div></td>
1052
+ <td><div class="matrix-cell high">100</div></td>
1053
+ <td><div class="matrix-cell high">86</div></td>
1054
+ <td><div class="matrix-cell zero">0</div></td>
1055
+ <td><div class="matrix-cell high">104</div></td>
1056
+ </tr>
1057
+ <tr>
1058
+ <th>lens</th>
1059
+ <td><div class="matrix-cell high">94</div></td>
1060
+ <td><div class="matrix-cell low">79</div></td>
1061
+ <td><div class="matrix-cell high">98</div></td>
1062
+ <td><div class="matrix-cell high">92</div></td>
1063
+ <td><div class="matrix-cell high">87</div></td>
1064
+ <td><div class="matrix-cell high">104</div></td>
1065
+ <td><div class="matrix-cell zero">0</div></td>
1066
+ </tr>
1067
+ </tbody>
1068
+ </table>
1069
+ </div>
1070
+
1071
+ <div class="flex items-center justify-between text-sm text-gray-500 mb-4">
1072
+ <div class="flex items-center gap-4">
1073
+ <div class="flex items-center gap-1">
1074
+ <div style="width: 0.75rem; height: 0.75rem; background: #a7f3d0; border-radius: 0.125rem;"></div>
1075
+ <span>Low distance</span>
1076
+ </div>
1077
+ <div class="flex items-center gap-1">
1078
+ <div style="width: 0.75rem; height: 0.75rem; background: #34d399; border-radius: 0.125rem;"></div>
1079
+ <span>Medium distance</span>
1080
+ </div>
1081
+ <div class="flex items-center gap-1">
1082
+ <div style="width: 0.75rem; height: 0.75rem; background: #10b981; border-radius: 0.125rem;"></div>
1083
+ <span>High distance</span>
1084
+ </div>
1085
+ </div>
1086
+ <span>Matrix is symmetric</span>
1087
+ </div>
1088
+
1089
+ <div class="info-box" style="background: #f9fafb; border: 1px solid #e5e7eb;">
1090
+ <h4 class="font-medium text-gray-900 mb-2">Matrix Analysis</h4>
1091
+ <div class="stats-grid" style="grid-template-columns: repeat(3, 1fr);">
1092
+ <div>
1093
+ <span class="font-medium text-gray-700">Average Distance:</span>
1094
+ <div class="text-lg font-semibold text-green-600">95.1</div>
1095
+ </div>
1096
+ <div>
1097
+ <span class="font-medium text-gray-700">Highest Distance:</span>
1098
+ <div class="text-lg font-semibold text-blue-600">104</div>
1099
+ </div>
1100
+ <div>
1101
+ <span class="font-medium text-gray-700">Lowest Distance:</span>
1102
+ <div class="text-lg font-semibold" style="color: #ea580c;">79</div>
1103
+ </div>
1104
+ </div>
1105
+ </div>
1106
+ </div>
1107
+ </div>
1108
+
1109
+ <!-- What is DAT? -->
1110
+ <div class="card">
1111
+ <div class="card-header">
1112
+ <h2 class="section-title">What is the DAT Creativity Game?</h2>
1113
+ <p class="text-sm text-gray-600">Understanding the Divergent Association Task</p>
1114
+ </div>
1115
+ <div class="card-content space-y-4">
1116
+ <p class="text-gray-700">The Divergent Association Task (DAT) is a creativity assessment that measures your ability to think of diverse, unrelated concepts. Players must generate 10 words that are as semantically distant from each other as possible.</p>
1117
+ <p class="text-gray-700">The challenge lies in finding words that share minimal conceptual overlap, requiring creative thinking and broad knowledge across different domains.</p>
1118
+ </div>
1119
+ </div>
1120
+ </div>
1121
+ </div>
1122
+ </body>
1123
+ </html>
next-env.d.ts ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ /// <reference types="next" />
2
+ /// <reference types="next/image-types/global" />
3
+
4
+ // NOTE: This file should not be edited
5
+ // see https://nextjs.org/docs/basic-features/typescript for more information.
next.config.mjs ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {
3
+ output: 'export',
4
+ trailingSlash: true,
5
+ images: {
6
+ unoptimized: true
7
+ }
8
+ };
9
+
10
+ export default nextConfig;
out/.DS_Store ADDED
Binary file (6.15 kB). View file
 
out/404.html ADDED
@@ -0,0 +1 @@
 
 
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/010afec7547c6d1a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8f7c4246348aad30.js"/><script src="/_next/static/chunks/fd9d1056-51face16839d2cb0.js" async=""></script><script src="/_next/static/chunks/23-3c786d31948a49f2.js" async=""></script><script src="/_next/static/chunks/main-app-dda775df53745ffe.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>DAT Creativity Game Progress</title><meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_e8ce0c"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8f7c4246348aad30.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/010afec7547c6d1a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[5751,[],\"\"]\n5:I[9275,[],\"\"]\n6:I[1343,[],\"\"]\nc:I[6130,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/010afec7547c6d1a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L3\",null,{\"buildId\":\"0QpfhtDA6HMYOb_8z8_NB\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_e8ce0c\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"DAT Creativity Game Progress\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
out/404/index.html ADDED
@@ -0,0 +1 @@
 
 
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/010afec7547c6d1a.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8f7c4246348aad30.js"/><script src="/_next/static/chunks/fd9d1056-51face16839d2cb0.js" async=""></script><script src="/_next/static/chunks/23-3c786d31948a49f2.js" async=""></script><script src="/_next/static/chunks/main-app-dda775df53745ffe.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>DAT Creativity Game Progress</title><meta name="description" content="Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js" noModule=""></script></head><body class="__className_e8ce0c"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><script src="/_next/static/chunks/webpack-8f7c4246348aad30.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/010afec7547c6d1a.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"3:I[5751,[],\"\"]\n5:I[9275,[],\"\"]\n6:I[1343,[],\"\"]\nc:I[6130,[],\"\"]\n7:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n8:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n9:{\"display\":\"inline-block\"}\na:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\nd:[]\n"])</script><script>self.__next_f.push([1,"0:[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/010afec7547c6d1a.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"$L3\",null,{\"buildId\":\"0QpfhtDA6HMYOb_8z8_NB\",\"assetPrefix\":\"\",\"initialCanonicalUrl\":\"/_not-found/\",\"initialTree\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{},[[\"$L4\",[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]]],null],null]},[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"/_not-found\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\",\"styles\":null}],null]},[[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_e8ce0c\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$7\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$8\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$9\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$a\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[],\"styles\":null}]}]}],null],null],\"couldBeIntercepted\":false,\"initialHead\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],\"$Lb\"],\"globalErrorComponent\":\"$c\",\"missingSlots\":\"$Wd\"}]]\n"])</script><script>self.__next_f.push([1,"b:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"DAT Creativity Game Progress\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization\"}],[\"$\",\"meta\",\"4\",{\"name\":\"next-size-adjust\"}]]\n4:null\n"])</script></body></html>
out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_buildManifest.js ADDED
@@ -0,0 +1 @@
 
 
1
+ self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-1be831200e60c5c0.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
out/_next/static/0QpfhtDA6HMYOb_8z8_NB/_ssgManifest.js ADDED
@@ -0,0 +1 @@
 
 
1
+ self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB()
out/_next/static/chunks/23-3c786d31948a49f2.js ADDED
The diff for this file is too large to render. See raw diff
 
out/_next/static/chunks/506-f293b903a260cb45.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[506],{8030:function(e,t,r){r.d(t,{Z:function(){return d}});var n=r(2265);/**
2
+ * @license lucide-react v0.539.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */let o=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase()),i=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},l=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim()},s=e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0};/**
7
+ * @license lucide-react v0.539.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */var c={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"};/**
12
+ * @license lucide-react v0.539.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */let u=(0,n.forwardRef)((e,t)=>{let{color:r="currentColor",size:o=24,strokeWidth:a=2,absoluteStrokeWidth:i,className:u="",children:d,iconNode:f,...p}=e;return(0,n.createElement)("svg",{ref:t,...c,width:o,height:o,stroke:r,strokeWidth:i?24*Number(a)/Number(o):a,className:l("lucide",u),...!d&&!s(p)&&{"aria-hidden":"true"},...p},[...f.map(e=>{let[t,r]=e;return(0,n.createElement)(t,r)}),...Array.isArray(d)?d:[d]])}),d=(e,t)=>{let r=(0,n.forwardRef)((r,a)=>{let{className:s,...c}=r;return(0,n.createElement)(u,{ref:a,iconNode:t,className:l("lucide-".concat(o(i(e))),"lucide-".concat(e),s),...c})});return r.displayName=i(e),r}},1976:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},3541:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]])},3409:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]])},933:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]])},4775:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]])},7151:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]])},8002:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},6418:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("mountain",[["path",{d:"m8 3 4 8 5-5 5 15H2L8 3z",key:"otkl63"}]])},2513:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},9590:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]])},1902:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]])},3225:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]])},5016:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("trophy",[["path",{d:"M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978",key:"1n3hpd"}],["path",{d:"M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978",key:"rfe1zi"}],["path",{d:"M18 9h1.5a1 1 0 0 0 0-5H18",key:"7xy6bh"}],["path",{d:"M4 22h16",key:"57wxv0"}],["path",{d:"M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z",key:"1mhfuq"}],["path",{d:"M6 9H4.5a1 1 0 0 1 0-5H6",key:"tex48p"}]])},1240:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},4697:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},5430:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(8030).Z)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},6648:function(e,t,r){r.d(t,{default:function(){return o.a}});var n=r(5601),o=r.n(n)},8173:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Image",{enumerable:!0,get:function(){return y}});let n=r(9920),o=r(1452),a=r(7437),i=o._(r(2265)),l=n._(r(4887)),s=n._(r(8321)),c=r(497),u=r(7103),d=r(3938);r(2301);let f=r(291),p=n._(r(1241)),m={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function g(e,t,r,n,o,a,i){let l=null==e?void 0:e.src;e&&e["data-loaded-src"]!==l&&(e["data-loaded-src"]=l,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&o(!0),null==r?void 0:r.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,o=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>o,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{o=!0,t.stopPropagation()}})}(null==n?void 0:n.current)&&n.current(e)}}))}function h(e){return i.use?{fetchPriority:e}:{fetchpriority:e}}"undefined"==typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,i.forwardRef)((e,t)=>{let{src:r,srcSet:n,sizes:o,height:l,width:s,decoding:c,className:u,style:d,fetchPriority:f,placeholder:p,loading:m,unoptimized:v,fill:b,onLoadRef:y,onLoadingCompleteRef:w,setBlurComplete:x,setShowAltText:k,sizesInput:E,onLoad:C,onError:S,...M}=e;return(0,a.jsx)("img",{...M,...h(f),loading:m,width:s,height:l,decoding:c,"data-nimg":b?"fill":"1",className:u,style:d,sizes:o,srcSet:n,src:r,ref:(0,i.useCallback)(e=>{t&&("function"==typeof t?t(e):"object"==typeof t&&(t.current=e)),e&&(S&&(e.src=e.src),e.complete&&g(e,p,y,w,x,v,E))},[r,p,y,w,x,S,v,E,t]),onLoad:e=>{g(e.currentTarget,p,y,w,x,v,E)},onError:e=>{k(!0),"empty"!==p&&x(!0),S&&S(e)}})});function b(e){let{isAppRouter:t,imgAttributes:r}=e,n={as:"image",imageSrcSet:r.srcSet,imageSizes:r.sizes,crossOrigin:r.crossOrigin,referrerPolicy:r.referrerPolicy,...h(r.fetchPriority)};return t&&l.default.preload?(l.default.preload(r.src,n),null):(0,a.jsx)(s.default,{children:(0,a.jsx)("link",{rel:"preload",href:r.srcSet?void 0:r.src,...n},"__nimg-"+r.src+r.srcSet+r.sizes)})}let y=(0,i.forwardRef)((e,t)=>{let r=(0,i.useContext)(f.RouterContext),n=(0,i.useContext)(d.ImageConfigContext),o=(0,i.useMemo)(()=>{let e=m||n||u.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r}},[n]),{onLoad:l,onLoadingComplete:s}=e,g=(0,i.useRef)(l);(0,i.useEffect)(()=>{g.current=l},[l]);let h=(0,i.useRef)(s);(0,i.useEffect)(()=>{h.current=s},[s]);let[y,w]=(0,i.useState)(!1),[x,k]=(0,i.useState)(!1),{props:E,meta:C}=(0,c.getImgProps)(e,{defaultLoader:p.default,imgConf:o,blurComplete:y,showAltText:x});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v,{...E,unoptimized:C.unoptimized,placeholder:C.placeholder,fill:C.fill,onLoadRef:g,onLoadingCompleteRef:h,setBlurComplete:w,setShowAltText:k,sizesInput:e.sizes,ref:t}),C.priority?(0,a.jsx)(b,{isAppRouter:!r,imgAttributes:E}):null]})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2901:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(9920)._(r(2265)).default.createContext({})},687:function(e,t){function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},497:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImgProps",{enumerable:!0,get:function(){return l}}),r(2301);let n=r(1564),o=r(7103);function a(e){return void 0!==e.default}function i(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function l(e,t){var r;let l,s,c,{src:u,sizes:d,unoptimized:f=!1,priority:p=!1,loading:m,className:g,quality:h,width:v,height:b,fill:y=!1,style:w,overrideSrc:x,onLoad:k,onLoadingComplete:E,placeholder:C="empty",blurDataURL:S,fetchPriority:M,layout:j,objectFit:P,objectPosition:N,lazyBoundary:O,lazyRoot:_,...R}=e,{imgConf:z,showAltText:A,blurComplete:I,defaultLoader:D}=t,T=z||o.imageConfigDefault;if("allSizes"in T)l=T;else{let e=[...T.deviceSizes,...T.imageSizes].sort((e,t)=>e-t),t=T.deviceSizes.sort((e,t)=>e-t);l={...T,allSizes:e,deviceSizes:t}}if(void 0===D)throw Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config");let L=R.loader||D;delete R.loader,delete R.srcSet;let F="__next_img_default"in L;if(F){if("custom"===l.loader)throw Error('Image with src "'+u+'" is missing "loader" prop.\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader')}else{let e=L;L=t=>{let{config:r,...n}=t;return e(n)}}if(j){"fill"===j&&(y=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[j];e&&(w={...w,...e});let t={responsive:"100vw",fill:"100vw"}[j];t&&!d&&(d=t)}let W="",Z=i(v),U=i(b);if("object"==typeof(r=u)&&(a(r)||void 0!==r.src)){let e=a(u)?u.default:u;if(!e.src)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received "+JSON.stringify(e));if(!e.height||!e.width)throw Error("An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received "+JSON.stringify(e));if(s=e.blurWidth,c=e.blurHeight,S=S||e.blurDataURL,W=e.src,!y){if(Z||U){if(Z&&!U){let t=Z/e.width;U=Math.round(e.height*t)}else if(!Z&&U){let t=U/e.height;Z=Math.round(e.width*t)}}else Z=e.width,U=e.height}}let $=!p&&("lazy"===m||void 0===m);(!(u="string"==typeof u?u:W)||u.startsWith("data:")||u.startsWith("blob:"))&&(f=!0,$=!1),l.unoptimized&&(f=!0),F&&u.endsWith(".svg")&&!l.dangerouslyAllowSVG&&(f=!0),p&&(M="high");let B=i(h),G=Object.assign(y?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:P,objectPosition:N}:{},A?{}:{color:"transparent"},w),V=I||"empty"===C?null:"blur"===C?'url("data:image/svg+xml;charset=utf-8,'+(0,n.getImageBlurSvg)({widthInt:Z,heightInt:U,blurWidth:s,blurHeight:c,blurDataURL:S||"",objectFit:G.objectFit})+'")':'url("'+C+'")',q=V?{backgroundSize:G.objectFit||"cover",backgroundPosition:G.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:V}:{},H=function(e){let{config:t,src:r,unoptimized:n,width:o,quality:a,sizes:i,loader:l}=e;if(n)return{src:r,srcSet:void 0,sizes:void 0};let{widths:s,kind:c}=function(e,t,r){let{deviceSizes:n,allSizes:o}=e;if(r){let e=/(^|\s)(1?\d?\d)vw/g,t=[];for(let n;n=e.exec(r);n)t.push(parseInt(n[2]));if(t.length){let e=.01*Math.min(...t);return{widths:o.filter(t=>t>=n[0]*e),kind:"w"}}return{widths:o,kind:"w"}}return"number"!=typeof t?{widths:n,kind:"w"}:{widths:[...new Set([t,2*t].map(e=>o.find(t=>t>=e)||o[o.length-1]))],kind:"x"}}(t,o,i),u=s.length-1;return{sizes:i||"w"!==c?i:"100vw",srcSet:s.map((e,n)=>l({config:t,src:r,quality:a,width:e})+" "+("w"===c?e:n+1)+c).join(", "),src:l({config:t,src:r,quality:a,width:s[u]})}}({config:l,src:u,unoptimized:f,width:Z,quality:B,sizes:d,loader:L});return{props:{...R,loading:$?"lazy":m,fetchPriority:M,width:Z,height:U,decoding:"async",className:g,style:{...G,...q},sizes:H.sizes,srcSet:H.srcSet,src:x||H.src},meta:{unoptimized:f,priority:p,placeholder:C,fill:y}}}},8321:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return g},defaultHead:function(){return d}});let n=r(9920),o=r(1452),a=r(7437),i=o._(r(2265)),l=n._(r(5960)),s=r(2901),c=r(6590),u=r(687);function d(e){void 0===e&&(e=!1);let t=[(0,a.jsx)("meta",{charSet:"utf-8"})];return e||t.push((0,a.jsx)("meta",{name:"viewport",content:"width=device-width"})),t}function f(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===i.default.Fragment?e.concat(i.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(2301);let p=["name","httpEquiv","charSet","itemProp"];function m(e,t){let{inAmpMode:r}=t;return e.reduce(f,[]).reverse().concat(d(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=p.length;e<t;e++){let t=p[e];if(o.props.hasOwnProperty(t)){if("charSet"===t)r.has(t)?a=!1:r.add(t);else{let e=o.props[t],r=n[t]||new Set;("name"!==t||!i)&&r.has(e)?a=!1:(r.add(e),n[t]=r)}}}}return a}}()).reverse().map((e,t)=>{let n=e.key||t;if(!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,i.default.cloneElement(e,t)}return i.default.cloneElement(e,{key:n})})}let g=function(e){let{children:t}=e,r=(0,i.useContext)(s.AmpStateContext),n=(0,i.useContext)(c.HeadManagerContext);return(0,a.jsx)(l.default,{reduceComponentsToState:m,headManager:n,inAmpMode:(0,u.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1564:function(e,t){function r(e){let{widthInt:t,heightInt:r,blurWidth:n,blurHeight:o,blurDataURL:a,objectFit:i}=e,l=n?40*n:t,s=o?40*o:r,c=l&&s?"viewBox='0 0 "+l+" "+s+"'":"";return"%3Csvg xmlns='http://www.w3.org/2000/svg' "+c+"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='"+(c?"none":"contain"===i?"xMidYMid":"cover"===i?"xMidYMid slice":"none")+"' style='filter: url(%23b);' href='"+a+"'/%3E%3C/svg%3E"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getImageBlurSvg",{enumerable:!0,get:function(){return r}})},3938:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(9920)._(r(2265)),o=r(7103),a=n.default.createContext(o.imageConfigDefault)},7103:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"inline",remotePatterns:[],unoptimized:!1}},5601:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return s},getImageProps:function(){return l}});let n=r(9920),o=r(497),a=r(8173),i=n._(r(1241));function l(e){let{props:t}=(0,o.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let s=a.Image},1241:function(e,t){function r(e){let{config:t,src:r,width:n,quality:o}=e;return t.path+"?url="+encodeURIComponent(r)+"&w="+n+"&q="+(o||75)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}}),r.__next_img_default=!0;let n=r},291:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(9920)._(r(2265)).default.createContext(null)},5960:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(2265),o="undefined"==typeof window,a=o?()=>{}:n.useLayoutEffect,i=o?()=>{}:n.useEffect;function l(e){let{headManager:t,reduceComponentsToState:r}=e;function l(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}if(o){var s;null==t||null==(s=t.mountedInstances)||s.add(e.children),l()}return a(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),a(()=>(t&&(t._pendingUpdate=l),()=>{t&&(t._pendingUpdate=l)})),i(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},1584:function(e,t,r){r.d(t,{F:function(){return a},e:function(){return i}});var n=r(2265);function o(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function a(...e){return t=>{let r=!1,n=e.map(e=>{let n=o(e,t);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let t=0;t<n.length;t++){let r=n[t];"function"==typeof r?r():o(e[t],null)}}}}function i(...e){return n.useCallback(a(...e),e)}},6286:function(e,t,r){let n;r.d(t,{x8:function(){return tp},VY:function(){return tu},dk:function(){return tf},aV:function(){return tc},h_:function(){return ts},fC:function(){return ti},Dx:function(){return td},xz:function(){return tl}});var o,a,i,l,s,c,u,d,f=r(2265),p=r.t(f,2);function m(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}"undefined"!=typeof window&&window.document&&window.document.createElement;var g=r(1584),h=r(7437),v=globalThis?.document?f.useLayoutEffect:()=>{},b=p[" useId ".trim().toString()]||(()=>void 0),y=0;function w(e){let[t,r]=f.useState(b());return v(()=>{e||r(e=>e??String(y++))},[e]),e||(t?`radix-${t}`:"")}var x=p[" useInsertionEffect ".trim().toString()]||v;Symbol("RADIX:SYNC_STATE");var k=r(4887),E=r(1538),C=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let r=(0,E.Z8)(`Primitive.${t}`),n=f.forwardRef((e,n)=>{let{asChild:o,...a}=e,i=o?r:t;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,h.jsx)(i,{...a,ref:n})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function S(e){let t=f.useRef(e);return f.useEffect(()=>{t.current=e}),f.useMemo(()=>(...e)=>t.current?.(...e),[])}var M="dismissableLayer.update",j=f.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),P=f.forwardRef((e,t)=>{var r,n;let{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:l,onInteractOutside:s,onDismiss:c,...d}=e,p=f.useContext(j),[v,b]=f.useState(null),y=null!==(n=null==v?void 0:v.ownerDocument)&&void 0!==n?n:null===(r=globalThis)||void 0===r?void 0:r.document,[,w]=f.useState({}),x=(0,g.e)(t,e=>b(e)),k=Array.from(p.layers),[E]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),P=k.indexOf(E),_=v?k.indexOf(v):-1,R=p.layersWithOutsidePointerEventsDisabled.size>0,z=_>=P,A=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=S(e),o=f.useRef(!1),a=f.useRef(()=>{});return f.useEffect(()=>{let e=e=>{if(e.target&&!o.current){let t=function(){O("dismissableLayer.pointerDownOutside",n,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(r.removeEventListener("click",a.current),a.current=t,r.addEventListener("click",a.current,{once:!0})):t()}else r.removeEventListener("click",a.current);o.current=!1},t=window.setTimeout(()=>{r.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(t),r.removeEventListener("pointerdown",e),r.removeEventListener("click",a.current)}},[r,n]),{onPointerDownCapture:()=>o.current=!0}}(e=>{let t=e.target,r=[...p.branches].some(e=>e.contains(t));!z||r||(null==i||i(e),null==s||s(e),e.defaultPrevented||null==c||c())},y),I=function(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null===(t=globalThis)||void 0===t?void 0:t.document,n=S(e),o=f.useRef(!1);return f.useEffect(()=>{let e=e=>{e.target&&!o.current&&O("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return r.addEventListener("focusin",e),()=>r.removeEventListener("focusin",e)},[r,n]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}(e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(null==l||l(e),null==s||s(e),e.defaultPrevented||null==c||c())},y);return!function(e,t=globalThis?.document){let r=S(e);f.useEffect(()=>{let e=e=>{"Escape"===e.key&&r(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[r,t])}(e=>{_!==p.layers.size-1||(null==a||a(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))},y),f.useEffect(()=>{if(v)return o&&(0===p.layersWithOutsidePointerEventsDisabled.size&&(u=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(v)),p.layers.add(v),N(),()=>{o&&1===p.layersWithOutsidePointerEventsDisabled.size&&(y.body.style.pointerEvents=u)}},[v,y,o,p]),f.useEffect(()=>()=>{v&&(p.layers.delete(v),p.layersWithOutsidePointerEventsDisabled.delete(v),N())},[v,p]),f.useEffect(()=>{let e=()=>w({});return document.addEventListener(M,e),()=>document.removeEventListener(M,e)},[]),(0,h.jsx)(C.div,{...d,ref:x,style:{pointerEvents:R?z?"auto":"none":void 0,...e.style},onFocusCapture:m(e.onFocusCapture,I.onFocusCapture),onBlurCapture:m(e.onBlurCapture,I.onBlurCapture),onPointerDownCapture:m(e.onPointerDownCapture,A.onPointerDownCapture)})});function N(){let e=new CustomEvent(M);document.dispatchEvent(e)}function O(e,t,r,n){let{discrete:o}=n,a=r.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});(t&&a.addEventListener(e,t,{once:!0}),o)?a&&k.flushSync(()=>a.dispatchEvent(i)):a.dispatchEvent(i)}P.displayName="DismissableLayer",f.forwardRef((e,t)=>{let r=f.useContext(j),n=f.useRef(null),o=(0,g.e)(t,n);return f.useEffect(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,h.jsx)(C.div,{...e,ref:o})}).displayName="DismissableLayerBranch";var _="focusScope.autoFocusOnMount",R="focusScope.autoFocusOnUnmount",z={bubbles:!1,cancelable:!0},A=f.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=f.useState(null),c=S(o),u=S(a),d=f.useRef(null),p=(0,g.e)(t,e=>s(e)),m=f.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;f.useEffect(()=>{if(n){let e=function(e){if(m.paused||!l)return;let t=e.target;l.contains(t)?d.current=t:T(d.current,{select:!0})},t=function(e){if(m.paused||!l)return;let t=e.relatedTarget;null===t||l.contains(t)||T(d.current,{select:!0})};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&T(l)});return l&&r.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,l,m.paused]),f.useEffect(()=>{if(l){L.add(m);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(_,z);l.addEventListener(_,c),l.dispatchEvent(t),t.defaultPrevented||(function(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=document.activeElement;for(let n of e)if(T(n,{select:t}),document.activeElement!==r)return}(I(l).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&T(l))}return()=>{l.removeEventListener(_,c),setTimeout(()=>{let t=new CustomEvent(R,z);l.addEventListener(R,u),l.dispatchEvent(t),t.defaultPrevented||T(null!=e?e:document.body,{select:!0}),l.removeEventListener(R,u),L.remove(m)},0)}}},[l,c,u,m]);let v=f.useCallback(e=>{if(!r&&!n||m.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,o=document.activeElement;if(t&&o){let t=e.currentTarget,[n,a]=function(e){let t=I(e);return[D(t,e),D(t.reverse(),e)]}(t);n&&a?e.shiftKey||o!==a?e.shiftKey&&o===n&&(e.preventDefault(),r&&T(a,{select:!0})):(e.preventDefault(),r&&T(n,{select:!0})):o===t&&e.preventDefault()}},[r,n,m.paused]);return(0,h.jsx)(C.div,{tabIndex:-1,...i,ref:p,onKeyDown:v})});function I(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function D(e,t){for(let r of e)if(!function(e,t){let{upTo:r}=t;if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===r||e!==r);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function T(e){let{select:t=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}A.displayName="FocusScope";var L=(n=[],{add(e){let t=n[0];e!==t&&(null==t||t.pause()),(n=F(n,e)).unshift(e)},remove(e){var t;null===(t=(n=F(n,e))[0])||void 0===t||t.resume()}});function F(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var W=f.forwardRef((e,t)=>{var r,n;let{container:o,...a}=e,[i,l]=f.useState(!1);v(()=>l(!0),[]);let s=o||i&&(null===(n=globalThis)||void 0===n?void 0:null===(r=n.document)||void 0===r?void 0:r.body);return s?k.createPortal((0,h.jsx)(C.div,{...a,ref:t}),s):null});W.displayName="Portal";var Z=e=>{var t,r;let n,o;let{present:a,children:i}=e,l=function(e){var t,r;let[n,o]=f.useState(),a=f.useRef(null),i=f.useRef(e),l=f.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},f.useReducer((e,t)=>{let n=r[e][t];return null!=n?n:e},t));return f.useEffect(()=>{let e=U(a.current);l.current="mounted"===s?e:"none"},[s]),v(()=>{let t=a.current,r=i.current;if(r!==e){let n=l.current,o=U(t);e?c("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?c("UNMOUNT"):r&&n!==o?c("ANIMATION_OUT"):c("UNMOUNT"),i.current=e}},[e,c]),v(()=>{if(n){var e;let t;let r=null!==(e=n.ownerDocument.defaultView)&&void 0!==e?e:window,o=e=>{let o=U(a.current).includes(CSS.escape(e.animationName));if(e.target===n&&o&&(c("ANIMATION_END"),!i.current)){let e=n.style.animationFillMode;n.style.animationFillMode="forwards",t=r.setTimeout(()=>{"forwards"===n.style.animationFillMode&&(n.style.animationFillMode=e)})}},s=e=>{e.target===n&&(l.current=U(a.current))};return n.addEventListener("animationstart",s),n.addEventListener("animationcancel",o),n.addEventListener("animationend",o),()=>{r.clearTimeout(t),n.removeEventListener("animationstart",s),n.removeEventListener("animationcancel",o),n.removeEventListener("animationend",o)}}c("ANIMATION_END")},[n,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:f.useCallback(e=>{a.current=e?getComputedStyle(e):null,o(e)},[])}}(a),s="function"==typeof i?i({present:l.isPresent}):f.Children.only(i),c=(0,g.e)(l.ref,(n=null===(t=Object.getOwnPropertyDescriptor(s.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in n&&n.isReactWarning?s.ref:(n=null===(r=Object.getOwnPropertyDescriptor(s,"ref"))||void 0===r?void 0:r.get)&&"isReactWarning"in n&&n.isReactWarning?s.props.ref:s.props.ref||s.ref);return"function"==typeof i||l.isPresent?f.cloneElement(s,{ref:c}):null};function U(e){return(null==e?void 0:e.animationName)||"none"}Z.displayName="Presence";var $=0;function B(){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 G=function(){return(G=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function V(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)0>t.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]]);return r}"function"==typeof SuppressedError&&SuppressedError;var q="right-scroll-bar-position",H="width-before-scroll-bar";function Y(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var K="undefined"!=typeof window?f.useLayoutEffect:f.useEffect,X=new WeakMap,J=(void 0===o&&(o={}),(void 0===a&&(a=function(e){return e}),i=[],l=!1,s={read:function(){if(l)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return i.length?i[i.length-1]:null},useMedium:function(e){var t=a(e,l);return i.push(t),function(){i=i.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(l=!0;i.length;){var t=i;i=[],t.forEach(e)}i={push:function(t){return e(t)},filter:function(){return i}}},assignMedium:function(e){l=!0;var t=[];if(i.length){var r=i;i=[],r.forEach(e),t=i}var n=function(){var r=t;t=[],r.forEach(e)},o=function(){return Promise.resolve().then(n)};o(),i={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),i}}}}).options=G({async:!0,ssr:!1},o),s),Q=function(){},ee=f.forwardRef(function(e,t){var r,n,o,a,i=f.useRef(null),l=f.useState({onScrollCapture:Q,onWheelCapture:Q,onTouchMoveCapture:Q}),s=l[0],c=l[1],u=e.forwardProps,d=e.children,p=e.className,m=e.removeScrollBar,g=e.enabled,h=e.shards,v=e.sideCar,b=e.noRelative,y=e.noIsolation,w=e.inert,x=e.allowPinchZoom,k=e.as,E=e.gapMode,C=V(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=(r=[i,t],n=function(e){return r.forEach(function(t){return Y(t,e)})},(o=(0,f.useState)(function(){return{value:null,callback:n,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=n,a=o.facade,K(function(){var e=X.get(a);if(e){var t=new Set(e),n=new Set(r),o=a.current;t.forEach(function(e){n.has(e)||Y(e,null)}),n.forEach(function(e){t.has(e)||Y(e,o)})}X.set(a,r)},[r]),a),M=G(G({},C),s);return f.createElement(f.Fragment,null,g&&f.createElement(v,{sideCar:J,removeScrollBar:m,shards:h,noRelative:b,noIsolation:y,inert:w,setCallbacks:c,allowPinchZoom:!!x,lockRef:i,gapMode:E}),u?f.cloneElement(f.Children.only(d),G(G({},M),{ref:S})):f.createElement(void 0===k?"div":k,G({},M,{className:p,ref:S}),d))});ee.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},ee.classNames={fullWidth:H,zeroRight:q};var et=function(e){var t=e.sideCar,r=V(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return f.createElement(n,G({},r))};et.isSideCarExport=!0;var er=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=d||r.nc;return t&&e.setAttribute("nonce",t),e}())){var o,a;(o=t).styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},en=function(){var e=er();return function(t,r){f.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},eo=function(){var e=en();return function(t){return e(t.styles,t.dynamic),null}},ea={left:0,top:0,right:0,gap:0},ei=function(e){return parseInt(e||"",10)||0},el=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[ei(r),ei(n),ei(o)]},es=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return ea;var t=el(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},ec=eo(),eu="data-scroll-locked",ed=function(e,t,r,n){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(l,"px ").concat(n,";\n }\n body[").concat(eu,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(l,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(q," {\n right: ").concat(l,"px ").concat(n,";\n }\n \n .").concat(H," {\n margin-right: ").concat(l,"px ").concat(n,";\n }\n \n .").concat(q," .").concat(q," {\n right: 0 ").concat(n,";\n }\n \n .").concat(H," .").concat(H," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(eu,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},ef=function(){var e=parseInt(document.body.getAttribute(eu)||"0",10);return isFinite(e)?e:0},ep=function(){f.useEffect(function(){return document.body.setAttribute(eu,(ef()+1).toString()),function(){var e=ef()-1;e<=0?document.body.removeAttribute(eu):document.body.setAttribute(eu,e.toString())}},[])},em=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,o=void 0===n?"margin":n;ep();var a=f.useMemo(function(){return es(o)},[o]);return f.createElement(ec,{styles:ed(a,!t,o,r?"":"!important")})},eg=!1;if("undefined"!=typeof window)try{var eh=Object.defineProperty({},"passive",{get:function(){return eg=!0,!0}});window.addEventListener("test",eh,eh),window.removeEventListener("test",eh,eh)}catch(e){eg=!1}var ev=!!eg&&{passive:!1},eb=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&!(r.overflowY===r.overflowX&&"TEXTAREA"!==e.tagName&&"visible"===r[t])},ey=function(e,t){var r=t.ownerDocument,n=t;do{if("undefined"!=typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),ew(e,n)){var o=ex(e,n);if(o[1]>o[2])return!0}n=n.parentNode}while(n&&n!==r.body);return!1},ew=function(e,t){return"v"===e?eb(t,"overflowY"):eb(t,"overflowX")},ex=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},ek=function(e,t,r,n,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),l=i*n,s=r.target,c=t.contains(s),u=!1,d=l>0,f=0,p=0;do{if(!s)break;var m=ex(e,s),g=m[0],h=m[1]-m[2]-i*g;(g||h)&&ew(e,s)&&(f+=h,p+=g);var v=s.parentNode;s=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return d&&(o&&1>Math.abs(f)||!o&&l>f)?u=!0:!d&&(o&&1>Math.abs(p)||!o&&-l>p)&&(u=!0),u},eE=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},eC=function(e){return[e.deltaX,e.deltaY]},eS=function(e){return e&&"current"in e?e.current:e},eM=0,ej=[],eP=(c=function(e){var t=f.useRef([]),r=f.useRef([0,0]),n=f.useRef(),o=f.useState(eM++)[0],a=f.useState(eo)[0],i=f.useRef(e);f.useEffect(function(){i.current=e},[e]),f.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,o=0,a=t.length;o<a;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(eS),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=f.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=eE(e),l=r.current,s="deltaX"in e?e.deltaX:l[0]-a[0],c="deltaY"in e?e.deltaY:l[1]-a[1],u=e.target,d=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var f=ey(d,u);if(!f)return!0;if(f?o=d:(o="v"===d?"h":"v",f=ey(d,u)),!f)return!1;if(!n.current&&"changedTouches"in e&&(s||c)&&(n.current=o),!o)return!0;var p=n.current||o;return ek(p,t,e,"h"===p?s:c,!0)},[]),s=f.useCallback(function(e){if(ej.length&&ej[ej.length-1]===a){var r="deltaY"in e?eC(e):eE(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta)[0]===r[0]&&n[1]===r[1]})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var o=(i.current.shards||[]).map(eS).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=f.useCallback(function(e,r,n,o){var a={name:e,delta:r,target:n,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=f.useCallback(function(e){r.current=eE(e),n.current=void 0},[]),d=f.useCallback(function(t){c(t.type,eC(t),t.target,l(t,e.lockRef.current))},[]),p=f.useCallback(function(t){c(t.type,eE(t),t.target,l(t,e.lockRef.current))},[]);f.useEffect(function(){return ej.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:p}),document.addEventListener("wheel",s,ev),document.addEventListener("touchmove",s,ev),document.addEventListener("touchstart",u,ev),function(){ej=ej.filter(function(e){return e!==a}),document.removeEventListener("wheel",s,ev),document.removeEventListener("touchmove",s,ev),document.removeEventListener("touchstart",u,ev)}},[]);var m=e.removeScrollBar,g=e.inert;return f.createElement(f.Fragment,null,g?f.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,m?f.createElement(em,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},J.useMedium(c),et),eN=f.forwardRef(function(e,t){return f.createElement(ee,G({},e,{ref:t,sideCar:eP}))});eN.classNames=ee.classNames;var eO=new WeakMap,e_=new WeakMap,eR={},ez=0,eA=function(e){return e&&(e.host||eA(e.parentNode))},eI=function(e,t,r,n){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=eA(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});eR[r]||(eR[r]=new WeakMap);var a=eR[r],i=[],l=new Set,s=new Set(o),c=function(e){!e||l.has(e)||(l.add(e),c(e.parentNode))};o.forEach(c);var u=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))u(e);else try{var t=e.getAttribute(n),o=null!==t&&"false"!==t,s=(eO.get(e)||0)+1,c=(a.get(e)||0)+1;eO.set(e,s),a.set(e,c),i.push(e),1===s&&o&&e_.set(e,!0),1===c&&e.setAttribute(r,"true"),o||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return u(t),l.clear(),ez++,function(){i.forEach(function(e){var t=eO.get(e)-1,o=a.get(e)-1;eO.set(e,t),a.set(e,o),t||(e_.has(e)||e.removeAttribute(n),e_.delete(e)),o||e.removeAttribute(r)}),--ez||(eO=new WeakMap,eO=new WeakMap,e_=new WeakMap,eR={})}},eD=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=t||("undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),eI(n,o,r,"aria-hidden")):function(){return null}},eT="Dialog",[eL,eF]=function(e,t=[]){let r=[],n=()=>{let t=r.map(e=>f.createContext(e));return function(r){let n=r?.[e]||t;return f.useMemo(()=>({[`__scope${e}`]:{...r,[e]:n}}),[r,n])}};return n.scopeName=e,[function(t,n){let o=f.createContext(n),a=r.length;r=[...r,n];let i=t=>{let{scope:r,children:n,...i}=t,l=r?.[e]?.[a]||o,s=f.useMemo(()=>i,Object.values(i));return(0,h.jsx)(l.Provider,{value:s,children:n})};return i.displayName=t+"Provider",[i,function(r,i){let l=i?.[e]?.[a]||o,s=f.useContext(l);if(s)return s;if(void 0!==n)return n;throw Error(`\`${r}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let r=()=>{let r=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=r.reduce((t,{useScope:r,scopeName:n})=>{let o=r(e)[`__scope${n}`];return{...t,...o}},{});return f.useMemo(()=>({[`__scope${t.scopeName}`]:n}),[n])}};return r.scopeName=t.scopeName,r}(n,...t)]}(eT),[eW,eZ]=eL(eT),eU=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:o,onOpenChange:a,modal:i=!0}=e,l=f.useRef(null),s=f.useRef(null),[c,u]=function({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){let[o,a,i]=function({defaultProp:e,onChange:t}){let[r,n]=f.useState(e),o=f.useRef(r),a=f.useRef(t);return x(()=>{a.current=t},[t]),f.useEffect(()=>{o.current!==r&&(a.current?.(r),o.current=r)},[r,o]),[r,n,a]}({defaultProp:t,onChange:r}),l=void 0!==e,s=l?e:o;{let t=f.useRef(void 0!==e);f.useEffect(()=>{let e=t.current;if(e!==l){let t=l?"controlled":"uncontrolled";console.warn(`${n} is changing from ${e?"controlled":"uncontrolled"} to ${t}. 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.`)}t.current=l},[l,n])}return[s,f.useCallback(t=>{if(l){let r="function"==typeof t?t(e):t;r!==e&&i.current?.(r)}else a(t)},[l,e,a,i])]}({prop:n,defaultProp:null!=o&&o,onChange:a,caller:eT});return(0,h.jsx)(eW,{scope:t,triggerRef:l,contentRef:s,contentId:w(),titleId:w(),descriptionId:w(),open:c,onOpenChange:u,onOpenToggle:f.useCallback(()=>u(e=>!e),[u]),modal:i,children:r})};eU.displayName=eT;var e$="DialogTrigger",eB=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e$,r),a=(0,g.e)(t,o.triggerRef);return(0,h.jsx)(C.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":te(o.open),...n,ref:a,onClick:m(e.onClick,o.onOpenToggle)})});eB.displayName=e$;var eG="DialogPortal",[eV,eq]=eL(eG,{forceMount:void 0}),eH=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:o}=e,a=eZ(eG,t);return(0,h.jsx)(eV,{scope:t,forceMount:r,children:f.Children.map(n,e=>(0,h.jsx)(Z,{present:r||a.open,children:(0,h.jsx)(W,{asChild:!0,container:o,children:e})}))})};eH.displayName=eG;var eY="DialogOverlay",eK=f.forwardRef((e,t)=>{let r=eq(eY,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=eZ(eY,e.__scopeDialog);return a.modal?(0,h.jsx)(Z,{present:n||a.open,children:(0,h.jsx)(eJ,{...o,ref:t})}):null});eK.displayName=eY;var eX=(0,E.Z8)("DialogOverlay.RemoveScroll"),eJ=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(eY,r);return(0,h.jsx)(eN,{as:eX,allowPinchZoom:!0,shards:[o.contentRef],children:(0,h.jsx)(C.div,{"data-state":te(o.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),eQ="DialogContent",e0=f.forwardRef((e,t)=>{let r=eq(eQ,e.__scopeDialog),{forceMount:n=r.forceMount,...o}=e,a=eZ(eQ,e.__scopeDialog);return(0,h.jsx)(Z,{present:n||a.open,children:a.modal?(0,h.jsx)(e1,{...o,ref:t}):(0,h.jsx)(e2,{...o,ref:t})})});e0.displayName=eQ;var e1=f.forwardRef((e,t)=>{let r=eZ(eQ,e.__scopeDialog),n=f.useRef(null),o=(0,g.e)(t,r.contentRef,n);return f.useEffect(()=>{let e=n.current;if(e)return eD(e)},[]),(0,h.jsx)(e3,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:m(e.onCloseAutoFocus,e=>{var t;e.preventDefault(),null===(t=r.triggerRef.current)||void 0===t||t.focus()}),onPointerDownOutside:m(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:m(e.onFocusOutside,e=>e.preventDefault())})}),e2=f.forwardRef((e,t)=>{let r=eZ(eQ,e.__scopeDialog),n=f.useRef(!1),o=f.useRef(!1);return(0,h.jsx)(e3,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{var a,i;null===(a=e.onCloseAutoFocus)||void 0===a||a.call(e,t),t.defaultPrevented||(n.current||null===(i=r.triggerRef.current)||void 0===i||i.focus(),t.preventDefault()),n.current=!1,o.current=!1},onInteractOutside:t=>{var a,i;null===(a=e.onInteractOutside)||void 0===a||a.call(e,t),t.defaultPrevented||(n.current=!0,"pointerdown"!==t.detail.originalEvent.type||(o.current=!0));let l=t.target;(null===(i=r.triggerRef.current)||void 0===i?void 0:i.contains(l))&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})}),e3=f.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,...i}=e,l=eZ(eQ,r),s=f.useRef(null),c=(0,g.e)(t,s);return f.useEffect(()=>{var e,t;let r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",null!==(e=r[0])&&void 0!==e?e:B()),document.body.insertAdjacentElement("beforeend",null!==(t=r[1])&&void 0!==t?t:B()),$++,()=>{1===$&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),$--}},[]),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(A,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:o,onUnmountAutoFocus:a,children:(0,h.jsx)(P,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":te(l.open),...i,ref:c,onDismiss:()=>l.onOpenChange(!1)})}),(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(to,{titleId:l.titleId}),(0,h.jsx)(ta,{contentRef:s,descriptionId:l.descriptionId})]})]})}),e8="DialogTitle",e6=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e8,r);return(0,h.jsx)(C.h2,{id:o.titleId,...n,ref:t})});e6.displayName=e8;var e5="DialogDescription",e4=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e5,r);return(0,h.jsx)(C.p,{id:o.descriptionId,...n,ref:t})});e4.displayName=e5;var e7="DialogClose",e9=f.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,o=eZ(e7,r);return(0,h.jsx)(C.button,{type:"button",...n,ref:t,onClick:m(e.onClick,()=>o.onOpenChange(!1))})});function te(e){return e?"open":"closed"}e9.displayName=e7;var tt="DialogTitleWarning",[tr,tn]=function(e,t){let r=f.createContext(t),n=e=>{let{children:t,...n}=e,o=f.useMemo(()=>n,Object.values(n));return(0,h.jsx)(r.Provider,{value:o,children:t})};return n.displayName=e+"Provider",[n,function(n){let o=f.useContext(r);if(o)return o;if(void 0!==t)return t;throw Error(`\`${n}\` must be used within \`${e}\``)}]}(tt,{contentName:eQ,titleName:e8,docsSlug:"dialog"}),to=e=>{let{titleId:t}=e,r=tn(tt),n="`".concat(r.contentName,"` requires a `").concat(r.titleName,"` for the component to be accessible for screen reader users.\n\nIf you want to hide the `").concat(r.titleName,"`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/").concat(r.docsSlug);return f.useEffect(()=>{t&&!document.getElementById(t)&&console.error(n)},[n,t]),null},ta=e=>{let{contentRef:t,descriptionId:r}=e,n=tn("DialogDescriptionWarning"),o="Warning: Missing `Description` or `aria-describedby={undefined}` for {".concat(n.contentName,"}.");return f.useEffect(()=>{var e;let n=null===(e=t.current)||void 0===e?void 0:e.getAttribute("aria-describedby");r&&n&&!document.getElementById(r)&&console.warn(o)},[o,t,r]),null},ti=eU,tl=eB,ts=eH,tc=eK,tu=e0,td=e6,tf=e4,tp=e9},1538:function(e,t,r){r.d(t,{Z8:function(){return i},g7:function(){return l}});var n=r(2265),o=r(1584),a=r(7437);function i(e){let t=function(e){let t=n.forwardRef((e,t)=>{let{children:r,...a}=e;if(n.isValidElement(r)){let e,i;let l=(e=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.ref:(e=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning?r.props.ref:r.props.ref||r.ref,s=function(e,t){let r={...t};for(let n in t){let o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...a}:"className"===n&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}(a,r.props);return r.type!==n.Fragment&&(s.ref=t?(0,o.F)(t,l):l),n.cloneElement(r,s)}return n.Children.count(r)>1?n.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}(e),r=n.forwardRef((e,r)=>{let{children:o,...i}=e,l=n.Children.toArray(o),s=l.find(c);if(s){let e=s.props.children,o=l.map(t=>t!==s?t:n.Children.count(e)>1?n.Children.only(null):n.isValidElement(e)?e.props.children:null);return(0,a.jsx)(t,{...i,ref:r,children:n.isValidElement(e)?n.cloneElement(e,void 0,o):null})}return(0,a.jsx)(t,{...i,ref:r,children:o})});return r.displayName=`${e}.Slot`,r}var l=i("Slot"),s=Symbol("radix.slottable");function c(e){return n.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===s}},3027:function(e,t,r){r.d(t,{j:function(){return i}});var n=r(4839);let o=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=n.W,i=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return a(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:i,defaultVariants:l}=t,s=Object.keys(i).map(e=>{let t=null==r?void 0:r[e],n=null==l?void 0:l[e];if(null===t)return null;let a=o(t)||o(n);return i[e][a]}),c=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return a(e,s,null==t?void 0:null===(n=t.compoundVariants)||void 0===n?void 0:n.reduce((e,t)=>{let{class:r,className:n,...o}=t;return Object.entries(o).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...l,...c}[t]):({...l,...c})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)}},4839:function(e,t,r){r.d(t,{W:function(){return n}});function n(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=function e(t){var r,n,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t){if(Array.isArray(t)){var a=t.length;for(r=0;r<a;r++)t[r]&&(n=e(t[r]))&&(o&&(o+=" "),o+=n)}else for(n in t)t[n]&&(o&&(o+=" "),o+=n)}return o}(e))&&(n&&(n+=" "),n+=t);return n}},6164:function(e,t,r){r.d(t,{m6:function(){return ec}});let n=e=>{let t=l(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),o(r,t)||i(e)},getConflictingClassGroupIds:(e,t)=>{let o=r[e]||[];return t&&n[e]?[...o,...n[e]]:o}}},o=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],n=t.nextPart.get(r),a=n?o(e.slice(1),n):void 0;if(a)return a;if(0===t.validators.length)return;let i=e.join("-");return t.validators.find(({validator:e})=>e(i))?.classGroupId},a=/^\[(.+)\]$/,i=e=>{if(a.test(e)){let t=a.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},l=e=>{let{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(let e in r)s(r[e],n,e,t);return n},s=(e,t,r,n)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:c(t,e)).classGroupId=r;return}if("function"==typeof e){if(u(e)){s(e(n),t,r,n);return}t.validators.push({validator:e,classGroupId:r});return}Object.entries(e).forEach(([e,o])=>{s(o,c(t,e),r,n)})})},c=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,d=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,n=new Map,o=(o,a)=>{r.set(o,a),++t>e&&(t=0,n=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=n.get(e))?(o(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):o(e,t)}}},f=e=>{let{prefix:t,experimentalParseClassName:r}=e,n=e=>{let t;let r=[],n=0,o=0,a=0;for(let i=0;i<e.length;i++){let l=e[i];if(0===n&&0===o){if(":"===l){r.push(e.slice(a,i)),a=i+1;continue}if("/"===l){t=i;continue}}"["===l?n++:"]"===l?n--:"("===l?o++:")"===l&&o--}let i=0===r.length?e:e.substring(a),l=p(i);return{modifiers:r,hasImportantModifier:l!==i,baseClassName:l,maybePostfixModifierPosition:t&&t>a?t-a:void 0}};if(t){let e=t+":",r=n;n=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){let e=n;n=t=>r({className:t,parseClassName:e})}return n},p=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,m=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let r=[],n=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...n.sort(),e),n=[]):n.push(e)}),r.push(...n.sort()),r}},g=e=>({cache:d(e.cacheSize),parseClassName:f(e),sortModifiers:m(e),...n(e)}),h=/\s+/,v=(e,t)=>{let{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(h),s="";for(let e=l.length-1;e>=0;e-=1){let t=l[e],{isExternal:c,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=r(t);if(c){s=t+(s.length>0?" "+s:s);continue}let m=!!p,g=n(m?f.substring(0,p):f);if(!g){if(!m||!(g=n(f))){s=t+(s.length>0?" "+s:s);continue}m=!1}let h=a(u).join(":"),v=d?h+"!":h,b=v+g;if(i.includes(b))continue;i.push(b);let y=o(g,m);for(let e=0;e<y.length;++e){let t=y[e];i.push(v+t)}s=t+(s.length>0?" "+s:s)}return s};function b(){let e,t,r=0,n="";for(;r<arguments.length;)(e=arguments[r++])&&(t=y(e))&&(n&&(n+=" "),n+=t);return n}let y=e=>{let t;if("string"==typeof e)return e;let r="";for(let n=0;n<e.length;n++)e[n]&&(t=y(e[n]))&&(r&&(r+=" "),r+=t);return r},w=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},x=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,E=/^\d+\/\d+$/,C=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S=/\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$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,j=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,P=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,N=e=>E.test(e),O=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&O(e.slice(0,-1)),z=e=>C.test(e),A=()=>!0,I=e=>S.test(e)&&!M.test(e),D=()=>!1,T=e=>j.test(e),L=e=>P.test(e),F=e=>!Z(e)&&!q(e),W=e=>ee(e,eo,D),Z=e=>x.test(e),U=e=>ee(e,ea,I),$=e=>ee(e,ei,O),B=e=>ee(e,er,D),G=e=>ee(e,en,L),V=e=>ee(e,es,T),q=e=>k.test(e),H=e=>et(e,ea),Y=e=>et(e,el),K=e=>et(e,er),X=e=>et(e,eo),J=e=>et(e,en),Q=e=>et(e,es,!0),ee=(e,t,r)=>{let n=x.exec(e);return!!n&&(n[1]?t(n[1]):r(n[2]))},et=(e,t,r=!1)=>{let n=k.exec(e);return!!n&&(n[1]?t(n[1]):r)},er=e=>"position"===e||"percentage"===e,en=e=>"image"===e||"url"===e,eo=e=>"length"===e||"size"===e||"bg-size"===e,ea=e=>"length"===e,ei=e=>"number"===e,el=e=>"family-name"===e,es=e=>"shadow"===e,ec=function(e,...t){let r,n,o;let a=function(l){return n=(r=g(t.reduce((e,t)=>t(e),e()))).cache.get,o=r.cache.set,a=i,i(l)};function i(e){let t=n(e);if(t)return t;let a=v(e,r);return o(e,a),a}return function(){return a(b.apply(null,arguments))}}(()=>{let e=w("color"),t=w("font"),r=w("text"),n=w("font-weight"),o=w("tracking"),a=w("leading"),i=w("breakpoint"),l=w("container"),s=w("spacing"),c=w("radius"),u=w("shadow"),d=w("inset-shadow"),f=w("text-shadow"),p=w("drop-shadow"),m=w("blur"),g=w("perspective"),h=w("aspect"),v=w("ease"),b=w("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],k=()=>[...x(),q,Z],E=()=>["auto","hidden","clip","visible","scroll"],C=()=>["auto","contain","none"],S=()=>[q,Z,s],M=()=>[N,"full","auto",...S()],j=()=>[_,"none","subgrid",q,Z],P=()=>["auto",{span:["full",_,q,Z]},_,q,Z],I=()=>[_,"auto",q,Z],D=()=>["auto","min","max","fr",q,Z],T=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],L=()=>["start","end","center","stretch","center-safe","end-safe"],ee=()=>["auto",...S()],et=()=>[N,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],er=()=>[e,q,Z],en=()=>[...x(),K,B,{position:[q,Z]}],eo=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ea=()=>["auto","cover","contain",X,W,{size:[q,Z]}],ei=()=>[R,H,U],el=()=>["","none","full",c,q,Z],es=()=>["",O,H,U],ec=()=>["solid","dashed","dotted","double"],eu=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ed=()=>[O,R,K,B],ef=()=>["","none",m,q,Z],ep=()=>["none",O,q,Z],em=()=>["none",O,q,Z],eg=()=>[O,q,Z],eh=()=>[N,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[z],breakpoint:[z],color:[A],container:[z],"drop-shadow":[z],ease:["in","out","in-out"],font:[F],"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",O],text:[z],"text-shadow":[z],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",N,Z,q,h]}],container:["container"],columns:[{columns:[O,Z,q,l]}],"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:k()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{start:M()}],end:[{end:M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[_,"auto",q,Z]}],basis:[{basis:[N,"full","auto",l,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[O,N,"auto","initial","none",Z]}],grow:[{grow:["",O,q,Z]}],shrink:[{shrink:["",O,q,Z]}],order:[{order:[_,"first","last","none",q,Z]}],"grid-cols":[{"grid-cols":j()}],"col-start-end":[{col:P()}],"col-start":[{"col-start":I()}],"col-end":[{"col-end":I()}],"grid-rows":[{"grid-rows":j()}],"row-start-end":[{row:P()}],"row-start":[{"row-start":I()}],"row-end":[{"row-end":I()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...T(),"normal"]}],"justify-items":[{"justify-items":[...L(),"normal"]}],"justify-self":[{"justify-self":["auto",...L()]}],"align-content":[{content:["normal",...T()]}],"align-items":[{items:[...L(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...L(),{baseline:["","last"]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...L(),"baseline"]}],"place-self":[{"place-self":["auto",...L()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:ee()}],mx:[{mx:ee()}],my:[{my:ee()}],ms:[{ms:ee()}],me:[{me:ee()}],mt:[{mt:ee()}],mr:[{mr:ee()}],mb:[{mb:ee()}],ml:[{ml:ee()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:et()}],w:[{w:[l,"screen",...et()]}],"min-w":[{"min-w":[l,"screen","none",...et()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...et()]}],h:[{h:["screen","lh",...et()]}],"min-h":[{"min-h":["screen","lh","none",...et()]}],"max-h":[{"max-h":["screen","lh",...et()]}],"font-size":[{text:["base",r,H,U]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,q,$]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,Z]}],"font-family":[{font:[Y,Z,t]}],"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,q,Z]}],"line-clamp":[{"line-clamp":[O,"none",q,$]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":["none",q,Z]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",q,Z]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:er()}],"text-color":[{text:er()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[O,"from-font","auto",q,U]}],"text-decoration-color":[{decoration:er()}],"underline-offset":[{"underline-offset":[O,"auto",q,Z]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",q,Z]}],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",q,Z]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:en()}],"bg-repeat":[{bg:eo()}],"bg-size":[{bg:ea()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_,q,Z],radial:["",q,Z],conic:[_,q,Z]},J,G]}],"bg-color":[{bg:er()}],"gradient-from-pos":[{from:ei()}],"gradient-via-pos":[{via:ei()}],"gradient-to-pos":[{to:ei()}],"gradient-from":[{from:er()}],"gradient-via":[{via:er()}],"gradient-to":[{to:er()}],rounded:[{rounded:el()}],"rounded-s":[{"rounded-s":el()}],"rounded-e":[{"rounded-e":el()}],"rounded-t":[{"rounded-t":el()}],"rounded-r":[{"rounded-r":el()}],"rounded-b":[{"rounded-b":el()}],"rounded-l":[{"rounded-l":el()}],"rounded-ss":[{"rounded-ss":el()}],"rounded-se":[{"rounded-se":el()}],"rounded-ee":[{"rounded-ee":el()}],"rounded-es":[{"rounded-es":el()}],"rounded-tl":[{"rounded-tl":el()}],"rounded-tr":[{"rounded-tr":el()}],"rounded-br":[{"rounded-br":el()}],"rounded-bl":[{"rounded-bl":el()}],"border-w":[{border:es()}],"border-w-x":[{"border-x":es()}],"border-w-y":[{"border-y":es()}],"border-w-s":[{"border-s":es()}],"border-w-e":[{"border-e":es()}],"border-w-t":[{"border-t":es()}],"border-w-r":[{"border-r":es()}],"border-w-b":[{"border-b":es()}],"border-w-l":[{"border-l":es()}],"divide-x":[{"divide-x":es()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":es()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:er()}],"border-color-x":[{"border-x":er()}],"border-color-y":[{"border-y":er()}],"border-color-s":[{"border-s":er()}],"border-color-e":[{"border-e":er()}],"border-color-t":[{"border-t":er()}],"border-color-r":[{"border-r":er()}],"border-color-b":[{"border-b":er()}],"border-color-l":[{"border-l":er()}],"divide-color":[{divide:er()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[O,q,Z]}],"outline-w":[{outline:["",O,H,U]}],"outline-color":[{outline:er()}],shadow:[{shadow:["","none",u,Q,V]}],"shadow-color":[{shadow:er()}],"inset-shadow":[{"inset-shadow":["none",d,Q,V]}],"inset-shadow-color":[{"inset-shadow":er()}],"ring-w":[{ring:es()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:er()}],"ring-offset-w":[{"ring-offset":[O,U]}],"ring-offset-color":[{"ring-offset":er()}],"inset-ring-w":[{"inset-ring":es()}],"inset-ring-color":[{"inset-ring":er()}],"text-shadow":[{"text-shadow":["none",f,Q,V]}],"text-shadow-color":[{"text-shadow":er()}],opacity:[{opacity:[O,q,Z]}],"mix-blend":[{"mix-blend":[...eu(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":eu()}],"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":[O]}],"mask-image-linear-from-pos":[{"mask-linear-from":ed()}],"mask-image-linear-to-pos":[{"mask-linear-to":ed()}],"mask-image-linear-from-color":[{"mask-linear-from":er()}],"mask-image-linear-to-color":[{"mask-linear-to":er()}],"mask-image-t-from-pos":[{"mask-t-from":ed()}],"mask-image-t-to-pos":[{"mask-t-to":ed()}],"mask-image-t-from-color":[{"mask-t-from":er()}],"mask-image-t-to-color":[{"mask-t-to":er()}],"mask-image-r-from-pos":[{"mask-r-from":ed()}],"mask-image-r-to-pos":[{"mask-r-to":ed()}],"mask-image-r-from-color":[{"mask-r-from":er()}],"mask-image-r-to-color":[{"mask-r-to":er()}],"mask-image-b-from-pos":[{"mask-b-from":ed()}],"mask-image-b-to-pos":[{"mask-b-to":ed()}],"mask-image-b-from-color":[{"mask-b-from":er()}],"mask-image-b-to-color":[{"mask-b-to":er()}],"mask-image-l-from-pos":[{"mask-l-from":ed()}],"mask-image-l-to-pos":[{"mask-l-to":ed()}],"mask-image-l-from-color":[{"mask-l-from":er()}],"mask-image-l-to-color":[{"mask-l-to":er()}],"mask-image-x-from-pos":[{"mask-x-from":ed()}],"mask-image-x-to-pos":[{"mask-x-to":ed()}],"mask-image-x-from-color":[{"mask-x-from":er()}],"mask-image-x-to-color":[{"mask-x-to":er()}],"mask-image-y-from-pos":[{"mask-y-from":ed()}],"mask-image-y-to-pos":[{"mask-y-to":ed()}],"mask-image-y-from-color":[{"mask-y-from":er()}],"mask-image-y-to-color":[{"mask-y-to":er()}],"mask-image-radial":[{"mask-radial":[q,Z]}],"mask-image-radial-from-pos":[{"mask-radial-from":ed()}],"mask-image-radial-to-pos":[{"mask-radial-to":ed()}],"mask-image-radial-from-color":[{"mask-radial-from":er()}],"mask-image-radial-to-color":[{"mask-radial-to":er()}],"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":x()}],"mask-image-conic-pos":[{"mask-conic":[O]}],"mask-image-conic-from-pos":[{"mask-conic-from":ed()}],"mask-image-conic-to-pos":[{"mask-conic-to":ed()}],"mask-image-conic-from-color":[{"mask-conic-from":er()}],"mask-image-conic-to-color":[{"mask-conic-to":er()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:en()}],"mask-repeat":[{mask:eo()}],"mask-size":[{mask:ea()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",q,Z]}],filter:[{filter:["","none",q,Z]}],blur:[{blur:ef()}],brightness:[{brightness:[O,q,Z]}],contrast:[{contrast:[O,q,Z]}],"drop-shadow":[{"drop-shadow":["","none",p,Q,V]}],"drop-shadow-color":[{"drop-shadow":er()}],grayscale:[{grayscale:["",O,q,Z]}],"hue-rotate":[{"hue-rotate":[O,q,Z]}],invert:[{invert:["",O,q,Z]}],saturate:[{saturate:[O,q,Z]}],sepia:[{sepia:["",O,q,Z]}],"backdrop-filter":[{"backdrop-filter":["","none",q,Z]}],"backdrop-blur":[{"backdrop-blur":ef()}],"backdrop-brightness":[{"backdrop-brightness":[O,q,Z]}],"backdrop-contrast":[{"backdrop-contrast":[O,q,Z]}],"backdrop-grayscale":[{"backdrop-grayscale":["",O,q,Z]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[O,q,Z]}],"backdrop-invert":[{"backdrop-invert":["",O,q,Z]}],"backdrop-opacity":[{"backdrop-opacity":[O,q,Z]}],"backdrop-saturate":[{"backdrop-saturate":[O,q,Z]}],"backdrop-sepia":[{"backdrop-sepia":["",O,q,Z]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",q,Z]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[O,"initial",q,Z]}],ease:[{ease:["linear","initial",v,q,Z]}],delay:[{delay:[O,q,Z]}],animate:[{animate:["none",b,q,Z]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,q,Z]}],"perspective-origin":[{"perspective-origin":k()}],rotate:[{rotate:ep()}],"rotate-x":[{"rotate-x":ep()}],"rotate-y":[{"rotate-y":ep()}],"rotate-z":[{"rotate-z":ep()}],scale:[{scale:em()}],"scale-x":[{"scale-x":em()}],"scale-y":[{"scale-y":em()}],"scale-z":[{"scale-z":em()}],"scale-3d":["scale-3d"],skew:[{skew:eg()}],"skew-x":[{"skew-x":eg()}],"skew-y":[{"skew-y":eg()}],transform:[{transform:[q,Z,"","none","gpu","cpu"]}],"transform-origin":[{origin:k()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eh()}],"translate-x":[{"translate-x":eh()}],"translate-y":[{"translate-y":eh()}],"translate-z":[{"translate-z":eh()}],"translate-none":["translate-none"],accent:[{accent:er()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:er()}],"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",q,Z]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"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",q,Z]}],fill:[{fill:["none",...er()]}],"stroke-w":[{stroke:[O,H,U,$]}],stroke:[{stroke:["none",...er()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-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-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-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-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"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}})}}]);
out/_next/static/chunks/app/_not-found/page-8022c94d4a8b5013.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{7589:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return n(5457)}])},5457:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return s}}),n(9920);let i=n(7437);n(2265);let o={fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},l={display:"inline-block"},r={display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},d={fontSize:14,fontWeight:400,lineHeight:"49px",margin:0};function s(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("title",{children:"404: This page could not be found."}),(0,i.jsx)("div",{style:o,children:(0,i.jsxs)("div",{children:[(0,i.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,i.jsx)("h1",{className:"next-error-h1",style:r,children:"404"}),(0,i.jsx)("div",{style:l,children:(0,i.jsx)("h2",{style:d,children:"This page could not be found."})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},function(e){e.O(0,[971,23,744],function(){return e(e.s=7589)}),_N_E=e.O()}]);
out/_next/static/chunks/app/layout-ef4c0ae0c29ac2b5.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{4051:function(e,n,t){Promise.resolve().then(t.t.bind(t,4671,23)),Promise.resolve().then(t.t.bind(t,3054,23))},3054:function(){},4671:function(e){e.exports={style:{fontFamily:"'__Inter_e8ce0c', '__Inter_Fallback_e8ce0c'",fontStyle:"normal"},className:"__className_e8ce0c"}}},function(e){e.O(0,[93,971,23,744],function(){return e(e.s=4051)}),_N_E=e.O()}]);
out/_next/static/chunks/app/page-24a4cfd26a3ffdcb.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{9485:function(e,s,t){Promise.resolve().then(t.bind(t,4996)),Promise.resolve().then(t.bind(t,2377)),Promise.resolve().then(t.bind(t,8577)),Promise.resolve().then(t.bind(t,7021)),Promise.resolve().then(t.bind(t,8698))},4996:function(e,s,t){"use strict";t.d(s,{HillclimbingExplanation:function(){return m}});var r=t(7437),a=t(8185),i=t(9055),n=t(6418),l=t(3541),d=t(1902),c=t(7151),o=t(9590);function m(){return(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(n.Z,{className:"h-5 w-5"}),"Understanding Hillclimbing Optimization"]})}),(0,r.jsxs)(a.aY,{className:"space-y-6",children:[(0,r.jsx)("div",{className:"text-gray-700",children:(0,r.jsxs)("p",{className:"mb-4",children:[(0,r.jsx)("strong",{children:"Hillclimbing"})," is a local search optimization algorithm that continuously moves towards better solutions by making incremental improvements. Think of it like climbing a hill in foggy weather - you can only see your immediate surroundings, so you always take the step that goes uphill."]})}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-semibold text-gray-900 flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-4 w-4"}),"Algorithm Steps"]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"1"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Initialize:"})," Start with a random solution (10 diverse words)"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"2"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Evaluate:"})," Calculate semantic distances between all word pairs"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"3"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Find weakness:"})," Identify the word pair with smallest distance"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"4"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Improve:"})," Replace one word with a more distant alternative"]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-3 p-3 bg-blue-50 rounded-lg",children:[(0,r.jsx)(i.C,{className:"bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0",children:"5"}),(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsx)("strong",{children:"Repeat:"})," Continue until no improvement is possible"]})]})]})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("h3",{className:"text-lg font-semibold text-gray-900 flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-4 w-4"}),"Application to DAT"]}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{className:"p-3 bg-green-50 border-l-4 border-green-400",children:[(0,r.jsx)("h4",{className:"font-medium text-green-800 mb-1",children:"Objective Function"}),(0,r.jsx)("p",{className:"text-sm text-green-700",children:"Maximize the sum of semantic distances between all word pairs"})]}),(0,r.jsxs)("div",{className:"p-3 bg-purple-50 border-l-4 border-purple-400",children:[(0,r.jsx)("h4",{className:"font-medium text-purple-800 mb-1",children:"Neighbor Generation"}),(0,r.jsx)("p",{className:"text-sm text-purple-700",children:"Replace one word at a time with alternatives from vocabulary"})]}),(0,r.jsxs)("div",{className:"p-3 bg-orange-50 border-l-4 border-orange-400",children:[(0,r.jsx)("h4",{className:"font-medium text-orange-800 mb-1",children:"Local Optimum"}),(0,r.jsx)("p",{className:"text-sm text-orange-700",children:"Stop when no single word replacement improves the score"})]})]})]})]})]})]}),(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(c.Z,{className:"h-5 w-5"}),"Strategy Insights"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-3",children:"Why Hillclimbing Works Here"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm text-gray-700",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Greedy improvement:"})," Each word replacement immediately improves the score"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Fast convergence:"})," Reaches a good solution quickly"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Intuitive process:"})," Mimics how humans naturally optimize"]})]})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-3",children:"Potential Limitations"}),(0,r.jsxs)("ul",{className:"space-y-2 text-sm text-gray-700",children:[(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Local optima:"})," May get stuck in suboptimal solutions"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Initial dependency:"})," Result depends on starting words"]})]}),(0,r.jsxs)("li",{className:"flex items-start gap-2",children:[(0,r.jsx)("div",{className:"w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"}),(0,r.jsxs)("span",{children:[(0,r.jsx)("strong",{children:"Single-word changes:"})," Cannot make coordinated multi-word swaps"]})]})]})]})]}),(0,r.jsxs)("div",{className:"mt-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-lg border border-blue-200",children:[(0,r.jsxs)("h4",{className:"font-semibold text-gray-900 mb-2 flex items-center gap-2",children:[(0,r.jsx)(o.Z,{className:"h-4 w-4"}),"My Implementation Result"]}),(0,r.jsxs)("p",{className:"text-sm text-gray-700 mb-2",children:["Despite these theoretical limitations, the hillclimbing approach was highly effective for the DAT creativity game, achieving a score of ",(0,r.jsx)("strong",{children:"95.08"})," and ranking in the ",(0,r.jsx)("strong",{children:"99.98th percentile"}),"."]}),(0,r.jsx)("p",{className:"text-sm text-gray-600",children:"This success suggests that the semantic distance landscape for this problem has favorable properties for local search, with relatively few problematic local optima."})]})]})]})]})}},2377:function(e,s,t){"use strict";t.d(s,{ProgressTimeline:function(){return C}});var r=t(7437),a=t(2265),i=t(8185),n=t(9055),l=t(1538),d=t(3027),c=t(9354);let o=(0,d.j)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),m=a.forwardRef((e,s)=>{let{className:t,variant:a,size:i,asChild:n=!1,...d}=e,m=n?l.g7:"button";return(0,r.jsx)(m,{className:(0,c.cn)(o({variant:a,size:i,className:t})),ref:s,...d})});m.displayName="Button";var x=t(6286),h=t(4697);let g=x.fC,u=x.xz,p=x.h_;x.x8;let f=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.aV,{ref:s,className:(0,c.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a})});f.displayName=x.aV.displayName;let j=a.forwardRef((e,s)=>{let{className:t,children:a,...i}=e;return(0,r.jsxs)(p,{children:[(0,r.jsx)(f,{}),(0,r.jsxs)(x.VY,{ref:s,className:(0,c.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...i,children:[a,(0,r.jsxs)(x.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,r.jsx)(h.Z,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});j.displayName=x.VY.displayName;let b=e=>{let{className:s,...t}=e;return(0,r.jsx)("div",{className:(0,c.cn)("flex flex-col space-y-1.5 text-center sm:text-left",s),...t})};b.displayName="DialogHeader";let N=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.Dx,{ref:s,className:(0,c.cn)("text-lg font-semibold leading-none tracking-tight",t),...a})});N.displayName=x.Dx.displayName,a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)(x.dk,{ref:s,className:(0,c.cn)("text-sm text-muted-foreground",t),...a})}).displayName=x.dk.displayName;var v=t(6105),w=t(933),y=t(5430),k=t(1976),S=t(6648);function C(){let[e,s]=(0,a.useState)(null),t=e=>new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!0}),l=e=>{if(0===e)return null;let s=new Set(v.gameData.rounds[e-1].words),t=new Set(v.gameData.rounds[e].words);return{added:Array.from(t).filter(e=>!s.has(e)),removed:Array.from(s).filter(e=>!t.has(e))}};return v.gameData.rounds.find(s=>s.id===e),(0,r.jsxs)(i.Zb,{className:"w-full",children:[(0,r.jsx)(i.Ol,{children:(0,r.jsxs)(i.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(w.Z,{className:"h-5 w-5"}),"Game Progress Timeline"]})}),(0,r.jsx)(i.aY,{children:(0,r.jsx)("div",{className:"space-y-4",children:v.gameData.rounds.map((e,a)=>{let i=l(a),d=i&&(i.added.length>0||i.removed.length>0);return(0,r.jsxs)("div",{className:"flex items-center gap-4 p-4 border rounded-lg hover:bg-gray-50 transition-colors",children:[(0,r.jsx)("div",{className:"flex-shrink-0",children:(0,r.jsx)("div",{className:"w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium ".concat(d?"bg-blue-500 text-white":"bg-gray-200 text-gray-600"),children:e.roundNumber})}),(0,r.jsxs)("div",{className:"flex-grow",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsxs)("h3",{className:"font-medium text-gray-900",children:["Round ",e.roundNumber,d&&(0,r.jsx)(y.Z,{className:"inline-block ml-1 h-4 w-4 text-yellow-500"})]}),(0,r.jsx)(n.C,{variant:"outline",className:"text-xs",children:t(e.timestamp)})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-1 mb-2",children:[e.words.slice(0,5).map(e=>(0,r.jsx)(n.C,{variant:"secondary",className:"text-xs",children:e},e)),e.words.length>5&&(0,r.jsxs)(n.C,{variant:"outline",className:"text-xs",children:["+",e.words.length-5," more"]})]}),i&&(i.added.length>0||i.removed.length>0)&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[i.added.length>0&&(0,r.jsxs)("span",{className:"text-green-600",children:["+",i.added.length," added"]}),i.removed.length>0&&(0,r.jsxs)("span",{className:"text-red-600",children:["-",i.removed.length," removed"]})]})]}),(0,r.jsxs)(g,{children:[(0,r.jsx)(u,{asChild:!0,children:(0,r.jsxs)(m,{variant:"ghost",size:"sm",onClick:()=>s(e.id),children:["View ",(0,r.jsx)(k.Z,{className:"ml-1 h-3 w-3"})]})}),(0,r.jsxs)(j,{className:"max-w-4xl max-h-[90vh] overflow-y-auto",children:[(0,r.jsx)(b,{children:(0,r.jsxs)(N,{children:["Round ",e.roundNumber," - ",t(e.timestamp)]})}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:"relative w-full h-96 bg-gray-100 rounded-lg overflow-hidden",children:(0,r.jsx)(S.default,{src:e.screenshotPath,alt:"Screenshot from round ".concat(e.roundNumber),fill:!0,className:"object-contain"})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"font-medium mb-2",children:"Words in this round:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.words.map(e=>(0,r.jsx)(n.C,{variant:"secondary",children:e},e))})]}),i&&(i.added.length>0||i.removed.length>0)&&(0,r.jsxs)("div",{className:"space-y-2",children:[i.added.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h5",{className:"text-sm font-medium text-green-600 mb-1",children:"Added words:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:i.added.map(e=>(0,r.jsxs)(n.C,{className:"bg-green-100 text-green-800 border-green-300",children:["+",e]},e))})]}),i.removed.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h5",{className:"text-sm font-medium text-red-600 mb-1",children:"Removed words:"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:i.removed.map(e=>(0,r.jsxs)(n.C,{className:"bg-red-100 text-red-800 border-red-300",children:["-",e]},e))})]})]})]})]})]})]},e.id)})})})]})}},8577:function(e,s,t){"use strict";t.d(s,{ScoreMatrixVisualization:function(){return o}});var r=t(7437),a=t(2265),i=t(8185),n=t(9055),l=t(6105),d=t(4775),c=t(1902);function o(){let[e,s]=(0,a.useState)(null),{words:t,distances:o,finalScore:m}=l.gameData.finalMatrix,x=e=>{if(0===e)return"bg-gray-200 text-gray-500";let s=e/Math.max(...o.flat());return s>.8?"bg-green-500 text-white hover:bg-green-600":s>.6?"bg-green-400 text-white hover:bg-green-500":s>.4?"bg-green-300 text-gray-900 hover:bg-green-400":s>.2?"bg-green-200 text-gray-900 hover:bg-green-300":"bg-green-100 text-gray-900 hover:bg-green-200"};return(0,r.jsxs)(i.Zb,{className:"w-full",children:[(0,r.jsx)(i.Ol,{children:(0,r.jsxs)(i.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(d.Z,{className:"h-5 w-5"}),"Semantic Distance Matrix"]})}),(0,r.jsx)(i.aY,{children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("p",{className:"text-sm text-gray-600",children:"Interactive matrix showing semantic distances between final word pairs"}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(c.Z,{className:"h-4 w-4 text-green-600"}),(0,r.jsxs)(n.C,{className:"bg-green-100 text-green-800",children:["Score: ",m]})]})]}),(0,r.jsx)("div",{className:"overflow-x-auto",children:(0,r.jsx)("div",{className:"inline-block min-w-full",children:(0,r.jsxs)("table",{className:"w-full",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{className:"p-2"}),t.map((e,s)=>(0,r.jsx)("th",{className:"p-2 text-xs font-medium text-gray-600 min-w-[60px]",children:(0,r.jsx)("div",{className:"transform -rotate-45 origin-bottom-left whitespace-nowrap",children:e})},s))]})}),(0,r.jsx)("tbody",{children:t.map((e,a)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{className:"p-2 text-xs font-medium text-gray-600 sticky left-0 bg-white",children:(0,r.jsx)("div",{className:"max-w-[80px] truncate",title:e,children:e})}),t.map((t,i)=>{let n=o[a][i];return(0,r.jsx)("td",{className:"p-1",onMouseEnter:()=>s({word1:e,word2:t,distance:n}),onMouseLeave:()=>s(null),children:(0,r.jsx)("div",{className:"\n w-12 h-12 flex items-center justify-center text-xs font-medium \n rounded cursor-pointer transition-colors duration-200\n ".concat(x(n),"\n "),children:n})},i)})]},a))})]})})}),e&&(0,r.jsxs)("div",{className:"p-3 bg-blue-50 border border-blue-200 rounded-lg",children:[(0,r.jsxs)("div",{className:"text-sm",children:[(0,r.jsxs)("span",{className:"font-medium text-blue-900",children:[e.word1," ↔ ",e.word2]}),(0,r.jsxs)("span",{className:"text-blue-700 ml-2",children:["Distance: ",e.distance]})]}),(0,r.jsx)("p",{className:"text-xs text-blue-600 mt-1",children:0===e.distance?"Same word (diagonal)":"Higher values indicate more semantically distant concepts"})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between text-xs text-gray-500",children:[(0,r.jsxs)("div",{className:"flex items-center gap-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-100 rounded"}),(0,r.jsx)("span",{children:"Low distance"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-300 rounded"}),(0,r.jsx)("span",{children:"Medium distance"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("div",{className:"w-3 h-3 bg-green-500 rounded"}),(0,r.jsx)("span",{children:"High distance"})]})]}),(0,r.jsx)("span",{children:"Matrix is symmetric"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gray-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-gray-900 mb-2",children:"Matrix Analysis"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4 text-sm",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Average Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-green-600",children:(o.flat().filter(e=>e>0).reduce((e,s)=>e+s,0)/o.flat().filter(e=>e>0).length).toFixed(1)})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Highest Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-blue-600",children:Math.max(...o.flat())})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"font-medium text-gray-700",children:"Lowest Distance:"}),(0,r.jsx)("div",{className:"text-lg font-semibold text-orange-600",children:Math.min(...o.flat().filter(e=>e>0))})]})]})]})]})})]})}},7021:function(e,s,t){"use strict";t.d(s,{StatsDashboard:function(){return h}});var r=t(7437),a=t(8185),i=t(9055),n=t(6105),l=t(3409),d=t(5016),c=t(1240),o=t(933),m=t(3225),x=t(5430);function h(){let{rounds:e,finalMatrix:s,startTime:t,endTime:h}=n.gameData,g=new Date(h).getTime()-new Date(t).getTime(),u=new Set(e.flatMap(e=>e.words)).size,p=e.slice(1).reduce((s,t,r)=>{let a=new Set(e[r].words),i=new Set(t.words);return s+(Array.from(i).filter(e=>!a.has(e)).length+Array.from(a).filter(e=>!i.has(e)).length)},0),f=s.distances.flat().filter(e=>e>0).reduce((e,s)=>e+s,0)/s.distances.flat().filter(e=>e>0).length,j=Math.max(...s.distances.flat()),b=Math.min(...s.distances.flat().filter(e=>e>0));return(0,r.jsxs)(a.Zb,{children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-5 w-5"}),"Performance Statistics"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6",children:[(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-green-50 to-green-100 rounded-lg border border-green-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(d.Z,{className:"h-6 w-6 text-green-600"}),(0,r.jsx)(i.C,{className:"bg-green-500 text-white",children:"Top 0.02%"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-green-700",children:s.finalScore}),(0,r.jsx)("div",{className:"text-sm text-green-600",children:"Final Creativity Score"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-blue-50 to-blue-100 rounded-lg border border-blue-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(c.Z,{className:"h-6 w-6 text-blue-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-blue-300 text-blue-700",children:"Percentile"})]}),(0,r.jsxs)("div",{className:"text-2xl font-bold text-blue-700",children:[s.percentile,"%"]}),(0,r.jsx)("div",{className:"text-sm text-blue-600",children:"Better than others"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg border border-purple-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(o.Z,{className:"h-6 w-6 text-purple-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-purple-300 text-purple-700",children:"Duration"})]}),(0,r.jsxs)("div",{className:"text-2xl font-bold text-purple-700",children:[Math.floor(g/6e4),"m"]}),(0,r.jsx)("div",{className:"text-sm text-purple-600",children:"Total game time"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-orange-50 to-orange-100 rounded-lg border border-orange-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(m.Z,{className:"h-6 w-6 text-orange-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-orange-300 text-orange-700",children:"Optimization"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-orange-700",children:e.length}),(0,r.jsx)("div",{className:"text-sm text-orange-600",children:"Optimization rounds"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-pink-50 to-pink-100 rounded-lg border border-pink-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(x.Z,{className:"h-6 w-6 text-pink-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-pink-300 text-pink-700",children:"Changes"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-pink-700",children:p}),(0,r.jsx)("div",{className:"text-sm text-pink-600",children:"Total word swaps"})]}),(0,r.jsxs)("div",{className:"p-4 bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-lg border border-indigo-200",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,r.jsx)(l.Z,{className:"h-6 w-6 text-indigo-600"}),(0,r.jsx)(i.C,{variant:"outline",className:"border-indigo-300 text-indigo-700",children:"Vocabulary"})]}),(0,r.jsx)("div",{className:"text-2xl font-bold text-indigo-700",children:u}),(0,r.jsx)("div",{className:"text-sm text-indigo-600",children:"Unique words used"})]})]}),(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-gray-900",children:"Semantic Distance Analysis"}),(0,r.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Average Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:f.toFixed(1)}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Across all word pairs"})]}),(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Maximum Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:j}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Most distant pair"})]}),(0,r.jsxs)("div",{className:"p-3 bg-gray-50 rounded-lg",children:[(0,r.jsx)("div",{className:"text-sm font-medium text-gray-600 mb-1",children:"Minimum Distance"}),(0,r.jsx)("div",{className:"text-xl font-bold text-gray-900",children:b}),(0,r.jsx)("div",{className:"text-xs text-gray-500",children:"Closest pair (non-zero)"})]})]}),(0,r.jsxs)("div",{className:"p-4 bg-blue-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-blue-900 mb-2",children:"Key Insights"}),(0,r.jsxs)("ul",{className:"space-y-1 text-sm text-blue-800",children:[(0,r.jsx)("li",{children:"• Achieved exceptional creativity score through systematic optimization"}),(0,r.jsx)("li",{children:"• Hillclimbing algorithm effectively explored the semantic space"}),(0,r.jsxs)("li",{children:["• ",Math.round(p/e.length*100)/100," average word changes per round shows focused refinement"]}),(0,r.jsx)("li",{children:"• High semantic distances indicate successful divergent thinking"})]})]})]})]})]})}},8698:function(e,s,t){"use strict";t.d(s,{WordEvolutionTracker:function(){return m}});var r=t(7437),a=t(8185),i=t(9055),n=t(6105),l=t(3225),d=t(1976),c=t(8002),o=t(2513);function m(){let e=(0,n.H)();return(0,r.jsxs)(a.Zb,{className:"w-full",children:[(0,r.jsx)(a.Ol,{children:(0,r.jsxs)(a.ll,{className:"flex items-center gap-2",children:[(0,r.jsx)(l.Z,{className:"h-5 w-5"}),"Word Evolution & Optimization"]})}),(0,r.jsxs)(a.aY,{children:[(0,r.jsxs)("div",{className:"space-y-6",children:[(0,r.jsx)("div",{className:"text-sm text-gray-600 mb-4",children:"Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization."}),e.map((e,s)=>(0,r.jsxs)("div",{className:"border-l-2 border-blue-200 pl-4",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,r.jsxs)("div",{className:"bg-blue-500 text-white text-xs font-medium px-2 py-1 rounded",children:["Round ",e.round]}),(0,r.jsx)(d.Z,{className:"h-4 w-4 text-gray-400"}),(0,r.jsx)("span",{className:"text-sm text-gray-600",children:"Optimization step"})]}),(0,r.jsxs)("div",{className:"space-y-3",children:[e.changes.filter(e=>"removed"===e.type).length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)(c.Z,{className:"h-4 w-4 text-red-500"}),(0,r.jsx)("span",{className:"text-sm font-medium text-red-600",children:"Removed"}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:"(Lower semantic distance)"})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.changes.filter(e=>"removed"===e.type).map(e=>(0,r.jsx)(i.C,{className:"bg-red-50 text-red-700 border-red-200",children:e.word},e.word))})]}),e.changes.filter(e=>"added"===e.type).length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,r.jsx)(o.Z,{className:"h-4 w-4 text-green-500"}),(0,r.jsx)("span",{className:"text-sm font-medium text-green-600",children:"Added"}),(0,r.jsx)("span",{className:"text-xs text-gray-500",children:"(Higher semantic distance)"})]}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:e.changes.filter(e=>"added"===e.type).map(e=>(0,r.jsx)(i.C,{className:"bg-green-50 text-green-700 border-green-200",children:e.word},e.word))})]}),(0,r.jsx)("div",{className:"text-xs text-gray-500 mt-2",children:"This change increased the overall semantic distance between word pairs."})]})]},e.round)),0===e.length&&(0,r.jsxs)("div",{className:"text-center py-8 text-gray-500",children:[(0,r.jsx)(l.Z,{className:"h-8 w-8 mx-auto mb-2 opacity-50"}),(0,r.jsx)("p",{children:"No word changes detected in the progression."})]})]}),(0,r.jsxs)("div",{className:"mt-6 p-4 bg-blue-50 rounded-lg",children:[(0,r.jsx)("h4",{className:"font-medium text-blue-900 mb-2",children:"Hillclimbing Strategy"}),(0,r.jsx)("p",{className:"text-sm text-blue-800",children:"Each word replacement represents a “hill climbing” step where words with lower semantic distances to other words in the set were systematically replaced with words that had higher distances, improving the overall creativity score."})]})]})]})}},9055:function(e,s,t){"use strict";t.d(s,{C:function(){return l}});var r=t(7437);t(2265);var a=t(3027),i=t(9354);let n=(0,a.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l(e){let{className:s,variant:t,...a}=e;return(0,r.jsx)("div",{className:(0,i.cn)(n({variant:t}),s),...a})}},8185:function(e,s,t){"use strict";t.d(s,{Ol:function(){return l},Zb:function(){return n},aY:function(){return c},ll:function(){return d}});var r=t(7437),a=t(2265),i=t(9354);let n=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",t),...a})});n.displayName="Card";let l=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",t),...a})});l.displayName="CardHeader";let d=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("text-2xl font-semibold leading-none tracking-tight",t),...a})});d.displayName="CardTitle",a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",t),...a})}).displayName="CardDescription";let c=a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("p-6 pt-0",t),...a})});c.displayName="CardContent",a.forwardRef((e,s)=>{let{className:t,...a}=e;return(0,r.jsx)("div",{ref:s,className:(0,i.cn)("flex items-center p-6 pt-0",t),...a})}).displayName="CardFooter"},6105:function(e,s,t){"use strict";t.d(s,{H:function(){return a},gameData:function(){return r}});let r={startTime:"2025-08-16T23:53:03",endTime:"2025-08-17T01:39:31",rounds:[{id:"round-1",timestamp:"2025-08-16T23:53:03",screenshotPath:"/screenshots/Screenshot 2025-08-16 at 23.53.03.png",words:["brilliance","sports","peace","rocket","icecream","blush","friends","rhythm","velvet","ocean"],roundNumber:1},{id:"round-2",timestamp:"2025-08-17T00:00:17",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 00.00.17.png",words:["stochastic","fuselage","pitfall","screwdriver","sand","spices","arthritis","printer","flute","dinosaurs"],roundNumber:2},{id:"round-3",timestamp:"2025-08-17T00:00:40",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 00.00.40.png",words:["stochastic","fuselage","pitfall","screwdriver","sand","spices","arthritis","printer","flute","dinosaurs"],roundNumber:3},{id:"round-4",timestamp:"2025-08-17T01:33:49",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.33.49.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:4},{id:"round-5",timestamp:"2025-08-17T01:33:59",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.33.59.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:5},{id:"round-6",timestamp:"2025-08-17T01:34:51",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.34.51.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:6},{id:"round-7",timestamp:"2025-08-17T01:35:00",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.35.00.png",words:["stochastic","fuselage","throne","icecream","cricket","remote","arthritis","printer","eel","speedbreaker"],roundNumber:7},{id:"round-8",timestamp:"2025-08-17T01:36:24",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.36.24.png",words:["stochastic","fuselage","throne","icecream","cricket","corporate","arthritis","butter","eel","speedbreaker"],roundNumber:8},{id:"round-9",timestamp:"2025-08-17T01:36:35",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.36.35.png",words:["stochastic","fuselage","throne","icecream","cricket","corporate","arthritis","butter","eel","speedbreaker"],roundNumber:9},{id:"round-10",timestamp:"2025-08-17T01:38:24",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.38.24.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:10},{id:"round-11",timestamp:"2025-08-17T01:38:36",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.38.36.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:11},{id:"round-12",timestamp:"2025-08-17T01:39:08",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.39.08.png",words:["stochastic","fuselage","throne","icecream","foosball","corporate","arthritis","chilli","lens","speedbreaker"],roundNumber:12},{id:"round-final",timestamp:"2025-08-17T01:39:31",screenshotPath:"/screenshots/Screenshot 2025-08-17 at 01.39.31.png",words:["stochastic","fuselage","throne","corporate","arthritis","chilli","lens"],roundNumber:13}],finalMatrix:{words:["stochastic","fuselage","throne","corporate","arthritis","chilli","lens"],distances:[[0,103,100,93,94,98,94],[103,0,94,98,96,91,79],[100,94,0,95,98,101,98],[93,98,95,0,97,100,92],[94,96,98,97,0,86,87],[98,91,101,100,86,0,104],[94,79,98,92,87,104,0]],finalScore:95.08,percentile:99.98}};function a(){let e=[];for(let s=1;s<r.rounds.length;s++){let t=new Set(r.rounds[s-1].words),a=new Set(r.rounds[s].words),i=[];Array.from(t).forEach(e=>{a.has(e)?i.push({type:"kept",word:e}):i.push({type:"removed",word:e})}),Array.from(a).forEach(e=>{t.has(e)||i.push({type:"added",word:e})}),i.some(e=>"kept"!==e.type)&&e.push({round:r.rounds[s].roundNumber,changes:i})}return e}},9354:function(e,s,t){"use strict";t.d(s,{cn:function(){return i}});var r=t(4839),a=t(6164);function i(){for(var e=arguments.length,s=Array(e),t=0;t<e;t++)s[t]=arguments[t];return(0,a.m6)((0,r.W)(s))}}},function(e){e.O(0,[506,971,23,744],function(){return e(e.s=9485)}),_N_E=e.O()}]);
out/_next/static/chunks/fd9d1056-51face16839d2cb0.js ADDED
The diff for this file is too large to render. See raw diff
 
out/_next/static/chunks/framework-f66176bb897dc684.js ADDED
The diff for this file is too large to render. See raw diff
 
out/_next/static/chunks/main-app-dda775df53745ffe.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{1289:function(e,n,t){Promise.resolve().then(t.t.bind(t,5751,23)),Promise.resolve().then(t.t.bind(t,6513,23)),Promise.resolve().then(t.t.bind(t,6130,23)),Promise.resolve().then(t.t.bind(t,9275,23)),Promise.resolve().then(t.t.bind(t,5324,23)),Promise.resolve().then(t.t.bind(t,1343,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,23],function(){return n(1028),n(1289)}),_N_E=e.O()}]);
out/_next/static/chunks/main-c980e89993b16cc4.js ADDED
The diff for this file is too large to render. See raw diff
 
out/_next/static/chunks/pages/_app-6a626577ffa902a4.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[888],{1597:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return u(2239)}])}},function(n){var _=function(_){return n(n.s=_)};n.O(0,[774,179],function(){return _(1597),_(6036)}),_N_E=n.O()}]);
out/_next/static/chunks/pages/_error-1be831200e60c5c0.js ADDED
@@ -0,0 +1 @@
 
 
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[820],{1981:function(n,_,u){(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return u(3387)}])}},function(n){n.O(0,[888,774,179],function(){return n(n.s=1981)}),_N_E=n.O()}]);
out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js ADDED
@@ -0,0 +1 @@
 
 
1
+ !function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r=function(t){return t&&t.Math==Math&&t},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||Function("return this")(),o=function(t){try{return!!t()}catch(t){return!0}},i=!o(function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}),a={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,s=u&&!a.call({1:2},1)?function(t){var e=u(this,t);return!!e&&e.enumerable}:a,c={f:s},f=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},l={}.toString,h=function(t){return l.call(t).slice(8,-1)},p="".split,d=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(t){return"String"==h(t)?p.call(t,""):Object(t)}:Object,v=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},g=function(t){return d(v(t))},y=function(t){return"object"==typeof t?null!==t:"function"==typeof t},m=function(t,e){if(!y(t))return t;var r,n;if(e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;if("function"==typeof(r=t.valueOf)&&!y(n=r.call(t)))return n;if(!e&&"function"==typeof(r=t.toString)&&!y(n=r.call(t)))return n;throw TypeError("Can't convert object to primitive value")},b={}.hasOwnProperty,w=function(t,e){return b.call(t,e)},S=n.document,E=y(S)&&y(S.createElement),x=function(t){return E?S.createElement(t):{}},A=!i&&!o(function(){return 7!=Object.defineProperty(x("div"),"a",{get:function(){return 7}}).a}),O=Object.getOwnPropertyDescriptor,R={f:i?O:function(t,e){if(t=g(t),e=m(e,!0),A)try{return O(t,e)}catch(t){}if(w(t,e))return f(!c.f.call(t,e),t[e])}},j=function(t){if(!y(t))throw TypeError(String(t)+" is not an object");return t},P=Object.defineProperty,I={f:i?P:function(t,e,r){if(j(t),e=m(e,!0),j(r),A)try{return P(t,e,r)}catch(t){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},T=i?function(t,e,r){return I.f(t,e,f(1,r))}:function(t,e,r){return t[e]=r,t},k=function(t,e){try{T(n,t,e)}catch(r){n[t]=e}return e},L="__core-js_shared__",U=n[L]||k(L,{}),M=Function.toString;"function"!=typeof U.inspectSource&&(U.inspectSource=function(t){return M.call(t)});var _,N,C,F=U.inspectSource,B=n.WeakMap,D="function"==typeof B&&/native code/.test(F(B)),q=!1,z=e(function(t){(t.exports=function(t,e){return U[t]||(U[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})}),W=0,K=Math.random(),G=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++W+K).toString(36)},$=z("keys"),V=function(t){return $[t]||($[t]=G(t))},H={};if(D){var X=new(0,n.WeakMap),Y=X.get,J=X.has,Q=X.set;_=function(t,e){return Q.call(X,t,e),e},N=function(t){return Y.call(X,t)||{}},C=function(t){return J.call(X,t)}}else{var Z=V("state");H[Z]=!0,_=function(t,e){return T(t,Z,e),e},N=function(t){return w(t,Z)?t[Z]:{}},C=function(t){return w(t,Z)}}var tt,et={set:_,get:N,has:C,enforce:function(t){return C(t)?N(t):_(t,{})},getterFor:function(t){return function(e){var r;if(!y(e)||(r=N(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}}},rt=e(function(t){var e=et.get,r=et.enforce,o=String(String).split("String");(t.exports=function(t,e,i,a){var u=!!a&&!!a.unsafe,s=!!a&&!!a.enumerable,c=!!a&&!!a.noTargetGet;"function"==typeof i&&("string"!=typeof e||w(i,"name")||T(i,"name",e),r(i).source=o.join("string"==typeof e?e:"")),t!==n?(u?!c&&t[e]&&(s=!0):delete t[e],s?t[e]=i:T(t,e,i)):s?t[e]=i:k(e,i)})(Function.prototype,"toString",function(){return"function"==typeof this&&e(this).source||F(this)})}),nt=n,ot=function(t){return"function"==typeof t?t:void 0},it=function(t,e){return arguments.length<2?ot(nt[t])||ot(n[t]):nt[t]&&nt[t][e]||n[t]&&n[t][e]},at=Math.ceil,ut=Math.floor,st=function(t){return isNaN(t=+t)?0:(t>0?ut:at)(t)},ct=Math.min,ft=function(t){return t>0?ct(st(t),9007199254740991):0},lt=Math.max,ht=Math.min,pt=function(t,e){var r=st(t);return r<0?lt(r+e,0):ht(r,e)},dt=function(t){return function(e,r,n){var o,i=g(e),a=ft(i.length),u=pt(n,a);if(t&&r!=r){for(;a>u;)if((o=i[u++])!=o)return!0}else for(;a>u;u++)if((t||u in i)&&i[u]===r)return t||u||0;return!t&&-1}},vt={includes:dt(!0),indexOf:dt(!1)},gt=vt.indexOf,yt=function(t,e){var r,n=g(t),o=0,i=[];for(r in n)!w(H,r)&&w(n,r)&&i.push(r);for(;e.length>o;)w(n,r=e[o++])&&(~gt(i,r)||i.push(r));return i},mt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],bt=mt.concat("length","prototype"),wt={f:Object.getOwnPropertyNames||function(t){return yt(t,bt)}},St={f:Object.getOwnPropertySymbols},Et=it("Reflect","ownKeys")||function(t){var e=wt.f(j(t)),r=St.f;return r?e.concat(r(t)):e},xt=function(t,e){for(var r=Et(e),n=I.f,o=R.f,i=0;i<r.length;i++){var a=r[i];w(t,a)||n(t,a,o(e,a))}},At=/#|\.prototype\./,Ot=function(t,e){var r=jt[Rt(t)];return r==It||r!=Pt&&("function"==typeof e?o(e):!!e)},Rt=Ot.normalize=function(t){return String(t).replace(At,".").toLowerCase()},jt=Ot.data={},Pt=Ot.NATIVE="N",It=Ot.POLYFILL="P",Tt=Ot,kt=R.f,Lt=function(t,e){var r,o,i,a,u,s=t.target,c=t.global,f=t.stat;if(r=c?n:f?n[s]||k(s,{}):(n[s]||{}).prototype)for(o in e){if(a=e[o],i=t.noTargetGet?(u=kt(r,o))&&u.value:r[o],!Tt(c?o:s+(f?".":"#")+o,t.forced)&&void 0!==i){if(typeof a==typeof i)continue;xt(a,i)}(t.sham||i&&i.sham)&&T(a,"sham",!0),rt(r,o,a,t)}},Ut=function(t){return Object(v(t))},Mt=Math.min,_t=[].copyWithin||function(t,e){var r=Ut(this),n=ft(r.length),o=pt(t,n),i=pt(e,n),a=arguments.length>2?arguments[2]:void 0,u=Mt((void 0===a?n:pt(a,n))-i,n-o),s=1;for(i<o&&o<i+u&&(s=-1,i+=u-1,o+=u-1);u-- >0;)i in r?r[o]=r[i]:delete r[o],o+=s,i+=s;return r},Nt=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())}),Ct=Nt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ft=z("wks"),Bt=n.Symbol,Dt=Ct?Bt:Bt&&Bt.withoutSetter||G,qt=function(t){return w(Ft,t)||(Ft[t]=Nt&&w(Bt,t)?Bt[t]:Dt("Symbol."+t)),Ft[t]},zt=Object.keys||function(t){return yt(t,mt)},Wt=i?Object.defineProperties:function(t,e){j(t);for(var r,n=zt(e),o=n.length,i=0;o>i;)I.f(t,r=n[i++],e[r]);return t},Kt=it("document","documentElement"),Gt="prototype",$t="script",Vt=V("IE_PROTO"),Ht=function(){},Xt=function(t){return"<"+$t+">"+t+"</"+$t+">"},Yt=function(){try{tt=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Yt=tt?function(t){t.write(Xt("")),t.close();var e=t.parentWindow.Object;return t=null,e}(tt):(e=x("iframe"),r="java"+$t+":",e.style.display="none",Kt.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Xt("document.F=Object")),t.close(),t.F);for(var n=mt.length;n--;)delete Yt[Gt][mt[n]];return Yt()};H[Vt]=!0;var Jt=Object.create||function(t,e){var r;return null!==t?(Ht[Gt]=j(t),r=new Ht,Ht[Gt]=null,r[Vt]=t):r=Yt(),void 0===e?r:Wt(r,e)},Qt=qt("unscopables"),Zt=Array.prototype;null==Zt[Qt]&&I.f(Zt,Qt,{configurable:!0,value:Jt(null)});var te=function(t){Zt[Qt][t]=!0};Lt({target:"Array",proto:!0},{copyWithin:_t}),te("copyWithin");var ee=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},re=function(t,e,r){if(ee(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,n){return t.call(e,r,n)};case 3:return function(r,n,o){return t.call(e,r,n,o)}}return function(){return t.apply(e,arguments)}},ne=Function.call,oe=function(t,e,r){return re(ne,n[t].prototype[e],r)};oe("Array","copyWithin"),Lt({target:"Array",proto:!0},{fill:function(t){for(var e=Ut(this),r=ft(e.length),n=arguments.length,o=pt(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:pt(i,r);a>o;)e[o++]=t;return e}}),te("fill"),oe("Array","fill");var ie=Array.isArray||function(t){return"Array"==h(t)},ae=qt("species"),ue=function(t,e){var r;return ie(t)&&("function"!=typeof(r=t.constructor)||r!==Array&&!ie(r.prototype)?y(r)&&null===(r=r[ae])&&(r=void 0):r=void 0),new(void 0===r?Array:r)(0===e?0:e)},se=[].push,ce=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=5==t||i;return function(u,s,c,f){for(var l,h,p=Ut(u),v=d(p),g=re(s,c,3),y=ft(v.length),m=0,b=f||ue,w=e?b(u,y):r?b(u,0):void 0;y>m;m++)if((a||m in v)&&(h=g(l=v[m],m,p),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return l;case 6:return m;case 2:se.call(w,l)}else if(o)return!1;return i?-1:n||o?o:w}},fe={forEach:ce(0),map:ce(1),filter:ce(2),some:ce(3),every:ce(4),find:ce(5),findIndex:ce(6)},le=Object.defineProperty,he={},pe=function(t){throw t},de=function(t,e){if(w(he,t))return he[t];e||(e={});var r=[][t],n=!!w(e,"ACCESSORS")&&e.ACCESSORS,a=w(e,0)?e[0]:pe,u=w(e,1)?e[1]:void 0;return he[t]=!!r&&!o(function(){if(n&&!i)return!0;var t={length:-1};n?le(t,1,{enumerable:!0,get:pe}):t[1]=1,r.call(t,a,u)})},ve=fe.find,ge="find",ye=!0,me=de(ge);ge in[]&&Array(1)[ge](function(){ye=!1}),Lt({target:"Array",proto:!0,forced:ye||!me},{find:function(t){return ve(this,t,arguments.length>1?arguments[1]:void 0)}}),te(ge),oe("Array","find");var be=fe.findIndex,we="findIndex",Se=!0,Ee=de(we);we in[]&&Array(1)[we](function(){Se=!1}),Lt({target:"Array",proto:!0,forced:Se||!Ee},{findIndex:function(t){return be(this,t,arguments.length>1?arguments[1]:void 0)}}),te(we),oe("Array","findIndex");var xe=function(t,e,r,n,o,i,a,u){for(var s,c=o,f=0,l=!!a&&re(a,u,3);f<n;){if(f in r){if(s=l?l(r[f],f,e):r[f],i>0&&ie(s))c=xe(t,e,s,ft(s.length),c,i-1)-1;else{if(c>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[c]=s}c++}f++}return c},Ae=xe;Lt({target:"Array",proto:!0},{flatMap:function(t){var e,r=Ut(this),n=ft(r.length);return ee(t),(e=ue(r,0)).length=Ae(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),te("flatMap"),oe("Array","flatMap"),Lt({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=Ut(this),r=ft(e.length),n=ue(e,0);return n.length=Ae(n,e,e,r,0,void 0===t?1:st(t)),n}}),te("flat"),oe("Array","flat");var Oe,Re,je,Pe=function(t){return function(e,r){var n,o,i=String(v(e)),a=st(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=i.charCodeAt(a))<55296||n>56319||a+1===u||(o=i.charCodeAt(a+1))<56320||o>57343?t?i.charAt(a):n:t?i.slice(a,a+2):o-56320+(n-55296<<10)+65536}},Ie={codeAt:Pe(!1),charAt:Pe(!0)},Te=!o(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),ke=V("IE_PROTO"),Le=Object.prototype,Ue=Te?Object.getPrototypeOf:function(t){return t=Ut(t),w(t,ke)?t[ke]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Le:null},Me=qt("iterator"),_e=!1;[].keys&&("next"in(je=[].keys())?(Re=Ue(Ue(je)))!==Object.prototype&&(Oe=Re):_e=!0),null==Oe&&(Oe={}),w(Oe,Me)||T(Oe,Me,function(){return this});var Ne={IteratorPrototype:Oe,BUGGY_SAFARI_ITERATORS:_e},Ce=I.f,Fe=qt("toStringTag"),Be=function(t,e,r){t&&!w(t=r?t:t.prototype,Fe)&&Ce(t,Fe,{configurable:!0,value:e})},De={},qe=Ne.IteratorPrototype,ze=function(){return this},We=function(t,e,r){var n=e+" Iterator";return t.prototype=Jt(qe,{next:f(1,r)}),Be(t,n,!1),De[n]=ze,t},Ke=function(t){if(!y(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t},Ge=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),Ke(n),e?t.call(r,n):r.__proto__=n,r}}():void 0),$e=Ne.IteratorPrototype,Ve=Ne.BUGGY_SAFARI_ITERATORS,He=qt("iterator"),Xe="keys",Ye="values",Je="entries",Qe=function(){return this},Ze=function(t,e,r,n,o,i,a){We(r,e,n);var u,s,c,f=function(t){if(t===o&&v)return v;if(!Ve&&t in p)return p[t];switch(t){case Xe:case Ye:case Je:return function(){return new r(this,t)}}return function(){return new r(this)}},l=e+" Iterator",h=!1,p=t.prototype,d=p[He]||p["@@iterator"]||o&&p[o],v=!Ve&&d||f(o),g="Array"==e&&p.entries||d;if(g&&(u=Ue(g.call(new t)),$e!==Object.prototype&&u.next&&(Ue(u)!==$e&&(Ge?Ge(u,$e):"function"!=typeof u[He]&&T(u,He,Qe)),Be(u,l,!0))),o==Ye&&d&&d.name!==Ye&&(h=!0,v=function(){return d.call(this)}),p[He]!==v&&T(p,He,v),De[e]=v,o)if(s={values:f(Ye),keys:i?v:f(Xe),entries:f(Je)},a)for(c in s)(Ve||h||!(c in p))&&rt(p,c,s[c]);else Lt({target:e,proto:!0,forced:Ve||h},s);return s},tr=Ie.charAt,er="String Iterator",rr=et.set,nr=et.getterFor(er);Ze(String,"String",function(t){rr(this,{type:er,string:String(t),index:0})},function(){var t,e=nr(this),r=e.string,n=e.index;return n>=r.length?{value:void 0,done:!0}:(t=tr(r,n),e.index+=t.length,{value:t,done:!1})});var or=function(t,e,r,n){try{return n?e(j(r)[0],r[1]):e(r)}catch(e){var o=t.return;throw void 0!==o&&j(o.call(t)),e}},ir=qt("iterator"),ar=Array.prototype,ur=function(t){return void 0!==t&&(De.Array===t||ar[ir]===t)},sr=function(t,e,r){var n=m(e);n in t?I.f(t,n,f(0,r)):t[n]=r},cr={};cr[qt("toStringTag")]="z";var fr="[object z]"===String(cr),lr=qt("toStringTag"),hr="Arguments"==h(function(){return arguments}()),pr=fr?h:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),lr))?r:hr?h(e):"Object"==(n=h(e))&&"function"==typeof e.callee?"Arguments":n},dr=qt("iterator"),vr=function(t){if(null!=t)return t[dr]||t["@@iterator"]||De[pr(t)]},gr=function(t){var e,r,n,o,i,a,u=Ut(t),s="function"==typeof this?this:Array,c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=vr(u),p=0;if(l&&(f=re(f,c>2?arguments[2]:void 0,2)),null==h||s==Array&&ur(h))for(r=new s(e=ft(u.length));e>p;p++)a=l?f(u[p],p):u[p],sr(r,p,a);else for(i=(o=h.call(u)).next,r=new s;!(n=i.call(o)).done;p++)a=l?or(o,f,[n.value,p],!0):n.value,sr(r,p,a);return r.length=p,r},yr=qt("iterator"),mr=!1;try{var br=0,wr={next:function(){return{done:!!br++}},return:function(){mr=!0}};wr[yr]=function(){return this},Array.from(wr,function(){throw 2})}catch(t){}var Sr=function(t,e){if(!e&&!mr)return!1;var r=!1;try{var n={};n[yr]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Er=!Sr(function(t){Array.from(t)});Lt({target:"Array",stat:!0,forced:Er},{from:gr});var xr=vt.includes,Ar=de("indexOf",{ACCESSORS:!0,1:0});Lt({target:"Array",proto:!0,forced:!Ar},{includes:function(t){return xr(this,t,arguments.length>1?arguments[1]:void 0)}}),te("includes"),oe("Array","includes");var Or="Array Iterator",Rr=et.set,jr=et.getterFor(Or),Pr=Ze(Array,"Array",function(t,e){Rr(this,{type:Or,target:g(t),index:0,kind:e})},function(){var t=jr(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:n,done:!1}:"values"==r?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}},"values");De.Arguments=De.Array,te("keys"),te("values"),te("entries"),oe("Array","values");var Ir=o(function(){function t(){}return!(Array.of.call(t)instanceof t)});Lt({target:"Array",stat:!0,forced:Ir},{of:function(){for(var t=0,e=arguments.length,r=new("function"==typeof this?this:Array)(e);e>t;)sr(r,t,arguments[t++]);return r.length=e,r}});var Tr=qt("hasInstance"),kr=Function.prototype;Tr in kr||I.f(kr,Tr,{value:function(t){if("function"!=typeof this||!y(t))return!1;if(!y(this.prototype))return t instanceof this;for(;t=Ue(t);)if(this.prototype===t)return!0;return!1}}),qt("hasInstance");var Lr=Function.prototype,Ur=Lr.toString,Mr=/^\s*function ([^ (]*)/,_r="name";i&&!(_r in Lr)&&(0,I.f)(Lr,_r,{configurable:!0,get:function(){try{return Ur.call(this).match(Mr)[1]}catch(t){return""}}});var Nr=!o(function(){return Object.isExtensible(Object.preventExtensions({}))}),Cr=e(function(t){var e=I.f,r=G("meta"),n=0,o=Object.isExtensible||function(){return!0},i=function(t){e(t,r,{value:{objectID:"O"+ ++n,weakData:{}}})},a=t.exports={REQUIRED:!1,fastKey:function(t,e){if(!y(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!w(t,r)){if(!o(t))return"F";if(!e)return"E";i(t)}return t[r].objectID},getWeakData:function(t,e){if(!w(t,r)){if(!o(t))return!0;if(!e)return!1;i(t)}return t[r].weakData},onFreeze:function(t){return Nr&&a.REQUIRED&&o(t)&&!w(t,r)&&i(t),t}};H[r]=!0}),Fr=e(function(t){var e=function(t,e){this.stopped=t,this.result=e},r=t.exports=function(t,r,n,o,i){var a,u,s,c,f,l,h,p=re(r,n,o?2:1);if(i)a=t;else{if("function"!=typeof(u=vr(t)))throw TypeError("Target is not iterable");if(ur(u)){for(s=0,c=ft(t.length);c>s;s++)if((f=o?p(j(h=t[s])[0],h[1]):p(t[s]))&&f instanceof e)return f;return new e(!1)}a=u.call(t)}for(l=a.next;!(h=l.call(a)).done;)if("object"==typeof(f=or(a,p,h.value,o))&&f&&f instanceof e)return f;return new e(!1)};r.stop=function(t){return new e(!0,t)}}),Br=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t},Dr=function(t,e,r){var n,o;return Ge&&"function"==typeof(n=e.constructor)&&n!==r&&y(o=n.prototype)&&o!==r.prototype&&Ge(t,o),t},qr=function(t,e,r){var i=-1!==t.indexOf("Map"),a=-1!==t.indexOf("Weak"),u=i?"set":"add",s=n[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=c[t];rt(c,t,"add"==t?function(t){return e.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return a&&!y(t)?void 0:e.call(this,0===t?0:t)}:"has"==t?function(t){return!(a&&!y(t))&&e.call(this,0===t?0:t)}:function(t,r){return e.call(this,0===t?0:t,r),this})};if(Tt(t,"function"!=typeof s||!(a||c.forEach&&!o(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,i,u),Cr.REQUIRED=!0;else if(Tt(t,!0)){var p=new f,d=p[u](a?{}:-0,1)!=p,v=o(function(){p.has(1)}),g=Sr(function(t){new s(t)}),m=!a&&o(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(e,r){Br(e,f,t);var n=Dr(new s,e,f);return null!=r&&Fr(r,n[u],n,i),n})).prototype=c,c.constructor=f),(v||m)&&(h("delete"),h("has"),i&&h("get")),(m||d)&&h(u),a&&c.clear&&delete c.clear}return l[t]=f,Lt({global:!0,forced:f!=s},l),Be(f,t),a||r.setStrong(f,t,i),f},zr=function(t,e,r){for(var n in e)rt(t,n,e[n],r);return t},Wr=qt("species"),Kr=function(t){var e=it(t);i&&e&&!e[Wr]&&(0,I.f)(e,Wr,{configurable:!0,get:function(){return this}})},Gr=I.f,$r=Cr.fastKey,Vr=et.set,Hr=et.getterFor,Xr={getConstructor:function(t,e,r,n){var o=t(function(t,a){Br(t,o,e),Vr(t,{type:e,index:Jt(null),first:void 0,last:void 0,size:0}),i||(t.size=0),null!=a&&Fr(a,t[n],t,r)}),a=Hr(e),u=function(t,e,r){var n,o,u=a(t),c=s(t,e);return c?c.value=r:(u.last=c={index:o=$r(e,!0),key:e,value:r,previous:n=u.last,next:void 0,removed:!1},u.first||(u.first=c),n&&(n.next=c),i?u.size++:t.size++,"F"!==o&&(u.index[o]=c)),t},s=function(t,e){var r,n=a(t),o=$r(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key==e)return r};return zr(o.prototype,{clear:function(){for(var t=a(this),e=t.index,r=t.first;r;)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete e[r.index],r=r.next;t.first=t.last=void 0,i?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=s(e,t);if(n){var o=n.next,u=n.previous;delete r.index[n.index],n.removed=!0,u&&(u.next=o),o&&(o.previous=u),r.first==n&&(r.first=o),r.last==n&&(r.last=u),i?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=re(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!s(this,t)}}),zr(o.prototype,r?{get:function(t){var e=s(this,t);return e&&e.value},set:function(t,e){return u(this,0===t?0:t,e)}}:{add:function(t){return u(this,t=0===t?0:t,t)}}),i&&Gr(o.prototype,"size",{get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=Hr(e),i=Hr(n);Ze(t,e,function(t,e){Vr(this,{type:n,target:t,state:o(t),kind:e,last:void 0})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?"keys"==e?{value:r.key,done:!1}:"values"==e?{value:r.value,done:!1}:{value:[r.key,r.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})},r?"entries":"values",!r,!0),Kr(e)}},Yr=qr("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr);fr||rt(Object.prototype,"toString",fr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0});var Jr={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Qr=qt("iterator"),Zr=qt("toStringTag"),tn=Pr.values;for(var en in Jr){var rn=n[en],nn=rn&&rn.prototype;if(nn){if(nn[Qr]!==tn)try{T(nn,Qr,tn)}catch(t){nn[Qr]=tn}if(nn[Zr]||T(nn,Zr,en),Jr[en])for(var on in Pr)if(nn[on]!==Pr[on])try{T(nn,on,Pr[on])}catch(t){nn[on]=Pr[on]}}}var an=function(t){var e,r,n,o,i=arguments.length,a=i>1?arguments[1]:void 0;return ee(this),(e=void 0!==a)&&ee(a),null==t?new this:(r=[],e?(n=0,o=re(a,i>2?arguments[2]:void 0,2),Fr(t,function(t){r.push(o(t,n++))})):Fr(t,r.push,r),new this(r))};Lt({target:"Map",stat:!0},{from:an});var un=function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)};Lt({target:"Map",stat:!0},{of:un});var sn=function(){for(var t,e=j(this),r=ee(e.delete),n=!0,o=0,i=arguments.length;o<i;o++)t=r.call(e,arguments[o]),n=n&&t;return!!n};Lt({target:"Map",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var cn=function(t){var e=vr(t);if("function"!=typeof e)throw TypeError(String(t)+" is not iterable");return j(e.call(t))},fn=function(t){return Map.prototype.entries.call(t)};Lt({target:"Map",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t,r){if(!n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}});var ln=qt("species"),hn=function(t,e){var r,n=j(t).constructor;return void 0===n||null==(r=j(n)[ln])?e:ee(r)};Lt({target:"Map",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){n(r,t,e)&&i.call(o,t,r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(r)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{findKey:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop(t)},void 0,!0,!0).result}}),Lt({target:"Map",stat:!0},{groupBy:function(t,e){var r=new this;ee(e);var n=ee(r.has),o=ee(r.get),i=ee(r.set);return Fr(t,function(t){var a=e(t);n.call(r,a)?o.call(r,a).push(t):i.call(r,a,[t])}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{includes:function(t){return Fr(fn(j(this)),function(e,r){if((n=r)===(o=t)||n!=n&&o!=o)return Fr.stop();var n,o},void 0,!0,!0).stopped}}),Lt({target:"Map",stat:!0},{keyBy:function(t,e){var r=new this;ee(e);var n=ee(r.set);return Fr(t,function(t){n.call(r,e(t),t)}),r}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{keyOf:function(t){return Fr(fn(j(this)),function(e,r){if(r===t)return Fr.stop(e)},void 0,!0,!0).result}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapKeys:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,n(r,t,e),r)},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{mapValues:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Map"))),i=ee(o.set);return Fr(r,function(t,r){i.call(o,t,n(r,t,e))},void 0,!0,!0),o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{merge:function(t){for(var e=j(this),r=ee(e.set),n=0;n<arguments.length;)Fr(arguments[n++],r,e,!0);return e}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=fn(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r,i){n?(n=!1,o=i):o=t(o,i,r,e)},void 0,!0,!0),n)throw TypeError("Reduce of empty map with no initial value");return o}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=fn(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t,r){if(n(r,t,e))return Fr.stop()},void 0,!0,!0).stopped}}),Lt({target:"Map",proto:!0,real:!0,forced:q},{update:function(t,e){var r=j(this),n=arguments.length;ee(e);var o=r.has(t);if(!o&&n<3)throw TypeError("Updating absent value");var i=o?r.get(t):ee(n>2?arguments[2]:void 0)(t,r);return r.set(t,e(i,t,r)),r}});var pn=function(t,e){var r,n=j(this),o=arguments.length>2?arguments[2]:void 0;if("function"!=typeof e&&"function"!=typeof o)throw TypeError("At least one callback required");return n.has(t)?(r=n.get(t),"function"==typeof e&&(r=e(r),n.set(t,r))):"function"==typeof o&&(r=o(),n.set(t,r)),r};Lt({target:"Map",proto:!0,real:!0,forced:q},{upsert:pn}),Lt({target:"Map",proto:!0,real:!0,forced:q},{updateOrInsert:pn});var dn="\t\n\v\f\r                 \u2028\u2029\ufeff",vn="["+dn+"]",gn=RegExp("^"+vn+vn+"*"),yn=RegExp(vn+vn+"*$"),mn=function(t){return function(e){var r=String(v(e));return 1&t&&(r=r.replace(gn,"")),2&t&&(r=r.replace(yn,"")),r}},bn={start:mn(1),end:mn(2),trim:mn(3)},wn=wt.f,Sn=R.f,En=I.f,xn=bn.trim,An="Number",On=n[An],Rn=On.prototype,jn=h(Jt(Rn))==An,Pn=function(t){var e,r,n,o,i,a,u,s,c=m(t,!1);if("string"==typeof c&&c.length>2)if(43===(e=(c=xn(c)).charCodeAt(0))||45===e){if(88===(r=c.charCodeAt(2))||120===r)return NaN}else if(48===e){switch(c.charCodeAt(1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=c.slice(2)).length,u=0;u<a;u++)if((s=i.charCodeAt(u))<48||s>o)return NaN;return parseInt(i,n)}return+c};if(Tt(An,!On(" 0o1")||!On("0b1")||On("+0x1"))){for(var In,Tn=function(t){var e=arguments.length<1?0:t,r=this;return r instanceof Tn&&(jn?o(function(){Rn.valueOf.call(r)}):h(r)!=An)?Dr(new On(Pn(e)),r,Tn):Pn(e)},kn=i?wn(On):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),Ln=0;kn.length>Ln;Ln++)w(On,In=kn[Ln])&&!w(Tn,In)&&En(Tn,In,Sn(On,In));Tn.prototype=Rn,Rn.constructor=Tn,rt(n,An,Tn)}Lt({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)});var Un=n.isFinite;Lt({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Un(t)}});var Mn=Math.floor,_n=function(t){return!y(t)&&isFinite(t)&&Mn(t)===t};Lt({target:"Number",stat:!0},{isInteger:_n}),Lt({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Nn=Math.abs;Lt({target:"Number",stat:!0},{isSafeInteger:function(t){return _n(t)&&Nn(t)<=9007199254740991}}),Lt({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991}),Lt({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991});var Cn=bn.trim,Fn=n.parseFloat,Bn=1/Fn(dn+"-0")!=-Infinity?function(t){var e=Cn(String(t)),r=Fn(e);return 0===r&&"-"==e.charAt(0)?-0:r}:Fn;Lt({target:"Number",stat:!0,forced:Number.parseFloat!=Bn},{parseFloat:Bn});var Dn=bn.trim,qn=n.parseInt,zn=/^[+-]?0[Xx]/,Wn=8!==qn(dn+"08")||22!==qn(dn+"0x16")?function(t,e){var r=Dn(String(t));return qn(r,e>>>0||(zn.test(r)?16:10))}:qn;Lt({target:"Number",stat:!0,forced:Number.parseInt!=Wn},{parseInt:Wn});var Kn=c.f,Gn=function(t){return function(e){for(var r,n=g(e),o=zt(n),a=o.length,u=0,s=[];a>u;)r=o[u++],i&&!Kn.call(n,r)||s.push(t?[r,n[r]]:n[r]);return s}},$n={entries:Gn(!0),values:Gn(!1)},Vn=$n.entries;Lt({target:"Object",stat:!0},{entries:function(t){return Vn(t)}}),Lt({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){for(var e,r,n=g(t),o=R.f,i=Et(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&sr(a,e,r);return a}});var Hn=o(function(){zt(1)});Lt({target:"Object",stat:!0,forced:Hn},{keys:function(t){return zt(Ut(t))}});var Xn=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Lt({target:"Object",stat:!0},{is:Xn});var Yn=$n.values;Lt({target:"Object",stat:!0},{values:function(t){return Yn(t)}});var Jn=it("Reflect","apply"),Qn=Function.apply,Zn=!o(function(){Jn(function(){})});Lt({target:"Reflect",stat:!0,forced:Zn},{apply:function(t,e,r){return ee(t),j(r),Jn?Jn(t,e,r):Qn.call(t,e,r)}});var to=[].slice,eo={},ro=Function.bind||function(t){var e=ee(this),r=to.call(arguments,1),n=function(){var o=r.concat(to.call(arguments));return this instanceof n?function(t,e,r){if(!(e in eo)){for(var n=[],o=0;o<e;o++)n[o]="a["+o+"]";eo[e]=Function("C,a","return new C("+n.join(",")+")")}return eo[e](t,r)}(e,o.length,o):e.apply(t,o)};return y(e.prototype)&&(n.prototype=e.prototype),n},no=it("Reflect","construct"),oo=o(function(){function t(){}return!(no(function(){},[],t)instanceof t)}),io=!o(function(){no(function(){})}),ao=oo||io;Lt({target:"Reflect",stat:!0,forced:ao,sham:ao},{construct:function(t,e){ee(t),j(e);var r=arguments.length<3?t:ee(arguments[2]);if(io&&!oo)return no(t,e,r);if(t==r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return n.push.apply(n,e),new(ro.apply(t,n))}var o=r.prototype,i=Jt(y(o)?o:Object.prototype),a=Function.apply.call(t,i,e);return y(a)?a:i}});var uo=o(function(){Reflect.defineProperty(I.f({},1,{value:1}),1,{value:2})});Lt({target:"Reflect",stat:!0,forced:uo,sham:!i},{defineProperty:function(t,e,r){j(t);var n=m(e,!0);j(r);try{return I.f(t,n,r),!0}catch(t){return!1}}});var so=R.f;Lt({target:"Reflect",stat:!0},{deleteProperty:function(t,e){var r=so(j(t),e);return!(r&&!r.configurable)&&delete t[e]}}),Lt({target:"Reflect",stat:!0},{get:function t(e,r){var n,o,i=arguments.length<3?e:arguments[2];return j(e)===i?e[r]:(n=R.f(e,r))?w(n,"value")?n.value:void 0===n.get?void 0:n.get.call(i):y(o=Ue(e))?t(o,r,i):void 0}}),Lt({target:"Reflect",stat:!0,sham:!i},{getOwnPropertyDescriptor:function(t,e){return R.f(j(t),e)}}),Lt({target:"Reflect",stat:!0,sham:!Te},{getPrototypeOf:function(t){return Ue(j(t))}}),Lt({target:"Reflect",stat:!0},{has:function(t,e){return e in t}});var co=Object.isExtensible;Lt({target:"Reflect",stat:!0},{isExtensible:function(t){return j(t),!co||co(t)}}),Lt({target:"Reflect",stat:!0},{ownKeys:Et}),Lt({target:"Reflect",stat:!0,sham:!Nr},{preventExtensions:function(t){j(t);try{var e=it("Object","preventExtensions");return e&&e(t),!0}catch(t){return!1}}});var fo=o(function(){var t=I.f({},"a",{configurable:!0});return!1!==Reflect.set(Ue(t),"a",1,t)});Lt({target:"Reflect",stat:!0,forced:fo},{set:function t(e,r,n){var o,i,a=arguments.length<4?e:arguments[3],u=R.f(j(e),r);if(!u){if(y(i=Ue(e)))return t(i,r,n,a);u=f(0)}if(w(u,"value")){if(!1===u.writable||!y(a))return!1;if(o=R.f(a,r)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,I.f(a,r,o)}else I.f(a,r,f(0,n));return!0}return void 0!==u.set&&(u.set.call(a,n),!0)}}),Ge&&Lt({target:"Reflect",stat:!0},{setPrototypeOf:function(t,e){j(t),Ke(e);try{return Ge(t,e),!0}catch(t){return!1}}});var lo=Cr.getWeakData,ho=et.set,po=et.getterFor,vo=fe.find,go=fe.findIndex,yo=0,mo=function(t){return t.frozen||(t.frozen=new bo)},bo=function(){this.entries=[]},wo=function(t,e){return vo(t.entries,function(t){return t[0]===e})};bo.prototype={get:function(t){var e=wo(this,t);if(e)return e[1]},has:function(t){return!!wo(this,t)},set:function(t,e){var r=wo(this,t);r?r[1]=e:this.entries.push([t,e])},delete:function(t){var e=go(this.entries,function(e){return e[0]===t});return~e&&this.entries.splice(e,1),!!~e}};var So={getConstructor:function(t,e,r,n){var o=t(function(t,i){Br(t,o,e),ho(t,{type:e,id:yo++,frozen:void 0}),null!=i&&Fr(i,t[n],t,r)}),i=po(e),a=function(t,e,r){var n=i(t),o=lo(j(e),!0);return!0===o?mo(n).set(e,r):o[n.id]=r,t};return zr(o.prototype,{delete:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).delete(t):r&&w(r,e.id)&&delete r[e.id]},has:function(t){var e=i(this);if(!y(t))return!1;var r=lo(t);return!0===r?mo(e).has(t):r&&w(r,e.id)}}),zr(o.prototype,r?{get:function(t){var e=i(this);if(y(t)){var r=lo(t);return!0===r?mo(e).get(t):r?r[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},Eo=e(function(t){var e,r=et.enforce,o=!n.ActiveXObject&&"ActiveXObject"in n,i=Object.isExtensible,a=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},u=t.exports=qr("WeakMap",a,So);if(D&&o){e=So.getConstructor(a,"WeakMap",!0),Cr.REQUIRED=!0;var s=u.prototype,c=s.delete,f=s.has,l=s.get,h=s.set;zr(s,{delete:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),c.call(this,t)||n.frozen.delete(t)}return c.call(this,t)},has:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)||n.frozen.has(t)}return f.call(this,t)},get:function(t){if(y(t)&&!i(t)){var n=r(this);return n.frozen||(n.frozen=new e),f.call(this,t)?l.call(this,t):n.frozen.get(t)}return l.call(this,t)},set:function(t,n){if(y(t)&&!i(t)){var o=r(this);o.frozen||(o.frozen=new e),f.call(this,t)?h.call(this,t,n):o.frozen.set(t,n)}else h.call(this,t,n);return this}})}}),xo=z("metadata"),Ao=xo.store||(xo.store=new Eo),Oo=function(t,e,r){var n=Ao.get(t);if(!n){if(!r)return;Ao.set(t,n=new Yr)}var o=n.get(e);if(!o){if(!r)return;n.set(e,o=new Yr)}return o},Ro={store:Ao,getMap:Oo,has:function(t,e,r){var n=Oo(e,r,!1);return void 0!==n&&n.has(t)},get:function(t,e,r){var n=Oo(e,r,!1);return void 0===n?void 0:n.get(t)},set:function(t,e,r,n){Oo(r,n,!0).set(t,e)},keys:function(t,e){var r=Oo(t,e,!1),n=[];return r&&r.forEach(function(t,e){n.push(e)}),n},toKey:function(t){return void 0===t||"symbol"==typeof t?t:String(t)}},jo=Ro.toKey,Po=Ro.set;Lt({target:"Reflect",stat:!0},{defineMetadata:function(t,e,r){var n=arguments.length<4?void 0:jo(arguments[3]);Po(t,e,j(r),n)}});var Io=Ro.toKey,To=Ro.getMap,ko=Ro.store;Lt({target:"Reflect",stat:!0},{deleteMetadata:function(t,e){var r=arguments.length<3?void 0:Io(arguments[2]),n=To(j(e),r,!1);if(void 0===n||!n.delete(t))return!1;if(n.size)return!0;var o=ko.get(e);return o.delete(r),!!o.size||ko.delete(e)}});var Lo=Ro.has,Uo=Ro.get,Mo=Ro.toKey,_o=function(t,e,r){if(Lo(t,e,r))return Uo(t,e,r);var n=Ue(e);return null!==n?_o(t,n,r):void 0};Lt({target:"Reflect",stat:!0},{getMetadata:function(t,e){var r=arguments.length<3?void 0:Mo(arguments[2]);return _o(t,j(e),r)}});var No=qr("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Xr),Co=Ro.keys,Fo=Ro.toKey,Bo=function(t,e){var r=Co(t,e),n=Ue(t);if(null===n)return r;var o,i,a=Bo(n,e);return a.length?r.length?(o=new No(r.concat(a)),Fr(o,(i=[]).push,i),i):a:r};Lt({target:"Reflect",stat:!0},{getMetadataKeys:function(t){var e=arguments.length<2?void 0:Fo(arguments[1]);return Bo(j(t),e)}});var Do=Ro.get,qo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadata:function(t,e){var r=arguments.length<3?void 0:qo(arguments[2]);return Do(t,j(e),r)}});var zo=Ro.keys,Wo=Ro.toKey;Lt({target:"Reflect",stat:!0},{getOwnMetadataKeys:function(t){var e=arguments.length<2?void 0:Wo(arguments[1]);return zo(j(t),e)}});var Ko=Ro.has,Go=Ro.toKey,$o=function(t,e,r){if(Ko(t,e,r))return!0;var n=Ue(e);return null!==n&&$o(t,n,r)};Lt({target:"Reflect",stat:!0},{hasMetadata:function(t,e){var r=arguments.length<3?void 0:Go(arguments[2]);return $o(t,j(e),r)}});var Vo=Ro.has,Ho=Ro.toKey;Lt({target:"Reflect",stat:!0},{hasOwnMetadata:function(t,e){var r=arguments.length<3?void 0:Ho(arguments[2]);return Vo(t,j(e),r)}});var Xo=Ro.toKey,Yo=Ro.set;Lt({target:"Reflect",stat:!0},{metadata:function(t,e){return function(r,n){Yo(t,e,j(r),Xo(n))}}});var Jo=qt("match"),Qo=function(t){var e;return y(t)&&(void 0!==(e=t[Jo])?!!e:"RegExp"==h(t))},Zo=function(){var t=j(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e};function ti(t,e){return RegExp(t,e)}var ei=o(function(){var t=ti("a","y");return t.lastIndex=2,null!=t.exec("abcd")}),ri=o(function(){var t=ti("^r","gy");return t.lastIndex=2,null!=t.exec("str")}),ni={UNSUPPORTED_Y:ei,BROKEN_CARET:ri},oi=I.f,ii=wt.f,ai=et.set,ui=qt("match"),si=n.RegExp,ci=si.prototype,fi=/a/g,li=/a/g,hi=new si(fi)!==fi,pi=ni.UNSUPPORTED_Y;if(i&&Tt("RegExp",!hi||pi||o(function(){return li[ui]=!1,si(fi)!=fi||si(li)==li||"/a/i"!=si(fi,"i")}))){for(var di=function(t,e){var r,n=this instanceof di,o=Qo(t),i=void 0===e;if(!n&&o&&t.constructor===di&&i)return t;hi?o&&!i&&(t=t.source):t instanceof di&&(i&&(e=Zo.call(t)),t=t.source),pi&&(r=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var a=Dr(hi?new si(t,e):si(t,e),n?this:ci,di);return pi&&r&&ai(a,{sticky:r}),a},vi=function(t){t in di||oi(di,t,{configurable:!0,get:function(){return si[t]},set:function(e){si[t]=e}})},gi=ii(si),yi=0;gi.length>yi;)vi(gi[yi++]);ci.constructor=di,di.prototype=ci,rt(n,"RegExp",di)}Kr("RegExp");var mi="toString",bi=RegExp.prototype,wi=bi[mi];(o(function(){return"/a/b"!=wi.call({source:"a",flags:"b"})})||wi.name!=mi)&&rt(RegExp.prototype,mi,function(){var t=j(this),e=String(t.source),r=t.flags;return"/"+e+"/"+String(void 0===r&&t instanceof RegExp&&!("flags"in bi)?Zo.call(t):r)},{unsafe:!0});var Si=RegExp.prototype.exec,Ei=String.prototype.replace,xi=Si,Ai=function(){var t=/a/,e=/b*/g;return Si.call(t,"a"),Si.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Oi=ni.UNSUPPORTED_Y||ni.BROKEN_CARET,Ri=void 0!==/()??/.exec("")[1];(Ai||Ri||Oi)&&(xi=function(t){var e,r,n,o,i=this,a=Oi&&i.sticky,u=Zo.call(i),s=i.source,c=0,f=t;return a&&(-1===(u=u.replace("y","")).indexOf("g")&&(u+="g"),f=String(t).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==t[i.lastIndex-1])&&(s="(?: "+s+")",f=" "+f,c++),r=new RegExp("^(?:"+s+")",u)),Ri&&(r=new RegExp("^"+s+"$(?!\\s)",u)),Ai&&(e=i.lastIndex),n=Si.call(a?r:i,f),a?n?(n.input=n.input.slice(c),n[0]=n[0].slice(c),n.index=i.lastIndex,i.lastIndex+=n[0].length):i.lastIndex=0:Ai&&n&&(i.lastIndex=i.global?n.index+n[0].length:e),Ri&&n&&n.length>1&&Ei.call(n[0],r,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(n[o]=void 0)}),n});var ji=xi;Lt({target:"RegExp",proto:!0,forced:/./.exec!==ji},{exec:ji}),i&&("g"!=/./g.flags||ni.UNSUPPORTED_Y)&&I.f(RegExp.prototype,"flags",{configurable:!0,get:Zo});var Pi=et.get,Ii=RegExp.prototype;i&&ni.UNSUPPORTED_Y&&(0,I.f)(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==Ii){if(this instanceof RegExp)return!!Pi(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}});var Ti,ki,Li=(Ti=!1,(ki=/[ac]/).exec=function(){return Ti=!0,/./.exec.apply(this,arguments)},!0===ki.test("abc")&&Ti),Ui=/./.test;Lt({target:"RegExp",proto:!0,forced:!Li},{test:function(t){if("function"!=typeof this.exec)return Ui.call(this,t);var e=this.exec(t);if(null!==e&&!y(e))throw new Error("RegExp exec method returned something other than an Object or null");return!!e}});var Mi=qt("species"),_i=!o(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")}),Ni="$0"==="a".replace(/./,"$0"),Ci=qt("replace"),Fi=!!/./[Ci]&&""===/./[Ci]("a","$0"),Bi=!o(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Di=function(t,e,r,n){var i=qt(t),a=!o(function(){var e={};return e[i]=function(){return 7},7!=""[t](e)}),u=a&&!o(function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[Mi]=function(){return r},r.flags="",r[i]=/./[i]),r.exec=function(){return e=!0,null},r[i](""),!e});if(!a||!u||"replace"===t&&(!_i||!Ni||Fi)||"split"===t&&!Bi){var s=/./[i],c=r(i,""[t],function(t,e,r,n,o){return e.exec===ji?a&&!o?{done:!0,value:s.call(e,r,n)}:{done:!0,value:t.call(r,e,n)}:{done:!1}},{REPLACE_KEEPS_$0:Ni,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Fi}),f=c[1];rt(String.prototype,t,c[0]),rt(RegExp.prototype,i,2==e?function(t,e){return f.call(t,this,e)}:function(t){return f.call(t,this)})}n&&T(RegExp.prototype[i],"sham",!0)},qi=Ie.charAt,zi=function(t,e,r){return e+(r?qi(t,e).length:1)},Wi=function(t,e){var r=t.exec;if("function"==typeof r){var n=r.call(t,e);if("object"!=typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==h(t))throw TypeError("RegExp#exec called on incompatible receiver");return ji.call(t,e)};Di("match",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this);if(!o.global)return Wi(o,i);var a=o.unicode;o.lastIndex=0;for(var u,s=[],c=0;null!==(u=Wi(o,i));){var f=String(u[0]);s[c]=f,""===f&&(o.lastIndex=zi(i,ft(o.lastIndex),a)),c++}return 0===c?null:s}]});var Ki=Math.max,Gi=Math.min,$i=Math.floor,Vi=/\$([$&'`]|\d\d?|<[^>]*>)/g,Hi=/\$([$&'`]|\d\d?)/g;Di("replace",2,function(t,e,r,n){var o=n.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=n.REPLACE_KEEPS_$0,a=o?"$":"$0";return[function(r,n){var o=v(this),i=null==r?void 0:r[t];return void 0!==i?i.call(r,o,n):e.call(String(o),r,n)},function(t,n){if(!o&&i||"string"==typeof n&&-1===n.indexOf(a)){var s=r(e,t,this,n);if(s.done)return s.value}var c=j(t),f=String(this),l="function"==typeof n;l||(n=String(n));var h=c.global;if(h){var p=c.unicode;c.lastIndex=0}for(var d=[];;){var v=Wi(c,f);if(null===v)break;if(d.push(v),!h)break;""===String(v[0])&&(c.lastIndex=zi(f,ft(c.lastIndex),p))}for(var g,y="",m=0,b=0;b<d.length;b++){v=d[b];for(var w=String(v[0]),S=Ki(Gi(st(v.index),f.length),0),E=[],x=1;x<v.length;x++)E.push(void 0===(g=v[x])?g:String(g));var A=v.groups;if(l){var O=[w].concat(E,S,f);void 0!==A&&O.push(A);var R=String(n.apply(void 0,O))}else R=u(w,f,S,E,A,n);S>=m&&(y+=f.slice(m,S)+R,m=S+w.length)}return y+f.slice(m)}];function u(t,r,n,o,i,a){var u=n+t.length,s=o.length,c=Hi;return void 0!==i&&(i=Ut(i),c=Vi),e.call(a,c,function(e,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return t;case"`":return r.slice(0,n);case"'":return r.slice(u);case"<":c=i[a.slice(1,-1)];break;default:var f=+a;if(0===f)return e;if(f>s){var l=$i(f/10);return 0===l?e:l<=s?void 0===o[l-1]?a.charAt(1):o[l-1]+a.charAt(1):e}c=o[f-1]}return void 0===c?"":c})}}),Di("search",1,function(t,e,r){return[function(e){var r=v(this),n=null==e?void 0:e[t];return void 0!==n?n.call(e,r):new RegExp(e)[t](String(r))},function(t){var n=r(e,t,this);if(n.done)return n.value;var o=j(t),i=String(this),a=o.lastIndex;Xn(a,0)||(o.lastIndex=0);var u=Wi(o,i);return Xn(o.lastIndex,a)||(o.lastIndex=a),null===u?-1:u.index}]});var Xi=[].push,Yi=Math.min,Ji=4294967295,Qi=!o(function(){return!RegExp(Ji,"y")});Di("split",2,function(t,e,r){var n;return n="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,r){var n=String(v(this)),o=void 0===r?Ji:r>>>0;if(0===o)return[];if(void 0===t)return[n];if(!Qo(t))return e.call(n,t,o);for(var i,a,u,s=[],c=0,f=new RegExp(t.source,(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":"")+"g");(i=ji.call(f,n))&&!((a=f.lastIndex)>c&&(s.push(n.slice(c,i.index)),i.length>1&&i.index<n.length&&Xi.apply(s,i.slice(1)),u=i[0].length,c=a,s.length>=o));)f.lastIndex===i.index&&f.lastIndex++;return c===n.length?!u&&f.test("")||s.push(""):s.push(n.slice(c)),s.length>o?s.slice(0,o):s}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var o=v(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,o){var i=r(n,t,this,o,n!==e);if(i.done)return i.value;var a=j(t),u=String(this),s=hn(a,RegExp),c=a.unicode,f=new s(Qi?a:"^(?:"+a.source+")",(a.ignoreCase?"i":"")+(a.multiline?"m":"")+(a.unicode?"u":"")+(Qi?"y":"g")),l=void 0===o?Ji:o>>>0;if(0===l)return[];if(0===u.length)return null===Wi(f,u)?[u]:[];for(var h=0,p=0,d=[];p<u.length;){f.lastIndex=Qi?p:0;var v,g=Wi(f,Qi?u:u.slice(p));if(null===g||(v=Yi(ft(f.lastIndex+(Qi?0:p)),u.length))===h)p=zi(u,p,c);else{if(d.push(u.slice(h,p)),d.length===l)return d;for(var y=1;y<=g.length-1;y++)if(d.push(g[y]),d.length===l)return d;p=h=v}}return d.push(u.slice(h)),d}]},!Qi),Lt({target:"Set",stat:!0},{from:an}),Lt({target:"Set",stat:!0},{of:un});var Zi=function(){for(var t=j(this),e=ee(t.add),r=0,n=arguments.length;r<n;r++)e.call(t,arguments[r]);return t};Lt({target:"Set",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}});var ta=function(t){return Set.prototype.values.call(t)};Lt({target:"Set",proto:!0,real:!0,forced:q},{every:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return!Fr(r,function(t){if(!n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{difference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete);return Fr(t,function(t){n.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{filter:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){n(t,t,e)&&i.call(o,t)},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{find:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop(t)},void 0,!1,!0).result}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{intersection:function(t){var e=j(this),r=new(hn(e,it("Set"))),n=ee(e.has),o=ee(r.add);return Fr(t,function(t){n.call(e,t)&&o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isDisjointFrom:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!0===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSubsetOf:function(t){var e=cn(this),r=j(t),n=r.has;return"function"!=typeof n&&(r=new(it("Set"))(t),n=ee(r.has)),!Fr(e,function(t){if(!1===n.call(r,t))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{isSupersetOf:function(t){var e=j(this),r=ee(e.has);return!Fr(t,function(t){if(!1===r.call(e,t))return Fr.stop()}).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{join:function(t){var e=j(this),r=ta(e),n=void 0===t?",":String(t),o=[];return Fr(r,o.push,o,!1,!0),o.join(n)}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{map:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3),o=new(hn(e,it("Set"))),i=ee(o.add);return Fr(r,function(t){i.call(o,n(t,t,e))},void 0,!1,!0),o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{reduce:function(t){var e=j(this),r=ta(e),n=arguments.length<2,o=n?void 0:arguments[1];if(ee(t),Fr(r,function(r){n?(n=!1,o=r):o=t(o,r,r,e)},void 0,!1,!0),n)throw TypeError("Reduce of empty set with no initial value");return o}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{some:function(t){var e=j(this),r=ta(e),n=re(t,arguments.length>1?arguments[1]:void 0,3);return Fr(r,function(t){if(n(t,t,e))return Fr.stop()},void 0,!1,!0).stopped}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{symmetricDifference:function(t){var e=j(this),r=new(hn(e,it("Set")))(e),n=ee(r.delete),o=ee(r.add);return Fr(t,function(t){n.call(r,t)||o.call(r,t)}),r}}),Lt({target:"Set",proto:!0,real:!0,forced:q},{union:function(t){var e=j(this),r=new(hn(e,it("Set")))(e);return Fr(t,ee(r.add),r),r}});var ea,ra,na=it("navigator","userAgent")||"",oa=n.process,ia=oa&&oa.versions,aa=ia&&ia.v8;aa?ra=(ea=aa.split("."))[0]+ea[1]:na&&(!(ea=na.match(/Edge\/(\d+)/))||ea[1]>=74)&&(ea=na.match(/Chrome\/(\d+)/))&&(ra=ea[1]);var ua=ra&&+ra,sa=qt("species"),ca=qt("isConcatSpreadable"),fa=9007199254740991,la="Maximum allowed index exceeded",ha=ua>=51||!o(function(){var t=[];return t[ca]=!1,t.concat()[0]!==t}),pa=ua>=51||!o(function(){var t=[];return(t.constructor={})[sa]=function(){return{foo:1}},1!==t.concat(Boolean).foo}),da=function(t){if(!y(t))return!1;var e=t[ca];return void 0!==e?!!e:ie(t)};Lt({target:"Array",proto:!0,forced:!ha||!pa},{concat:function(t){var e,r,n,o,i,a=Ut(this),u=ue(a,0),s=0;for(e=-1,n=arguments.length;e<n;e++)if(da(i=-1===e?a:arguments[e])){if(s+(o=ft(i.length))>fa)throw TypeError(la);for(r=0;r<o;r++,s++)r in i&&sr(u,s,i[r])}else{if(s>=fa)throw TypeError(la);sr(u,s++,i)}return u.length=s,u}});var va=wt.f,ga={}.toString,ya="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],ma={f:function(t){return ya&&"[object Window]"==ga.call(t)?function(t){try{return va(t)}catch(t){return ya.slice()}}(t):va(g(t))}},ba={f:qt},wa=I.f,Sa=function(t){var e=nt.Symbol||(nt.Symbol={});w(e,t)||wa(e,t,{value:ba.f(t)})},Ea=fe.forEach,xa=V("hidden"),Aa="Symbol",Oa="prototype",Ra=qt("toPrimitive"),ja=et.set,Pa=et.getterFor(Aa),Ia=Object[Oa],Ta=n.Symbol,ka=it("JSON","stringify"),La=R.f,Ua=I.f,Ma=ma.f,_a=c.f,Na=z("symbols"),Ca=z("op-symbols"),Fa=z("string-to-symbol-registry"),Ba=z("symbol-to-string-registry"),Da=z("wks"),qa=n.QObject,za=!qa||!qa[Oa]||!qa[Oa].findChild,Wa=i&&o(function(){return 7!=Jt(Ua({},"a",{get:function(){return Ua(this,"a",{value:7}).a}})).a})?function(t,e,r){var n=La(Ia,e);n&&delete Ia[e],Ua(t,e,r),n&&t!==Ia&&Ua(Ia,e,n)}:Ua,Ka=function(t,e){var r=Na[t]=Jt(Ta[Oa]);return ja(r,{type:Aa,tag:t,description:e}),i||(r.description=e),r},Ga=Ct?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof Ta},$a=function(t,e,r){t===Ia&&$a(Ca,e,r),j(t);var n=m(e,!0);return j(r),w(Na,n)?(r.enumerable?(w(t,xa)&&t[xa][n]&&(t[xa][n]=!1),r=Jt(r,{enumerable:f(0,!1)})):(w(t,xa)||Ua(t,xa,f(1,{})),t[xa][n]=!0),Wa(t,n,r)):Ua(t,n,r)},Va=function(t,e){j(t);var r=g(e),n=zt(r).concat(Ja(r));return Ea(n,function(e){i&&!Ha.call(r,e)||$a(t,e,r[e])}),t},Ha=function(t){var e=m(t,!0),r=_a.call(this,e);return!(this===Ia&&w(Na,e)&&!w(Ca,e))&&(!(r||!w(this,e)||!w(Na,e)||w(this,xa)&&this[xa][e])||r)},Xa=function(t,e){var r=g(t),n=m(e,!0);if(r!==Ia||!w(Na,n)||w(Ca,n)){var o=La(r,n);return!o||!w(Na,n)||w(r,xa)&&r[xa][n]||(o.enumerable=!0),o}},Ya=function(t){var e=Ma(g(t)),r=[];return Ea(e,function(t){w(Na,t)||w(H,t)||r.push(t)}),r},Ja=function(t){var e=t===Ia,r=Ma(e?Ca:g(t)),n=[];return Ea(r,function(t){!w(Na,t)||e&&!w(Ia,t)||n.push(Na[t])}),n};if(Nt||(Ta=function(){if(this instanceof Ta)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=G(t),r=function(t){this===Ia&&r.call(Ca,t),w(this,xa)&&w(this[xa],e)&&(this[xa][e]=!1),Wa(this,e,f(1,t))};return i&&za&&Wa(Ia,e,{configurable:!0,set:r}),Ka(e,t)},rt(Ta[Oa],"toString",function(){return Pa(this).tag}),rt(Ta,"withoutSetter",function(t){return Ka(G(t),t)}),c.f=Ha,I.f=$a,R.f=Xa,wt.f=ma.f=Ya,St.f=Ja,ba.f=function(t){return Ka(qt(t),t)},i&&(Ua(Ta[Oa],"description",{configurable:!0,get:function(){return Pa(this).description}}),rt(Ia,"propertyIsEnumerable",Ha,{unsafe:!0}))),Lt({global:!0,wrap:!0,forced:!Nt,sham:!Nt},{Symbol:Ta}),Ea(zt(Da),function(t){Sa(t)}),Lt({target:Aa,stat:!0,forced:!Nt},{for:function(t){var e=String(t);if(w(Fa,e))return Fa[e];var r=Ta(e);return Fa[e]=r,Ba[r]=e,r},keyFor:function(t){if(!Ga(t))throw TypeError(t+" is not a symbol");if(w(Ba,t))return Ba[t]},useSetter:function(){za=!0},useSimple:function(){za=!1}}),Lt({target:"Object",stat:!0,forced:!Nt,sham:!i},{create:function(t,e){return void 0===e?Jt(t):Va(Jt(t),e)},defineProperty:$a,defineProperties:Va,getOwnPropertyDescriptor:Xa}),Lt({target:"Object",stat:!0,forced:!Nt},{getOwnPropertyNames:Ya,getOwnPropertySymbols:Ja}),Lt({target:"Object",stat:!0,forced:o(function(){St.f(1)})},{getOwnPropertySymbols:function(t){return St.f(Ut(t))}}),ka){var Qa=!Nt||o(function(){var t=Ta();return"[null]"!=ka([t])||"{}"!=ka({a:t})||"{}"!=ka(Object(t))});Lt({target:"JSON",stat:!0,forced:Qa},{stringify:function(t,e,r){for(var n,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(n=e,(y(e)||void 0!==t)&&!Ga(t))return ie(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Ga(e))return e}),o[1]=e,ka.apply(null,o)}})}Ta[Oa][Ra]||T(Ta[Oa],Ra,Ta[Oa].valueOf),Be(Ta,Aa),H[xa]=!0,Sa("asyncIterator");var Za=I.f,tu=n.Symbol;if(i&&"function"==typeof tu&&(!("description"in tu.prototype)||void 0!==tu().description)){var eu={},ru=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof ru?new tu(t):void 0===t?tu():tu(t);return""===t&&(eu[e]=!0),e};xt(ru,tu);var nu=ru.prototype=tu.prototype;nu.constructor=ru;var ou=nu.toString,iu="Symbol(test)"==String(tu("test")),au=/^Symbol\((.*)\)[^)]+$/;Za(nu,"description",{configurable:!0,get:function(){var t=y(this)?this.valueOf():this,e=ou.call(t);if(w(eu,t))return"";var r=iu?e.slice(7,-1):e.replace(au,"$1");return""===r?void 0:r}}),Lt({global:!0,forced:!0},{Symbol:ru})}Sa("hasInstance"),Sa("isConcatSpreadable"),Sa("iterator"),Sa("match"),Sa("matchAll"),Sa("replace"),Sa("search"),Sa("species"),Sa("split"),Sa("toPrimitive"),Sa("toStringTag"),Sa("unscopables"),Be(Math,"Math",!0),Be(n.JSON,"JSON",!0),Sa("asyncDispose"),Sa("dispose"),Sa("observable"),Sa("patternMatch"),Sa("replaceAll"),ba.f("asyncIterator");var uu=Ie.codeAt;Lt({target:"String",proto:!0},{codePointAt:function(t){return uu(this,t)}}),oe("String","codePointAt");var su,cu=function(t){if(Qo(t))throw TypeError("The method doesn't accept regular expressions");return t},fu=qt("match"),lu=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[fu]=!1,"/./"[t](e)}catch(t){}}return!1},hu=R.f,pu="".endsWith,du=Math.min,vu=lu("endsWith"),gu=!(vu||(su=hu(String.prototype,"endsWith"),!su||su.writable));Lt({target:"String",proto:!0,forced:!gu&&!vu},{endsWith:function(t){var e=String(v(this));cu(t);var r=arguments.length>1?arguments[1]:void 0,n=ft(e.length),o=void 0===r?n:du(ft(r),n),i=String(t);return pu?pu.call(e,i,o):e.slice(o-i.length,o)===i}}),oe("String","endsWith");var yu=String.fromCharCode,mu=String.fromCodePoint;Lt({target:"String",stat:!0,forced:!!mu&&1!=mu.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],pt(e,1114111)!==e)throw RangeError(e+" is not a valid code point");r.push(e<65536?yu(e):yu(55296+((e-=65536)>>10),e%1024+56320))}return r.join("")}}),Lt({target:"String",proto:!0,forced:!lu("includes")},{includes:function(t){return!!~String(v(this)).indexOf(cu(t),arguments.length>1?arguments[1]:void 0)}}),oe("String","includes");var bu="".repeat||function(t){var e=String(v(this)),r="",n=st(t);if(n<0||Infinity==n)throw RangeError("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},wu=Math.ceil,Su=function(t){return function(e,r,n){var o,i,a=String(v(e)),u=a.length,s=void 0===n?" ":String(n),c=ft(r);return c<=u||""==s?a:((i=bu.call(s,wu((o=c-u)/s.length))).length>o&&(i=i.slice(0,o)),t?a+i:i+a)}},Eu={start:Su(!1),end:Su(!0)},xu=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(na),Au=Eu.start;Lt({target:"String",proto:!0,forced:xu},{padStart:function(t){return Au(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padStart");var Ou=Eu.end;Lt({target:"String",proto:!0,forced:xu},{padEnd:function(t){return Ou(this,t,arguments.length>1?arguments[1]:void 0)}}),oe("String","padEnd"),Lt({target:"String",stat:!0},{raw:function(t){for(var e=g(t.raw),r=ft(e.length),n=arguments.length,o=[],i=0;r>i;)o.push(String(e[i++])),i<n&&o.push(String(arguments[i]));return o.join("")}}),Lt({target:"String",proto:!0},{repeat:bu}),oe("String","repeat");var Ru=R.f,ju="".startsWith,Pu=Math.min,Iu=lu("startsWith"),Tu=!Iu&&!!function(){var t=Ru(String.prototype,"startsWith");return t&&!t.writable}();Lt({target:"String",proto:!0,forced:!Tu&&!Iu},{startsWith:function(t){var e=String(v(this));cu(t);var r=ft(Pu(arguments.length>1?arguments[1]:void 0,e.length)),n=String(t);return ju?ju.call(e,n,r):e.slice(r,r+n.length)===n}}),oe("String","startsWith");var ku=function(t){return o(function(){return!!dn[t]()||"​…᠎"!="​…᠎"[t]()||dn[t].name!==t})},Lu=bn.start,Uu=ku("trimStart"),Mu=Uu?function(){return Lu(this)}:"".trimStart;Lt({target:"String",proto:!0,forced:Uu},{trimStart:Mu,trimLeft:Mu}),oe("String","trimLeft");var _u=bn.end,Nu=ku("trimEnd"),Cu=Nu?function(){return _u(this)}:"".trimEnd;Lt({target:"String",proto:!0,forced:Nu},{trimEnd:Cu,trimRight:Cu}),oe("String","trimRight");var Fu=qt("iterator"),Bu=!o(function(){var t=new URL("b?a=1&b=2&c=3","http://a"),e=t.searchParams,r="";return t.pathname="c%20d",e.forEach(function(t,n){e.delete("b"),r+=n+t}),!e.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Fu]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==r||"x"!==new URL("http://x",void 0).host}),Du=Object.assign,qu=Object.defineProperty,zu=!Du||o(function(){if(i&&1!==Du({b:1},Du(qu({},"a",{enumerable:!0,get:function(){qu(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach(function(t){e[t]=t}),7!=Du({},t)[r]||zt(Du({},e)).join("")!=n})?function(t,e){for(var r=Ut(t),n=arguments.length,o=1,a=St.f,u=c.f;n>o;)for(var s,f=d(arguments[o++]),l=a?zt(f).concat(a(f)):zt(f),h=l.length,p=0;h>p;)s=l[p++],i&&!u.call(f,s)||(r[s]=f[s]);return r}:Du,Wu=2147483647,Ku=/[^\0-\u007E]/,Gu=/[.\u3002\uFF0E\uFF61]/g,$u="Overflow: input needs wider integers to process",Vu=Math.floor,Hu=String.fromCharCode,Xu=function(t){return t+22+75*(t<26)},Yu=function(t,e,r){var n=0;for(t=r?Vu(t/700):t>>1,t+=Vu(t/e);t>455;n+=36)t=Vu(t/35);return Vu(n+36*t/(t+38))},Ju=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r<n;){var o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<n){var i=t.charCodeAt(r++);56320==(64512&i)?e.push(((1023&o)<<10)+(1023&i)+65536):(e.push(o),r--)}else e.push(o)}return e}(t);var r,n,o=t.length,i=128,a=0,u=72;for(r=0;r<t.length;r++)(n=t[r])<128&&e.push(Hu(n));var s=e.length,c=s;for(s&&e.push("-");c<o;){var f=Wu;for(r=0;r<t.length;r++)(n=t[r])>=i&&n<f&&(f=n);var l=c+1;if(f-i>Vu((Wu-a)/l))throw RangeError($u);for(a+=(f-i)*l,i=f,r=0;r<t.length;r++){if((n=t[r])<i&&++a>Wu)throw RangeError($u);if(n==i){for(var h=a,p=36;;p+=36){var d=p<=u?1:p>=u+26?26:p-u;if(h<d)break;var v=h-d,g=36-d;e.push(Hu(Xu(d+v%g))),h=Vu(v/g)}e.push(Hu(Xu(h))),u=Yu(a,l,c==s),a=0,++c}}++a,++i}return e.join("")},Qu=it("fetch"),Zu=it("Headers"),ts=qt("iterator"),es="URLSearchParams",rs=es+"Iterator",ns=et.set,os=et.getterFor(es),is=et.getterFor(rs),as=/\+/g,us=Array(4),ss=function(t){return us[t-1]||(us[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},cs=function(t){try{return decodeURIComponent(t)}catch(e){return t}},fs=function(t){var e=t.replace(as," "),r=4;try{return decodeURIComponent(e)}catch(t){for(;r;)e=e.replace(ss(r--),cs);return e}},ls=/[!'()~]|%20/g,hs={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ps=function(t){return hs[t]},ds=function(t){return encodeURIComponent(t).replace(ls,ps)},vs=function(t,e){if(e)for(var r,n,o=e.split("&"),i=0;i<o.length;)(r=o[i++]).length&&(n=r.split("="),t.push({key:fs(n.shift()),value:fs(n.join("="))}))},gs=function(t){this.entries.length=0,vs(this.entries,t)},ys=function(t,e){if(t<e)throw TypeError("Not enough arguments")},ms=We(function(t,e){ns(this,{type:rs,iterator:cn(os(t).entries),kind:e})},"Iterator",function(){var t=is(this),e=t.kind,r=t.iterator.next(),n=r.value;return r.done||(r.value="keys"===e?n.key:"values"===e?n.value:[n.key,n.value]),r}),bs=function(){Br(this,bs,es);var t,e,r,n,o,i,a,u,s,c=arguments.length>0?arguments[0]:void 0,f=[];if(ns(this,{type:es,entries:f,updateURL:function(){},updateSearchParams:gs}),void 0!==c)if(y(c))if("function"==typeof(t=vr(c)))for(r=(e=t.call(c)).next;!(n=r.call(e)).done;){if((a=(i=(o=cn(j(n.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");f.push({key:a.value+"",value:u.value+""})}else for(s in c)w(c,s)&&f.push({key:s,value:c[s]+""});else vs(f,"string"==typeof c?"?"===c.charAt(0)?c.slice(1):c:c+"")},ws=bs.prototype;zr(ws,{append:function(t,e){ys(arguments.length,2);var r=os(this);r.entries.push({key:t+"",value:e+""}),r.updateURL()},delete:function(t){ys(arguments.length,1);for(var e=os(this),r=e.entries,n=t+"",o=0;o<r.length;)r[o].key===n?r.splice(o,1):o++;e.updateURL()},get:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;n++)if(e[n].key===r)return e[n].value;return null},getAll:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=[],o=0;o<e.length;o++)e[o].key===r&&n.push(e[o].value);return n},has:function(t){ys(arguments.length,1);for(var e=os(this).entries,r=t+"",n=0;n<e.length;)if(e[n++].key===r)return!0;return!1},set:function(t,e){ys(arguments.length,1);for(var r,n=os(this),o=n.entries,i=!1,a=t+"",u=e+"",s=0;s<o.length;s++)(r=o[s]).key===a&&(i?o.splice(s--,1):(i=!0,r.value=u));i||o.push({key:a,value:u}),n.updateURL()},sort:function(){var t,e,r,n=os(this),o=n.entries,i=o.slice();for(o.length=0,r=0;r<i.length;r++){for(t=i[r],e=0;e<r;e++)if(o[e].key>t.key){o.splice(e,0,t);break}e===r&&o.push(t)}n.updateURL()},forEach:function(t){for(var e,r=os(this).entries,n=re(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<r.length;)n((e=r[o++]).value,e.key,this)},keys:function(){return new ms(this,"keys")},values:function(){return new ms(this,"values")},entries:function(){return new ms(this,"entries")}},{enumerable:!0}),rt(ws,ts,ws.entries),rt(ws,"toString",function(){for(var t,e=os(this).entries,r=[],n=0;n<e.length;)t=e[n++],r.push(ds(t.key)+"="+ds(t.value));return r.join("&")},{enumerable:!0}),Be(bs,es),Lt({global:!0,forced:!Bu},{URLSearchParams:bs}),Bu||"function"!=typeof Qu||"function"!=typeof Zu||Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var e,r,n,o=[t];return arguments.length>1&&(y(e=arguments[1])&&pr(r=e.body)===es&&((n=e.headers?new Zu(e.headers):new Zu).has("content-type")||n.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),e=Jt(e,{body:f(0,String(r)),headers:f(0,n)})),o.push(e)),Qu.apply(this,o)}});var Ss,Es={URLSearchParams:bs,getState:os},xs=Ie.codeAt,As=n.URL,Os=Es.URLSearchParams,Rs=Es.getState,js=et.set,Ps=et.getterFor("URL"),Is=Math.floor,Ts=Math.pow,ks="Invalid scheme",Ls="Invalid host",Us="Invalid port",Ms=/[A-Za-z]/,_s=/[\d+-.A-Za-z]/,Ns=/\d/,Cs=/^(0x|0X)/,Fs=/^[0-7]+$/,Bs=/^\d+$/,Ds=/^[\dA-Fa-f]+$/,qs=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,zs=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,Ws=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,Ks=/[\u0009\u000A\u000D]/g,Gs=function(t,e){var r,n,o;if("["==e.charAt(0)){if("]"!=e.charAt(e.length-1))return Ls;if(!(r=Vs(e.slice(1,-1))))return Ls;t.host=r}else if(ec(t)){if(e=function(t){var e,r,n=[],o=t.toLowerCase().replace(Gu,".").split(".");for(e=0;e<o.length;e++)n.push(Ku.test(r=o[e])?"xn--"+Ju(r):r);return n.join(".")}(e),qs.test(e))return Ls;if(null===(r=$s(e)))return Ls;t.host=r}else{if(zs.test(e))return Ls;for(r="",n=gr(e),o=0;o<n.length;o++)r+=Zs(n[o],Xs);t.host=r}},$s=function(t){var e,r,n,o,i,a,u,s=t.split(".");if(s.length&&""==s[s.length-1]&&s.pop(),(e=s.length)>4)return t;for(r=[],n=0;n<e;n++){if(""==(o=s[n]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=Cs.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?Bs:8==i?Fs:Ds).test(o))return t;a=parseInt(o,i)}r.push(a)}for(n=0;n<e;n++)if(a=r[n],n==e-1){if(a>=Ts(256,5-e))return null}else if(a>255)return null;for(u=r.pop(),n=0;n<r.length;n++)u+=r[n]*Ts(256,3-n);return u},Vs=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return t.charAt(l)};if(":"==h()){if(":"!=t.charAt(1))return;l+=2,f=++c}for(;h();){if(8==c)return;if(":"!=h()){for(e=r=0;r<4&&Ds.test(h());)e=16*e+parseInt(h(),16),l++,r++;if("."==h()){if(0==r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."==h()&&n<4))return;l++}if(!Ns.test(h()))return;for(;Ns.test(h());){if(i=parseInt(h(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!=n||c++}if(4!=n)return;break}if(":"==h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!=c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!=c)return;return s},Hs=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)e.unshift(t%256),t=Is(t/256);return e.join(".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r&&(e=n,r=o),e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=t[r].toString(16),r<7&&(e+=":")));return"["+e+"]"}return t},Xs={},Ys=zu({},Xs,{" ":1,'"':1,"<":1,">":1,"`":1}),Js=zu({},Ys,{"#":1,"?":1,"{":1,"}":1}),Qs=zu({},Js,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Zs=function(t,e){var r=xs(t,0);return r>32&&r<127&&!w(e,t)?t:encodeURIComponent(t)},tc={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ec=function(t){return w(tc,t.scheme)},rc=function(t){return""!=t.username||""!=t.password},nc=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},oc=function(t,e){var r;return 2==t.length&&Ms.test(t.charAt(0))&&(":"==(r=t.charAt(1))||!e&&"|"==r)},ic=function(t){var e;return t.length>1&&oc(t.slice(0,2))&&(2==t.length||"/"===(e=t.charAt(2))||"\\"===e||"?"===e||"#"===e)},ac=function(t){var e=t.path,r=e.length;!r||"file"==t.scheme&&1==r&&oc(e[0],!0)||e.pop()},uc=function(t){return"."===t||"%2e"===t.toLowerCase()},sc={},cc={},fc={},lc={},hc={},pc={},dc={},vc={},gc={},yc={},mc={},bc={},wc={},Sc={},Ec={},xc={},Ac={},Oc={},Rc={},jc={},Pc={},Ic=function(t,e,r,n){var o,i,a,u,s,c=r||sc,f=0,l="",h=!1,p=!1,d=!1;for(r||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,e=e.replace(Ws,"")),e=e.replace(Ks,""),o=gr(e);f<=o.length;){switch(i=o[f],c){case sc:if(!i||!Ms.test(i)){if(r)return ks;c=fc;continue}l+=i.toLowerCase(),c=cc;break;case cc:if(i&&(_s.test(i)||"+"==i||"-"==i||"."==i))l+=i.toLowerCase();else{if(":"!=i){if(r)return ks;l="",c=fc,f=0;continue}if(r&&(ec(t)!=w(tc,l)||"file"==l&&(rc(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=l,r)return void(ec(t)&&tc[t.scheme]==t.port&&(t.port=null));l="","file"==t.scheme?c=Sc:ec(t)&&n&&n.scheme==t.scheme?c=lc:ec(t)?c=vc:"/"==o[f+1]?(c=hc,f++):(t.cannotBeABaseURL=!0,t.path.push(""),c=Rc)}break;case fc:if(!n||n.cannotBeABaseURL&&"#"!=i)return ks;if(n.cannotBeABaseURL&&"#"==i){t.scheme=n.scheme,t.path=n.path.slice(),t.query=n.query,t.fragment="",t.cannotBeABaseURL=!0,c=Pc;break}c="file"==n.scheme?Sc:pc;continue;case lc:if("/"!=i||"/"!=o[f+1]){c=pc;continue}c=gc,f++;break;case hc:if("/"==i){c=yc;break}c=Oc;continue;case pc:if(t.scheme=n.scheme,i==Ss)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query;else if("/"==i||"\\"==i&&ec(t))c=dc;else if("?"==i)t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.path.pop(),c=Oc;continue}t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}break;case dc:if(!ec(t)||"/"!=i&&"\\"!=i){if("/"!=i){t.username=n.username,t.password=n.password,t.host=n.host,t.port=n.port,c=Oc;continue}c=yc}else c=gc;break;case vc:if(c=gc,"/"!=i||"/"!=l.charAt(f+1))continue;f++;break;case gc:if("/"!=i&&"\\"!=i){c=yc;continue}break;case yc:if("@"==i){h&&(l="%40"+l),h=!0,a=gr(l);for(var v=0;v<a.length;v++){var g=a[v];if(":"!=g||d){var y=Zs(g,Qs);d?t.password+=y:t.username+=y}else d=!0}l=""}else if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(h&&""==l)return"Invalid authority";f-=gr(l).length+1,l="",c=mc}else l+=i;break;case mc:case bc:if(r&&"file"==t.scheme){c=xc;continue}if(":"!=i||p){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)){if(ec(t)&&""==l)return Ls;if(r&&""==l&&(rc(t)||null!==t.port))return;if(u=Gs(t,l))return u;if(l="",c=Ac,r)return;continue}"["==i?p=!0:"]"==i&&(p=!1),l+=i}else{if(""==l)return Ls;if(u=Gs(t,l))return u;if(l="",c=wc,r==bc)return}break;case wc:if(!Ns.test(i)){if(i==Ss||"/"==i||"?"==i||"#"==i||"\\"==i&&ec(t)||r){if(""!=l){var m=parseInt(l,10);if(m>65535)return Us;t.port=ec(t)&&m===tc[t.scheme]?null:m,l=""}if(r)return;c=Ac;continue}return Us}l+=i;break;case Sc:if(t.scheme="file","/"==i||"\\"==i)c=Ec;else{if(!n||"file"!=n.scheme){c=Oc;continue}if(i==Ss)t.host=n.host,t.path=n.path.slice(),t.query=n.query;else if("?"==i)t.host=n.host,t.path=n.path.slice(),t.query="",c=jc;else{if("#"!=i){ic(o.slice(f).join(""))||(t.host=n.host,t.path=n.path.slice(),ac(t)),c=Oc;continue}t.host=n.host,t.path=n.path.slice(),t.query=n.query,t.fragment="",c=Pc}}break;case Ec:if("/"==i||"\\"==i){c=xc;break}n&&"file"==n.scheme&&!ic(o.slice(f).join(""))&&(oc(n.path[0],!0)?t.path.push(n.path[0]):t.host=n.host),c=Oc;continue;case xc:if(i==Ss||"/"==i||"\\"==i||"?"==i||"#"==i){if(!r&&oc(l))c=Oc;else if(""==l){if(t.host="",r)return;c=Ac}else{if(u=Gs(t,l))return u;if("localhost"==t.host&&(t.host=""),r)return;l="",c=Ac}continue}l+=i;break;case Ac:if(ec(t)){if(c=Oc,"/"!=i&&"\\"!=i)continue}else if(r||"?"!=i)if(r||"#"!=i){if(i!=Ss&&(c=Oc,"/"!=i))continue}else t.fragment="",c=Pc;else t.query="",c=jc;break;case Oc:if(i==Ss||"/"==i||"\\"==i&&ec(t)||!r&&("?"==i||"#"==i)){if(".."===(s=(s=l).toLowerCase())||"%2e."===s||".%2e"===s||"%2e%2e"===s?(ac(t),"/"==i||"\\"==i&&ec(t)||t.path.push("")):uc(l)?"/"==i||"\\"==i&&ec(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&oc(l)&&(t.host&&(t.host=""),l=l.charAt(0)+":"),t.path.push(l)),l="","file"==t.scheme&&(i==Ss||"?"==i||"#"==i))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==i?(t.query="",c=jc):"#"==i&&(t.fragment="",c=Pc)}else l+=Zs(i,Js);break;case Rc:"?"==i?(t.query="",c=jc):"#"==i?(t.fragment="",c=Pc):i!=Ss&&(t.path[0]+=Zs(i,Xs));break;case jc:r||"#"!=i?i!=Ss&&("'"==i&&ec(t)?t.query+="%27":t.query+="#"==i?"%23":Zs(i,Xs)):(t.fragment="",c=Pc);break;case Pc:i!=Ss&&(t.fragment+=Zs(i,Ys))}f++}},Tc=function(t){var e,r,n=Br(this,Tc,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=js(n,{type:"URL"});if(void 0!==o)if(o instanceof Tc)e=Ps(o);else if(r=Ic(e={},String(o)))throw TypeError(r);if(r=Ic(u,a,null,e))throw TypeError(r);var s=u.searchParams=new Os,c=Rs(s);c.updateSearchParams(u.query),c.updateURL=function(){u.query=String(s)||null},i||(n.href=Lc.call(n),n.origin=Uc.call(n),n.protocol=Mc.call(n),n.username=_c.call(n),n.password=Nc.call(n),n.host=Cc.call(n),n.hostname=Fc.call(n),n.port=Bc.call(n),n.pathname=Dc.call(n),n.search=qc.call(n),n.searchParams=zc.call(n),n.hash=Wc.call(n))},kc=Tc.prototype,Lc=function(){var t=Ps(this),e=t.scheme,r=t.username,n=t.password,o=t.host,i=t.port,a=t.path,u=t.query,s=t.fragment,c=e+":";return null!==o?(c+="//",rc(t)&&(c+=r+(n?":"+n:"")+"@"),c+=Hs(o),null!==i&&(c+=":"+i)):"file"==e&&(c+="//"),c+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(c+="?"+u),null!==s&&(c+="#"+s),c},Uc=function(){var t=Ps(this),e=t.scheme,r=t.port;if("blob"==e)try{return new URL(e.path[0]).origin}catch(t){return"null"}return"file"!=e&&ec(t)?e+"://"+Hs(t.host)+(null!==r?":"+r:""):"null"},Mc=function(){return Ps(this).scheme+":"},_c=function(){return Ps(this).username},Nc=function(){return Ps(this).password},Cc=function(){var t=Ps(this),e=t.host,r=t.port;return null===e?"":null===r?Hs(e):Hs(e)+":"+r},Fc=function(){var t=Ps(this).host;return null===t?"":Hs(t)},Bc=function(){var t=Ps(this).port;return null===t?"":String(t)},Dc=function(){var t=Ps(this),e=t.path;return t.cannotBeABaseURL?e[0]:e.length?"/"+e.join("/"):""},qc=function(){var t=Ps(this).query;return t?"?"+t:""},zc=function(){return Ps(this).searchParams},Wc=function(){var t=Ps(this).fragment;return t?"#"+t:""},Kc=function(t,e){return{get:t,set:e,configurable:!0,enumerable:!0}};if(i&&Wt(kc,{href:Kc(Lc,function(t){var e=Ps(this),r=String(t),n=Ic(e,r);if(n)throw TypeError(n);Rs(e.searchParams).updateSearchParams(e.query)}),origin:Kc(Uc),protocol:Kc(Mc,function(t){var e=Ps(this);Ic(e,String(t)+":",sc)}),username:Kc(_c,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.username="";for(var n=0;n<r.length;n++)e.username+=Zs(r[n],Qs)}}),password:Kc(Nc,function(t){var e=Ps(this),r=gr(String(t));if(!nc(e)){e.password="";for(var n=0;n<r.length;n++)e.password+=Zs(r[n],Qs)}}),host:Kc(Cc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),mc)}),hostname:Kc(Fc,function(t){var e=Ps(this);e.cannotBeABaseURL||Ic(e,String(t),bc)}),port:Kc(Bc,function(t){var e=Ps(this);nc(e)||(""==(t=String(t))?e.port=null:Ic(e,t,wc))}),pathname:Kc(Dc,function(t){var e=Ps(this);e.cannotBeABaseURL||(e.path=[],Ic(e,t+"",Ac))}),search:Kc(qc,function(t){var e=Ps(this);""==(t=String(t))?e.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),e.query="",Ic(e,t,jc)),Rs(e.searchParams).updateSearchParams(e.query)}),searchParams:Kc(zc),hash:Kc(Wc,function(t){var e=Ps(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),e.fragment="",Ic(e,t,Pc)):e.fragment=null})}),rt(kc,"toJSON",function(){return Lc.call(this)},{enumerable:!0}),rt(kc,"toString",function(){return Lc.call(this)},{enumerable:!0}),As){var Gc=As.createObjectURL,$c=As.revokeObjectURL;Gc&&rt(Tc,"createObjectURL",function(t){return Gc.apply(As,arguments)}),$c&&rt(Tc,"revokeObjectURL",function(t){return $c.apply(As,arguments)})}Be(Tc,"URL"),Lt({global:!0,forced:!Bu,sham:!i},{URL:Tc}),Lt({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}}),Lt({target:"WeakMap",stat:!0},{from:an}),Lt({target:"WeakMap",stat:!0},{of:un}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakMap",proto:!0,real:!0,forced:q},{upsert:pn}),qr("WeakSet",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},So),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{addAll:function(){return Zi.apply(this,arguments)}}),Lt({target:"WeakSet",proto:!0,real:!0,forced:q},{deleteAll:function(){return sn.apply(this,arguments)}}),Lt({target:"WeakSet",stat:!0},{from:an}),Lt({target:"WeakSet",stat:!0},{of:un});var Vc,Hc,Xc,Yc=n.Promise,Jc=/(iphone|ipod|ipad).*applewebkit/i.test(na),Qc=n.location,Zc=n.setImmediate,tf=n.clearImmediate,ef=n.process,rf=n.MessageChannel,nf=n.Dispatch,of=0,af={},uf="onreadystatechange",sf=function(t){if(af.hasOwnProperty(t)){var e=af[t];delete af[t],e()}},cf=function(t){return function(){sf(t)}},ff=function(t){sf(t.data)},lf=function(t){n.postMessage(t+"",Qc.protocol+"//"+Qc.host)};Zc&&tf||(Zc=function(t){for(var e=[],r=1;arguments.length>r;)e.push(arguments[r++]);return af[++of]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},Vc(of),of},tf=function(t){delete af[t]},"process"==h(ef)?Vc=function(t){ef.nextTick(cf(t))}:nf&&nf.now?Vc=function(t){nf.now(cf(t))}:rf&&!Jc?(Xc=(Hc=new rf).port2,Hc.port1.onmessage=ff,Vc=re(Xc.postMessage,Xc,1)):!n.addEventListener||"function"!=typeof postMessage||n.importScripts||o(lf)||"file:"===Qc.protocol?Vc=uf in x("script")?function(t){Kt.appendChild(x("script"))[uf]=function(){Kt.removeChild(this),sf(t)}}:function(t){setTimeout(cf(t),0)}:(Vc=lf,n.addEventListener("message",ff,!1)));var hf,pf,df,vf,gf,yf,mf,bf,wf={set:Zc,clear:tf},Sf=R.f,Ef=wf.set,xf=n.MutationObserver||n.WebKitMutationObserver,Af=n.process,Of=n.Promise,Rf="process"==h(Af),jf=Sf(n,"queueMicrotask"),Pf=jf&&jf.value;Pf||(hf=function(){var t,e;for(Rf&&(t=Af.domain)&&t.exit();pf;){e=pf.fn,pf=pf.next;try{e()}catch(t){throw pf?vf():df=void 0,t}}df=void 0,t&&t.enter()},Rf?vf=function(){Af.nextTick(hf)}:xf&&!Jc?(gf=!0,yf=document.createTextNode(""),new xf(hf).observe(yf,{characterData:!0}),vf=function(){yf.data=gf=!gf}):Of&&Of.resolve?(mf=Of.resolve(void 0),bf=mf.then,vf=function(){bf.call(mf,hf)}):vf=function(){Ef.call(n,hf)});var If,Tf,kf,Lf,Uf=Pf||function(t){var e={fn:t,next:void 0};df&&(df.next=e),pf||(pf=e,vf()),df=e},Mf=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=n}),this.resolve=ee(e),this.reject=ee(r)},_f={f:function(t){return new Mf(t)}},Nf=function(t,e){if(j(t),y(e)&&e.constructor===t)return e;var r=_f.f(t);return(0,r.resolve)(e),r.promise},Cf=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Ff=wf.set,Bf=qt("species"),Df="Promise",qf=et.get,zf=et.set,Wf=et.getterFor(Df),Kf=Yc,Gf=n.TypeError,$f=n.document,Vf=n.process,Hf=it("fetch"),Xf=_f.f,Yf=Xf,Jf="process"==h(Vf),Qf=!!($f&&$f.createEvent&&n.dispatchEvent),Zf="unhandledrejection",tl=Tt(Df,function(){if(F(Kf)===String(Kf)){if(66===ua)return!0;if(!Jf&&"function"!=typeof PromiseRejectionEvent)return!0}if(ua>=51&&/native code/.test(Kf))return!1;var t=Kf.resolve(1),e=function(t){t(function(){},function(){})};return(t.constructor={})[Bf]=e,!(t.then(function(){})instanceof e)}),el=tl||!Sr(function(t){Kf.all(t).catch(function(){})}),rl=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},nl=function(t,e,r){if(!e.notified){e.notified=!0;var n=e.reactions;Uf(function(){for(var o=e.value,i=1==e.state,a=0;n.length>a;){var u,s,c,f=n[a++],l=i?f.ok:f.fail,h=f.resolve,p=f.reject,d=f.domain;try{l?(i||(2===e.rejection&&ul(t,e),e.rejection=1),!0===l?u=o:(d&&d.enter(),u=l(o),d&&(d.exit(),c=!0)),u===f.promise?p(Gf("Promise-chain cycle")):(s=rl(u))?s.call(u,h,p):h(u)):p(o)}catch(t){d&&!c&&d.exit(),p(t)}}e.reactions=[],e.notified=!1,r&&!e.rejection&&il(t,e)})}},ol=function(t,e,r){var o,i;Qf?((o=$f.createEvent("Event")).promise=e,o.reason=r,o.initEvent(t,!1,!0),n.dispatchEvent(o)):o={promise:e,reason:r},(i=n["on"+t])?i(o):t===Zf&&function(t,e){var r=n.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}("Unhandled promise rejection",r)},il=function(t,e){Ff.call(n,function(){var r,n=e.value;if(al(e)&&(r=Cf(function(){Jf?Vf.emit("unhandledRejection",n,t):ol(Zf,t,n)}),e.rejection=Jf||al(e)?2:1,r.error))throw r.value})},al=function(t){return 1!==t.rejection&&!t.parent},ul=function(t,e){Ff.call(n,function(){Jf?Vf.emit("rejectionHandled",t):ol("rejectionhandled",t,e.value)})},sl=function(t,e,r,n){return function(o){t(e,r,o,n)}},cl=function(t,e,r,n){e.done||(e.done=!0,n&&(e=n),e.value=r,e.state=2,nl(t,e,!0))},fl=function(t,e,r,n){if(!e.done){e.done=!0,n&&(e=n);try{if(t===r)throw Gf("Promise can't be resolved itself");var o=rl(r);o?Uf(function(){var n={done:!1};try{o.call(r,sl(fl,t,n,e),sl(cl,t,n,e))}catch(r){cl(t,n,r,e)}}):(e.value=r,e.state=1,nl(t,e,!1))}catch(r){cl(t,{done:!1},r,e)}}};tl&&(Kf=function(t){Br(this,Kf,Df),ee(t),If.call(this);var e=qf(this);try{t(sl(fl,this,e),sl(cl,this,e))}catch(t){cl(this,e,t)}},(If=function(t){zf(this,{type:Df,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=zr(Kf.prototype,{then:function(t,e){var r=Wf(this),n=Xf(hn(this,Kf));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=Jf?Vf.domain:void 0,r.parent=!0,r.reactions.push(n),0!=r.state&&nl(this,r,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),Tf=function(){var t=new If,e=qf(t);this.promise=t,this.resolve=sl(fl,t,e),this.reject=sl(cl,t,e)},_f.f=Xf=function(t){return t===Kf||t===kf?new Tf(t):Yf(t)},"function"==typeof Yc&&(Lf=Yc.prototype.then,rt(Yc.prototype,"then",function(t,e){var r=this;return new Kf(function(t,e){Lf.call(r,t,e)}).then(t,e)},{unsafe:!0}),"function"==typeof Hf&&Lt({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return Nf(Kf,Hf.apply(n,arguments))}}))),Lt({global:!0,wrap:!0,forced:tl},{Promise:Kf}),Be(Kf,Df,!1),Kr(Df),kf=it(Df),Lt({target:Df,stat:!0,forced:tl},{reject:function(t){var e=Xf(this);return e.reject.call(void 0,t),e.promise}}),Lt({target:Df,stat:!0,forced:tl},{resolve:function(t){return Nf(this,t)}}),Lt({target:Df,stat:!0,forced:el},{all:function(t){var e=this,r=Xf(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1;Fr(t,function(t){var s=a++,c=!1;i.push(void 0),u++,r.call(e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise},race:function(t){var e=this,r=Xf(e),n=r.reject,o=Cf(function(){var o=ee(e.resolve);Fr(t,function(t){o.call(e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Lt({target:"Promise",stat:!0},{allSettled:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),o=[],i=0,a=1;Fr(t,function(t){var u=i++,s=!1;o.push(void 0),a++,r.call(e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var ll=!!Yc&&o(function(){Yc.prototype.finally.call({then:function(){}},function(){})});Lt({target:"Promise",proto:!0,real:!0,forced:ll},{finally:function(t){var e=hn(this,it("Promise")),r="function"==typeof t;return this.then(r?function(r){return Nf(e,t()).then(function(){return r})}:t,r?function(r){return Nf(e,t()).then(function(){throw r})}:t)}}),"function"!=typeof Yc||Yc.prototype.finally||rt(Yc.prototype,"finally",it("Promise").prototype.finally);var hl=et.set,pl=et.getterFor("AggregateError"),dl=function(t,e){var r=this;if(!(r instanceof dl))return new dl(t,e);Ge&&(r=Ge(new Error(e),Ue(r)));var n=[];return Fr(t,n.push,n),i?hl(r,{errors:n,type:"AggregateError"}):r.errors=n,void 0!==e&&T(r,"message",String(e)),r};dl.prototype=Jt(Error.prototype,{constructor:f(5,dl),message:f(5,""),name:f(5,"AggregateError")}),i&&I.f(dl.prototype,"errors",{get:function(){return pl(this).errors},configurable:!0}),Lt({global:!0},{AggregateError:dl}),Lt({target:"Promise",stat:!0},{try:function(t){var e=_f.f(this),r=Cf(t);return(r.error?e.reject:e.resolve)(r.value),e.promise}});var vl="No one promise resolved";Lt({target:"Promise",stat:!0},{any:function(t){var e=this,r=_f.f(e),n=r.resolve,o=r.reject,i=Cf(function(){var r=ee(e.resolve),i=[],a=0,u=1,s=!1;Fr(t,function(t){var c=a++,f=!1;i.push(void 0),u++,r.call(e,t).then(function(t){f||s||(s=!0,n(t))},function(t){f||s||(f=!0,i[c]=t,--u||o(new(it("AggregateError"))(i,vl)))})}),--u||o(new(it("AggregateError"))(i,vl))});return i.error&&o(i.value),r.promise}}),oe("Promise","finally");var gl="URLSearchParams"in self,yl="Symbol"in self&&"iterator"in Symbol,ml="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),bl="FormData"in self,wl="ArrayBuffer"in self;if(wl)var Sl=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],El=ArrayBuffer.isView||function(t){return t&&Sl.indexOf(Object.prototype.toString.call(t))>-1};function xl(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Al(t){return"string"!=typeof t&&(t=String(t)),t}function Ol(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return yl&&(e[Symbol.iterator]=function(){return e}),e}function Rl(t){this.map={},t instanceof Rl?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function jl(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function Pl(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function Il(t){var e=new FileReader,r=Pl(e);return e.readAsArrayBuffer(t),r}function Tl(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function kl(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:ml&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:bl&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:gl&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():wl&&ml&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=Tl(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):wl&&(ArrayBuffer.prototype.isPrototypeOf(t)||El(t))?this._bodyArrayBuffer=Tl(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):gl&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},ml&&(this.blob=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?jl(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(Il)}),this.text=function(){var t=jl(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=Pl(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n<e.length;n++)r[n]=String.fromCharCode(e[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},bl&&(this.formData=function(){return this.text().then(Ml)}),this.json=function(){return this.text().then(JSON.parse)},this}Rl.prototype.append=function(t,e){t=xl(t),e=Al(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},Rl.prototype.delete=function(t){delete this.map[xl(t)]},Rl.prototype.get=function(t){return t=xl(t),this.has(t)?this.map[t]:null},Rl.prototype.has=function(t){return this.map.hasOwnProperty(xl(t))},Rl.prototype.set=function(t,e){this.map[xl(t)]=Al(e)},Rl.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},Rl.prototype.keys=function(){var t=[];return this.forEach(function(e,r){t.push(r)}),Ol(t)},Rl.prototype.values=function(){var t=[];return this.forEach(function(e){t.push(e)}),Ol(t)},Rl.prototype.entries=function(){var t=[];return this.forEach(function(e,r){t.push([r,e])}),Ol(t)},yl&&(Rl.prototype[Symbol.iterator]=Rl.prototype.entries);var Ll=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Ul(t,e){var r,n,o=(e=e||{}).body;if(t instanceof Ul){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new Rl(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new Rl(e.headers)),this.method=(n=(r=e.method||this.method||"GET").toUpperCase(),Ll.indexOf(n)>-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function Ml(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function _l(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new Rl(e.headers),this.url=e.url||"",this._initBody(t)}Ul.prototype.clone=function(){return new Ul(this,{body:this._bodyInit})},kl.call(Ul.prototype),kl.call(_l.prototype),_l.prototype.clone=function(){return new _l(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Rl(this.headers),url:this.url})},_l.error=function(){var t=new _l(null,{status:0,statusText:""});return t.type="error",t};var Nl=[301,302,303,307,308];_l.redirect=function(t,e){if(-1===Nl.indexOf(e))throw new RangeError("Invalid status code");return new _l(null,{status:e,headers:{location:t}})};var Cl=self.DOMException;try{new Cl}catch(t){(Cl=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),Cl.prototype.constructor=Cl}function Fl(t,e){return new Promise(function(r,n){var o=new Ul(t,e);if(o.signal&&o.signal.aborted)return n(new Cl("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new Rl,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new _l("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new Cl("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&ml&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}Fl.polyfill=!0,self.fetch||(self.fetch=Fl,self.Headers=Rl,self.Request=Ul,self.Response=_l);var Bl=Object.getOwnPropertySymbols,Dl=Object.prototype.hasOwnProperty,ql=Object.prototype.propertyIsEnumerable,zl=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i<arguments.length;i++){for(var a in r=Object(arguments[i]))Dl.call(r,a)&&(o[a]=r[a]);if(Bl){n=Bl(r);for(var u=0;u<n.length;u++)ql.call(r,n[u])&&(o[n[u]]=r[n[u]])}}return o};Object.assign=zl}();
out/_next/static/chunks/webpack-8f7c4246348aad30.js ADDED
@@ -0,0 +1 @@
 
 
1
+ !function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={exports:{}},r=!0;try{a[e](n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u<e.length;u++){for(var n=e[u][0],r=e[u][1],o=e[u][2],c=!0,f=0;f<n.length;f++)i>=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o<i&&(i=o));if(c){e.splice(u--,1);var a=r();void 0!==a&&(t=a)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var o=Object.create(null);d.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var i=2&r&&e;"object"==typeof i&&!~t.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(function(t){u[t]=function(){return e[t]}});return u.default=function(){return e},d.d(o,u),o},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){},d.miniCssF=function(e){},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="_N_E:",d.l=function(e,t,n,u){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var i,c,f=document.getElementsByTagName("script"),a=0;a<f.length;a++){var l=f[a];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==o+n){i=l;break}}i||(c=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,d.nc&&i.setAttribute("nonce",d.nc),i.setAttribute("data-webpack",o+n),i.src=d.tu(e)),r[e]=[t];var s=function(t,n){i.onerror=i.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=s.bind(null,i.onerror),i.onload=s.bind(null,i.onload),c&&document.head.appendChild(i)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===u&&(u={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(u=trustedTypes.createPolicy("nextjs#bundler",u))),u},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/_next/",i={272:0,93:0},d.f.j=function(e,t){var n=d.o(i,e)?i[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(/^(272|93)$/.test(e))i[e]=0;else{var r=new Promise(function(t,r){n=i[e]=[t,r]});t.push(n[2]=r);var o=d.p+d.u(e),u=Error();d.l(o,function(t){if(d.o(i,e)&&(0!==(n=i[e])&&(i[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;u.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",u.name="ChunkLoadError",u.type=r,u.request=o,n[1](u)}},"chunk-"+e,e)}}},d.O.j=function(e){return 0===i[e]},c=function(e,t){var n,r,o=t[0],u=t[1],c=t[2],f=0;if(o.some(function(e){return 0!==i[e]})){for(n in u)d.o(u,n)&&(d.m[n]=u[n]);if(c)var a=c(d)}for(e&&e(t);f<o.length;f++)r=o[f],d.o(i,r)&&i[r]&&i[r][0](),i[r]=0;return d.O(a)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(c.bind(null,0)),f.push=c.bind(null,f.push.bind(f)),d.nc=void 0}();
out/_next/static/css/010afec7547c6d1a.css ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ @font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_e8ce0c;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_e8ce0c;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_e8ce0c{font-family:__Inter_e8ce0c,__Inter_Fallback_e8ce0c;font-style:normal}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
+ ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
3
+ */*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width:1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-0{left:0}.left-\[50\%\]{left:50%}.right-4{right:1rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-6{margin-top:1.5rem}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-\[24px\]{min-width:24px}.min-w-\[60px\]{min-width:60px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-\[80px\]{max-width:80px}.max-w-lg{max-width:32rem}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.origin-bottom-left{transform-origin:bottom left}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.-rotate-45{--tw-rotate:-45deg}.-rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity,1))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:rgba(0,0,0,.8)}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:rgba(240,253,244,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(238,242,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-50{--tw-gradient-from:#fff7ed var(--tw-gradient-from-position);--tw-gradient-to:rgba(255,247,237,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-50{--tw-gradient-from:#fdf2f8 var(--tw-gradient-from-position);--tw-gradient-to:rgba(253,242,248,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-50{--tw-gradient-from:#faf5ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,245,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-blue-100{--tw-gradient-to:#dbeafe var(--tw-gradient-to-position)}.to-green-100{--tw-gradient-to:#dcfce7 var(--tw-gradient-to-position)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-orange-100{--tw-gradient-to:#ffedd5 var(--tw-gradient-to-position)}.to-pink-100{--tw-gradient-to:#fce7f3 var(--tw-gradient-to-position)}.to-purple-100{--tw-gradient-to:#f3e8ff var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-4{padding-left:1rem}.pt-0{padding-top:0}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity,1))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity,1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-200{animation-duration:.2s}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity,1))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
out/_next/static/media/26a46d62cd723877-s.woff2 ADDED
Binary file (18.8 kB). View file
 
out/_next/static/media/55c55f0601d81cf3-s.woff2 ADDED
Binary file (25.9 kB). View file
 
out/_next/static/media/581909926a08bbc8-s.woff2 ADDED
Binary file (19.1 kB). View file
 
out/_next/static/media/8e9860b6e62d6359-s.woff2 ADDED
Binary file (85.3 kB). View file
 
out/_next/static/media/97e0cb1ae144a2a9-s.woff2 ADDED
Binary file (11.2 kB). View file
 
out/_next/static/media/df0a9ae256c0569c-s.woff2 ADDED
Binary file (10.3 kB). View file
 
out/_next/static/media/e4af272ccee01ff0-s.p.woff2 ADDED
Binary file (48.4 kB). View file
 
out/index.html ADDED
The diff for this file is too large to render. See raw diff
 
out/index.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ 2:I[7021,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"StatsDashboard"]
2
+ 3:I[2377,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"ProgressTimeline"]
3
+ 4:I[8698,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"WordEvolutionTracker"]
4
+ 5:I[8577,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"ScoreMatrixVisualization"]
5
+ 6:I[4996,["506","static/chunks/506-f293b903a260cb45.js","931","static/chunks/app/page-24a4cfd26a3ffdcb.js"],"HillclimbingExplanation"]
6
+ 7:I[9275,[],""]
7
+ 8:I[1343,[],""]
8
+ 0:["0QpfhtDA6HMYOb_8z8_NB",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},[["$L1",["$","div",null,{"className":"min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100","children":["$","div",null,{"className":"container mx-auto px-4 py-8","children":[["$","div",null,{"className":"text-center mb-12","children":[["$","h1",null,{"className":"text-4xl font-bold text-gray-900 mb-4","children":"DAT Creativity Game Progress"}],["$","p",null,{"className":"text-xl text-gray-600 max-w-2xl mx-auto","children":"An interactive visualization of my journey through the Divergent Association Task (DAT) creativity game, showcasing the hillclimbing optimization technique."}]]}],["$","div",null,{"className":"space-y-8","children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","$L4",null,{}],["$","$L5",null,{}],["$","$L6",null,{}],["$","div",null,{"className":"rounded-lg border bg-card text-card-foreground shadow-sm mb-8","children":[["$","div",null,{"className":"flex flex-col space-y-1.5 p-6","children":[["$","div",null,{"className":"text-2xl font-semibold leading-none tracking-tight","children":"What is the DAT Creativity Game?"}],["$","div",null,{"className":"text-sm text-muted-foreground","children":"Understanding the Divergent Association Task"}]]}],["$","div",null,{"className":"p-6 pt-0 space-y-4","children":[["$","p",null,{"className":"text-gray-700","children":"The Divergent Association Task (DAT) is a creativity assessment that measures your ability to think of diverse, unrelated concepts. Players must generate 10 words that are as semantically distant from each other as possible."}],["$","p",null,{"className":"text-gray-700","children":"The challenge lies in finding words that share minimal conceptual overlap, requiring creative thinking and broad knowledge across different domains."}]]}]]}]]}]]}]}]],null],null]},[["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_e8ce0c","children":["$","$L7",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L8",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null],null],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/010afec7547c6d1a.css","precedence":"next","crossOrigin":"$undefined"}]],[null,"$L9"]]]]]
9
+ 9:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"DAT Creativity Game Progress"}],["$","meta","3",{"name":"description","content":"Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization"}],["$","meta","4",{"name":"next-size-adjust"}]]
10
+ 1:null
package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
package.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "datcreativityapp",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "next dev",
7
+ "build": "next build",
8
+ "export": "next build",
9
+ "start": "next start",
10
+ "lint": "next lint"
11
+ },
12
+ "dependencies": {
13
+ "@radix-ui/react-dialog": "^1.1.15",
14
+ "@radix-ui/react-slot": "^1.2.3",
15
+ "autoprefixer": "^10.4.21",
16
+ "class-variance-authority": "^0.7.1",
17
+ "clsx": "^2.1.1",
18
+ "lucide-react": "^0.539.0",
19
+ "next": "14.2.5",
20
+ "react": "^18",
21
+ "react-dom": "^18",
22
+ "tailwind-merge": "^3.3.1",
23
+ "tailwindcss-animate": "^1.0.7"
24
+ },
25
+ "devDependencies": {
26
+ "@types/node": "^20",
27
+ "@types/react": "^18",
28
+ "@types/react-dom": "^18",
29
+ "eslint": "^8",
30
+ "eslint-config-next": "14.2.5",
31
+ "postcss": "^8",
32
+ "tailwindcss": "^3.4.1",
33
+ "typescript": "^5"
34
+ }
35
+ }
postcss.config.mjs ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ /** @type {import('postcss-load-config').Config} */
2
+ const config = {
3
+ plugins: {
4
+ tailwindcss: {},
5
+ autoprefixer: {},
6
+ },
7
+ };
8
+
9
+ export default config;
public/.DS_Store ADDED
Binary file (6.15 kB). View file
 
src/.DS_Store ADDED
Binary file (6.15 kB). View file
 
src/app/globals.css ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @layer base {
6
+ :root {
7
+ --background: 0 0% 100%;
8
+ --foreground: 222.2 84% 4.9%;
9
+ --card: 0 0% 100%;
10
+ --card-foreground: 222.2 84% 4.9%;
11
+ --popover: 0 0% 100%;
12
+ --popover-foreground: 222.2 84% 4.9%;
13
+ --primary: 222.2 47.4% 11.2%;
14
+ --primary-foreground: 210 40% 98%;
15
+ --secondary: 210 40% 96%;
16
+ --secondary-foreground: 222.2 47.4% 11.2%;
17
+ --muted: 210 40% 96%;
18
+ --muted-foreground: 215.4 16.3% 46.9%;
19
+ --accent: 210 40% 96%;
20
+ --accent-foreground: 222.2 47.4% 11.2%;
21
+ --destructive: 0 84.2% 60.2%;
22
+ --destructive-foreground: 210 40% 98%;
23
+ --border: 214.3 31.8% 91.4%;
24
+ --input: 214.3 31.8% 91.4%;
25
+ --ring: 222.2 84% 4.9%;
26
+ --radius: 0.5rem;
27
+ --chart-1: 12 76% 61%;
28
+ --chart-2: 173 58% 39%;
29
+ --chart-3: 197 37% 24%;
30
+ --chart-4: 43 74% 66%;
31
+ --chart-5: 27 87% 67%;
32
+ }
33
+
34
+ .dark {
35
+ --background: 222.2 84% 4.9%;
36
+ --foreground: 210 40% 98%;
37
+ --card: 222.2 84% 4.9%;
38
+ --card-foreground: 210 40% 98%;
39
+ --popover: 222.2 84% 4.9%;
40
+ --popover-foreground: 210 40% 98%;
41
+ --primary: 210 40% 98%;
42
+ --primary-foreground: 222.2 47.4% 11.2%;
43
+ --secondary: 217.2 32.6% 17.5%;
44
+ --secondary-foreground: 210 40% 98%;
45
+ --muted: 217.2 32.6% 17.5%;
46
+ --muted-foreground: 215 20.2% 65.1%;
47
+ --accent: 217.2 32.6% 17.5%;
48
+ --accent-foreground: 210 40% 98%;
49
+ --destructive: 0 62.8% 30.6%;
50
+ --destructive-foreground: 210 40% 98%;
51
+ --border: 217.2 32.6% 17.5%;
52
+ --input: 217.2 32.6% 17.5%;
53
+ --ring: 212.7 26.8% 83.9%;
54
+ --chart-1: 220 70% 50%;
55
+ --chart-2: 160 60% 45%;
56
+ --chart-3: 30 80% 55%;
57
+ --chart-4: 280 65% 60%;
58
+ --chart-5: 340 75% 55%;
59
+ }
60
+ }
61
+
62
+ @layer base {
63
+ * {
64
+ @apply border-border;
65
+ }
66
+ body {
67
+ @apply bg-background text-foreground;
68
+ }
69
+ }
src/app/layout.tsx ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import type { Metadata } from "next";
2
+ import { Inter } from "next/font/google";
3
+ import "./globals.css";
4
+
5
+ const inter = Inter({ subsets: ["latin"] });
6
+
7
+ export const metadata: Metadata = {
8
+ title: "DAT Creativity Game Progress",
9
+ description: "Interactive visualization of my progress in the DAT creativity game using hillclimbing optimization",
10
+ };
11
+
12
+ export default function RootLayout({
13
+ children,
14
+ }: Readonly<{
15
+ children: React.ReactNode;
16
+ }>) {
17
+ return (
18
+ <html lang="en">
19
+ <body className={inter.className}>{children}</body>
20
+ </html>
21
+ );
22
+ }
src/app/page.tsx ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
2
+ import { Badge } from "@/components/ui/badge";
3
+ import { ProgressTimeline } from "@/components/ProgressTimeline";
4
+ import { WordEvolutionTracker } from "@/components/WordEvolutionTracker";
5
+ import { ScoreMatrixVisualization } from "@/components/ScoreMatrixVisualization";
6
+ import { HillclimbingExplanation } from "@/components/HillclimbingExplanation";
7
+ import { StatsDashboard } from "@/components/StatsDashboard";
8
+
9
+ export default function Home() {
10
+ return (
11
+ <div className="min-h-screen bg-gradient-to-br from-blue-50 to-indigo-100">
12
+ <div className="container mx-auto px-4 py-8">
13
+ <div className="text-center mb-12">
14
+ <h1 className="text-4xl font-bold text-gray-900 mb-4">
15
+ DAT Creativity Game Progress
16
+ </h1>
17
+ <p className="text-xl text-gray-600 max-w-2xl mx-auto">
18
+ An interactive visualization of my journey through the Divergent Association Task (DAT)
19
+ creativity game, showcasing the hillclimbing optimization technique.
20
+ </p>
21
+ </div>
22
+
23
+ <div className="space-y-8">
24
+ <StatsDashboard />
25
+
26
+ <ProgressTimeline />
27
+
28
+ <WordEvolutionTracker />
29
+
30
+ <ScoreMatrixVisualization />
31
+
32
+ <HillclimbingExplanation />
33
+
34
+ <Card className="mb-8">
35
+ <CardHeader>
36
+ <CardTitle>What is the DAT Creativity Game?</CardTitle>
37
+ <CardDescription>Understanding the Divergent Association Task</CardDescription>
38
+ </CardHeader>
39
+ <CardContent className="space-y-4">
40
+ <p className="text-gray-700">
41
+ The Divergent Association Task (DAT) is a creativity assessment that measures your ability
42
+ to think of diverse, unrelated concepts. Players must generate 10 words that are as
43
+ semantically distant from each other as possible.
44
+ </p>
45
+ <p className="text-gray-700">
46
+ The challenge lies in finding words that share minimal conceptual overlap, requiring
47
+ creative thinking and broad knowledge across different domains.
48
+ </p>
49
+ </CardContent>
50
+ </Card>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ );
55
+ }
src/components/HillclimbingExplanation.tsx ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client";
2
+
3
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
4
+ import { Badge } from "@/components/ui/badge";
5
+ import { Mountain, ArrowUp, RotateCcw, Target, Lightbulb } from "lucide-react";
6
+
7
+ export function HillclimbingExplanation() {
8
+ return (
9
+ <div className="space-y-6">
10
+ <Card>
11
+ <CardHeader>
12
+ <CardTitle className="flex items-center gap-2">
13
+ <Mountain className="h-5 w-5" />
14
+ Understanding Hillclimbing Optimization
15
+ </CardTitle>
16
+ </CardHeader>
17
+ <CardContent className="space-y-6">
18
+ <div className="text-gray-700">
19
+ <p className="mb-4">
20
+ <strong>Hillclimbing</strong> is a local search optimization algorithm that continuously
21
+ moves towards better solutions by making incremental improvements. Think of it like
22
+ climbing a hill in foggy weather - you can only see your immediate surroundings,
23
+ so you always take the step that goes uphill.
24
+ </p>
25
+ </div>
26
+
27
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
28
+ <div className="space-y-4">
29
+ <h3 className="text-lg font-semibold text-gray-900 flex items-center gap-2">
30
+ <ArrowUp className="h-4 w-4" />
31
+ Algorithm Steps
32
+ </h3>
33
+ <div className="space-y-3">
34
+ <div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
35
+ <Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">1</Badge>
36
+ <div className="text-sm">
37
+ <strong>Initialize:</strong> Start with a random solution (10 diverse words)
38
+ </div>
39
+ </div>
40
+ <div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
41
+ <Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">2</Badge>
42
+ <div className="text-sm">
43
+ <strong>Evaluate:</strong> Calculate semantic distances between all word pairs
44
+ </div>
45
+ </div>
46
+ <div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
47
+ <Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">3</Badge>
48
+ <div className="text-sm">
49
+ <strong>Find weakness:</strong> Identify the word pair with smallest distance
50
+ </div>
51
+ </div>
52
+ <div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
53
+ <Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">4</Badge>
54
+ <div className="text-sm">
55
+ <strong>Improve:</strong> Replace one word with a more distant alternative
56
+ </div>
57
+ </div>
58
+ <div className="flex items-start gap-3 p-3 bg-blue-50 rounded-lg">
59
+ <Badge className="bg-blue-500 text-white min-w-[24px] h-6 flex items-center justify-center p-0">5</Badge>
60
+ <div className="text-sm">
61
+ <strong>Repeat:</strong> Continue until no improvement is possible
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+
67
+ <div className="space-y-4">
68
+ <h3 className="text-lg font-semibold text-gray-900 flex items-center gap-2">
69
+ <Target className="h-4 w-4" />
70
+ Application to DAT
71
+ </h3>
72
+ <div className="space-y-3">
73
+ <div className="p-3 bg-green-50 border-l-4 border-green-400">
74
+ <h4 className="font-medium text-green-800 mb-1">Objective Function</h4>
75
+ <p className="text-sm text-green-700">
76
+ Maximize the sum of semantic distances between all word pairs
77
+ </p>
78
+ </div>
79
+ <div className="p-3 bg-purple-50 border-l-4 border-purple-400">
80
+ <h4 className="font-medium text-purple-800 mb-1">Neighbor Generation</h4>
81
+ <p className="text-sm text-purple-700">
82
+ Replace one word at a time with alternatives from vocabulary
83
+ </p>
84
+ </div>
85
+ <div className="p-3 bg-orange-50 border-l-4 border-orange-400">
86
+ <h4 className="font-medium text-orange-800 mb-1">Local Optimum</h4>
87
+ <p className="text-sm text-orange-700">
88
+ Stop when no single word replacement improves the score
89
+ </p>
90
+ </div>
91
+ </div>
92
+ </div>
93
+ </div>
94
+ </CardContent>
95
+ </Card>
96
+
97
+ <Card>
98
+ <CardHeader>
99
+ <CardTitle className="flex items-center gap-2">
100
+ <Lightbulb className="h-5 w-5" />
101
+ Strategy Insights
102
+ </CardTitle>
103
+ </CardHeader>
104
+ <CardContent>
105
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-6">
106
+ <div>
107
+ <h4 className="font-medium text-gray-900 mb-3">Why Hillclimbing Works Here</h4>
108
+ <ul className="space-y-2 text-sm text-gray-700">
109
+ <li className="flex items-start gap-2">
110
+ <div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
111
+ <span><strong>Greedy improvement:</strong> Each word replacement immediately improves the score</span>
112
+ </li>
113
+ <li className="flex items-start gap-2">
114
+ <div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
115
+ <span><strong>Fast convergence:</strong> Reaches a good solution quickly</span>
116
+ </li>
117
+ <li className="flex items-start gap-2">
118
+ <div className="w-1.5 h-1.5 bg-green-500 rounded-full mt-2 flex-shrink-0"></div>
119
+ <span><strong>Intuitive process:</strong> Mimics how humans naturally optimize</span>
120
+ </li>
121
+ </ul>
122
+ </div>
123
+
124
+ <div>
125
+ <h4 className="font-medium text-gray-900 mb-3">Potential Limitations</h4>
126
+ <ul className="space-y-2 text-sm text-gray-700">
127
+ <li className="flex items-start gap-2">
128
+ <div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
129
+ <span><strong>Local optima:</strong> May get stuck in suboptimal solutions</span>
130
+ </li>
131
+ <li className="flex items-start gap-2">
132
+ <div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
133
+ <span><strong>Initial dependency:</strong> Result depends on starting words</span>
134
+ </li>
135
+ <li className="flex items-start gap-2">
136
+ <div className="w-1.5 h-1.5 bg-red-500 rounded-full mt-2 flex-shrink-0"></div>
137
+ <span><strong>Single-word changes:</strong> Cannot make coordinated multi-word swaps</span>
138
+ </li>
139
+ </ul>
140
+ </div>
141
+ </div>
142
+
143
+ <div className="mt-6 p-4 bg-gradient-to-r from-blue-50 to-purple-50 rounded-lg border border-blue-200">
144
+ <h4 className="font-semibold text-gray-900 mb-2 flex items-center gap-2">
145
+ <RotateCcw className="h-4 w-4" />
146
+ My Implementation Result
147
+ </h4>
148
+ <p className="text-sm text-gray-700 mb-2">
149
+ Despite these theoretical limitations, the hillclimbing approach was highly effective
150
+ for the DAT creativity game, achieving a score of <strong>95.08</strong> and ranking
151
+ in the <strong>99.98th percentile</strong>.
152
+ </p>
153
+ <p className="text-sm text-gray-600">
154
+ This success suggests that the semantic distance landscape for this problem has
155
+ favorable properties for local search, with relatively few problematic local optima.
156
+ </p>
157
+ </div>
158
+ </CardContent>
159
+ </Card>
160
+ </div>
161
+ );
162
+ }
src/components/ProgressTimeline.tsx ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client";
2
+
3
+ import { useState } from "react";
4
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
5
+ import { Badge } from "@/components/ui/badge";
6
+ import { Button } from "@/components/ui/button";
7
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from "@/components/ui/dialog";
8
+ import { gameData } from "@/lib/game-data";
9
+ import { Clock, ArrowRight, Zap } from "lucide-react";
10
+ import Image from "next/image";
11
+
12
+ export function ProgressTimeline() {
13
+ const [selectedRound, setSelectedRound] = useState<string | null>(null);
14
+
15
+ const formatTime = (timestamp: string) => {
16
+ return new Date(timestamp).toLocaleTimeString('en-US', {
17
+ hour: '2-digit',
18
+ minute: '2-digit',
19
+ hour12: true
20
+ });
21
+ };
22
+
23
+ const getWordChanges = (roundIndex: number) => {
24
+ if (roundIndex === 0) return null;
25
+
26
+ const prevWords = new Set(gameData.rounds[roundIndex - 1].words);
27
+ const currWords = new Set(gameData.rounds[roundIndex].words);
28
+
29
+ const added = Array.from(currWords).filter(word => !prevWords.has(word));
30
+ const removed = Array.from(prevWords).filter(word => !currWords.has(word));
31
+
32
+ return { added, removed };
33
+ };
34
+
35
+ const selectedRoundData = gameData.rounds.find(round => round.id === selectedRound);
36
+
37
+ return (
38
+ <Card className="w-full">
39
+ <CardHeader>
40
+ <CardTitle className="flex items-center gap-2">
41
+ <Clock className="h-5 w-5" />
42
+ Game Progress Timeline
43
+ </CardTitle>
44
+ </CardHeader>
45
+ <CardContent>
46
+ <div className="space-y-4">
47
+ {gameData.rounds.map((round, index) => {
48
+ const changes = getWordChanges(index);
49
+ const isSignificantChange = changes && (changes.added.length > 0 || changes.removed.length > 0);
50
+
51
+ return (
52
+ <div key={round.id} className="flex items-center gap-4 p-4 border rounded-lg hover:bg-gray-50 transition-colors">
53
+ <div className="flex-shrink-0">
54
+ <div className={`w-8 h-8 rounded-full flex items-center justify-center text-sm font-medium ${
55
+ isSignificantChange
56
+ ? 'bg-blue-500 text-white'
57
+ : 'bg-gray-200 text-gray-600'
58
+ }`}>
59
+ {round.roundNumber}
60
+ </div>
61
+ </div>
62
+
63
+ <div className="flex-grow">
64
+ <div className="flex items-center justify-between mb-2">
65
+ <h3 className="font-medium text-gray-900">
66
+ Round {round.roundNumber}
67
+ {isSignificantChange && (
68
+ <Zap className="inline-block ml-1 h-4 w-4 text-yellow-500" />
69
+ )}
70
+ </h3>
71
+ <Badge variant="outline" className="text-xs">
72
+ {formatTime(round.timestamp)}
73
+ </Badge>
74
+ </div>
75
+
76
+ <div className="flex flex-wrap gap-1 mb-2">
77
+ {round.words.slice(0, 5).map((word) => (
78
+ <Badge key={word} variant="secondary" className="text-xs">
79
+ {word}
80
+ </Badge>
81
+ ))}
82
+ {round.words.length > 5 && (
83
+ <Badge variant="outline" className="text-xs">
84
+ +{round.words.length - 5} more
85
+ </Badge>
86
+ )}
87
+ </div>
88
+
89
+ {changes && (changes.added.length > 0 || changes.removed.length > 0) && (
90
+ <div className="flex items-center gap-2 text-sm">
91
+ {changes.added.length > 0 && (
92
+ <span className="text-green-600">
93
+ +{changes.added.length} added
94
+ </span>
95
+ )}
96
+ {changes.removed.length > 0 && (
97
+ <span className="text-red-600">
98
+ -{changes.removed.length} removed
99
+ </span>
100
+ )}
101
+ </div>
102
+ )}
103
+ </div>
104
+
105
+ <Dialog>
106
+ <DialogTrigger asChild>
107
+ <Button
108
+ variant="ghost"
109
+ size="sm"
110
+ onClick={() => setSelectedRound(round.id)}
111
+ >
112
+ View <ArrowRight className="ml-1 h-3 w-3" />
113
+ </Button>
114
+ </DialogTrigger>
115
+ <DialogContent className="max-w-4xl max-h-[90vh] overflow-y-auto">
116
+ <DialogHeader>
117
+ <DialogTitle>
118
+ Round {round.roundNumber} - {formatTime(round.timestamp)}
119
+ </DialogTitle>
120
+ </DialogHeader>
121
+ <div className="space-y-4">
122
+ <div className="relative w-full h-96 bg-gray-100 rounded-lg overflow-hidden">
123
+ <Image
124
+ src={round.screenshotPath}
125
+ alt={`Screenshot from round ${round.roundNumber}`}
126
+ fill
127
+ className="object-contain"
128
+ />
129
+ </div>
130
+
131
+ <div>
132
+ <h4 className="font-medium mb-2">Words in this round:</h4>
133
+ <div className="flex flex-wrap gap-2">
134
+ {round.words.map((word) => (
135
+ <Badge key={word} variant="secondary">
136
+ {word}
137
+ </Badge>
138
+ ))}
139
+ </div>
140
+ </div>
141
+
142
+ {changes && (changes.added.length > 0 || changes.removed.length > 0) && (
143
+ <div className="space-y-2">
144
+ {changes.added.length > 0 && (
145
+ <div>
146
+ <h5 className="text-sm font-medium text-green-600 mb-1">Added words:</h5>
147
+ <div className="flex flex-wrap gap-1">
148
+ {changes.added.map((word) => (
149
+ <Badge key={word} className="bg-green-100 text-green-800 border-green-300">
150
+ +{word}
151
+ </Badge>
152
+ ))}
153
+ </div>
154
+ </div>
155
+ )}
156
+
157
+ {changes.removed.length > 0 && (
158
+ <div>
159
+ <h5 className="text-sm font-medium text-red-600 mb-1">Removed words:</h5>
160
+ <div className="flex flex-wrap gap-1">
161
+ {changes.removed.map((word) => (
162
+ <Badge key={word} className="bg-red-100 text-red-800 border-red-300">
163
+ -{word}
164
+ </Badge>
165
+ ))}
166
+ </div>
167
+ </div>
168
+ )}
169
+ </div>
170
+ )}
171
+ </div>
172
+ </DialogContent>
173
+ </Dialog>
174
+ </div>
175
+ );
176
+ })}
177
+ </div>
178
+ </CardContent>
179
+ </Card>
180
+ );
181
+ }
src/components/ScoreMatrixVisualization.tsx ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client";
2
+
3
+ import { useState } from "react";
4
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
5
+ import { Badge } from "@/components/ui/badge";
6
+ import { gameData } from "@/lib/game-data";
7
+ import { Grid3X3, Target } from "lucide-react";
8
+
9
+ interface HoveredCell {
10
+ word1: string;
11
+ word2: string;
12
+ distance: number;
13
+ }
14
+
15
+ export function ScoreMatrixVisualization() {
16
+ const [hoveredCell, setHoveredCell] = useState<HoveredCell | null>(null);
17
+ const { words, distances, finalScore } = gameData.finalMatrix;
18
+
19
+ const getColorIntensity = (distance: number) => {
20
+ const maxDistance = Math.max(...distances.flat());
21
+ const minDistance = Math.min(...distances.flat().filter(d => d > 0));
22
+ const normalizedDistance = (distance - minDistance) / (maxDistance - minDistance);
23
+
24
+ if (distance === 0) return "bg-gray-200";
25
+
26
+ const intensity = Math.floor(normalizedDistance * 4) + 1;
27
+ return `bg-green-${intensity * 100} hover:bg-green-${Math.min(intensity * 100 + 100, 900)}`;
28
+ };
29
+
30
+ const getCellClasses = (distance: number) => {
31
+ if (distance === 0) {
32
+ return "bg-gray-200 text-gray-500";
33
+ }
34
+
35
+ const maxDistance = Math.max(...distances.flat());
36
+ const intensity = distance / maxDistance;
37
+
38
+ if (intensity > 0.8) return "bg-green-500 text-white hover:bg-green-600";
39
+ if (intensity > 0.6) return "bg-green-400 text-white hover:bg-green-500";
40
+ if (intensity > 0.4) return "bg-green-300 text-gray-900 hover:bg-green-400";
41
+ if (intensity > 0.2) return "bg-green-200 text-gray-900 hover:bg-green-300";
42
+ return "bg-green-100 text-gray-900 hover:bg-green-200";
43
+ };
44
+
45
+ return (
46
+ <Card className="w-full">
47
+ <CardHeader>
48
+ <CardTitle className="flex items-center gap-2">
49
+ <Grid3X3 className="h-5 w-5" />
50
+ Semantic Distance Matrix
51
+ </CardTitle>
52
+ </CardHeader>
53
+ <CardContent>
54
+ <div className="space-y-4">
55
+ <div className="flex items-center justify-between">
56
+ <p className="text-sm text-gray-600">
57
+ Interactive matrix showing semantic distances between final word pairs
58
+ </p>
59
+ <div className="flex items-center gap-2">
60
+ <Target className="h-4 w-4 text-green-600" />
61
+ <Badge className="bg-green-100 text-green-800">
62
+ Score: {finalScore}
63
+ </Badge>
64
+ </div>
65
+ </div>
66
+
67
+ <div className="overflow-x-auto">
68
+ <div className="inline-block min-w-full">
69
+ <table className="w-full">
70
+ <thead>
71
+ <tr>
72
+ <th className="p-2"></th>
73
+ {words.map((word, index) => (
74
+ <th key={index} className="p-2 text-xs font-medium text-gray-600 min-w-[60px]">
75
+ <div className="transform -rotate-45 origin-bottom-left whitespace-nowrap">
76
+ {word}
77
+ </div>
78
+ </th>
79
+ ))}
80
+ </tr>
81
+ </thead>
82
+ <tbody>
83
+ {words.map((rowWord, rowIndex) => (
84
+ <tr key={rowIndex}>
85
+ <td className="p-2 text-xs font-medium text-gray-600 sticky left-0 bg-white">
86
+ <div className="max-w-[80px] truncate" title={rowWord}>
87
+ {rowWord}
88
+ </div>
89
+ </td>
90
+ {words.map((colWord, colIndex) => {
91
+ const distance = distances[rowIndex][colIndex];
92
+ return (
93
+ <td
94
+ key={colIndex}
95
+ className="p-1"
96
+ onMouseEnter={() => setHoveredCell({
97
+ word1: rowWord,
98
+ word2: colWord,
99
+ distance
100
+ })}
101
+ onMouseLeave={() => setHoveredCell(null)}
102
+ >
103
+ <div
104
+ className={`
105
+ w-12 h-12 flex items-center justify-center text-xs font-medium
106
+ rounded cursor-pointer transition-colors duration-200
107
+ ${getCellClasses(distance)}
108
+ `}
109
+ >
110
+ {distance}
111
+ </div>
112
+ </td>
113
+ );
114
+ })}
115
+ </tr>
116
+ ))}
117
+ </tbody>
118
+ </table>
119
+ </div>
120
+ </div>
121
+
122
+ {hoveredCell && (
123
+ <div className="p-3 bg-blue-50 border border-blue-200 rounded-lg">
124
+ <div className="text-sm">
125
+ <span className="font-medium text-blue-900">
126
+ {hoveredCell.word1} ↔ {hoveredCell.word2}
127
+ </span>
128
+ <span className="text-blue-700 ml-2">
129
+ Distance: {hoveredCell.distance}
130
+ </span>
131
+ </div>
132
+ <p className="text-xs text-blue-600 mt-1">
133
+ {hoveredCell.distance === 0
134
+ ? "Same word (diagonal)"
135
+ : `Higher values indicate more semantically distant concepts`
136
+ }
137
+ </p>
138
+ </div>
139
+ )}
140
+
141
+ <div className="flex items-center justify-between text-xs text-gray-500">
142
+ <div className="flex items-center gap-4">
143
+ <div className="flex items-center gap-1">
144
+ <div className="w-3 h-3 bg-green-100 rounded"></div>
145
+ <span>Low distance</span>
146
+ </div>
147
+ <div className="flex items-center gap-1">
148
+ <div className="w-3 h-3 bg-green-300 rounded"></div>
149
+ <span>Medium distance</span>
150
+ </div>
151
+ <div className="flex items-center gap-1">
152
+ <div className="w-3 h-3 bg-green-500 rounded"></div>
153
+ <span>High distance</span>
154
+ </div>
155
+ </div>
156
+ <span>Matrix is symmetric</span>
157
+ </div>
158
+
159
+ <div className="p-4 bg-gray-50 rounded-lg">
160
+ <h4 className="font-medium text-gray-900 mb-2">Matrix Analysis</h4>
161
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4 text-sm">
162
+ <div>
163
+ <span className="font-medium text-gray-700">Average Distance:</span>
164
+ <div className="text-lg font-semibold text-green-600">
165
+ {(distances.flat().filter(d => d > 0).reduce((a, b) => a + b, 0) / distances.flat().filter(d => d > 0).length).toFixed(1)}
166
+ </div>
167
+ </div>
168
+ <div>
169
+ <span className="font-medium text-gray-700">Highest Distance:</span>
170
+ <div className="text-lg font-semibold text-blue-600">
171
+ {Math.max(...distances.flat())}
172
+ </div>
173
+ </div>
174
+ <div>
175
+ <span className="font-medium text-gray-700">Lowest Distance:</span>
176
+ <div className="text-lg font-semibold text-orange-600">
177
+ {Math.min(...distances.flat().filter(d => d > 0))}
178
+ </div>
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </CardContent>
184
+ </Card>
185
+ );
186
+ }
src/components/StatsDashboard.tsx ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client";
2
+
3
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
4
+ import { Badge } from "@/components/ui/badge";
5
+ import { gameData } from "@/lib/game-data";
6
+ import { BarChart3, Clock, Trophy, TrendingUp, Users, Zap } from "lucide-react";
7
+
8
+ export function StatsDashboard() {
9
+ const { rounds, finalMatrix, startTime, endTime } = gameData;
10
+
11
+ const totalDuration = new Date(endTime).getTime() - new Date(startTime).getTime();
12
+ const durationMinutes = Math.floor(totalDuration / (1000 * 60));
13
+
14
+ const uniqueWords = new Set(rounds.flatMap(round => round.words));
15
+ const totalUniqueWords = uniqueWords.size;
16
+
17
+ const wordChanges = rounds.slice(1).reduce((acc, round, index) => {
18
+ const prevWords = new Set(rounds[index].words);
19
+ const currWords = new Set(round.words);
20
+ const changes = Array.from(currWords).filter(word => !prevWords.has(word)).length +
21
+ Array.from(prevWords).filter(word => !currWords.has(word)).length;
22
+ return acc + changes;
23
+ }, 0);
24
+
25
+ const averageDistance = finalMatrix.distances
26
+ .flat()
27
+ .filter(d => d > 0)
28
+ .reduce((a, b) => a + b, 0) / finalMatrix.distances.flat().filter(d => d > 0).length;
29
+
30
+ const maxDistance = Math.max(...finalMatrix.distances.flat());
31
+ const minDistance = Math.min(...finalMatrix.distances.flat().filter(d => d > 0));
32
+
33
+ return (
34
+ <Card>
35
+ <CardHeader>
36
+ <CardTitle className="flex items-center gap-2">
37
+ <BarChart3 className="h-5 w-5" />
38
+ Performance Statistics
39
+ </CardTitle>
40
+ </CardHeader>
41
+ <CardContent>
42
+ <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6">
43
+ <div className="p-4 bg-gradient-to-br from-green-50 to-green-100 rounded-lg border border-green-200">
44
+ <div className="flex items-center justify-between mb-2">
45
+ <Trophy className="h-6 w-6 text-green-600" />
46
+ <Badge className="bg-green-500 text-white">Top 0.02%</Badge>
47
+ </div>
48
+ <div className="text-2xl font-bold text-green-700">{finalMatrix.finalScore}</div>
49
+ <div className="text-sm text-green-600">Final Creativity Score</div>
50
+ </div>
51
+
52
+ <div className="p-4 bg-gradient-to-br from-blue-50 to-blue-100 rounded-lg border border-blue-200">
53
+ <div className="flex items-center justify-between mb-2">
54
+ <Users className="h-6 w-6 text-blue-600" />
55
+ <Badge variant="outline" className="border-blue-300 text-blue-700">Percentile</Badge>
56
+ </div>
57
+ <div className="text-2xl font-bold text-blue-700">{finalMatrix.percentile}%</div>
58
+ <div className="text-sm text-blue-600">Better than others</div>
59
+ </div>
60
+
61
+ <div className="p-4 bg-gradient-to-br from-purple-50 to-purple-100 rounded-lg border border-purple-200">
62
+ <div className="flex items-center justify-between mb-2">
63
+ <Clock className="h-6 w-6 text-purple-600" />
64
+ <Badge variant="outline" className="border-purple-300 text-purple-700">Duration</Badge>
65
+ </div>
66
+ <div className="text-2xl font-bold text-purple-700">{durationMinutes}m</div>
67
+ <div className="text-sm text-purple-600">Total game time</div>
68
+ </div>
69
+
70
+ <div className="p-4 bg-gradient-to-br from-orange-50 to-orange-100 rounded-lg border border-orange-200">
71
+ <div className="flex items-center justify-between mb-2">
72
+ <TrendingUp className="h-6 w-6 text-orange-600" />
73
+ <Badge variant="outline" className="border-orange-300 text-orange-700">Optimization</Badge>
74
+ </div>
75
+ <div className="text-2xl font-bold text-orange-700">{rounds.length}</div>
76
+ <div className="text-sm text-orange-600">Optimization rounds</div>
77
+ </div>
78
+
79
+ <div className="p-4 bg-gradient-to-br from-pink-50 to-pink-100 rounded-lg border border-pink-200">
80
+ <div className="flex items-center justify-between mb-2">
81
+ <Zap className="h-6 w-6 text-pink-600" />
82
+ <Badge variant="outline" className="border-pink-300 text-pink-700">Changes</Badge>
83
+ </div>
84
+ <div className="text-2xl font-bold text-pink-700">{wordChanges}</div>
85
+ <div className="text-sm text-pink-600">Total word swaps</div>
86
+ </div>
87
+
88
+ <div className="p-4 bg-gradient-to-br from-indigo-50 to-indigo-100 rounded-lg border border-indigo-200">
89
+ <div className="flex items-center justify-between mb-2">
90
+ <BarChart3 className="h-6 w-6 text-indigo-600" />
91
+ <Badge variant="outline" className="border-indigo-300 text-indigo-700">Vocabulary</Badge>
92
+ </div>
93
+ <div className="text-2xl font-bold text-indigo-700">{totalUniqueWords}</div>
94
+ <div className="text-sm text-indigo-600">Unique words used</div>
95
+ </div>
96
+ </div>
97
+
98
+ <div className="space-y-4">
99
+ <h3 className="text-lg font-semibold text-gray-900">Semantic Distance Analysis</h3>
100
+
101
+ <div className="grid grid-cols-1 md:grid-cols-3 gap-4">
102
+ <div className="p-3 bg-gray-50 rounded-lg">
103
+ <div className="text-sm font-medium text-gray-600 mb-1">Average Distance</div>
104
+ <div className="text-xl font-bold text-gray-900">{averageDistance.toFixed(1)}</div>
105
+ <div className="text-xs text-gray-500">Across all word pairs</div>
106
+ </div>
107
+
108
+ <div className="p-3 bg-gray-50 rounded-lg">
109
+ <div className="text-sm font-medium text-gray-600 mb-1">Maximum Distance</div>
110
+ <div className="text-xl font-bold text-gray-900">{maxDistance}</div>
111
+ <div className="text-xs text-gray-500">Most distant pair</div>
112
+ </div>
113
+
114
+ <div className="p-3 bg-gray-50 rounded-lg">
115
+ <div className="text-sm font-medium text-gray-600 mb-1">Minimum Distance</div>
116
+ <div className="text-xl font-bold text-gray-900">{minDistance}</div>
117
+ <div className="text-xs text-gray-500">Closest pair (non-zero)</div>
118
+ </div>
119
+ </div>
120
+
121
+ <div className="p-4 bg-blue-50 rounded-lg">
122
+ <h4 className="font-medium text-blue-900 mb-2">Key Insights</h4>
123
+ <ul className="space-y-1 text-sm text-blue-800">
124
+ <li>• Achieved exceptional creativity score through systematic optimization</li>
125
+ <li>• Hillclimbing algorithm effectively explored the semantic space</li>
126
+ <li>• {Math.round(wordChanges / rounds.length * 100) / 100} average word changes per round shows focused refinement</li>
127
+ <li>• High semantic distances indicate successful divergent thinking</li>
128
+ </ul>
129
+ </div>
130
+ </div>
131
+ </CardContent>
132
+ </Card>
133
+ );
134
+ }
src/components/WordEvolutionTracker.tsx ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client";
2
+
3
+ import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
4
+ import { Badge } from "@/components/ui/badge";
5
+ import { getWordEvolution } from "@/lib/game-data";
6
+ import { TrendingUp, Plus, Minus, ArrowRight } from "lucide-react";
7
+
8
+ export function WordEvolutionTracker() {
9
+ const evolution = getWordEvolution();
10
+
11
+ return (
12
+ <Card className="w-full">
13
+ <CardHeader>
14
+ <CardTitle className="flex items-center gap-2">
15
+ <TrendingUp className="h-5 w-5" />
16
+ Word Evolution & Optimization
17
+ </CardTitle>
18
+ </CardHeader>
19
+ <CardContent>
20
+ <div className="space-y-6">
21
+ <div className="text-sm text-gray-600 mb-4">
22
+ Track how words were systematically replaced to maximize semantic distance using hillclimbing optimization.
23
+ </div>
24
+
25
+ {evolution.map((change, index) => (
26
+ <div key={change.round} className="border-l-2 border-blue-200 pl-4">
27
+ <div className="flex items-center gap-2 mb-3">
28
+ <div className="bg-blue-500 text-white text-xs font-medium px-2 py-1 rounded">
29
+ Round {change.round}
30
+ </div>
31
+ <ArrowRight className="h-4 w-4 text-gray-400" />
32
+ <span className="text-sm text-gray-600">Optimization step</span>
33
+ </div>
34
+
35
+ <div className="space-y-3">
36
+ {change.changes.filter(c => c.type === 'removed').length > 0 && (
37
+ <div>
38
+ <div className="flex items-center gap-2 mb-2">
39
+ <Minus className="h-4 w-4 text-red-500" />
40
+ <span className="text-sm font-medium text-red-600">Removed</span>
41
+ <span className="text-xs text-gray-500">(Lower semantic distance)</span>
42
+ </div>
43
+ <div className="flex flex-wrap gap-2">
44
+ {change.changes
45
+ .filter(c => c.type === 'removed')
46
+ .map((c) => (
47
+ <Badge
48
+ key={c.word}
49
+ className="bg-red-50 text-red-700 border-red-200"
50
+ >
51
+ {c.word}
52
+ </Badge>
53
+ ))}
54
+ </div>
55
+ </div>
56
+ )}
57
+
58
+ {change.changes.filter(c => c.type === 'added').length > 0 && (
59
+ <div>
60
+ <div className="flex items-center gap-2 mb-2">
61
+ <Plus className="h-4 w-4 text-green-500" />
62
+ <span className="text-sm font-medium text-green-600">Added</span>
63
+ <span className="text-xs text-gray-500">(Higher semantic distance)</span>
64
+ </div>
65
+ <div className="flex flex-wrap gap-2">
66
+ {change.changes
67
+ .filter(c => c.type === 'added')
68
+ .map((c) => (
69
+ <Badge
70
+ key={c.word}
71
+ className="bg-green-50 text-green-700 border-green-200"
72
+ >
73
+ {c.word}
74
+ </Badge>
75
+ ))}
76
+ </div>
77
+ </div>
78
+ )}
79
+
80
+ <div className="text-xs text-gray-500 mt-2">
81
+ This change increased the overall semantic distance between word pairs.
82
+ </div>
83
+ </div>
84
+ </div>
85
+ ))}
86
+
87
+ {evolution.length === 0 && (
88
+ <div className="text-center py-8 text-gray-500">
89
+ <TrendingUp className="h-8 w-8 mx-auto mb-2 opacity-50" />
90
+ <p>No word changes detected in the progression.</p>
91
+ </div>
92
+ )}
93
+ </div>
94
+
95
+ <div className="mt-6 p-4 bg-blue-50 rounded-lg">
96
+ <h4 className="font-medium text-blue-900 mb-2">Hillclimbing Strategy</h4>
97
+ <p className="text-sm text-blue-800">
98
+ Each word replacement represents a &ldquo;hill climbing&rdquo; step where words with lower semantic
99
+ distances to other words in the set were systematically replaced with words that had
100
+ higher distances, improving the overall creativity score.
101
+ </p>
102
+ </div>
103
+ </CardContent>
104
+ </Card>
105
+ );
106
+ }
src/components/ui/badge.tsx ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as React from "react"
2
+ import { cva, type VariantProps } from "class-variance-authority"
3
+
4
+ import { cn } from "@/lib/utils"
5
+
6
+ const badgeVariants = cva(
7
+ "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default:
12
+ "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
13
+ secondary:
14
+ "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
15
+ destructive:
16
+ "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
17
+ outline: "text-foreground",
18
+ },
19
+ },
20
+ defaultVariants: {
21
+ variant: "default",
22
+ },
23
+ }
24
+ )
25
+
26
+ export interface BadgeProps
27
+ extends React.HTMLAttributes<HTMLDivElement>,
28
+ VariantProps<typeof badgeVariants> {}
29
+
30
+ function Badge({ className, variant, ...props }: BadgeProps) {
31
+ return (
32
+ <div className={cn(badgeVariants({ variant }), className)} {...props} />
33
+ )
34
+ }
35
+
36
+ export { Badge, badgeVariants }
src/components/ui/button.tsx ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as React from "react"
2
+ import { Slot } from "@radix-ui/react-slot"
3
+ import { cva, type VariantProps } from "class-variance-authority"
4
+
5
+ import { cn } from "@/lib/utils"
6
+
7
+ const buttonVariants = cva(
8
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
13
+ destructive:
14
+ "bg-destructive text-destructive-foreground hover:bg-destructive/90",
15
+ outline:
16
+ "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
17
+ secondary:
18
+ "bg-secondary text-secondary-foreground hover:bg-secondary/80",
19
+ ghost: "hover:bg-accent hover:text-accent-foreground",
20
+ link: "text-primary underline-offset-4 hover:underline",
21
+ },
22
+ size: {
23
+ default: "h-10 px-4 py-2",
24
+ sm: "h-9 rounded-md px-3",
25
+ lg: "h-11 rounded-md px-8",
26
+ icon: "h-10 w-10",
27
+ },
28
+ },
29
+ defaultVariants: {
30
+ variant: "default",
31
+ size: "default",
32
+ },
33
+ }
34
+ )
35
+
36
+ export interface ButtonProps
37
+ extends React.ButtonHTMLAttributes<HTMLButtonElement>,
38
+ VariantProps<typeof buttonVariants> {
39
+ asChild?: boolean
40
+ }
41
+
42
+ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
43
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
44
+ const Comp = asChild ? Slot : "button"
45
+ return (
46
+ <Comp
47
+ className={cn(buttonVariants({ variant, size, className }))}
48
+ ref={ref}
49
+ {...props}
50
+ />
51
+ )
52
+ }
53
+ )
54
+ Button.displayName = "Button"
55
+
56
+ export { Button, buttonVariants }
src/components/ui/card.tsx ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import * as React from "react"
2
+
3
+ import { cn } from "@/lib/utils"
4
+
5
+ const Card = React.forwardRef<
6
+ HTMLDivElement,
7
+ React.HTMLAttributes<HTMLDivElement>
8
+ >(({ className, ...props }, ref) => (
9
+ <div
10
+ ref={ref}
11
+ className={cn(
12
+ "rounded-lg border bg-card text-card-foreground shadow-sm",
13
+ className
14
+ )}
15
+ {...props}
16
+ />
17
+ ))
18
+ Card.displayName = "Card"
19
+
20
+ const CardHeader = React.forwardRef<
21
+ HTMLDivElement,
22
+ React.HTMLAttributes<HTMLDivElement>
23
+ >(({ className, ...props }, ref) => (
24
+ <div
25
+ ref={ref}
26
+ className={cn("flex flex-col space-y-1.5 p-6", className)}
27
+ {...props}
28
+ />
29
+ ))
30
+ CardHeader.displayName = "CardHeader"
31
+
32
+ const CardTitle = React.forwardRef<
33
+ HTMLDivElement,
34
+ React.HTMLAttributes<HTMLDivElement>
35
+ >(({ className, ...props }, ref) => (
36
+ <div
37
+ ref={ref}
38
+ className={cn(
39
+ "text-2xl font-semibold leading-none tracking-tight",
40
+ className
41
+ )}
42
+ {...props}
43
+ />
44
+ ))
45
+ CardTitle.displayName = "CardTitle"
46
+
47
+ const CardDescription = React.forwardRef<
48
+ HTMLDivElement,
49
+ React.HTMLAttributes<HTMLDivElement>
50
+ >(({ className, ...props }, ref) => (
51
+ <div
52
+ ref={ref}
53
+ className={cn("text-sm text-muted-foreground", className)}
54
+ {...props}
55
+ />
56
+ ))
57
+ CardDescription.displayName = "CardDescription"
58
+
59
+ const CardContent = React.forwardRef<
60
+ HTMLDivElement,
61
+ React.HTMLAttributes<HTMLDivElement>
62
+ >(({ className, ...props }, ref) => (
63
+ <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
64
+ ))
65
+ CardContent.displayName = "CardContent"
66
+
67
+ const CardFooter = React.forwardRef<
68
+ HTMLDivElement,
69
+ React.HTMLAttributes<HTMLDivElement>
70
+ >(({ className, ...props }, ref) => (
71
+ <div
72
+ ref={ref}
73
+ className={cn("flex items-center p-6 pt-0", className)}
74
+ {...props}
75
+ />
76
+ ))
77
+ CardFooter.displayName = "CardFooter"
78
+
79
+ export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }
src/components/ui/dialog.tsx ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "use client"
2
+
3
+ import * as React from "react"
4
+ import * as DialogPrimitive from "@radix-ui/react-dialog"
5
+ import { X } from "lucide-react"
6
+
7
+ import { cn } from "@/lib/utils"
8
+
9
+ const Dialog = DialogPrimitive.Root
10
+
11
+ const DialogTrigger = DialogPrimitive.Trigger
12
+
13
+ const DialogPortal = DialogPrimitive.Portal
14
+
15
+ const DialogClose = DialogPrimitive.Close
16
+
17
+ const DialogOverlay = React.forwardRef<
18
+ React.ElementRef<typeof DialogPrimitive.Overlay>,
19
+ React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
20
+ >(({ className, ...props }, ref) => (
21
+ <DialogPrimitive.Overlay
22
+ ref={ref}
23
+ className={cn(
24
+ "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
25
+ className
26
+ )}
27
+ {...props}
28
+ />
29
+ ))
30
+ DialogOverlay.displayName = DialogPrimitive.Overlay.displayName
31
+
32
+ const DialogContent = React.forwardRef<
33
+ React.ElementRef<typeof DialogPrimitive.Content>,
34
+ React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
35
+ >(({ className, children, ...props }, ref) => (
36
+ <DialogPortal>
37
+ <DialogOverlay />
38
+ <DialogPrimitive.Content
39
+ ref={ref}
40
+ className={cn(
41
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
42
+ className
43
+ )}
44
+ {...props}
45
+ >
46
+ {children}
47
+ <DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
48
+ <X className="h-4 w-4" />
49
+ <span className="sr-only">Close</span>
50
+ </DialogPrimitive.Close>
51
+ </DialogPrimitive.Content>
52
+ </DialogPortal>
53
+ ))
54
+ DialogContent.displayName = DialogPrimitive.Content.displayName
55
+
56
+ const DialogHeader = ({
57
+ className,
58
+ ...props
59
+ }: React.HTMLAttributes<HTMLDivElement>) => (
60
+ <div
61
+ className={cn(
62
+ "flex flex-col space-y-1.5 text-center sm:text-left",
63
+ className
64
+ )}
65
+ {...props}
66
+ />
67
+ )
68
+ DialogHeader.displayName = "DialogHeader"
69
+
70
+ const DialogFooter = ({
71
+ className,
72
+ ...props
73
+ }: React.HTMLAttributes<HTMLDivElement>) => (
74
+ <div
75
+ className={cn(
76
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
77
+ className
78
+ )}
79
+ {...props}
80
+ />
81
+ )
82
+ DialogFooter.displayName = "DialogFooter"
83
+
84
+ const DialogTitle = React.forwardRef<
85
+ React.ElementRef<typeof DialogPrimitive.Title>,
86
+ React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
87
+ >(({ className, ...props }, ref) => (
88
+ <DialogPrimitive.Title
89
+ ref={ref}
90
+ className={cn(
91
+ "text-lg font-semibold leading-none tracking-tight",
92
+ className
93
+ )}
94
+ {...props}
95
+ />
96
+ ))
97
+ DialogTitle.displayName = DialogPrimitive.Title.displayName
98
+
99
+ const DialogDescription = React.forwardRef<
100
+ React.ElementRef<typeof DialogPrimitive.Description>,
101
+ React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
102
+ >(({ className, ...props }, ref) => (
103
+ <DialogPrimitive.Description
104
+ ref={ref}
105
+ className={cn("text-sm text-muted-foreground", className)}
106
+ {...props}
107
+ />
108
+ ))
109
+ DialogDescription.displayName = DialogPrimitive.Description.displayName
110
+
111
+ export {
112
+ Dialog,
113
+ DialogPortal,
114
+ DialogOverlay,
115
+ DialogClose,
116
+ DialogTrigger,
117
+ DialogContent,
118
+ DialogHeader,
119
+ DialogFooter,
120
+ DialogTitle,
121
+ DialogDescription,
122
+ }