zam-core 0.9.4 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1059 @@
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>ZAM Studio</title>
7
+ <style>
8
+ :root {
9
+ color-scheme: light dark;
10
+ --accent: #827dbd;
11
+ --bg: #f5f7fb;
12
+ --fg: #1c2030;
13
+ --muted: #6b7280;
14
+ --card: #ffffff;
15
+ --border: rgba(15, 23, 42, 0.14);
16
+ --field-bg: #ffffff;
17
+ --danger: #ef4444;
18
+ --danger-bg: rgba(239, 68, 68, 0.1);
19
+ --hover: rgba(130, 125, 189, 0.1);
20
+
21
+ /* Aliases so desktop/src/learning-content.ts (built against the
22
+ richer --clr-* palette in desktop/src/styles.css for the Tauri
23
+ app) resolves to real colors here too. This palette only has one
24
+ "de-emphasized text" tier and one accent color, so text-secondary
25
+ collapses onto --muted and both accent-purple/teal collapse onto
26
+ --accent — defined once here (not repeated in the dark-mode block
27
+ below) since --muted/--card/--border/--accent get redefined there
28
+ and custom properties resolve dynamically, so the aliases follow
29
+ along automatically. */
30
+ --clr-text-muted: var(--muted);
31
+ --clr-text-secondary: var(--muted);
32
+ --clr-bg-surface: var(--card);
33
+ --clr-border: var(--border);
34
+ --clr-accent-purple: var(--accent);
35
+ --clr-accent-teal: var(--accent);
36
+ }
37
+ @media (prefers-color-scheme: dark) {
38
+ :root {
39
+ --bg: #14161f;
40
+ --fg: #e8eaf2;
41
+ --muted: #9aa0b0;
42
+ --card: #1e2230;
43
+ --border: rgba(255, 255, 255, 0.14);
44
+ --field-bg: #262b3d;
45
+ --danger: #f87171;
46
+ --danger-bg: rgba(248, 113, 113, 0.14);
47
+ --hover: rgba(130, 125, 189, 0.18);
48
+ }
49
+ }
50
+ body {
51
+ margin: 0;
52
+ font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
53
+ background: var(--bg);
54
+ color: var(--fg);
55
+ }
56
+ #zam-studio-panel {
57
+ padding: 16px;
58
+ }
59
+ .zam-header {
60
+ display: flex;
61
+ align-items: baseline;
62
+ gap: 10px;
63
+ margin-bottom: 12px;
64
+ }
65
+ .zam-header h1 {
66
+ font-size: 18px;
67
+ margin: 0;
68
+ }
69
+ .zam-header .version {
70
+ color: var(--muted);
71
+ font-size: 12px;
72
+ }
73
+ .zam-card {
74
+ background: var(--card);
75
+ border-radius: 10px;
76
+ padding: 14px 16px;
77
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
78
+ }
79
+ .status-dot {
80
+ display: inline-block;
81
+ width: 8px;
82
+ height: 8px;
83
+ border-radius: 50%;
84
+ background: var(--muted);
85
+ margin-right: 6px;
86
+ }
87
+ .status-dot.connected {
88
+ background: #2fbf71;
89
+ }
90
+
91
+ /* ── Buttons ─────────────────────────────────────────────────────── */
92
+ .btn {
93
+ font: inherit;
94
+ font-weight: 600;
95
+ font-size: 13px;
96
+ padding: 8px 16px;
97
+ border-radius: 8px;
98
+ border: 1px solid transparent;
99
+ cursor: pointer;
100
+ display: inline-flex;
101
+ align-items: center;
102
+ justify-content: center;
103
+ transition:
104
+ background 0.15s ease,
105
+ border-color 0.15s ease;
106
+ }
107
+ .btn:disabled {
108
+ cursor: not-allowed;
109
+ opacity: 0.6;
110
+ }
111
+ .primary-btn {
112
+ background: var(--accent);
113
+ color: #ffffff;
114
+ }
115
+ .primary-btn:hover:not(:disabled) {
116
+ filter: brightness(1.08);
117
+ }
118
+ .secondary-btn {
119
+ background: transparent;
120
+ border-color: var(--border);
121
+ color: var(--fg);
122
+ }
123
+ .secondary-btn:hover {
124
+ background: var(--hover);
125
+ }
126
+ .danger-btn {
127
+ background: var(--danger-bg);
128
+ border-color: var(--danger);
129
+ color: var(--danger);
130
+ }
131
+ .danger-btn:hover:not(:disabled) {
132
+ background: var(--danger);
133
+ color: #ffffff;
134
+ }
135
+ .btn-sm {
136
+ padding: 6px 12px;
137
+ font-size: 12px;
138
+ border-radius: 6px;
139
+ }
140
+ .btn-xs {
141
+ padding: 3px 8px;
142
+ font-size: 11px;
143
+ border-radius: 5px;
144
+ }
145
+
146
+ .hidden {
147
+ display: none !important;
148
+ }
149
+
150
+ /* ── Learning Content Studio ─────────────────────────────────────── */
151
+ .content-studio {
152
+ margin-top: 16px;
153
+ }
154
+ .content-studio-title {
155
+ font-size: 14px;
156
+ font-weight: 600;
157
+ margin: 0 0 10px;
158
+ color: var(--muted);
159
+ text-transform: uppercase;
160
+ letter-spacing: 0.04em;
161
+ }
162
+ .content-studio-toolbar {
163
+ display: flex;
164
+ justify-content: flex-end;
165
+ gap: 8px;
166
+ margin-bottom: 10px;
167
+ }
168
+ .content-studio-layout {
169
+ display: flex;
170
+ gap: 14px;
171
+ align-items: flex-start;
172
+ }
173
+ .content-studio-list-panel,
174
+ .content-studio-editor-panel {
175
+ flex: 1;
176
+ min-width: 0;
177
+ display: flex;
178
+ flex-direction: column;
179
+ gap: 10px;
180
+ }
181
+ .content-studio-search-bar {
182
+ display: flex;
183
+ gap: 8px;
184
+ flex-wrap: wrap;
185
+ }
186
+ .content-studio-search-input {
187
+ flex: 1;
188
+ min-width: 120px;
189
+ }
190
+ .content-studio-filter-select {
191
+ min-width: 110px;
192
+ }
193
+ .content-studio-card-list {
194
+ display: flex;
195
+ flex-direction: column;
196
+ gap: 8px;
197
+ max-height: 360px;
198
+ overflow-y: auto;
199
+ padding-right: 2px;
200
+ }
201
+ .content-list-item {
202
+ padding: 10px 12px;
203
+ border-radius: 8px;
204
+ border: 1px solid var(--border);
205
+ background: var(--bg);
206
+ cursor: pointer;
207
+ }
208
+ .content-list-item:hover,
209
+ .content-list-item.selected {
210
+ border-color: var(--accent);
211
+ background: var(--hover);
212
+ }
213
+ .content-list-item-header {
214
+ display: flex;
215
+ justify-content: space-between;
216
+ align-items: center;
217
+ gap: 8px;
218
+ }
219
+ .content-list-item-concept {
220
+ font-weight: 600;
221
+ font-size: 0.9rem;
222
+ white-space: nowrap;
223
+ overflow: hidden;
224
+ text-overflow: ellipsis;
225
+ }
226
+ .content-list-item-meta {
227
+ display: flex;
228
+ gap: 6px;
229
+ align-items: center;
230
+ flex-wrap: wrap;
231
+ margin-top: 4px;
232
+ }
233
+ .content-list-item-domain {
234
+ font-size: 0.72rem;
235
+ padding: 1px 6px;
236
+ border-radius: 4px;
237
+ background: var(--hover);
238
+ color: var(--accent);
239
+ }
240
+ .observer-history-empty {
241
+ color: var(--muted);
242
+ }
243
+ .card-status-badge {
244
+ font-size: 0.72rem;
245
+ padding: 1px 6px;
246
+ border-radius: 4px;
247
+ font-weight: 500;
248
+ }
249
+ .card-status-badge.new {
250
+ background: rgba(59, 130, 246, 0.12);
251
+ color: #3b82f6;
252
+ }
253
+ .card-status-badge.learning {
254
+ background: rgba(245, 158, 11, 0.12);
255
+ color: #f59e0b;
256
+ }
257
+ .card-status-badge.review {
258
+ background: rgba(16, 185, 129, 0.12);
259
+ color: #10b981;
260
+ }
261
+ .card-status-badge.relearning {
262
+ background: rgba(239, 68, 68, 0.12);
263
+ color: #ef4444;
264
+ }
265
+ .card-status-badge.not-started {
266
+ background: rgba(107, 114, 128, 0.12);
267
+ color: #6b7280;
268
+ }
269
+
270
+ /* ── Editor form ─────────────────────────────────────────────────── */
271
+ .content-studio-empty {
272
+ display: flex;
273
+ flex-direction: column;
274
+ align-items: center;
275
+ justify-content: center;
276
+ text-align: center;
277
+ gap: 10px;
278
+ padding: 30px 12px;
279
+ color: var(--muted);
280
+ }
281
+ .editor-form-group {
282
+ display: flex;
283
+ flex-direction: column;
284
+ gap: 4px;
285
+ margin-bottom: 10px;
286
+ }
287
+ .editor-form-group label {
288
+ font-size: 0.8rem;
289
+ font-weight: 600;
290
+ color: var(--muted);
291
+ }
292
+ .editor-form-row {
293
+ display: flex;
294
+ gap: 10px;
295
+ flex-wrap: wrap;
296
+ }
297
+ .editor-form-row .editor-form-group {
298
+ flex: 1;
299
+ min-width: 120px;
300
+ }
301
+ .editor-input,
302
+ .editor-textarea,
303
+ .editor-select {
304
+ padding: 7px 10px;
305
+ border-radius: 6px;
306
+ border: 1px solid var(--border);
307
+ background: var(--field-bg);
308
+ color: var(--fg);
309
+ font: inherit;
310
+ font-size: 0.85rem;
311
+ outline: none;
312
+ }
313
+ .editor-input:focus,
314
+ .editor-textarea:focus,
315
+ .editor-select:focus {
316
+ border-color: var(--accent);
317
+ }
318
+ .editor-textarea {
319
+ min-height: 60px;
320
+ resize: vertical;
321
+ }
322
+ .editor-primary-text-group .editor-textarea {
323
+ min-height: 90px;
324
+ }
325
+ .collapsible-header {
326
+ display: flex;
327
+ align-items: center;
328
+ gap: 6px;
329
+ cursor: pointer;
330
+ user-select: none;
331
+ font-size: 0.8rem;
332
+ font-weight: 600;
333
+ color: var(--accent);
334
+ margin: 10px 0 8px;
335
+ }
336
+ .collapsible-content {
337
+ display: none;
338
+ border-left: 2px solid var(--border);
339
+ padding-left: 10px;
340
+ margin-bottom: 10px;
341
+ }
342
+ .collapsible-content.expanded {
343
+ display: block;
344
+ }
345
+ .editor-actions-row {
346
+ display: flex;
347
+ justify-content: space-between;
348
+ gap: 8px;
349
+ flex-wrap: wrap;
350
+ padding-top: 10px;
351
+ border-top: 1px solid var(--border);
352
+ margin-top: 4px;
353
+ }
354
+ .editor-actions-right {
355
+ display: flex;
356
+ gap: 8px;
357
+ flex-wrap: wrap;
358
+ justify-content: flex-end;
359
+ }
360
+
361
+ /* ── Modal dialogs ───────────────────────────────────────────────── */
362
+ .modal-overlay {
363
+ position: fixed;
364
+ top: 0;
365
+ left: 0;
366
+ width: 100%;
367
+ height: 100%;
368
+ background: rgba(0, 0, 0, 0.4);
369
+ display: none;
370
+ align-items: center;
371
+ justify-content: center;
372
+ z-index: 1000;
373
+ padding: 16px;
374
+ }
375
+ .modal-overlay.active {
376
+ display: flex;
377
+ }
378
+ .modal-box {
379
+ background: var(--card);
380
+ border: 1px solid var(--border);
381
+ border-radius: 12px;
382
+ padding: 18px;
383
+ max-width: 420px;
384
+ width: 100%;
385
+ max-height: 85vh;
386
+ overflow-y: auto;
387
+ display: flex;
388
+ flex-direction: column;
389
+ gap: 12px;
390
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
391
+ }
392
+ .modal-header h3 {
393
+ font-size: 1.05rem;
394
+ margin: 0;
395
+ }
396
+ .modal-body {
397
+ font-size: 0.88rem;
398
+ color: var(--muted);
399
+ display: flex;
400
+ flex-direction: column;
401
+ gap: 10px;
402
+ }
403
+ .modal-impact-section {
404
+ background: var(--danger-bg);
405
+ border: 1px solid var(--danger);
406
+ border-radius: 8px;
407
+ padding: 10px 12px;
408
+ }
409
+ .modal-impact-title {
410
+ font-weight: 600;
411
+ font-size: 0.8rem;
412
+ color: var(--danger);
413
+ margin-bottom: 6px;
414
+ }
415
+ .modal-impact-list {
416
+ font-size: 0.8rem;
417
+ list-style: none;
418
+ margin: 0;
419
+ padding: 0;
420
+ display: flex;
421
+ flex-direction: column;
422
+ gap: 4px;
423
+ }
424
+ .modal-actions {
425
+ display: flex;
426
+ justify-content: flex-end;
427
+ gap: 8px;
428
+ }
429
+
430
+ /* ── Panel toast (window.alert() replacement, see panel.ts) ────────── */
431
+ #zam-panel-toast {
432
+ position: fixed;
433
+ left: 50%;
434
+ bottom: 16px;
435
+ transform: translateX(-50%) translateY(8px);
436
+ max-width: calc(100% - 32px);
437
+ background: var(--card);
438
+ color: var(--fg);
439
+ border: 1px solid var(--border);
440
+ border-radius: 8px;
441
+ padding: 10px 14px;
442
+ font-size: 0.85rem;
443
+ box-shadow: 0 10px 40px rgba(0, 0, 0, 0.25);
444
+ opacity: 0;
445
+ pointer-events: none;
446
+ transition:
447
+ opacity 0.15s ease,
448
+ transform 0.15s ease;
449
+ z-index: 2000;
450
+ }
451
+ #zam-panel-toast.visible {
452
+ opacity: 1;
453
+ transform: translateX(-50%) translateY(0);
454
+ }
455
+
456
+ /* Panels render ~400-800px wide in MCP-Apps hosts (no desktop chrome
457
+ to spare); stack list/editor below that so both stay usable. */
458
+ @media (max-width: 640px) {
459
+ .content-studio-layout {
460
+ flex-direction: column;
461
+ }
462
+ .content-studio-layout.show-editor .content-studio-list-panel {
463
+ display: none;
464
+ }
465
+ .content-studio-layout.show-list .content-studio-editor-panel {
466
+ display: none;
467
+ }
468
+ }
469
+ </style>
470
+ <script type="module" crossorigin>var e=Object.defineProperty,t=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},n=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r},r=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function i(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}function a(e){return e&&Object.assign(d,e),d}var o,s,c,l,u,d,f=t((()=>{s=Object.freeze({status:`aborted`}),c=Symbol(`zod_brand`),l=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},u=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},(o=globalThis).__zod_globalConfig??(o.__zod_globalConfig={}),d=globalThis.__zod_globalConfig})),ee=n({BIGINT_FORMAT_RANGES:()=>rt,Class:()=>it,NUMBER_FORMAT_RANGES:()=>nt,aborted:()=>Ie,allowsEval:()=>Qe,assert:()=>ae,assertEqual:()=>te,assertIs:()=>re,assertNever:()=>ie,assertNotEqual:()=>ne,assignProp:()=>pe,base64ToUint8Array:()=>We,base64urlToUint8Array:()=>Ke,cached:()=>ce,captureStackTrace:()=>Ze,cleanEnum:()=>Ue,cleanRegex:()=>ue,clone:()=>Ee,cloneDef:()=>he,createTransparentProxy:()=>De,defineLazy:()=>m,esc:()=>ye,escapeRegex:()=>Te,explicitlyAborted:()=>Le,extend:()=>je,finalizeIssue:()=>_,floatSafeRemainder:()=>de,getElementAtPath:()=>ge,getEnumValues:()=>oe,getLengthableOrigin:()=>Ve,getParsedType:()=>$e,getSizableOrigin:()=>Be,hexToUint8Array:()=>Je,isObject:()=>xe,isPlainObject:()=>Se,issue:()=>He,joinValues:()=>p,jsonStringifyReplacer:()=>se,merge:()=>Ne,mergeDefs:()=>me,normalizeParams:()=>h,nullish:()=>le,numKeys:()=>we,objectClone:()=>fe,omit:()=>Ae,optionalKeys:()=>Oe,parsedType:()=>v,partial:()=>Pe,pick:()=>ke,prefixIssues:()=>Re,primitiveTypes:()=>tt,promiseAllObject:()=>_e,propertyKeyTypes:()=>et,randomString:()=>ve,required:()=>Fe,safeExtend:()=>Me,shallowClone:()=>Ce,slugify:()=>be,stringifyPrimitive:()=>g,uint8ArrayToBase64:()=>Ge,uint8ArrayToBase64url:()=>qe,uint8ArrayToHex:()=>Ye,unwrapMessage:()=>ze});function te(e){return e}function ne(e){return e}function re(e){}function ie(e){throw Error(`Unexpected value in exhaustive check`)}function ae(e){}function oe(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function p(e,t=`|`){return e.map(e=>g(e)).join(t)}function se(e,t){return typeof t==`bigint`?t.toString():t}function ce(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function le(e){return e==null}function ue(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function de(e,t){let n=e/t,r=Math.round(n),i=2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function m(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==Xe)return r===void 0&&(r=Xe,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function fe(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function pe(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function me(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function he(e){return me(e._zod.def)}function ge(e,t){return t?t.reduce((e,t)=>e?.[t],e):e}function _e(e){let t=Object.keys(e),n=t.map(t=>e[t]);return Promise.all(n).then(e=>{let n={};for(let r=0;r<t.length;r++)n[t[r]]=e[r];return n})}function ve(e=10){let t=``;for(let n=0;n<e;n++)t+=`abcdefghijklmnopqrstuvwxyz`[Math.floor(Math.random()*26)];return t}function ye(e){return JSON.stringify(e)}function be(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}function xe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Se(e){if(xe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(xe(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function Ce(e){return Se(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function we(e){let t=0;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&t++;return t}function Te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Ee(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function h(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function De(e){let t;return new Proxy({},{get(n,r,i){return t??=e(),Reflect.get(t,r,i)},set(n,r,i,a){return t??=e(),Reflect.set(t,r,i,a)},has(n,r){return t??=e(),Reflect.has(t,r)},deleteProperty(n,r){return t??=e(),Reflect.deleteProperty(t,r)},ownKeys(n){return t??=e(),Reflect.ownKeys(t)},getOwnPropertyDescriptor(n,r){return t??=e(),Reflect.getOwnPropertyDescriptor(t,r)},defineProperty(n,r,i){return t??=e(),Reflect.defineProperty(t,r,i)}})}function g(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Oe(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}function ke(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return Ee(e,me(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return pe(this,`shape`,e),e},checks:[]}))}function Ae(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return Ee(e,me(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return pe(this,`shape`,r),r},checks:[]}))}function je(e,t){if(!Se(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return Ee(e,me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return pe(this,`shape`,n),n}}))}function Me(e,t){if(!Se(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Ee(e,me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return pe(this,`shape`,n),n}}))}function Ne(e,t){if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return Ee(e,me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return pe(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Pe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return Ee(t,me(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return pe(this,`shape`,i),i},checks:[]}))}function Fe(e,t,n){return Ee(t,me(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return pe(this,`shape`,i),i}}))}function Ie(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function Le(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function Re(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function ze(e){return typeof e==`string`?e:e?.message}function _(e,t,n){let r=e.message?e.message:ze(e.inst?._zod.def?.error?.(e))??ze(t?.error?.(e))??ze(n.customError?.(e))??ze(n.localeError?.(e))??`Invalid input`,{inst:i,continue:a,input:o,...s}=e;return s.path??=[],s.message=r,t?.reportInput&&(s.input=o),s}function Be(e){return e instanceof Set?`set`:e instanceof Map?`map`:e instanceof File?`file`:`unknown`}function Ve(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function v(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function He(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Ue(e){return Object.entries(e).filter(([e,t])=>Number.isNaN(Number.parseInt(e,10))).map(e=>e[1])}function We(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function Ge(e){let t=``;for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Ke(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);return We(t+`=`.repeat((4-t.length%4)%4))}function qe(e){return Ge(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function Je(e){let t=e.replace(/^0x/,``);if(t.length%2!=0)throw Error(`Invalid hex string length`);let n=new Uint8Array(t.length/2);for(let e=0;e<t.length;e+=2)n[e/2]=Number.parseInt(t.slice(e,e+2),16);return n}function Ye(e){return Array.from(e).map(e=>e.toString(16).padStart(2,`0`)).join(``)}var Xe,Ze,Qe,$e,et,tt,nt,rt,it,y=t((()=>{f(),Xe=Symbol(`evaluating`),Ze=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{},Qe=ce(()=>{if(d.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}}),$e=e=>{let t=typeof e;switch(t){case`undefined`:return`undefined`;case`string`:return`string`;case`number`:return Number.isNaN(e)?`nan`:`number`;case`boolean`:return`boolean`;case`function`:return`function`;case`bigint`:return`bigint`;case`symbol`:return`symbol`;case`object`:return Array.isArray(e)?`array`:e===null?`null`:e.then&&typeof e.then==`function`&&e.catch&&typeof e.catch==`function`?`promise`:typeof Map<`u`&&e instanceof Map?`map`:typeof Set<`u`&&e instanceof Set?`set`:typeof Date<`u`&&e instanceof Date?`date`:typeof File<`u`&&e instanceof File?`file`:`object`;default:throw Error(`Unknown data type: ${t}`)}},et=new Set([`string`,`number`,`symbol`]),tt=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]),nt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},rt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]},it=class{constructor(...e){}}}));function at(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function ot(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i];i===e.length-1?(r[n]=r[n]||{_errors:[]},r[n]._errors.push(t(a))):r[n]=r[n]||{_errors:[]},r=r[n],i++}}}};return r(e),n}function st(e,t=e=>e.message){let n={errors:[]},r=(e,i=[])=>{var a,o;for(let s of e.issues)if(s.code===`invalid_union`&&s.errors.length)s.errors.map(e=>r({issues:e},[...i,...s.path]));else if(s.code===`invalid_key`)r({issues:s.issues},[...i,...s.path]);else if(s.code===`invalid_element`)r({issues:s.issues},[...i,...s.path]);else{let e=[...i,...s.path];if(e.length===0){n.errors.push(t(s));continue}let r=n,c=0;for(;c<e.length;){let n=e[c],i=c===e.length-1;typeof n==`string`?(r.properties??={},(a=r.properties)[n]??(a[n]={errors:[]}),r=r.properties[n]):(r.items??=[],(o=r.items)[n]??(o[n]={errors:[]}),r=r.items[n]),i&&r.errors.push(t(s)),c++}}};return r(e),n}function ct(e){let t=[],n=e.map(e=>typeof e==`object`?e.key:e);for(let e of n)typeof e==`number`?t.push(`[${e}]`):typeof e==`symbol`?t.push(`[${JSON.stringify(String(e))}]`):/[^\w$]/.test(e)?t.push(`[${JSON.stringify(e)}]`):(t.length&&t.push(`.`),t.push(e));return t.join(``)}function lt(e){let t=[],n=[...e.issues].sort((e,t)=>(e.path??[]).length-(t.path??[]).length);for(let e of n)t.push(`✖ ${e.message}`),e.path?.length&&t.push(` → at ${ct(e.path)}`);return t.join(`
471
+ `)}var ut,dt,b,ft=t((()=>{f(),y(),ut=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,se,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},dt=i(`$ZodError`,ut),b=i(`$ZodError`,ut,{Parent:Error})})),pt,mt,ht,gt,_t,vt,yt,bt,xt,St,Ct,wt,Tt,Et,Dt,Ot,kt,At,jt,Mt,Nt,Pt,Ft,It,Lt=t((()=>{f(),ft(),y(),pt=e=>(t,n,r,i)=>{let o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new l;if(s.issues.length){let t=new((i?.Err)??e)(s.issues.map(e=>_(e,o,a())));throw Ze(t,i?.callee),t}return s.value},mt=pt(b),ht=e=>async(t,n,r,i)=>{let o=r?{...r,async:!0}:{async:!0},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let t=new((i?.Err)??e)(s.issues.map(e=>_(e,o,a())));throw Ze(t,i?.callee),t}return s.value},gt=ht(b),_t=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},o=t._zod.run({value:n,issues:[]},i);if(o instanceof Promise)throw new l;return o.issues.length?{success:!1,error:new(e??dt)(o.issues.map(e=>_(e,i,a())))}:{success:!0,data:o.value}},vt=_t(b),yt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},o=t._zod.run({value:n,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length?{success:!1,error:new e(o.issues.map(e=>_(e,i,a())))}:{success:!0,data:o.value}},bt=yt(b),xt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return pt(e)(t,n,i)},St=xt(b),Ct=e=>(t,n,r)=>pt(e)(t,n,r),wt=Ct(b),Tt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return ht(e)(t,n,i)},Et=Tt(b),Dt=e=>async(t,n,r)=>ht(e)(t,n,r),Ot=Dt(b),kt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return _t(e)(t,n,i)},At=kt(b),jt=e=>(t,n,r)=>_t(e)(t,n,r),Mt=jt(b),Nt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return yt(e)(t,n,i)},Pt=Nt(b),Ft=e=>async(t,n,r)=>yt(e)(t,n,r),It=Ft(b)})),Rt=n({base64:()=>_n,base64url:()=>vn,bigint:()=>En,boolean:()=>kn,browserEmail:()=>un,cidrv4:()=>hn,cidrv6:()=>gn,cuid:()=>Gt,cuid2:()=>Kt,date:()=>wn,datetime:()=>Ht,domain:()=>bn,duration:()=>Zt,e164:()=>Sn,email:()=>an,emoji:()=>zt,extendedDuration:()=>Qt,guid:()=>$t,hex:()=>Pn,hostname:()=>yn,html5Email:()=>on,httpProtocol:()=>xn,idnEmail:()=>ln,integer:()=>Dn,ipv4:()=>fn,ipv6:()=>pn,ksuid:()=>Yt,lowercase:()=>Mn,mac:()=>mn,md5_base64:()=>In,md5_base64url:()=>Ln,md5_hex:()=>Fn,nanoid:()=>Xt,null:()=>An,number:()=>On,rfc5322Email:()=>sn,sha1_base64:()=>zn,sha1_base64url:()=>Bn,sha1_hex:()=>Rn,sha256_base64:()=>Hn,sha256_base64url:()=>Un,sha256_hex:()=>Vn,sha384_base64:()=>Gn,sha384_base64url:()=>Kn,sha384_hex:()=>Wn,sha512_base64:()=>Jn,sha512_base64url:()=>Yn,sha512_hex:()=>qn,string:()=>Tn,time:()=>Vt,ulid:()=>qt,undefined:()=>jn,unicodeEmail:()=>cn,uppercase:()=>Nn,uuid:()=>en,uuid4:()=>tn,uuid6:()=>nn,uuid7:()=>rn,xid:()=>Jt});function zt(){return new RegExp(dn,`u`)}function Bt(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Vt(e){return RegExp(`^${Bt(e)}$`)}function Ht(e){let t=Bt({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${Cn}T(?:${r})$`)}function Ut(e,t){return RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function Wt(e){return RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,nn,rn,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn=t((()=>{y(),Gt=/^[cC][0-9a-z]{6,}$/,Kt=/^[0-9a-z]+$/,qt=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,Jt=/^[0-9a-vA-V]{20}$/,Yt=/^[A-Za-z0-9]{27}$/,Xt=/^[a-zA-Z0-9_-]{21}$/,Zt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Qt=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,$t=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,en=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,tn=en(4),nn=en(6),rn=en(7),an=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,on=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,sn=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,cn=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,ln=cn,un=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,dn=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,fn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,pn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,mn=e=>{let t=Te(e??`:`);return RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},hn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,gn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_n=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,vn=/^[A-Za-z0-9_-]*$/,yn=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,bn=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,xn=/^https?$/,Sn=/^\+[1-9]\d{6,14}$/,Cn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,wn=RegExp(`^${Cn}$`),Tn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},En=/^-?\d+n?$/,Dn=/^-?\d+$/,On=/^-?\d+(?:\.\d+)?$/,kn=/^(?:true|false)$/i,An=/^null$/i,jn=/^undefined$/i,Mn=/^[^A-Z]*$/,Nn=/^[^a-z]*$/,Pn=/^[0-9a-fA-F]*$/,Fn=/^[0-9a-fA-F]{32}$/,In=Ut(22,`==`),Ln=Wt(22),Rn=/^[0-9a-fA-F]{40}$/,zn=Ut(27,`=`),Bn=Wt(27),Vn=/^[0-9a-fA-F]{64}$/,Hn=Ut(43,`=`),Un=Wt(43),Wn=/^[0-9a-fA-F]{96}$/,Gn=Ut(64,``),Kn=Wt(64),qn=/^[0-9a-fA-F]{128}$/,Jn=Ut(86,`==`),Yn=Wt(86)}));function Zn(e,t,n){e.issues.length&&t.issues.push(...Re(n,e.issues))}var x,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br=t((()=>{f(),Xn(),y(),x=i(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Qn={number:`number`,bigint:`bigint`,object:`date`},$n=i(`$ZodCheckLessThan`,(e,t)=>{x.init(e,t);let n=Qn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),er=i(`$ZodCheckGreaterThan`,(e,t)=>{x.init(e,t);let n=Qn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),tr=i(`$ZodCheckMultipleOf`,(e,t)=>{x.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):de(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),nr=i(`$ZodCheckNumberFormat`,(e,t)=>{x.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=nt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Dn)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),rr=i(`$ZodCheckBigIntFormat`,(e,t)=>{x.init(e,t);let[n,r]=rt[t.format];e._zod.onattach.push(e=>{let i=e._zod.bag;i.format=t.format,i.minimum=n,i.maximum=r}),e._zod.check=i=>{let a=i.value;a<n&&i.issues.push({origin:`bigint`,input:a,code:`too_small`,minimum:n,inclusive:!0,inst:e,continue:!t.abort}),a>r&&i.issues.push({origin:`bigint`,input:a,code:`too_big`,maximum:r,inclusive:!0,inst:e,continue:!t.abort})}}),ir=i(`$ZodCheckMaxSize`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.size!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;r.size<=t.maximum||n.issues.push({origin:Be(r),code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ar=i(`$ZodCheckMinSize`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.size!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;r.size>=t.minimum||n.issues.push({origin:Be(r),code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),or=i(`$ZodCheckSizeEquals`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.size!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.size,n.maximum=t.size,n.size=t.size}),e._zod.check=n=>{let r=n.value,i=r.size;if(i===t.size)return;let a=i>t.size;n.issues.push({origin:Be(r),...a?{code:`too_big`,maximum:t.size}:{code:`too_small`,minimum:t.size},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),sr=i(`$ZodCheckMaxLength`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=Ve(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),cr=i(`$ZodCheckMinLength`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=Ve(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),lr=i(`$ZodCheckLengthEquals`,(e,t)=>{var n;x.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!le(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=Ve(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),ur=i(`$ZodCheckStringFormat`,(e,t)=>{var n,r;x.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),dr=i(`$ZodCheckRegex`,(e,t)=>{ur.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),fr=i(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Mn,ur.init(e,t)}),pr=i(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Nn,ur.init(e,t)}),mr=i(`$ZodCheckIncludes`,(e,t)=>{x.init(e,t);let n=Te(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),hr=i(`$ZodCheckStartsWith`,(e,t)=>{x.init(e,t);let n=RegExp(`^${Te(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),gr=i(`$ZodCheckEndsWith`,(e,t)=>{x.init(e,t);let n=RegExp(`.*${Te(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),_r=i(`$ZodCheckProperty`,(e,t)=>{x.init(e,t),e._zod.check=e=>{let n=t.schema._zod.run({value:e.value[t.property],issues:[]},{});if(n instanceof Promise)return n.then(n=>Zn(n,e,t.property));Zn(n,e,t.property)}}),vr=i(`$ZodCheckMimeType`,(e,t)=>{x.init(e,t);let n=new Set(t.mime);e._zod.onattach.push(e=>{e._zod.bag.mime=t.mime}),e._zod.check=r=>{n.has(r.value.type)||r.issues.push({code:`invalid_value`,values:t.mime,input:r.value.type,inst:e,continue:!t.abort})}}),yr=i(`$ZodCheckOverwrite`,(e,t)=>{x.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}})})),xr,Sr=t((()=>{xr=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
472
+ `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
473
+ `))}}})),Cr,wr=t((()=>{Cr={major:4,minor:4,patch:3}}));function Tr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}function Er(e){if(!vn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Tr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}function Dr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}function Or(e,t,n){e.issues.length&&t.issues.push(...Re(n,e.issues)),t.value[n]=e.value}function kr(e,t,n,r,i,a){let o=n in r;if(e.issues.length){if(i&&a&&!o)return;t.issues.push(...Re(n,e.issues))}if(!o&&!i){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}function Ar(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=Oe(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function jr(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin===`optional`,d=c.optout===`optional`;for(let i in t){if(i===`__proto__`||s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>kr(e,n,i,t,u,d))):kr(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}function Mr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!Ie(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>_(e,r,a())))}),t)}function Nr(e,t,n,r){let i=e.filter(e=>e.issues.length===0);return i.length===1?(t.value=i[0].value,t):(i.length===0?t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>_(e,r,a())))}):t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:[],inclusive:!1}),t)}function Pr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Se(e)&&Se(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Pr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Pr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Fr(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),Ie(e))return e;let o=Pr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}function Ir(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]._zod[t]!==`optional`)return n+1;return 0}function Lr(e,t,n){e.issues.length&&t.issues.push(...Re(n,e.issues)),t.value[n]=e.value}function Rr(e,t,n,r,i){for(let a=0;a<n.length;a++){let n=e[a],o=a<r.length;if(n.issues.length){if(!o&&a>=i){t.value.length=a;break}t.issues.push(...Re(a,n.issues))}t.value[a]=n.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}function zr(e,t,n,r,i,o,s){e.issues.length&&(et.has(typeof r)?n.issues.push(...Re(r,e.issues)):n.issues.push({code:`invalid_key`,origin:`map`,input:i,inst:o,issues:e.issues.map(e=>_(e,s,a()))})),t.issues.length&&(et.has(typeof r)?n.issues.push(...Re(r,t.issues)):n.issues.push({origin:`map`,code:`invalid_element`,input:i,inst:o,key:r,issues:t.issues.map(e=>_(e,s,a()))})),n.value.set(e.value,t.value)}function Br(e,t){e.issues.length&&t.issues.push(...e.issues),t.value.add(e.value)}function Vr(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}function Hr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}function Ur(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Wr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},n)}function Gr(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>Kr(e,r,t.out,n)):Kr(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>Kr(e,r,t.in,n)):Kr(e,r,t.in,n)}}function Kr(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}function qr(e){return e.value=Object.freeze(e.value),e}function Jr(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(He(e))}}var S,Yr,C,Xr,Zr,Qr,$r,ei,ti,ni,ri,ii,ai,oi,si,ci,li,ui,di,fi,pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki,Ai,ji,Mi,Ni,Pi,Fi,Ii,Li,Ri,zi,Bi,Vi,Hi,Ui,Wi,Gi,Ki,qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta,na,ra,ia,aa,oa,sa,ca,la,ua,da,fa,pa=t((()=>{br(),f(),Sr(),Lt(),Xn(),y(),wr(),S=i(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Cr;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=Ie(e),i;for(let a of t){if(a._zod.def.when){if(Le(e)||!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new l;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=Ie(e,t))});else{if(e.issues.length===t)continue;r||=Ie(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(Ie(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new l;return o.then(e=>t(e,r,a))}return t(o,r,a)}}m(e,`~standard`,()=>({validate:t=>{try{let n=vt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return bt(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Yr=i(`$ZodString`,(e,t)=>{S.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Tn(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),C=i(`$ZodStringFormat`,(e,t)=>{ur.init(e,t),Yr.init(e,t)}),Xr=i(`$ZodGUID`,(e,t)=>{t.pattern??=$t,C.init(e,t)}),Zr=i(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=en(e)}else t.pattern??=en();C.init(e,t)}),Qr=i(`$ZodEmail`,(e,t)=>{t.pattern??=an,C.init(e,t)}),$r=i(`$ZodURL`,(e,t)=>{C.init(e,t),e._zod.check=n=>{try{let r=n.value.trim();if(!t.normalize&&t.protocol?.source===xn.source&&!/^https?:\/\//i.test(r)){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}let i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),ei=i(`$ZodEmoji`,(e,t)=>{t.pattern??=zt(),C.init(e,t)}),ti=i(`$ZodNanoID`,(e,t)=>{t.pattern??=Xt,C.init(e,t)}),ni=i(`$ZodCUID`,(e,t)=>{t.pattern??=Gt,C.init(e,t)}),ri=i(`$ZodCUID2`,(e,t)=>{t.pattern??=Kt,C.init(e,t)}),ii=i(`$ZodULID`,(e,t)=>{t.pattern??=qt,C.init(e,t)}),ai=i(`$ZodXID`,(e,t)=>{t.pattern??=Jt,C.init(e,t)}),oi=i(`$ZodKSUID`,(e,t)=>{t.pattern??=Yt,C.init(e,t)}),si=i(`$ZodISODateTime`,(e,t)=>{t.pattern??=Ht(t),C.init(e,t)}),ci=i(`$ZodISODate`,(e,t)=>{t.pattern??=wn,C.init(e,t)}),li=i(`$ZodISOTime`,(e,t)=>{t.pattern??=Vt(t),C.init(e,t)}),ui=i(`$ZodISODuration`,(e,t)=>{t.pattern??=Zt,C.init(e,t)}),di=i(`$ZodIPv4`,(e,t)=>{t.pattern??=fn,C.init(e,t),e._zod.bag.format=`ipv4`}),fi=i(`$ZodIPv6`,(e,t)=>{t.pattern??=pn,C.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),pi=i(`$ZodMAC`,(e,t)=>{t.pattern??=mn(t.delimiter),C.init(e,t),e._zod.bag.format=`mac`}),mi=i(`$ZodCIDRv4`,(e,t)=>{t.pattern??=hn,C.init(e,t)}),hi=i(`$ZodCIDRv6`,(e,t)=>{t.pattern??=gn,C.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}}),gi=i(`$ZodBase64`,(e,t)=>{t.pattern??=_n,C.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{Tr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),_i=i(`$ZodBase64URL`,(e,t)=>{t.pattern??=vn,C.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{Er(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),vi=i(`$ZodE164`,(e,t)=>{t.pattern??=Sn,C.init(e,t)}),yi=i(`$ZodJWT`,(e,t)=>{C.init(e,t),e._zod.check=n=>{Dr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),bi=i(`$ZodCustomStringFormat`,(e,t)=>{C.init(e,t),e._zod.check=n=>{t.fn(n.value)||n.issues.push({code:`invalid_format`,format:t.format,input:n.value,inst:e,continue:!t.abort})}}),xi=i(`$ZodNumber`,(e,t)=>{S.init(e,t),e._zod.pattern=e._zod.bag.pattern??On,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Si=i(`$ZodNumberFormat`,(e,t)=>{nr.init(e,t),xi.init(e,t)}),Ci=i(`$ZodBoolean`,(e,t)=>{S.init(e,t),e._zod.pattern=kn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),wi=i(`$ZodBigInt`,(e,t)=>{S.init(e,t),e._zod.pattern=En,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=BigInt(n.value)}catch{}return typeof n.value==`bigint`||n.issues.push({expected:`bigint`,code:`invalid_type`,input:n.value,inst:e}),n}}),Ti=i(`$ZodBigIntFormat`,(e,t)=>{rr.init(e,t),wi.init(e,t)}),Ei=i(`$ZodSymbol`,(e,t)=>{S.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return typeof r==`symbol`||t.issues.push({expected:`symbol`,code:`invalid_type`,input:r,inst:e}),t}}),Di=i(`$ZodUndefined`,(e,t)=>{S.init(e,t),e._zod.pattern=jn,e._zod.values=new Set([void 0]),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`undefined`,code:`invalid_type`,input:r,inst:e}),t}}),Oi=i(`$ZodNull`,(e,t)=>{S.init(e,t),e._zod.pattern=An,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),ki=i(`$ZodAny`,(e,t)=>{S.init(e,t),e._zod.parse=e=>e}),Ai=i(`$ZodUnknown`,(e,t)=>{S.init(e,t),e._zod.parse=e=>e}),ji=i(`$ZodNever`,(e,t)=>{S.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),Mi=i(`$ZodVoid`,(e,t)=>{S.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r===void 0||t.issues.push({expected:`void`,code:`invalid_type`,input:r,inst:e}),t}}),Ni=i(`$ZodDate`,(e,t)=>{S.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:`date`,code:`invalid_type`,input:i,...a?{received:`Invalid Date`}:{},inst:e}),n}}),Pi=i(`$ZodArray`,(e,t)=>{S.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Or(t,n,e))):Or(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}}),Fi=i(`$ZodObject`,(e,t)=>{if(S.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=ce(()=>Ar(t));m(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=xe,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optin===`optional`,i=n._zod.optout===`optional`,a=n._zod.run({value:s[e],issues:[]},o);a instanceof Promise?c.push(a.then(n=>kr(n,t,e,s,r,i))):kr(a,t,e,s,r,i)}return i?jr(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),Ii=i(`$ZodObjectJIT`,(e,t)=>{Fi.init(e,t);let n=e._zod.parse,r=ce(()=>Ar(t)),i=e=>{let t=new xr([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=ye(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=ye(r),s=e[r],c=s?._zod?.optin===`optional`,l=s?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),c&&l?t.write(`
474
+ if (${n}.issues.length) {
475
+ if (${o} in input) {
476
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
477
+ ...iss,
478
+ path: iss.path ? [${o}, ...iss.path] : [${o}]
479
+ })));
480
+ }
481
+ }
482
+
483
+ if (${n}.value === undefined) {
484
+ if (${o} in input) {
485
+ newResult[${o}] = undefined;
486
+ }
487
+ } else {
488
+ newResult[${o}] = ${n}.value;
489
+ }
490
+
491
+ `):c?t.write(`
492
+ if (${n}.issues.length) {
493
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
494
+ ...iss,
495
+ path: iss.path ? [${o}, ...iss.path] : [${o}]
496
+ })));
497
+ }
498
+
499
+ if (${n}.value === undefined) {
500
+ if (${o} in input) {
501
+ newResult[${o}] = undefined;
502
+ }
503
+ } else {
504
+ newResult[${o}] = ${n}.value;
505
+ }
506
+
507
+ `):t.write(`
508
+ const ${n}_present = ${o} in input;
509
+ if (${n}.issues.length) {
510
+ payload.issues = payload.issues.concat(${n}.issues.map(iss => ({
511
+ ...iss,
512
+ path: iss.path ? [${o}, ...iss.path] : [${o}]
513
+ })));
514
+ }
515
+ if (!${n}_present && !${n}.issues.length) {
516
+ payload.issues.push({
517
+ code: "invalid_type",
518
+ expected: "nonoptional",
519
+ input: undefined,
520
+ path: [${o}]
521
+ });
522
+ }
523
+
524
+ if (${n}_present) {
525
+ if (${n}.value === undefined) {
526
+ newResult[${o}] = undefined;
527
+ } else {
528
+ newResult[${o}] = ${n}.value;
529
+ }
530
+ }
531
+
532
+ `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=xe,s=!d.jitless,c=s&&Qe.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let ee=d.value;return o(ee)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?jr([],ee,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:ee,inst:e}),d)}}),Li=i(`$ZodUnion`,(e,t)=>{S.init(e,t),m(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),m(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),m(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),m(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>ue(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Mr(t,r,e,i)):Mr(o,r,e,i)}}),Ri=i(`$ZodXor`,(e,t)=>{Li.init(e,t),t.inclusive=!1;let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);t instanceof Promise?(o.push(t),a=!0):o.push(t)}return a?Promise.all(o).then(t=>Nr(t,r,e,i)):Nr(o,r,e,i)}}),zi=i(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Li.init(e,t);let n=e._zod.parse;m(e._zod,`propValues`,()=>{let e={};for(let n of t.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(let[t,n]of Object.entries(r)){e[t]||(e[t]=new Set);for(let r of n)e[t].add(r)}}return e});let r=ce(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!xe(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),Bi=i(`$ZodIntersection`,(e,t)=>{S.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Fr(e,t,n)):Fr(e,i,a)}}),Vi=i(`$ZodTuple`,(e,t)=>{S.init(e,t);let n=t.items;e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({input:a,inst:e,expected:`tuple`,code:`invalid_type`}),r;r.value=[];let o=[],s=Ir(n,`optin`),c=Ir(n,`optout`);if(!t.rest){if(a.length<s)return r.issues.push({code:`too_small`,minimum:s,inclusive:!0,input:a,inst:e,origin:`array`}),r;a.length>n.length&&r.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:a,inst:e,origin:`array`})}let l=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:a[e],issues:[]},i);t instanceof Promise?o.push(t.then(t=>{l[e]=t})):l[e]=t}if(t.rest){let e=n.length-1,s=a.slice(n.length);for(let n of s){e++;let a=t.rest._zod.run({value:n,issues:[]},i);a instanceof Promise?o.push(a.then(t=>Lr(t,r,e))):Lr(a,r,e)}}return o.length?Promise.all(o).then(()=>Rr(l,r,n,a,c)):Rr(l,r,n,a,c)}}),Hi=i(`$ZodRecord`,(e,t)=>{S.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Se(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let o=[],s=t.keyType._zod.values;if(s){n.value={};let c=new Set;for(let l of s)if(typeof l==`string`||typeof l==`number`||typeof l==`symbol`){c.add(typeof l==`number`?l.toString():l);let s=t.keyType._zod.run({value:l,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>_(e,r,a())),input:l,path:[l],inst:e});continue}let u=s.value,d=t.valueType._zod.run({value:i[l],issues:[]},r);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&n.issues.push(...Re(l,e.issues)),n.value[u]=e.value})):(d.issues.length&&n.issues.push(...Re(l,d.issues)),n.value[u]=d.value)}let l;for(let e in i)c.has(e)||(l??=[],l.push(e));l&&l.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:l})}else{n.value={};for(let s of Reflect.ownKeys(i)){if(s===`__proto__`||!Object.prototype.propertyIsEnumerable.call(i,s))continue;let c=t.keyType._zod.run({value:s,issues:[]},r);if(c instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof s==`string`&&On.test(s)&&c.issues.length){let e=t.keyType._zod.run({value:Number(s),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(c=e)}if(c.issues.length){t.mode===`loose`?n.value[s]=i[s]:n.issues.push({code:`invalid_key`,origin:`record`,issues:c.issues.map(e=>_(e,r,a())),input:s,path:[s],inst:e});continue}let l=t.valueType._zod.run({value:i[s],issues:[]},r);l instanceof Promise?o.push(l.then(e=>{e.issues.length&&n.issues.push(...Re(s,e.issues)),n.value[c.value]=e.value})):(l.issues.length&&n.issues.push(...Re(s,l.issues)),n.value[c.value]=l.value)}}return o.length?Promise.all(o).then(()=>n):n}}),Ui=i(`$ZodMap`,(e,t)=>{S.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!(i instanceof Map))return n.issues.push({expected:`map`,code:`invalid_type`,input:i,inst:e}),n;let a=[];n.value=new Map;for(let[o,s]of i){let c=t.keyType._zod.run({value:o,issues:[]},r),l=t.valueType._zod.run({value:s,issues:[]},r);c instanceof Promise||l instanceof Promise?a.push(Promise.all([c,l]).then(([t,a])=>{zr(t,a,n,o,i,e,r)})):zr(c,l,n,o,i,e,r)}return a.length?Promise.all(a).then(()=>n):n}}),Wi=i(`$ZodSet`,(e,t)=>{S.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!(i instanceof Set))return n.issues.push({input:i,inst:e,expected:`set`,code:`invalid_type`}),n;let a=[];n.value=new Set;for(let e of i){let i=t.valueType._zod.run({value:e,issues:[]},r);i instanceof Promise?a.push(i.then(e=>Br(e,n))):Br(i,n)}return a.length?Promise.all(a).then(()=>n):n}}),Gi=i(`$ZodEnum`,(e,t)=>{S.init(e,t);let n=oe(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>et.has(typeof e)).map(e=>typeof e==`string`?Te(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Ki=i(`$ZodLiteral`,(e,t)=>{if(S.init(e,t),t.values.length===0)throw Error(`Cannot create literal schema with no valid values`);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(`^(${t.values.map(e=>typeof e==`string`?Te(e):e?Te(e.toString()):String(e)).join(`|`)})$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),qi=i(`$ZodFile`,(e,t)=>{S.init(e,t),e._zod.parse=(t,n)=>{let r=t.value;return r instanceof File||t.issues.push({expected:`file`,code:`invalid_type`,input:r,inst:e}),t}}),Ji=i(`$ZodTransform`,(e,t)=>{S.init(e,t),e._zod.optin=`optional`,e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n.fallback=!0,n));if(i instanceof Promise)throw new l;return n.value=i,n.fallback=!0,n}}),Yi=i(`$ZodOptional`,(e,t)=>{S.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,m(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),m(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ue(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=e.value,i=t.innerType._zod.run(e,n);return i instanceof Promise?i.then(e=>Vr(e,r)):Vr(i,r)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Xi=i(`$ZodExactOptional`,(e,t)=>{Yi.init(e,t),m(e._zod,`values`,()=>t.innerType._zod.values),m(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Zi=i(`$ZodNullable`,(e,t)=>{S.init(e,t),m(e._zod,`optin`,()=>t.innerType._zod.optin),m(e._zod,`optout`,()=>t.innerType._zod.optout),m(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${ue(e.source)}|null)$`):void 0}),m(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Qi=i(`$ZodDefault`,(e,t)=>{S.init(e,t),e._zod.optin=`optional`,m(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Hr(e,t)):Hr(r,t)}}),$i=i(`$ZodPrefault`,(e,t)=>{S.init(e,t),e._zod.optin=`optional`,m(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),ea=i(`$ZodNonOptional`,(e,t)=>{S.init(e,t),m(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Ur(t,e)):Ur(i,e)}}),ta=i(`$ZodSuccess`,(e,t)=>{S.init(e,t),e._zod.parse=(e,n)=>{if(n.direction===`backward`)throw new u(`ZodSuccess`);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>(e.value=t.issues.length===0,e)):(e.value=r.issues.length===0,e)}}),na=i(`$ZodCatch`,(e,t)=>{S.init(e,t),e._zod.optin=`optional`,m(e._zod,`optout`,()=>t.innerType._zod.optout),m(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>_(e,n,a()))},input:e.value}),e.issues=[],e.fallback=!0),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>_(e,n,a()))},input:e.value}),e.issues=[],e.fallback=!0),e)}}),ra=i(`$ZodNaN`,(e,t)=>{S.init(e,t),e._zod.parse=(t,n)=>((typeof t.value!=`number`||!Number.isNaN(t.value))&&t.issues.push({input:t.value,inst:e,expected:`nan`,code:`invalid_type`}),t)}),ia=i(`$ZodPipe`,(e,t)=>{S.init(e,t),m(e._zod,`values`,()=>t.in._zod.values),m(e._zod,`optin`,()=>t.in._zod.optin),m(e._zod,`optout`,()=>t.out._zod.optout),m(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Wr(e,t.in,n)):Wr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Wr(e,t.out,n)):Wr(r,t.out,n)}}),aa=i(`$ZodCodec`,(e,t)=>{S.init(e,t),m(e._zod,`values`,()=>t.in._zod.values),m(e._zod,`optin`,()=>t.in._zod.optin),m(e._zod,`optout`,()=>t.out._zod.optout),m(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Gr(e,t,n)):Gr(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Gr(e,t,n)):Gr(r,t,n)}}}),oa=i(`$ZodPreprocess`,(e,t)=>{ia.init(e,t)}),sa=i(`$ZodReadonly`,(e,t)=>{S.init(e,t),m(e._zod,`propValues`,()=>t.innerType._zod.propValues),m(e._zod,`values`,()=>t.innerType._zod.values),m(e._zod,`optin`,()=>t.innerType?._zod?.optin),m(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(qr):qr(r)}}),ca=i(`$ZodTemplateLiteral`,(e,t)=>{S.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){if(!e._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);let t=e._zod.pattern instanceof RegExp?e._zod.pattern.source:e._zod.pattern;if(!t)throw Error(`Invalid template literal part: ${e._zod.traits}`);let r=+!!t.startsWith(`^`),i=t.endsWith(`$`)?t.length-1:t.length;n.push(t.slice(r,i))}else if(e===null||tt.has(typeof e))n.push(Te(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),la=i(`$ZodFunction`,(e,t)=>(S.init(e,t),e._def=t,e._zod.def=t,e.implement=t=>{if(typeof t!=`function`)throw Error(`implement() must be called with a function`);return function(...n){let r=e._def.input?mt(e._def.input,n):n,i=Reflect.apply(t,this,r);return e._def.output?mt(e._def.output,i):i}},e.implementAsync=t=>{if(typeof t!=`function`)throw Error(`implementAsync() must be called with a function`);return async function(...n){let r=e._def.input?await gt(e._def.input,n):n,i=await Reflect.apply(t,this,r);return e._def.output?await gt(e._def.output,i):i}},e._zod.parse=(t,n)=>typeof t.value==`function`?(e._def.output&&e._def.output._zod.def.type===`promise`?t.value=e.implementAsync(t.value):t.value=e.implement(t.value),t):(t.issues.push({code:`invalid_type`,expected:`function`,input:t.value,inst:e}),t),e.input=(...t)=>{let n=e.constructor;return Array.isArray(t[0])?new n({type:`function`,input:new Vi({type:`tuple`,items:t[0],rest:t[1]}),output:e._def.output}):new n({type:`function`,input:t[0],output:e._def.output})},e.output=t=>{let n=e.constructor;return new n({type:`function`,input:e._def.input,output:t})},e)),ua=i(`$ZodPromise`,(e,t)=>{S.init(e,t),e._zod.parse=(e,n)=>Promise.resolve(e.value).then(e=>t.innerType._zod.run({value:e,issues:[]},n))}),da=i(`$ZodLazy`,(e,t)=>{S.init(e,t),m(e._zod,`innerType`,()=>{let e=t;return e._cachedInner||=t.getter(),e._cachedInner}),m(e._zod,`pattern`,()=>e._zod.innerType?._zod?.pattern),m(e._zod,`propValues`,()=>e._zod.innerType?._zod?.propValues),m(e._zod,`optin`,()=>e._zod.innerType?._zod?.optin??void 0),m(e._zod,`optout`,()=>e._zod.innerType?._zod?.optout??void 0),e._zod.parse=(t,n)=>e._zod.innerType._zod.run(t,n)}),fa=i(`$ZodCustom`,(e,t)=>{x.init(e,t),S.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Jr(t,n,r,e));Jr(i,n,r,e)}})}));function ma(){return{localeError:ha()}}var ha,ga=t((()=>{y(),ha=()=>{let e={string:{unit:`حرف`,verb:`أن يحوي`},file:{unit:`بايت`,verb:`أن يحوي`},array:{unit:`عنصر`,verb:`أن يحوي`},set:{unit:`عنصر`,verb:`أن يحوي`}};function t(t){return e[t]??null}let n={regex:`مدخل`,email:`بريد إلكتروني`,url:`رابط`,emoji:`إيموجي`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`تاريخ ووقت بمعيار ISO`,date:`تاريخ بمعيار ISO`,time:`وقت بمعيار ISO`,duration:`مدة بمعيار ISO`,ipv4:`عنوان IPv4`,ipv6:`عنوان IPv6`,cidrv4:`مدى عناوين بصيغة IPv4`,cidrv6:`مدى عناوين بصيغة IPv6`,base64:`نَص بترميز base64-encoded`,base64url:`نَص بترميز base64url-encoded`,json_string:`نَص على هيئة JSON`,e164:`رقم هاتف بمعيار E.164`,jwt:`JWT`,template_literal:`مدخل`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`مدخلات غير مقبولة: يفترض إدخال instanceof ${e.expected}، ولكن تم إدخال ${i}`:`مدخلات غير مقبولة: يفترض إدخال ${t}، ولكن تم إدخال ${i}`}case`invalid_value`:return e.values.length===1?`مدخلات غير مقبولة: يفترض إدخال ${g(e.values[0])}`:`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?` أكبر من اللازم: يفترض أن تكون ${e.origin??`القيمة`} ${n} ${e.maximum.toString()} ${r.unit??`عنصر`}`:`أكبر من اللازم: يفترض أن تكون ${e.origin??`القيمة`} ${n} ${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${n} ${e.minimum.toString()} ${r.unit}`:`أصغر من اللازم: يفترض لـ ${e.origin} أن يكون ${n} ${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`نَص غير مقبول: يجب أن يبدأ بـ "${e.prefix}"`:t.format===`ends_with`?`نَص غير مقبول: يجب أن ينتهي بـ "${t.suffix}"`:t.format===`includes`?`نَص غير مقبول: يجب أن يتضمَّن "${t.includes}"`:t.format===`regex`?`نَص غير مقبول: يجب أن يطابق النمط ${t.pattern}`:`${n[t.format]??e.format} غير مقبول`}case`not_multiple_of`:return`رقم غير مقبول: يجب أن يكون من مضاعفات ${e.divisor}`;case`unrecognized_keys`:return`معرف${e.keys.length>1?`ات`:``} غريب${e.keys.length>1?`ة`:``}: ${p(e.keys,`، `)}`;case`invalid_key`:return`معرف غير مقبول في ${e.origin}`;case`invalid_union`:return`مدخل غير مقبول`;case`invalid_element`:return`مدخل غير مقبول في ${e.origin}`;default:return`مدخل غير مقبول`}}}}));function _a(){return{localeError:va()}}var va,ya=t((()=>{y(),va=()=>{let e={string:{unit:`simvol`,verb:`olmalıdır`},file:{unit:`bayt`,verb:`olmalıdır`},array:{unit:`element`,verb:`olmalıdır`},set:{unit:`element`,verb:`olmalıdır`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Yanlış dəyər: gözlənilən instanceof ${e.expected}, daxil olan ${i}`:`Yanlış dəyər: gözlənilən ${t}, daxil olan ${i}`}case`invalid_value`:return e.values.length===1?`Yanlış dəyər: gözlənilən ${g(e.values[0])}`:`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Çox böyük: gözlənilən ${e.origin??`dəyər`} ${n}${e.maximum.toString()} ${r.unit??`element`}`:`Çox böyük: gözlənilən ${e.origin??`dəyər`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Çox kiçik: gözlənilən ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`Çox kiçik: gözlənilən ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Yanlış mətn: "${t.prefix}" ilə başlamalıdır`:t.format===`ends_with`?`Yanlış mətn: "${t.suffix}" ilə bitməlidir`:t.format===`includes`?`Yanlış mətn: "${t.includes}" daxil olmalıdır`:t.format===`regex`?`Yanlış mətn: ${t.pattern} şablonuna uyğun olmalıdır`:`Yanlış ${n[t.format]??e.format}`}case`not_multiple_of`:return`Yanlış ədəd: ${e.divisor} ilə bölünə bilən olmalıdır`;case`unrecognized_keys`:return`Tanınmayan açar${e.keys.length>1?`lar`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} daxilində yanlış açar`;case`invalid_union`:return`Yanlış dəyər`;case`invalid_element`:return`${e.origin} daxilində yanlış dəyər`;default:return`Yanlış dəyər`}}}}));function ba(e,t,n,r){let i=Math.abs(e),a=i%10,o=i%100;return o>=11&&o<=19?r:a===1?t:a>=2&&a<=4?n:r}function xa(){return{localeError:Sa()}}var Sa,Ca=t((()=>{y(),Sa=()=>{let e={string:{unit:{one:`сімвал`,few:`сімвалы`,many:`сімвалаў`},verb:`мець`},array:{unit:{one:`элемент`,few:`элементы`,many:`элементаў`},verb:`мець`},set:{unit:{one:`элемент`,few:`элементы`,many:`элементаў`},verb:`мець`},file:{unit:{one:`байт`,few:`байты`,many:`байтаў`},verb:`мець`}};function t(t){return e[t]??null}let n={regex:`увод`,email:`email адрас`,url:`URL`,emoji:`эмодзі`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO дата і час`,date:`ISO дата`,time:`ISO час`,duration:`ISO працягласць`,ipv4:`IPv4 адрас`,ipv6:`IPv6 адрас`,cidrv4:`IPv4 дыяпазон`,cidrv6:`IPv6 дыяпазон`,base64:`радок у фармаце base64`,base64url:`радок у фармаце base64url`,json_string:`JSON радок`,e164:`нумар E.164`,jwt:`JWT`,template_literal:`увод`},r={nan:`NaN`,number:`лік`,array:`масіў`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Няправільны ўвод: чакаўся instanceof ${e.expected}, атрымана ${i}`:`Няправільны ўвод: чакаўся ${t}, атрымана ${i}`}case`invalid_value`:return e.values.length===1?`Няправільны ўвод: чакалася ${g(e.values[0])}`:`Няправільны варыянт: чакаўся адзін з ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);if(r){let t=ba(Number(e.maximum),r.unit.one,r.unit.few,r.unit.many);return`Занадта вялікі: чакалася, што ${e.origin??`значэнне`} павінна ${r.verb} ${n}${e.maximum.toString()} ${t}`}return`Занадта вялікі: чакалася, што ${e.origin??`значэнне`} павінна быць ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);if(r){let t=ba(Number(e.minimum),r.unit.one,r.unit.few,r.unit.many);return`Занадта малы: чакалася, што ${e.origin} павінна ${r.verb} ${n}${e.minimum.toString()} ${t}`}return`Занадта малы: чакалася, што ${e.origin} павінна быць ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Няправільны радок: павінен пачынацца з "${t.prefix}"`:t.format===`ends_with`?`Няправільны радок: павінен заканчвацца на "${t.suffix}"`:t.format===`includes`?`Няправільны радок: павінен змяшчаць "${t.includes}"`:t.format===`regex`?`Няправільны радок: павінен адпавядаць шаблону ${t.pattern}`:`Няправільны ${n[t.format]??e.format}`}case`not_multiple_of`:return`Няправільны лік: павінен быць кратным ${e.divisor}`;case`unrecognized_keys`:return`Нераспазнаны ${e.keys.length>1?`ключы`:`ключ`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Няправільны ключ у ${e.origin}`;case`invalid_union`:return`Няправільны ўвод`;case`invalid_element`:return`Няправільнае значэнне ў ${e.origin}`;default:return`Няправільны ўвод`}}}}));function wa(){return{localeError:Ta()}}var Ta,Ea=t((()=>{y(),Ta=()=>{let e={string:{unit:`символа`,verb:`да съдържа`},file:{unit:`байта`,verb:`да съдържа`},array:{unit:`елемента`,verb:`да съдържа`},set:{unit:`елемента`,verb:`да съдържа`}};function t(t){return e[t]??null}let n={regex:`вход`,email:`имейл адрес`,url:`URL`,emoji:`емоджи`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO време`,date:`ISO дата`,time:`ISO време`,duration:`ISO продължителност`,ipv4:`IPv4 адрес`,ipv6:`IPv6 адрес`,cidrv4:`IPv4 диапазон`,cidrv6:`IPv6 диапазон`,base64:`base64-кодиран низ`,base64url:`base64url-кодиран низ`,json_string:`JSON низ`,e164:`E.164 номер`,jwt:`JWT`,template_literal:`вход`},r={nan:`NaN`,number:`число`,array:`масив`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Невалиден вход: очакван instanceof ${e.expected}, получен ${i}`:`Невалиден вход: очакван ${t}, получен ${i}`}case`invalid_value`:return e.values.length===1?`Невалиден вход: очакван ${g(e.values[0])}`:`Невалидна опция: очаквано едно от ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Твърде голямо: очаква се ${e.origin??`стойност`} да съдържа ${n}${e.maximum.toString()} ${r.unit??`елемента`}`:`Твърде голямо: очаква се ${e.origin??`стойност`} да бъде ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Твърде малко: очаква се ${e.origin} да съдържа ${n}${e.minimum.toString()} ${r.unit}`:`Твърде малко: очаква се ${e.origin} да бъде ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;if(t.format===`starts_with`)return`Невалиден низ: трябва да започва с "${t.prefix}"`;if(t.format===`ends_with`)return`Невалиден низ: трябва да завършва с "${t.suffix}"`;if(t.format===`includes`)return`Невалиден низ: трябва да включва "${t.includes}"`;if(t.format===`regex`)return`Невалиден низ: трябва да съвпада с ${t.pattern}`;let r=`Невалиден`;return t.format===`emoji`&&(r=`Невалидно`),t.format===`datetime`&&(r=`Невалидно`),t.format===`date`&&(r=`Невалидна`),t.format===`time`&&(r=`Невалидно`),t.format===`duration`&&(r=`Невалидна`),`${r} ${n[t.format]??e.format}`}case`not_multiple_of`:return`Невалидно число: трябва да бъде кратно на ${e.divisor}`;case`unrecognized_keys`:return`Неразпознат${e.keys.length>1?`и`:``} ключ${e.keys.length>1?`ове`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Невалиден ключ в ${e.origin}`;case`invalid_union`:return`Невалиден вход`;case`invalid_element`:return`Невалидна стойност в ${e.origin}`;default:return`Невалиден вход`}}}}));function Da(){return{localeError:Oa()}}var Oa,ka=t((()=>{y(),Oa=()=>{let e={string:{unit:`caràcters`,verb:`contenir`},file:{unit:`bytes`,verb:`contenir`},array:{unit:`elements`,verb:`contenir`},set:{unit:`elements`,verb:`contenir`}};function t(t){return e[t]??null}let n={regex:`entrada`,email:`adreça electrònica`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`data i hora ISO`,date:`data ISO`,time:`hora ISO`,duration:`durada ISO`,ipv4:`adreça IPv4`,ipv6:`adreça IPv6`,cidrv4:`rang IPv4`,cidrv6:`rang IPv6`,base64:`cadena codificada en base64`,base64url:`cadena codificada en base64url`,json_string:`cadena JSON`,e164:`número E.164`,jwt:`JWT`,template_literal:`entrada`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Tipus invàlid: s'esperava instanceof ${e.expected}, s'ha rebut ${i}`:`Tipus invàlid: s'esperava ${t}, s'ha rebut ${i}`}case`invalid_value`:return e.values.length===1?`Valor invàlid: s'esperava ${g(e.values[0])}`:`Opció invàlida: s'esperava una de ${p(e.values,` o `)}`;case`too_big`:{let n=e.inclusive?`com a màxim`:`menys de`,r=t(e.origin);return r?`Massa gran: s'esperava que ${e.origin??`el valor`} contingués ${n} ${e.maximum.toString()} ${r.unit??`elements`}`:`Massa gran: s'esperava que ${e.origin??`el valor`} fos ${n} ${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`com a mínim`:`més de`,r=t(e.origin);return r?`Massa petit: s'esperava que ${e.origin} contingués ${n} ${e.minimum.toString()} ${r.unit}`:`Massa petit: s'esperava que ${e.origin} fos ${n} ${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Format invàlid: ha de començar amb "${t.prefix}"`:t.format===`ends_with`?`Format invàlid: ha d'acabar amb "${t.suffix}"`:t.format===`includes`?`Format invàlid: ha d'incloure "${t.includes}"`:t.format===`regex`?`Format invàlid: ha de coincidir amb el patró ${t.pattern}`:`Format invàlid per a ${n[t.format]??e.format}`}case`not_multiple_of`:return`Número invàlid: ha de ser múltiple de ${e.divisor}`;case`unrecognized_keys`:return`Clau${e.keys.length>1?`s`:``} no reconeguda${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Clau invàlida a ${e.origin}`;case`invalid_union`:return`Entrada invàlida`;case`invalid_element`:return`Element invàlid a ${e.origin}`;default:return`Entrada invàlida`}}}}));function Aa(){return{localeError:ja()}}var ja,Ma=t((()=>{y(),ja=()=>{let e={string:{unit:`znaků`,verb:`mít`},file:{unit:`bajtů`,verb:`mít`},array:{unit:`prvků`,verb:`mít`},set:{unit:`prvků`,verb:`mít`}};function t(t){return e[t]??null}let n={regex:`regulární výraz`,email:`e-mailová adresa`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`datum a čas ve formátu ISO`,date:`datum ve formátu ISO`,time:`čas ve formátu ISO`,duration:`doba trvání ISO`,ipv4:`IPv4 adresa`,ipv6:`IPv6 adresa`,cidrv4:`rozsah IPv4`,cidrv6:`rozsah IPv6`,base64:`řetězec zakódovaný ve formátu base64`,base64url:`řetězec zakódovaný ve formátu base64url`,json_string:`řetězec ve formátu JSON`,e164:`číslo E.164`,jwt:`JWT`,template_literal:`vstup`},r={nan:`NaN`,number:`číslo`,string:`řetězec`,function:`funkce`,array:`pole`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Neplatný vstup: očekáváno instanceof ${e.expected}, obdrženo ${i}`:`Neplatný vstup: očekáváno ${t}, obdrženo ${i}`}case`invalid_value`:return e.values.length===1?`Neplatný vstup: očekáváno ${g(e.values[0])}`:`Neplatná možnost: očekávána jedna z hodnot ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Hodnota je příliš velká: ${e.origin??`hodnota`} musí mít ${n}${e.maximum.toString()} ${r.unit??`prvků`}`:`Hodnota je příliš velká: ${e.origin??`hodnota`} musí být ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Hodnota je příliš malá: ${e.origin??`hodnota`} musí mít ${n}${e.minimum.toString()} ${r.unit??`prvků`}`:`Hodnota je příliš malá: ${e.origin??`hodnota`} musí být ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Neplatný řetězec: musí začínat na "${t.prefix}"`:t.format===`ends_with`?`Neplatný řetězec: musí končit na "${t.suffix}"`:t.format===`includes`?`Neplatný řetězec: musí obsahovat "${t.includes}"`:t.format===`regex`?`Neplatný řetězec: musí odpovídat vzoru ${t.pattern}`:`Neplatný formát ${n[t.format]??e.format}`}case`not_multiple_of`:return`Neplatné číslo: musí být násobkem ${e.divisor}`;case`unrecognized_keys`:return`Neznámé klíče: ${p(e.keys,`, `)}`;case`invalid_key`:return`Neplatný klíč v ${e.origin}`;case`invalid_union`:return`Neplatný vstup`;case`invalid_element`:return`Neplatná hodnota v ${e.origin}`;default:return`Neplatný vstup`}}}}));function Na(){return{localeError:Pa()}}var Pa,Fa=t((()=>{y(),Pa=()=>{let e={string:{unit:`tegn`,verb:`havde`},file:{unit:`bytes`,verb:`havde`},array:{unit:`elementer`,verb:`indeholdt`},set:{unit:`elementer`,verb:`indeholdt`}};function t(t){return e[t]??null}let n={regex:`input`,email:`e-mailadresse`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO dato- og klokkeslæt`,date:`ISO-dato`,time:`ISO-klokkeslæt`,duration:`ISO-varighed`,ipv4:`IPv4-område`,ipv6:`IPv6-område`,cidrv4:`IPv4-spektrum`,cidrv6:`IPv6-spektrum`,base64:`base64-kodet streng`,base64url:`base64url-kodet streng`,json_string:`JSON-streng`,e164:`E.164-nummer`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`,string:`streng`,number:`tal`,boolean:`boolean`,array:`liste`,object:`objekt`,set:`sæt`,file:`fil`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ugyldigt input: forventede instanceof ${e.expected}, fik ${i}`:`Ugyldigt input: forventede ${t}, fik ${i}`}case`invalid_value`:return e.values.length===1?`Ugyldig værdi: forventede ${g(e.values[0])}`:`Ugyldigt valg: forventede en af følgende ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`For stor: forventede ${a??`value`} ${i.verb} ${n} ${e.maximum.toString()} ${i.unit??`elementer`}`:`For stor: forventede ${a??`value`} havde ${n} ${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`For lille: forventede ${a} ${i.verb} ${n} ${e.minimum.toString()} ${i.unit}`:`For lille: forventede ${a} havde ${n} ${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ugyldig streng: skal starte med "${t.prefix}"`:t.format===`ends_with`?`Ugyldig streng: skal ende med "${t.suffix}"`:t.format===`includes`?`Ugyldig streng: skal indeholde "${t.includes}"`:t.format===`regex`?`Ugyldig streng: skal matche mønsteret ${t.pattern}`:`Ugyldig ${n[t.format]??e.format}`}case`not_multiple_of`:return`Ugyldigt tal: skal være deleligt med ${e.divisor}`;case`unrecognized_keys`:return`${e.keys.length>1?`Ukendte nøgler`:`Ukendt nøgle`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Ugyldig nøgle i ${e.origin}`;case`invalid_union`:return`Ugyldigt input: matcher ingen af de tilladte typer`;case`invalid_element`:return`Ugyldig værdi i ${e.origin}`;default:return`Ugyldigt input`}}}}));function Ia(){return{localeError:La()}}var La,Ra=t((()=>{y(),La=()=>{let e={string:{unit:`Zeichen`,verb:`zu haben`},file:{unit:`Bytes`,verb:`zu haben`},array:{unit:`Elemente`,verb:`zu haben`},set:{unit:`Elemente`,verb:`zu haben`}};function t(t){return e[t]??null}let n={regex:`Eingabe`,email:`E-Mail-Adresse`,url:`URL`,emoji:`Emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO-Datum und -Uhrzeit`,date:`ISO-Datum`,time:`ISO-Uhrzeit`,duration:`ISO-Dauer`,ipv4:`IPv4-Adresse`,ipv6:`IPv6-Adresse`,cidrv4:`IPv4-Bereich`,cidrv6:`IPv6-Bereich`,base64:`Base64-codierter String`,base64url:`Base64-URL-codierter String`,json_string:`JSON-String`,e164:`E.164-Nummer`,jwt:`JWT`,template_literal:`Eingabe`},r={nan:`NaN`,number:`Zahl`,array:`Array`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ungültige Eingabe: erwartet instanceof ${e.expected}, erhalten ${i}`:`Ungültige Eingabe: erwartet ${t}, erhalten ${i}`}case`invalid_value`:return e.values.length===1?`Ungültige Eingabe: erwartet ${g(e.values[0])}`:`Ungültige Option: erwartet eine von ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Zu groß: erwartet, dass ${e.origin??`Wert`} ${n}${e.maximum.toString()} ${r.unit??`Elemente`} hat`:`Zu groß: erwartet, dass ${e.origin??`Wert`} ${n}${e.maximum.toString()} ist`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Zu klein: erwartet, dass ${e.origin} ${n}${e.minimum.toString()} ${r.unit} hat`:`Zu klein: erwartet, dass ${e.origin} ${n}${e.minimum.toString()} ist`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ungültiger String: muss mit "${t.prefix}" beginnen`:t.format===`ends_with`?`Ungültiger String: muss mit "${t.suffix}" enden`:t.format===`includes`?`Ungültiger String: muss "${t.includes}" enthalten`:t.format===`regex`?`Ungültiger String: muss dem Muster ${t.pattern} entsprechen`:`Ungültig: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Ungültige Zahl: muss ein Vielfaches von ${e.divisor} sein`;case`unrecognized_keys`:return`${e.keys.length>1?`Unbekannte Schlüssel`:`Unbekannter Schlüssel`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Ungültiger Schlüssel in ${e.origin}`;case`invalid_union`:return`Ungültige Eingabe`;case`invalid_element`:return`Ungültiger Wert in ${e.origin}`;default:return`Ungültige Eingabe`}}}}));function za(){return{localeError:Ba()}}var Ba,Va=t((()=>{y(),Ba=()=>{let e={string:{unit:`χαρακτήρες`,verb:`να έχει`},file:{unit:`bytes`,verb:`να έχει`},array:{unit:`στοιχεία`,verb:`να έχει`},set:{unit:`στοιχεία`,verb:`να έχει`},map:{unit:`καταχωρήσεις`,verb:`να έχει`}};function t(t){return e[t]??null}let n={regex:`είσοδος`,email:`διεύθυνση email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO ημερομηνία και ώρα`,date:`ISO ημερομηνία`,time:`ISO ώρα`,duration:`ISO διάρκεια`,ipv4:`διεύθυνση IPv4`,ipv6:`διεύθυνση IPv6`,mac:`διεύθυνση MAC`,cidrv4:`εύρος IPv4`,cidrv6:`εύρος IPv6`,base64:`συμβολοσειρά κωδικοποιημένη σε base64`,base64url:`συμβολοσειρά κωδικοποιημένη σε base64url`,json_string:`συμβολοσειρά JSON`,e164:`αριθμός E.164`,jwt:`JWT`,template_literal:`είσοδος`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return typeof e.expected==`string`&&/^[A-Z]/.test(e.expected)?`Μη έγκυρη είσοδος: αναμενόταν instanceof ${e.expected}, λήφθηκε ${i}`:`Μη έγκυρη είσοδος: αναμενόταν ${t}, λήφθηκε ${i}`}case`invalid_value`:return e.values.length===1?`Μη έγκυρη είσοδος: αναμενόταν ${g(e.values[0])}`:`Μη έγκυρη επιλογή: αναμενόταν ένα από ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Πολύ μεγάλο: αναμενόταν ${e.origin??`τιμή`} να έχει ${n}${e.maximum.toString()} ${r.unit??`στοιχεία`}`:`Πολύ μεγάλο: αναμενόταν ${e.origin??`τιμή`} να είναι ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Πολύ μικρό: αναμενόταν ${e.origin} να έχει ${n}${e.minimum.toString()} ${r.unit}`:`Πολύ μικρό: αναμενόταν ${e.origin} να είναι ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${t.prefix}"`:t.format===`ends_with`?`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${t.suffix}"`:t.format===`includes`?`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${t.includes}"`:t.format===`regex`?`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${t.pattern}`:`Μη έγκυρο: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${e.divisor}`;case`unrecognized_keys`:return`Άγνωστ${e.keys.length>1?`α`:`ο`} κλειδ${e.keys.length>1?`ιά`:`ί`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Μη έγκυρο κλειδί στο ${e.origin}`;case`invalid_union`:return`Μη έγκυρη είσοδος`;case`invalid_element`:return`Μη έγκυρη τιμή στο ${e.origin}`;default:return`Μη έγκυρη είσοδος`}}}}));function Ha(){return{localeError:Ua()}}var Ua,Wa=t((()=>{y(),Ua=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input);return`Invalid input: expected ${t}, received ${r[n]??n}`}case`invalid_value`:return e.values.length===1?`Invalid input: expected ${g(e.values[0])}`:`Invalid option: expected one of ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}}}));function Ga(){return{localeError:Ka()}}var Ka,qa=t((()=>{y(),Ka=()=>{let e={string:{unit:`karaktrojn`,verb:`havi`},file:{unit:`bajtojn`,verb:`havi`},array:{unit:`elementojn`,verb:`havi`},set:{unit:`elementojn`,verb:`havi`}};function t(t){return e[t]??null}let n={regex:`enigo`,email:`retadreso`,url:`URL`,emoji:`emoĝio`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO-datotempo`,date:`ISO-dato`,time:`ISO-tempo`,duration:`ISO-daŭro`,ipv4:`IPv4-adreso`,ipv6:`IPv6-adreso`,cidrv4:`IPv4-rango`,cidrv6:`IPv6-rango`,base64:`64-ume kodita karaktraro`,base64url:`URL-64-ume kodita karaktraro`,json_string:`JSON-karaktraro`,e164:`E.164-nombro`,jwt:`JWT`,template_literal:`enigo`},r={nan:`NaN`,number:`nombro`,array:`tabelo`,null:`senvalora`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Nevalida enigo: atendiĝis instanceof ${e.expected}, riceviĝis ${i}`:`Nevalida enigo: atendiĝis ${t}, riceviĝis ${i}`}case`invalid_value`:return e.values.length===1?`Nevalida enigo: atendiĝis ${g(e.values[0])}`:`Nevalida opcio: atendiĝis unu el ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Tro granda: atendiĝis ke ${e.origin??`valoro`} havu ${n}${e.maximum.toString()} ${r.unit??`elementojn`}`:`Tro granda: atendiĝis ke ${e.origin??`valoro`} havu ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Tro malgranda: atendiĝis ke ${e.origin} havu ${n}${e.minimum.toString()} ${r.unit}`:`Tro malgranda: atendiĝis ke ${e.origin} estu ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Nevalida karaktraro: devas komenciĝi per "${t.prefix}"`:t.format===`ends_with`?`Nevalida karaktraro: devas finiĝi per "${t.suffix}"`:t.format===`includes`?`Nevalida karaktraro: devas inkluzivi "${t.includes}"`:t.format===`regex`?`Nevalida karaktraro: devas kongrui kun la modelo ${t.pattern}`:`Nevalida ${n[t.format]??e.format}`}case`not_multiple_of`:return`Nevalida nombro: devas esti oblo de ${e.divisor}`;case`unrecognized_keys`:return`Nekonata${e.keys.length>1?`j`:``} ŝlosilo${e.keys.length>1?`j`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Nevalida ŝlosilo en ${e.origin}`;case`invalid_union`:return`Nevalida enigo`;case`invalid_element`:return`Nevalida valoro en ${e.origin}`;default:return`Nevalida enigo`}}}}));function Ja(){return{localeError:Ya()}}var Ya,Xa=t((()=>{y(),Ya=()=>{let e={string:{unit:`caracteres`,verb:`tener`},file:{unit:`bytes`,verb:`tener`},array:{unit:`elementos`,verb:`tener`},set:{unit:`elementos`,verb:`tener`}};function t(t){return e[t]??null}let n={regex:`entrada`,email:`dirección de correo electrónico`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`fecha y hora ISO`,date:`fecha ISO`,time:`hora ISO`,duration:`duración ISO`,ipv4:`dirección IPv4`,ipv6:`dirección IPv6`,cidrv4:`rango IPv4`,cidrv6:`rango IPv6`,base64:`cadena codificada en base64`,base64url:`URL codificada en base64`,json_string:`cadena JSON`,e164:`número E.164`,jwt:`JWT`,template_literal:`entrada`},r={nan:`NaN`,string:`texto`,number:`número`,boolean:`booleano`,array:`arreglo`,object:`objeto`,set:`conjunto`,file:`archivo`,date:`fecha`,bigint:`número grande`,symbol:`símbolo`,undefined:`indefinido`,null:`nulo`,function:`función`,map:`mapa`,record:`registro`,tuple:`tupla`,enum:`enumeración`,union:`unión`,literal:`literal`,promise:`promesa`,void:`vacío`,never:`nunca`,unknown:`desconocido`,any:`cualquiera`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Entrada inválida: se esperaba instanceof ${e.expected}, recibido ${i}`:`Entrada inválida: se esperaba ${t}, recibido ${i}`}case`invalid_value`:return e.values.length===1?`Entrada inválida: se esperaba ${g(e.values[0])}`:`Opción inválida: se esperaba una de ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`Demasiado grande: se esperaba que ${a??`valor`} tuviera ${n}${e.maximum.toString()} ${i.unit??`elementos`}`:`Demasiado grande: se esperaba que ${a??`valor`} fuera ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`Demasiado pequeño: se esperaba que ${a} tuviera ${n}${e.minimum.toString()} ${i.unit}`:`Demasiado pequeño: se esperaba que ${a} fuera ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Cadena inválida: debe comenzar con "${t.prefix}"`:t.format===`ends_with`?`Cadena inválida: debe terminar en "${t.suffix}"`:t.format===`includes`?`Cadena inválida: debe incluir "${t.includes}"`:t.format===`regex`?`Cadena inválida: debe coincidir con el patrón ${t.pattern}`:`Inválido ${n[t.format]??e.format}`}case`not_multiple_of`:return`Número inválido: debe ser múltiplo de ${e.divisor}`;case`unrecognized_keys`:return`Llave${e.keys.length>1?`s`:``} desconocida${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Llave inválida en ${r[e.origin]??e.origin}`;case`invalid_union`:return`Entrada inválida`;case`invalid_element`:return`Valor inválido en ${r[e.origin]??e.origin}`;default:return`Entrada inválida`}}}}));function Za(){return{localeError:Qa()}}var Qa,$a=t((()=>{y(),Qa=()=>{let e={string:{unit:`کاراکتر`,verb:`داشته باشد`},file:{unit:`بایت`,verb:`داشته باشد`},array:{unit:`آیتم`,verb:`داشته باشد`},set:{unit:`آیتم`,verb:`داشته باشد`}};function t(t){return e[t]??null}let n={regex:`ورودی`,email:`آدرس ایمیل`,url:`URL`,emoji:`ایموجی`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`تاریخ و زمان ایزو`,date:`تاریخ ایزو`,time:`زمان ایزو`,duration:`مدت زمان ایزو`,ipv4:`IPv4 آدرس`,ipv6:`IPv6 آدرس`,cidrv4:`IPv4 دامنه`,cidrv6:`IPv6 دامنه`,base64:`base64-encoded رشته`,base64url:`base64url-encoded رشته`,json_string:`JSON رشته`,e164:`E.164 عدد`,jwt:`JWT`,template_literal:`ورودی`},r={nan:`NaN`,number:`عدد`,array:`آرایه`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ورودی نامعتبر: می‌بایست instanceof ${e.expected} می‌بود، ${i} دریافت شد`:`ورودی نامعتبر: می‌بایست ${t} می‌بود، ${i} دریافت شد`}case`invalid_value`:return e.values.length===1?`ورودی نامعتبر: می‌بایست ${g(e.values[0])} می‌بود`:`گزینه نامعتبر: می‌بایست یکی از ${p(e.values,`|`)} می‌بود`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} ${r.unit??`عنصر`} باشد`:`خیلی بزرگ: ${e.origin??`مقدار`} باید ${n}${e.maximum.toString()} باشد`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} باشد`:`خیلی کوچک: ${e.origin} باید ${n}${e.minimum.toString()} باشد`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`رشته نامعتبر: باید با "${t.prefix}" شروع شود`:t.format===`ends_with`?`رشته نامعتبر: باید با "${t.suffix}" تمام شود`:t.format===`includes`?`رشته نامعتبر: باید شامل "${t.includes}" باشد`:t.format===`regex`?`رشته نامعتبر: باید با الگوی ${t.pattern} مطابقت داشته باشد`:`${n[t.format]??e.format} نامعتبر`}case`not_multiple_of`:return`عدد نامعتبر: باید مضرب ${e.divisor} باشد`;case`unrecognized_keys`:return`کلید${e.keys.length>1?`های`:``} ناشناس: ${p(e.keys,`, `)}`;case`invalid_key`:return`کلید ناشناس در ${e.origin}`;case`invalid_union`:return`ورودی نامعتبر`;case`invalid_element`:return`مقدار نامعتبر در ${e.origin}`;default:return`ورودی نامعتبر`}}}}));function eo(){return{localeError:to()}}var to,no=t((()=>{y(),to=()=>{let e={string:{unit:`merkkiä`,subject:`merkkijonon`},file:{unit:`tavua`,subject:`tiedoston`},array:{unit:`alkiota`,subject:`listan`},set:{unit:`alkiota`,subject:`joukon`},number:{unit:``,subject:`luvun`},bigint:{unit:``,subject:`suuren kokonaisluvun`},int:{unit:``,subject:`kokonaisluvun`},date:{unit:``,subject:`päivämäärän`}};function t(t){return e[t]??null}let n={regex:`säännöllinen lauseke`,email:`sähköpostiosoite`,url:`URL-osoite`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO-aikaleima`,date:`ISO-päivämäärä`,time:`ISO-aika`,duration:`ISO-kesto`,ipv4:`IPv4-osoite`,ipv6:`IPv6-osoite`,cidrv4:`IPv4-alue`,cidrv6:`IPv6-alue`,base64:`base64-koodattu merkkijono`,base64url:`base64url-koodattu merkkijono`,json_string:`JSON-merkkijono`,e164:`E.164-luku`,jwt:`JWT`,template_literal:`templaattimerkkijono`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Virheellinen tyyppi: odotettiin instanceof ${e.expected}, oli ${i}`:`Virheellinen tyyppi: odotettiin ${t}, oli ${i}`}case`invalid_value`:return e.values.length===1?`Virheellinen syöte: täytyy olla ${g(e.values[0])}`:`Virheellinen valinta: täytyy olla yksi seuraavista: ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Liian suuri: ${r.subject} täytyy olla ${n}${e.maximum.toString()} ${r.unit}`.trim():`Liian suuri: arvon täytyy olla ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Liian pieni: ${r.subject} täytyy olla ${n}${e.minimum.toString()} ${r.unit}`.trim():`Liian pieni: arvon täytyy olla ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Virheellinen syöte: täytyy alkaa "${t.prefix}"`:t.format===`ends_with`?`Virheellinen syöte: täytyy loppua "${t.suffix}"`:t.format===`includes`?`Virheellinen syöte: täytyy sisältää "${t.includes}"`:t.format===`regex`?`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${t.pattern}`:`Virheellinen ${n[t.format]??e.format}`}case`not_multiple_of`:return`Virheellinen luku: täytyy olla luvun ${e.divisor} monikerta`;case`unrecognized_keys`:return`${e.keys.length>1?`Tuntemattomat avaimet`:`Tuntematon avain`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Virheellinen avain tietueessa`;case`invalid_union`:return`Virheellinen unioni`;case`invalid_element`:return`Virheellinen arvo joukossa`;default:return`Virheellinen syöte`}}}}));function ro(){return{localeError:io()}}var io,ao=t((()=>{y(),io=()=>{let e={string:{unit:`caractères`,verb:`avoir`},file:{unit:`octets`,verb:`avoir`},array:{unit:`éléments`,verb:`avoir`},set:{unit:`éléments`,verb:`avoir`}};function t(t){return e[t]??null}let n={regex:`entrée`,email:`adresse e-mail`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`date et heure ISO`,date:`date ISO`,time:`heure ISO`,duration:`durée ISO`,ipv4:`adresse IPv4`,ipv6:`adresse IPv6`,cidrv4:`plage IPv4`,cidrv6:`plage IPv6`,base64:`chaîne encodée en base64`,base64url:`chaîne encodée en base64url`,json_string:`chaîne JSON`,e164:`numéro E.164`,jwt:`JWT`,template_literal:`entrée`},r={string:`chaîne`,number:`nombre`,int:`entier`,boolean:`booléen`,bigint:`grand entier`,symbol:`symbole`,undefined:`indéfini`,null:`null`,never:`jamais`,void:`vide`,date:`date`,array:`tableau`,object:`objet`,tuple:`tuple`,record:`enregistrement`,map:`carte`,set:`ensemble`,file:`fichier`,nonoptional:`non-optionnel`,nan:`NaN`,function:`fonction`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Entrée invalide : instanceof ${e.expected} attendu, ${i} reçu`:`Entrée invalide : ${t} attendu, ${i} reçu`}case`invalid_value`:return e.values.length===1?`Entrée invalide : ${g(e.values[0])} attendu`:`Option invalide : une valeur parmi ${p(e.values,`|`)} attendue`;case`too_big`:{let n=e.inclusive?`<=`:`<`,i=t(e.origin);return i?`Trop grand : ${r[e.origin]??`valeur`} doit ${i.verb} ${n}${e.maximum.toString()} ${i.unit??`élément(s)`}`:`Trop grand : ${r[e.origin]??`valeur`} doit être ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,i=t(e.origin);return i?`Trop petit : ${r[e.origin]??`valeur`} doit ${i.verb} ${n}${e.minimum.toString()} ${i.unit}`:`Trop petit : ${r[e.origin]??`valeur`} doit être ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Chaîne invalide : doit commencer par "${t.prefix}"`:t.format===`ends_with`?`Chaîne invalide : doit se terminer par "${t.suffix}"`:t.format===`includes`?`Chaîne invalide : doit inclure "${t.includes}"`:t.format===`regex`?`Chaîne invalide : doit correspondre au modèle ${t.pattern}`:`${n[t.format]??e.format} invalide`}case`not_multiple_of`:return`Nombre invalide : doit être un multiple de ${e.divisor}`;case`unrecognized_keys`:return`Clé${e.keys.length>1?`s`:``} non reconnue${e.keys.length>1?`s`:``} : ${p(e.keys,`, `)}`;case`invalid_key`:return`Clé invalide dans ${e.origin}`;case`invalid_union`:return`Entrée invalide`;case`invalid_element`:return`Valeur invalide dans ${e.origin}`;default:return`Entrée invalide`}}}}));function oo(){return{localeError:so()}}var so,co=t((()=>{y(),so=()=>{let e={string:{unit:`caractères`,verb:`avoir`},file:{unit:`octets`,verb:`avoir`},array:{unit:`éléments`,verb:`avoir`},set:{unit:`éléments`,verb:`avoir`}};function t(t){return e[t]??null}let n={regex:`entrée`,email:`adresse courriel`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`date-heure ISO`,date:`date ISO`,time:`heure ISO`,duration:`durée ISO`,ipv4:`adresse IPv4`,ipv6:`adresse IPv6`,cidrv4:`plage IPv4`,cidrv6:`plage IPv6`,base64:`chaîne encodée en base64`,base64url:`chaîne encodée en base64url`,json_string:`chaîne JSON`,e164:`numéro E.164`,jwt:`JWT`,template_literal:`entrée`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Entrée invalide : attendu instanceof ${e.expected}, reçu ${i}`:`Entrée invalide : attendu ${t}, reçu ${i}`}case`invalid_value`:return e.values.length===1?`Entrée invalide : attendu ${g(e.values[0])}`:`Option invalide : attendu l'une des valeurs suivantes ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`≤`:`<`,r=t(e.origin);return r?`Trop grand : attendu que ${e.origin??`la valeur`} ait ${n}${e.maximum.toString()} ${r.unit}`:`Trop grand : attendu que ${e.origin??`la valeur`} soit ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`≥`:`>`,r=t(e.origin);return r?`Trop petit : attendu que ${e.origin} ait ${n}${e.minimum.toString()} ${r.unit}`:`Trop petit : attendu que ${e.origin} soit ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Chaîne invalide : doit commencer par "${t.prefix}"`:t.format===`ends_with`?`Chaîne invalide : doit se terminer par "${t.suffix}"`:t.format===`includes`?`Chaîne invalide : doit inclure "${t.includes}"`:t.format===`regex`?`Chaîne invalide : doit correspondre au motif ${t.pattern}`:`${n[t.format]??e.format} invalide`}case`not_multiple_of`:return`Nombre invalide : doit être un multiple de ${e.divisor}`;case`unrecognized_keys`:return`Clé${e.keys.length>1?`s`:``} non reconnue${e.keys.length>1?`s`:``} : ${p(e.keys,`, `)}`;case`invalid_key`:return`Clé invalide dans ${e.origin}`;case`invalid_union`:return`Entrée invalide`;case`invalid_element`:return`Valeur invalide dans ${e.origin}`;default:return`Entrée invalide`}}}}));function lo(){return{localeError:uo()}}var uo,fo=t((()=>{y(),uo=()=>{let e={string:{label:`מחרוזת`,gender:`f`},number:{label:`מספר`,gender:`m`},boolean:{label:`ערך בוליאני`,gender:`m`},bigint:{label:`BigInt`,gender:`m`},date:{label:`תאריך`,gender:`m`},array:{label:`מערך`,gender:`m`},object:{label:`אובייקט`,gender:`m`},null:{label:`ערך ריק (null)`,gender:`m`},undefined:{label:`ערך לא מוגדר (undefined)`,gender:`m`},symbol:{label:`סימבול (Symbol)`,gender:`m`},function:{label:`פונקציה`,gender:`f`},map:{label:`מפה (Map)`,gender:`f`},set:{label:`קבוצה (Set)`,gender:`f`},file:{label:`קובץ`,gender:`m`},promise:{label:`Promise`,gender:`m`},NaN:{label:`NaN`,gender:`m`},unknown:{label:`ערך לא ידוע`,gender:`m`},value:{label:`ערך`,gender:`m`}},t={string:{unit:`תווים`,shortLabel:`קצר`,longLabel:`ארוך`},file:{unit:`בייטים`,shortLabel:`קטן`,longLabel:`גדול`},array:{unit:`פריטים`,shortLabel:`קטן`,longLabel:`גדול`},set:{unit:`פריטים`,shortLabel:`קטן`,longLabel:`גדול`},number:{unit:``,shortLabel:`קטן`,longLabel:`גדול`}},n=t=>t?e[t]:void 0,r=t=>{let r=n(t);return r?r.label:t??e.unknown.label},i=e=>`ה${r(e)}`,a=e=>(n(e)?.gender??`m`)===`f`?`צריכה להיות`:`צריך להיות`,o=e=>e?t[e]??null:null,s={regex:{label:`קלט`,gender:`m`},email:{label:`כתובת אימייל`,gender:`f`},url:{label:`כתובת רשת`,gender:`f`},emoji:{label:`אימוג'י`,gender:`m`},uuid:{label:`UUID`,gender:`m`},nanoid:{label:`nanoid`,gender:`m`},guid:{label:`GUID`,gender:`m`},cuid:{label:`cuid`,gender:`m`},cuid2:{label:`cuid2`,gender:`m`},ulid:{label:`ULID`,gender:`m`},xid:{label:`XID`,gender:`m`},ksuid:{label:`KSUID`,gender:`m`},datetime:{label:`תאריך וזמן ISO`,gender:`m`},date:{label:`תאריך ISO`,gender:`m`},time:{label:`זמן ISO`,gender:`m`},duration:{label:`משך זמן ISO`,gender:`m`},ipv4:{label:`כתובת IPv4`,gender:`f`},ipv6:{label:`כתובת IPv6`,gender:`f`},cidrv4:{label:`טווח IPv4`,gender:`m`},cidrv6:{label:`טווח IPv6`,gender:`m`},base64:{label:`מחרוזת בבסיס 64`,gender:`f`},base64url:{label:`מחרוזת בבסיס 64 לכתובות רשת`,gender:`f`},json_string:{label:`מחרוזת JSON`,gender:`f`},e164:{label:`מספר E.164`,gender:`m`},jwt:{label:`JWT`,gender:`m`},ends_with:{label:`קלט`,gender:`m`},includes:{label:`קלט`,gender:`m`},lowercase:{label:`קלט`,gender:`m`},starts_with:{label:`קלט`,gender:`m`},uppercase:{label:`קלט`,gender:`m`}},c={nan:`NaN`};return t=>{switch(t.code){case`invalid_type`:{let n=t.expected,i=c[n??``]??r(n),a=v(t.input),o=c[a]??e[a]?.label??a;return/^[A-Z]/.test(t.expected)?`קלט לא תקין: צריך להיות instanceof ${t.expected}, התקבל ${o}`:`קלט לא תקין: צריך להיות ${i}, התקבל ${o}`}case`invalid_value`:{if(t.values.length===1)return`ערך לא תקין: הערך חייב להיות ${g(t.values[0])}`;let e=t.values.map(e=>g(e));if(t.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${e[0]} או ${e[1]}`;let n=e[e.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${e.slice(0,-1).join(`, `)} או ${n}`}case`too_big`:{let e=o(t.origin),n=i(t.origin??`value`);if(t.origin===`string`)return`${e?.longLabel??`ארוך`} מדי: ${n} צריכה להכיל ${t.maximum.toString()} ${e?.unit??``} ${t.inclusive?`או פחות`:`לכל היותר`}`.trim();if(t.origin===`number`)return`גדול מדי: ${n} צריך להיות ${t.inclusive?`קטן או שווה ל-${t.maximum}`:`קטן מ-${t.maximum}`}`;if(t.origin===`array`||t.origin===`set`)return`גדול מדי: ${n} ${t.origin===`set`?`צריכה`:`צריך`} להכיל ${t.inclusive?`${t.maximum} ${e?.unit??``} או פחות`:`פחות מ-${t.maximum} ${e?.unit??``}`}`.trim();let r=t.inclusive?`<=`:`<`,s=a(t.origin??`value`);return e?.unit?`${e.longLabel} מדי: ${n} ${s} ${r}${t.maximum.toString()} ${e.unit}`:`${e?.longLabel??`גדול`} מדי: ${n} ${s} ${r}${t.maximum.toString()}`}case`too_small`:{let e=o(t.origin),n=i(t.origin??`value`);if(t.origin===`string`)return`${e?.shortLabel??`קצר`} מדי: ${n} צריכה להכיל ${t.minimum.toString()} ${e?.unit??``} ${t.inclusive?`או יותר`:`לפחות`}`.trim();if(t.origin===`number`)return`קטן מדי: ${n} צריך להיות ${t.inclusive?`גדול או שווה ל-${t.minimum}`:`גדול מ-${t.minimum}`}`;if(t.origin===`array`||t.origin===`set`){let r=t.origin===`set`?`צריכה`:`צריך`;return t.minimum===1&&t.inclusive?`קטן מדי: ${n} ${r} להכיל ${t.origin,`לפחות פריט אחד`}`:`קטן מדי: ${n} ${r} להכיל ${t.inclusive?`${t.minimum} ${e?.unit??``} או יותר`:`יותר מ-${t.minimum} ${e?.unit??``}`}`.trim()}let r=t.inclusive?`>=`:`>`,s=a(t.origin??`value`);return e?.unit?`${e.shortLabel} מדי: ${n} ${s} ${r}${t.minimum.toString()} ${e.unit}`:`${e?.shortLabel??`קטן`} מדי: ${n} ${s} ${r}${t.minimum.toString()}`}case`invalid_format`:{let e=t;if(e.format===`starts_with`)return`המחרוזת חייבת להתחיל ב "${e.prefix}"`;if(e.format===`ends_with`)return`המחרוזת חייבת להסתיים ב "${e.suffix}"`;if(e.format===`includes`)return`המחרוזת חייבת לכלול "${e.includes}"`;if(e.format===`regex`)return`המחרוזת חייבת להתאים לתבנית ${e.pattern}`;let n=s[e.format];return`${n?.label??e.format} לא ${(n?.gender??`m`)===`f`?`תקינה`:`תקין`}`}case`not_multiple_of`:return`מספר לא תקין: חייב להיות מכפלה של ${t.divisor}`;case`unrecognized_keys`:return`מפתח${t.keys.length>1?`ות`:``} לא מזוה${t.keys.length>1?`ים`:`ה`}: ${p(t.keys,`, `)}`;case`invalid_key`:return`שדה לא תקין באובייקט`;case`invalid_union`:return`קלט לא תקין`;case`invalid_element`:return`ערך לא תקין ב${i(t.origin??`array`)}`;default:return`קלט לא תקין`}}}}));function po(){return{localeError:mo()}}var mo,ho=t((()=>{y(),mo=()=>{let e={string:{unit:`znakova`,verb:`imati`},file:{unit:`bajtova`,verb:`imati`},array:{unit:`stavki`,verb:`imati`},set:{unit:`stavki`,verb:`imati`}};function t(t){return e[t]??null}let n={regex:`unos`,email:`email adresa`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datum i vrijeme`,date:`ISO datum`,time:`ISO vrijeme`,duration:`ISO trajanje`,ipv4:`IPv4 adresa`,ipv6:`IPv6 adresa`,cidrv4:`IPv4 raspon`,cidrv6:`IPv6 raspon`,base64:`base64 kodirani tekst`,base64url:`base64url kodirani tekst`,json_string:`JSON tekst`,e164:`E.164 broj`,jwt:`JWT`,template_literal:`unos`},r={nan:`NaN`,string:`tekst`,number:`broj`,boolean:`boolean`,array:`niz`,object:`objekt`,set:`skup`,file:`datoteka`,date:`datum`,bigint:`bigint`,symbol:`simbol`,undefined:`undefined`,null:`null`,function:`funkcija`,map:`mapa`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Neispravan unos: očekuje se instanceof ${e.expected}, a primljeno je ${i}`:`Neispravan unos: očekuje se ${t}, a primljeno je ${i}`}case`invalid_value`:return e.values.length===1?`Neispravna vrijednost: očekivano ${g(e.values[0])}`:`Neispravna opcija: očekivano jedno od ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`Preveliko: očekivano da ${a??`vrijednost`} ima ${n}${e.maximum.toString()} ${i.unit??`elemenata`}`:`Preveliko: očekivano da ${a??`vrijednost`} bude ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,i=t(e.origin),a=r[e.origin]??e.origin;return i?`Premalo: očekivano da ${a} ima ${n}${e.minimum.toString()} ${i.unit}`:`Premalo: očekivano da ${a} bude ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Neispravan tekst: mora započinjati s "${t.prefix}"`:t.format===`ends_with`?`Neispravan tekst: mora završavati s "${t.suffix}"`:t.format===`includes`?`Neispravan tekst: mora sadržavati "${t.includes}"`:t.format===`regex`?`Neispravan tekst: mora odgovarati uzorku ${t.pattern}`:`Neispravna ${n[t.format]??e.format}`}case`not_multiple_of`:return`Neispravan broj: mora biti višekratnik od ${e.divisor}`;case`unrecognized_keys`:return`Neprepoznat${e.keys.length>1?`i ključevi`:` ključ`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Neispravan ključ u ${r[e.origin]??e.origin}`;case`invalid_union`:return`Neispravan unos`;case`invalid_element`:return`Neispravna vrijednost u ${r[e.origin]??e.origin}`;default:return`Neispravan unos`}}}}));function go(){return{localeError:_o()}}var _o,vo=t((()=>{y(),_o=()=>{let e={string:{unit:`karakter`,verb:`legyen`},file:{unit:`byte`,verb:`legyen`},array:{unit:`elem`,verb:`legyen`},set:{unit:`elem`,verb:`legyen`}};function t(t){return e[t]??null}let n={regex:`bemenet`,email:`email cím`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO időbélyeg`,date:`ISO dátum`,time:`ISO idő`,duration:`ISO időintervallum`,ipv4:`IPv4 cím`,ipv6:`IPv6 cím`,cidrv4:`IPv4 tartomány`,cidrv6:`IPv6 tartomány`,base64:`base64-kódolt string`,base64url:`base64url-kódolt string`,json_string:`JSON string`,e164:`E.164 szám`,jwt:`JWT`,template_literal:`bemenet`},r={nan:`NaN`,number:`szám`,array:`tömb`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Érvénytelen bemenet: a várt érték instanceof ${e.expected}, a kapott érték ${i}`:`Érvénytelen bemenet: a várt érték ${t}, a kapott érték ${i}`}case`invalid_value`:return e.values.length===1?`Érvénytelen bemenet: a várt érték ${g(e.values[0])}`:`Érvénytelen opció: valamelyik érték várt ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Túl nagy: ${e.origin??`érték`} mérete túl nagy ${n}${e.maximum.toString()} ${r.unit??`elem`}`:`Túl nagy: a bemeneti érték ${e.origin??`érték`} túl nagy: ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Túl kicsi: a bemeneti érték ${e.origin} mérete túl kicsi ${n}${e.minimum.toString()} ${r.unit}`:`Túl kicsi: a bemeneti érték ${e.origin} túl kicsi ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Érvénytelen string: "${t.prefix}" értékkel kell kezdődnie`:t.format===`ends_with`?`Érvénytelen string: "${t.suffix}" értékkel kell végződnie`:t.format===`includes`?`Érvénytelen string: "${t.includes}" értéket kell tartalmaznia`:t.format===`regex`?`Érvénytelen string: ${t.pattern} mintának kell megfelelnie`:`Érvénytelen ${n[t.format]??e.format}`}case`not_multiple_of`:return`Érvénytelen szám: ${e.divisor} többszörösének kell lennie`;case`unrecognized_keys`:return`Ismeretlen kulcs${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Érvénytelen kulcs ${e.origin}`;case`invalid_union`:return`Érvénytelen bemenet`;case`invalid_element`:return`Érvénytelen érték: ${e.origin}`;default:return`Érvénytelen bemenet`}}}}));function yo(e,t,n){return Math.abs(e)===1?t:n}function bo(e){if(!e)return``;let t=[`ա`,`ե`,`ը`,`ի`,`ո`,`ու`,`օ`],n=e[e.length-1];return e+(t.includes(n)?`ն`:`ը`)}function xo(){return{localeError:So()}}var So,Co=t((()=>{y(),So=()=>{let e={string:{unit:{one:`նշան`,many:`նշաններ`},verb:`ունենալ`},file:{unit:{one:`բայթ`,many:`բայթեր`},verb:`ունենալ`},array:{unit:{one:`տարր`,many:`տարրեր`},verb:`ունենալ`},set:{unit:{one:`տարր`,many:`տարրեր`},verb:`ունենալ`}};function t(t){return e[t]??null}let n={regex:`մուտք`,email:`էլ. հասցե`,url:`URL`,emoji:`էմոջի`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO ամսաթիվ և ժամ`,date:`ISO ամսաթիվ`,time:`ISO ժամ`,duration:`ISO տևողություն`,ipv4:`IPv4 հասցե`,ipv6:`IPv6 հասցե`,cidrv4:`IPv4 միջակայք`,cidrv6:`IPv6 միջակայք`,base64:`base64 ձևաչափով տող`,base64url:`base64url ձևաչափով տող`,json_string:`JSON տող`,e164:`E.164 համար`,jwt:`JWT`,template_literal:`մուտք`},r={nan:`NaN`,number:`թիվ`,array:`զանգված`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Սխալ մուտքագրում․ սպասվում էր instanceof ${e.expected}, ստացվել է ${i}`:`Սխալ մուտքագրում․ սպասվում էր ${t}, ստացվել է ${i}`}case`invalid_value`:return e.values.length===1?`Սխալ մուտքագրում․ սպասվում էր ${g(e.values[1])}`:`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);if(r){let t=yo(Number(e.maximum),r.unit.one,r.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${bo(e.origin??`արժեք`)} կունենա ${n}${e.maximum.toString()} ${t}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${bo(e.origin??`արժեք`)} լինի ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);if(r){let t=yo(Number(e.minimum),r.unit.one,r.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${bo(e.origin)} կունենա ${n}${e.minimum.toString()} ${t}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${bo(e.origin)} լինի ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Սխալ տող․ պետք է սկսվի "${t.prefix}"-ով`:t.format===`ends_with`?`Սխալ տող․ պետք է ավարտվի "${t.suffix}"-ով`:t.format===`includes`?`Սխալ տող․ պետք է պարունակի "${t.includes}"`:t.format===`regex`?`Սխալ տող․ պետք է համապատասխանի ${t.pattern} ձևաչափին`:`Սխալ ${n[t.format]??e.format}`}case`not_multiple_of`:return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${e.divisor}-ի`;case`unrecognized_keys`:return`Չճանաչված բանալի${e.keys.length>1?`ներ`:``}. ${p(e.keys,`, `)}`;case`invalid_key`:return`Սխալ բանալի ${bo(e.origin)}-ում`;case`invalid_union`:return`Սխալ մուտքագրում`;case`invalid_element`:return`Սխալ արժեք ${bo(e.origin)}-ում`;default:return`Սխալ մուտքագրում`}}}}));function wo(){return{localeError:To()}}var To,Eo=t((()=>{y(),To=()=>{let e={string:{unit:`karakter`,verb:`memiliki`},file:{unit:`byte`,verb:`memiliki`},array:{unit:`item`,verb:`memiliki`},set:{unit:`item`,verb:`memiliki`}};function t(t){return e[t]??null}let n={regex:`input`,email:`alamat email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`tanggal dan waktu format ISO`,date:`tanggal format ISO`,time:`jam format ISO`,duration:`durasi format ISO`,ipv4:`alamat IPv4`,ipv6:`alamat IPv6`,cidrv4:`rentang alamat IPv4`,cidrv6:`rentang alamat IPv6`,base64:`string dengan enkode base64`,base64url:`string dengan enkode base64url`,json_string:`string JSON`,e164:`angka E.164`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Input tidak valid: diharapkan instanceof ${e.expected}, diterima ${i}`:`Input tidak valid: diharapkan ${t}, diterima ${i}`}case`invalid_value`:return e.values.length===1?`Input tidak valid: diharapkan ${g(e.values[0])}`:`Pilihan tidak valid: diharapkan salah satu dari ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Terlalu besar: diharapkan ${e.origin??`value`} memiliki ${n}${e.maximum.toString()} ${r.unit??`elemen`}`:`Terlalu besar: diharapkan ${e.origin??`value`} menjadi ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Terlalu kecil: diharapkan ${e.origin} memiliki ${n}${e.minimum.toString()} ${r.unit}`:`Terlalu kecil: diharapkan ${e.origin} menjadi ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`String tidak valid: harus dimulai dengan "${t.prefix}"`:t.format===`ends_with`?`String tidak valid: harus berakhir dengan "${t.suffix}"`:t.format===`includes`?`String tidak valid: harus menyertakan "${t.includes}"`:t.format===`regex`?`String tidak valid: harus sesuai pola ${t.pattern}`:`${n[t.format]??e.format} tidak valid`}case`not_multiple_of`:return`Angka tidak valid: harus kelipatan dari ${e.divisor}`;case`unrecognized_keys`:return`Kunci tidak dikenali ${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Kunci tidak valid di ${e.origin}`;case`invalid_union`:return`Input tidak valid`;case`invalid_element`:return`Nilai tidak valid di ${e.origin}`;default:return`Input tidak valid`}}}}));function Do(){return{localeError:Oo()}}var Oo,ko=t((()=>{y(),Oo=()=>{let e={string:{unit:`stafi`,verb:`að hafa`},file:{unit:`bæti`,verb:`að hafa`},array:{unit:`hluti`,verb:`að hafa`},set:{unit:`hluti`,verb:`að hafa`}};function t(t){return e[t]??null}let n={regex:`gildi`,email:`netfang`,url:`vefslóð`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO dagsetning og tími`,date:`ISO dagsetning`,time:`ISO tími`,duration:`ISO tímalengd`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded strengur`,base64url:`base64url-encoded strengur`,json_string:`JSON strengur`,e164:`E.164 tölugildi`,jwt:`JWT`,template_literal:`gildi`},r={nan:`NaN`,number:`númer`,array:`fylki`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Rangt gildi: Þú slóst inn ${i} þar sem á að vera instanceof ${e.expected}`:`Rangt gildi: Þú slóst inn ${i} þar sem á að vera ${t}`}case`invalid_value`:return e.values.length===1?`Rangt gildi: gert ráð fyrir ${g(e.values[0])}`:`Ógilt val: má vera eitt af eftirfarandi ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Of stórt: gert er ráð fyrir að ${e.origin??`gildi`} hafi ${n}${e.maximum.toString()} ${r.unit??`hluti`}`:`Of stórt: gert er ráð fyrir að ${e.origin??`gildi`} sé ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Of lítið: gert er ráð fyrir að ${e.origin} hafi ${n}${e.minimum.toString()} ${r.unit}`:`Of lítið: gert er ráð fyrir að ${e.origin} sé ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ógildur strengur: verður að byrja á "${t.prefix}"`:t.format===`ends_with`?`Ógildur strengur: verður að enda á "${t.suffix}"`:t.format===`includes`?`Ógildur strengur: verður að innihalda "${t.includes}"`:t.format===`regex`?`Ógildur strengur: verður að fylgja mynstri ${t.pattern}`:`Rangt ${n[t.format]??e.format}`}case`not_multiple_of`:return`Röng tala: verður að vera margfeldi af ${e.divisor}`;case`unrecognized_keys`:return`Óþekkt ${e.keys.length>1?`ir lyklar`:`ur lykill`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Rangur lykill í ${e.origin}`;case`invalid_union`:return`Rangt gildi`;case`invalid_element`:return`Rangt gildi í ${e.origin}`;default:return`Rangt gildi`}}}}));function Ao(){return{localeError:jo()}}var jo,Mo=t((()=>{y(),jo=()=>{let e={string:{unit:`caratteri`,verb:`avere`},file:{unit:`byte`,verb:`avere`},array:{unit:`elementi`,verb:`avere`},set:{unit:`elementi`,verb:`avere`}};function t(t){return e[t]??null}let n={regex:`input`,email:`indirizzo email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`data e ora ISO`,date:`data ISO`,time:`ora ISO`,duration:`durata ISO`,ipv4:`indirizzo IPv4`,ipv6:`indirizzo IPv6`,cidrv4:`intervallo IPv4`,cidrv6:`intervallo IPv6`,base64:`stringa codificata in base64`,base64url:`URL codificata in base64`,json_string:`stringa JSON`,e164:`numero E.164`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`,number:`numero`,array:`vettore`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Input non valido: atteso instanceof ${e.expected}, ricevuto ${i}`:`Input non valido: atteso ${t}, ricevuto ${i}`}case`invalid_value`:return e.values.length===1?`Input non valido: atteso ${g(e.values[0])}`:`Opzione non valida: atteso uno tra ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Troppo grande: ${e.origin??`valore`} deve avere ${n}${e.maximum.toString()} ${r.unit??`elementi`}`:`Troppo grande: ${e.origin??`valore`} deve essere ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Troppo piccolo: ${e.origin} deve avere ${n}${e.minimum.toString()} ${r.unit}`:`Troppo piccolo: ${e.origin} deve essere ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Stringa non valida: deve iniziare con "${t.prefix}"`:t.format===`ends_with`?`Stringa non valida: deve terminare con "${t.suffix}"`:t.format===`includes`?`Stringa non valida: deve includere "${t.includes}"`:t.format===`regex`?`Stringa non valida: deve corrispondere al pattern ${t.pattern}`:`Input non valido: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Numero non valido: deve essere un multiplo di ${e.divisor}`;case`unrecognized_keys`:return`Chiav${e.keys.length>1?`i`:`e`} non riconosciut${e.keys.length>1?`e`:`a`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Chiave non valida in ${e.origin}`;case`invalid_union`:return`Input non valido`;case`invalid_element`:return`Valore non valido in ${e.origin}`;default:return`Input non valido`}}}}));function No(){return{localeError:Po()}}var Po,Fo=t((()=>{y(),Po=()=>{let e={string:{unit:`文字`,verb:`である`},file:{unit:`バイト`,verb:`である`},array:{unit:`要素`,verb:`である`},set:{unit:`要素`,verb:`である`}};function t(t){return e[t]??null}let n={regex:`入力値`,email:`メールアドレス`,url:`URL`,emoji:`絵文字`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO日時`,date:`ISO日付`,time:`ISO時刻`,duration:`ISO期間`,ipv4:`IPv4アドレス`,ipv6:`IPv6アドレス`,cidrv4:`IPv4範囲`,cidrv6:`IPv6範囲`,base64:`base64エンコード文字列`,base64url:`base64urlエンコード文字列`,json_string:`JSON文字列`,e164:`E.164番号`,jwt:`JWT`,template_literal:`入力値`},r={nan:`NaN`,number:`数値`,array:`配列`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`無効な入力: instanceof ${e.expected}が期待されましたが、${i}が入力されました`:`無効な入力: ${t}が期待されましたが、${i}が入力されました`}case`invalid_value`:return e.values.length===1?`無効な入力: ${g(e.values[0])}が期待されました`:`無効な選択: ${p(e.values,`、`)}のいずれかである必要があります`;case`too_big`:{let n=e.inclusive?`以下である`:`より小さい`,r=t(e.origin);return r?`大きすぎる値: ${e.origin??`値`}は${e.maximum.toString()}${r.unit??`要素`}${n}必要があります`:`大きすぎる値: ${e.origin??`値`}は${e.maximum.toString()}${n}必要があります`}case`too_small`:{let n=e.inclusive?`以上である`:`より大きい`,r=t(e.origin);return r?`小さすぎる値: ${e.origin}は${e.minimum.toString()}${r.unit}${n}必要があります`:`小さすぎる値: ${e.origin}は${e.minimum.toString()}${n}必要があります`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`無効な文字列: "${t.prefix}"で始まる必要があります`:t.format===`ends_with`?`無効な文字列: "${t.suffix}"で終わる必要があります`:t.format===`includes`?`無効な文字列: "${t.includes}"を含む必要があります`:t.format===`regex`?`無効な文字列: パターン${t.pattern}に一致する必要があります`:`無効な${n[t.format]??e.format}`}case`not_multiple_of`:return`無効な数値: ${e.divisor}の倍数である必要があります`;case`unrecognized_keys`:return`認識されていないキー${e.keys.length>1?`群`:``}: ${p(e.keys,`、`)}`;case`invalid_key`:return`${e.origin}内の無効なキー`;case`invalid_union`:return`無効な入力`;case`invalid_element`:return`${e.origin}内の無効な値`;default:return`無効な入力`}}}}));function Io(){return{localeError:Lo()}}var Lo,Ro=t((()=>{y(),Lo=()=>{let e={string:{unit:`სიმბოლო`,verb:`უნდა შეიცავდეს`},file:{unit:`ბაიტი`,verb:`უნდა შეიცავდეს`},array:{unit:`ელემენტი`,verb:`უნდა შეიცავდეს`},set:{unit:`ელემენტი`,verb:`უნდა შეიცავდეს`}};function t(t){return e[t]??null}let n={regex:`შეყვანა`,email:`ელ-ფოსტის მისამართი`,url:`URL`,emoji:`ემოჯი`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`თარიღი-დრო`,date:`თარიღი`,time:`დრო`,duration:`ხანგრძლივობა`,ipv4:`IPv4 მისამართი`,ipv6:`IPv6 მისამართი`,cidrv4:`IPv4 დიაპაზონი`,cidrv6:`IPv6 დიაპაზონი`,base64:`base64-კოდირებული ველი`,base64url:`base64url-კოდირებული ველი`,json_string:`JSON ველი`,e164:`E.164 ნომერი`,jwt:`JWT`,template_literal:`შეყვანა`},r={nan:`NaN`,number:`რიცხვი`,string:`ველი`,boolean:`ბულეანი`,function:`ფუნქცია`,array:`მასივი`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`არასწორი შეყვანა: მოსალოდნელი instanceof ${e.expected}, მიღებული ${i}`:`არასწორი შეყვანა: მოსალოდნელი ${t}, მიღებული ${i}`}case`invalid_value`:return e.values.length===1?`არასწორი შეყვანა: მოსალოდნელი ${g(e.values[0])}`:`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${p(e.values,`|`)}-დან`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`ზედმეტად დიდი: მოსალოდნელი ${e.origin??`მნიშვნელობა`} ${r.verb} ${n}${e.maximum.toString()} ${r.unit}`:`ზედმეტად დიდი: მოსალოდნელი ${e.origin??`მნიშვნელობა`} იყოს ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`ზედმეტად პატარა: მოსალოდნელი ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`ზედმეტად პატარა: მოსალოდნელი ${e.origin} იყოს ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`არასწორი ველი: უნდა იწყებოდეს "${t.prefix}"-ით`:t.format===`ends_with`?`არასწორი ველი: უნდა მთავრდებოდეს "${t.suffix}"-ით`:t.format===`includes`?`არასწორი ველი: უნდა შეიცავდეს "${t.includes}"-ს`:t.format===`regex`?`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${t.pattern}`:`არასწორი ${n[t.format]??e.format}`}case`not_multiple_of`:return`არასწორი რიცხვი: უნდა იყოს ${e.divisor}-ის ჯერადი`;case`unrecognized_keys`:return`უცნობი გასაღებ${e.keys.length>1?`ები`:`ი`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`არასწორი გასაღები ${e.origin}-ში`;case`invalid_union`:return`არასწორი შეყვანა`;case`invalid_element`:return`არასწორი მნიშვნელობა ${e.origin}-ში`;default:return`არასწორი შეყვანა`}}}}));function zo(){return{localeError:Bo()}}var Bo,Vo=t((()=>{y(),Bo=()=>{let e={string:{unit:`តួអក្សរ`,verb:`គួរមាន`},file:{unit:`បៃ`,verb:`គួរមាន`},array:{unit:`ធាតុ`,verb:`គួរមាន`},set:{unit:`ធាតុ`,verb:`គួរមាន`}};function t(t){return e[t]??null}let n={regex:`ទិន្នន័យបញ្ចូល`,email:`អាសយដ្ឋានអ៊ីមែល`,url:`URL`,emoji:`សញ្ញាអារម្មណ៍`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`កាលបរិច្ឆេទ និងម៉ោង ISO`,date:`កាលបរិច្ឆេទ ISO`,time:`ម៉ោង ISO`,duration:`រយៈពេល ISO`,ipv4:`អាសយដ្ឋាន IPv4`,ipv6:`អាសយដ្ឋាន IPv6`,cidrv4:`ដែនអាសយដ្ឋាន IPv4`,cidrv6:`ដែនអាសយដ្ឋាន IPv6`,base64:`ខ្សែអក្សរអ៊ិកូដ base64`,base64url:`ខ្សែអក្សរអ៊ិកូដ base64url`,json_string:`ខ្សែអក្សរ JSON`,e164:`លេខ E.164`,jwt:`JWT`,template_literal:`ទិន្នន័យបញ្ចូល`},r={nan:`NaN`,number:`លេខ`,array:`អារេ (Array)`,null:`គ្មានតម្លៃ (null)`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${e.expected} ប៉ុន្តែទទួលបាន ${i}`:`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${t} ប៉ុន្តែទទួលបាន ${i}`}case`invalid_value`:return e.values.length===1?`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${g(e.values[0])}`:`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`ធំពេក៖ ត្រូវការ ${e.origin??`តម្លៃ`} ${n} ${e.maximum.toString()} ${r.unit??`ធាតុ`}`:`ធំពេក៖ ត្រូវការ ${e.origin??`តម្លៃ`} ${n} ${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`តូចពេក៖ ត្រូវការ ${e.origin} ${n} ${e.minimum.toString()} ${r.unit}`:`តូចពេក៖ ត្រូវការ ${e.origin} ${n} ${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${t.prefix}"`:t.format===`ends_with`?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${t.suffix}"`:t.format===`includes`?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${t.includes}"`:t.format===`regex`?`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${t.pattern}`:`មិនត្រឹមត្រូវ៖ ${n[t.format]??e.format}`}case`not_multiple_of`:return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${e.divisor}`;case`unrecognized_keys`:return`រកឃើញសោមិនស្គាល់៖ ${p(e.keys,`, `)}`;case`invalid_key`:return`សោមិនត្រឹមត្រូវនៅក្នុង ${e.origin}`;case`invalid_union`:return`ទិន្នន័យមិនត្រឹមត្រូវ`;case`invalid_element`:return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${e.origin}`;default:return`ទិន្នន័យមិនត្រឹមត្រូវ`}}}}));function Ho(){return zo()}var Uo=t((()=>{Vo()}));function Wo(){return{localeError:Go()}}var Go,Ko=t((()=>{y(),Go=()=>{let e={string:{unit:`문자`,verb:`to have`},file:{unit:`바이트`,verb:`to have`},array:{unit:`개`,verb:`to have`},set:{unit:`개`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`입력`,email:`이메일 주소`,url:`URL`,emoji:`이모지`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO 날짜시간`,date:`ISO 날짜`,time:`ISO 시간`,duration:`ISO 기간`,ipv4:`IPv4 주소`,ipv6:`IPv6 주소`,cidrv4:`IPv4 범위`,cidrv6:`IPv6 범위`,base64:`base64 인코딩 문자열`,base64url:`base64url 인코딩 문자열`,json_string:`JSON 문자열`,e164:`E.164 번호`,jwt:`JWT`,template_literal:`입력`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`잘못된 입력: 예상 타입은 instanceof ${e.expected}, 받은 타입은 ${i}입니다`:`잘못된 입력: 예상 타입은 ${t}, 받은 타입은 ${i}입니다`}case`invalid_value`:return e.values.length===1?`잘못된 입력: 값은 ${g(e.values[0])} 이어야 합니다`:`잘못된 옵션: ${p(e.values,`또는 `)} 중 하나여야 합니다`;case`too_big`:{let n=e.inclusive?`이하`:`미만`,r=n===`미만`?`이어야 합니다`:`여야 합니다`,i=t(e.origin),a=i?.unit??`요소`;return i?`${e.origin??`값`}이 너무 큽니다: ${e.maximum.toString()}${a} ${n}${r}`:`${e.origin??`값`}이 너무 큽니다: ${e.maximum.toString()} ${n}${r}`}case`too_small`:{let n=e.inclusive?`이상`:`초과`,r=n===`이상`?`이어야 합니다`:`여야 합니다`,i=t(e.origin),a=i?.unit??`요소`;return i?`${e.origin??`값`}이 너무 작습니다: ${e.minimum.toString()}${a} ${n}${r}`:`${e.origin??`값`}이 너무 작습니다: ${e.minimum.toString()} ${n}${r}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`잘못된 문자열: "${t.prefix}"(으)로 시작해야 합니다`:t.format===`ends_with`?`잘못된 문자열: "${t.suffix}"(으)로 끝나야 합니다`:t.format===`includes`?`잘못된 문자열: "${t.includes}"을(를) 포함해야 합니다`:t.format===`regex`?`잘못된 문자열: 정규식 ${t.pattern} 패턴과 일치해야 합니다`:`잘못된 ${n[t.format]??e.format}`}case`not_multiple_of`:return`잘못된 숫자: ${e.divisor}의 배수여야 합니다`;case`unrecognized_keys`:return`인식할 수 없는 키: ${p(e.keys,`, `)}`;case`invalid_key`:return`잘못된 키: ${e.origin}`;case`invalid_union`:return`잘못된 입력`;case`invalid_element`:return`잘못된 값: ${e.origin}`;default:return`잘못된 입력`}}}}));function qo(e){let t=Math.abs(e),n=t%10,r=t%100;return r>=11&&r<=19||n===0?`many`:n===1?`one`:`few`}function Jo(){return{localeError:Xo()}}var Yo,Xo,Zo=t((()=>{y(),Yo=e=>e.charAt(0).toUpperCase()+e.slice(1),Xo=()=>{let e={string:{unit:{one:`simbolis`,few:`simboliai`,many:`simbolių`},verb:{smaller:{inclusive:`turi būti ne ilgesnė kaip`,notInclusive:`turi būti trumpesnė kaip`},bigger:{inclusive:`turi būti ne trumpesnė kaip`,notInclusive:`turi būti ilgesnė kaip`}}},file:{unit:{one:`baitas`,few:`baitai`,many:`baitų`},verb:{smaller:{inclusive:`turi būti ne didesnis kaip`,notInclusive:`turi būti mažesnis kaip`},bigger:{inclusive:`turi būti ne mažesnis kaip`,notInclusive:`turi būti didesnis kaip`}}},array:{unit:{one:`elementą`,few:`elementus`,many:`elementų`},verb:{smaller:{inclusive:`turi turėti ne daugiau kaip`,notInclusive:`turi turėti mažiau kaip`},bigger:{inclusive:`turi turėti ne mažiau kaip`,notInclusive:`turi turėti daugiau kaip`}}},set:{unit:{one:`elementą`,few:`elementus`,many:`elementų`},verb:{smaller:{inclusive:`turi turėti ne daugiau kaip`,notInclusive:`turi turėti mažiau kaip`},bigger:{inclusive:`turi turėti ne mažiau kaip`,notInclusive:`turi turėti daugiau kaip`}}}};function t(t,n,r,i){let a=e[t]??null;return a===null?a:{unit:a.unit[n],verb:a.verb[i][r?`inclusive`:`notInclusive`]}}let n={regex:`įvestis`,email:`el. pašto adresas`,url:`URL`,emoji:`jaustukas`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO data ir laikas`,date:`ISO data`,time:`ISO laikas`,duration:`ISO trukmė`,ipv4:`IPv4 adresas`,ipv6:`IPv6 adresas`,cidrv4:`IPv4 tinklo prefiksas (CIDR)`,cidrv6:`IPv6 tinklo prefiksas (CIDR)`,base64:`base64 užkoduota eilutė`,base64url:`base64url užkoduota eilutė`,json_string:`JSON eilutė`,e164:`E.164 numeris`,jwt:`JWT`,template_literal:`įvestis`},r={nan:`NaN`,number:`skaičius`,bigint:`sveikasis skaičius`,string:`eilutė`,boolean:`loginė reikšmė`,undefined:`neapibrėžta reikšmė`,function:`funkcija`,symbol:`simbolis`,array:`masyvas`,object:`objektas`,null:`nulinė reikšmė`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Gautas tipas ${i}, o tikėtasi - instanceof ${e.expected}`:`Gautas tipas ${i}, o tikėtasi - ${t}`}case`invalid_value`:return e.values.length===1?`Privalo būti ${g(e.values[0])}`:`Privalo būti vienas iš ${p(e.values,`|`)} pasirinkimų`;case`too_big`:{let n=r[e.origin]??e.origin,i=t(e.origin,qo(Number(e.maximum)),e.inclusive??!1,`smaller`);if(i?.verb)return`${Yo(n??e.origin??`reikšmė`)} ${i.verb} ${e.maximum.toString()} ${i.unit??`elementų`}`;let a=e.inclusive?`ne didesnis kaip`:`mažesnis kaip`;return`${Yo(n??e.origin??`reikšmė`)} turi būti ${a} ${e.maximum.toString()} ${i?.unit}`}case`too_small`:{let n=r[e.origin]??e.origin,i=t(e.origin,qo(Number(e.minimum)),e.inclusive??!1,`bigger`);if(i?.verb)return`${Yo(n??e.origin??`reikšmė`)} ${i.verb} ${e.minimum.toString()} ${i.unit??`elementų`}`;let a=e.inclusive?`ne mažesnis kaip`:`didesnis kaip`;return`${Yo(n??e.origin??`reikšmė`)} turi būti ${a} ${e.minimum.toString()} ${i?.unit}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Eilutė privalo prasidėti "${t.prefix}"`:t.format===`ends_with`?`Eilutė privalo pasibaigti "${t.suffix}"`:t.format===`includes`?`Eilutė privalo įtraukti "${t.includes}"`:t.format===`regex`?`Eilutė privalo atitikti ${t.pattern}`:`Neteisingas ${n[t.format]??e.format}`}case`not_multiple_of`:return`Skaičius privalo būti ${e.divisor} kartotinis.`;case`unrecognized_keys`:return`Neatpažint${e.keys.length>1?`i`:`as`} rakt${e.keys.length>1?`ai`:`as`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Rastas klaidingas raktas`;case`invalid_union`:return`Klaidinga įvestis`;case`invalid_element`:{let t=r[e.origin]??e.origin;return`${Yo(t??e.origin??`reikšmė`)} turi klaidingą įvestį`}default:return`Klaidinga įvestis`}}}}));function Qo(){return{localeError:$o()}}var $o,es=t((()=>{y(),$o=()=>{let e={string:{unit:`знаци`,verb:`да имаат`},file:{unit:`бајти`,verb:`да имаат`},array:{unit:`ставки`,verb:`да имаат`},set:{unit:`ставки`,verb:`да имаат`}};function t(t){return e[t]??null}let n={regex:`внес`,email:`адреса на е-пошта`,url:`URL`,emoji:`емоџи`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO датум и време`,date:`ISO датум`,time:`ISO време`,duration:`ISO времетраење`,ipv4:`IPv4 адреса`,ipv6:`IPv6 адреса`,cidrv4:`IPv4 опсег`,cidrv6:`IPv6 опсег`,base64:`base64-енкодирана низа`,base64url:`base64url-енкодирана низа`,json_string:`JSON низа`,e164:`E.164 број`,jwt:`JWT`,template_literal:`внес`},r={nan:`NaN`,number:`број`,array:`низа`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Грешен внес: се очекува instanceof ${e.expected}, примено ${i}`:`Грешен внес: се очекува ${t}, примено ${i}`}case`invalid_value`:return e.values.length===1?`Invalid input: expected ${g(e.values[0])}`:`Грешана опција: се очекува една ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Премногу голем: се очекува ${e.origin??`вредноста`} да има ${n}${e.maximum.toString()} ${r.unit??`елементи`}`:`Премногу голем: се очекува ${e.origin??`вредноста`} да биде ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Премногу мал: се очекува ${e.origin} да има ${n}${e.minimum.toString()} ${r.unit}`:`Премногу мал: се очекува ${e.origin} да биде ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Неважечка низа: мора да започнува со "${t.prefix}"`:t.format===`ends_with`?`Неважечка низа: мора да завршува со "${t.suffix}"`:t.format===`includes`?`Неважечка низа: мора да вклучува "${t.includes}"`:t.format===`regex`?`Неважечка низа: мора да одгоара на патернот ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Грешен број: мора да биде делив со ${e.divisor}`;case`unrecognized_keys`:return`${e.keys.length>1?`Непрепознаени клучеви`:`Непрепознаен клуч`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Грешен клуч во ${e.origin}`;case`invalid_union`:return`Грешен внес`;case`invalid_element`:return`Грешна вредност во ${e.origin}`;default:return`Грешен внес`}}}}));function ts(){return{localeError:ns()}}var ns,rs=t((()=>{y(),ns=()=>{let e={string:{unit:`aksara`,verb:`mempunyai`},file:{unit:`bait`,verb:`mempunyai`},array:{unit:`elemen`,verb:`mempunyai`},set:{unit:`elemen`,verb:`mempunyai`}};function t(t){return e[t]??null}let n={regex:`input`,email:`alamat e-mel`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`tarikh masa ISO`,date:`tarikh ISO`,time:`masa ISO`,duration:`tempoh ISO`,ipv4:`alamat IPv4`,ipv6:`alamat IPv6`,cidrv4:`julat IPv4`,cidrv6:`julat IPv6`,base64:`string dikodkan base64`,base64url:`string dikodkan base64url`,json_string:`string JSON`,e164:`nombor E.164`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`,number:`nombor`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Input tidak sah: dijangka instanceof ${e.expected}, diterima ${i}`:`Input tidak sah: dijangka ${t}, diterima ${i}`}case`invalid_value`:return e.values.length===1?`Input tidak sah: dijangka ${g(e.values[0])}`:`Pilihan tidak sah: dijangka salah satu daripada ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Terlalu besar: dijangka ${e.origin??`nilai`} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??`elemen`}`:`Terlalu besar: dijangka ${e.origin??`nilai`} adalah ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Terlalu kecil: dijangka ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Terlalu kecil: dijangka ${e.origin} adalah ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`String tidak sah: mesti bermula dengan "${t.prefix}"`:t.format===`ends_with`?`String tidak sah: mesti berakhir dengan "${t.suffix}"`:t.format===`includes`?`String tidak sah: mesti mengandungi "${t.includes}"`:t.format===`regex`?`String tidak sah: mesti sepadan dengan corak ${t.pattern}`:`${n[t.format]??e.format} tidak sah`}case`not_multiple_of`:return`Nombor tidak sah: perlu gandaan ${e.divisor}`;case`unrecognized_keys`:return`Kunci tidak dikenali: ${p(e.keys,`, `)}`;case`invalid_key`:return`Kunci tidak sah dalam ${e.origin}`;case`invalid_union`:return`Input tidak sah`;case`invalid_element`:return`Nilai tidak sah dalam ${e.origin}`;default:return`Input tidak sah`}}}}));function is(){return{localeError:as()}}var as,os=t((()=>{y(),as=()=>{let e={string:{unit:`tekens`,verb:`heeft`},file:{unit:`bytes`,verb:`heeft`},array:{unit:`elementen`,verb:`heeft`},set:{unit:`elementen`,verb:`heeft`}};function t(t){return e[t]??null}let n={regex:`invoer`,email:`emailadres`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datum en tijd`,date:`ISO datum`,time:`ISO tijd`,duration:`ISO duur`,ipv4:`IPv4-adres`,ipv6:`IPv6-adres`,cidrv4:`IPv4-bereik`,cidrv6:`IPv6-bereik`,base64:`base64-gecodeerde tekst`,base64url:`base64 URL-gecodeerde tekst`,json_string:`JSON string`,e164:`E.164-nummer`,jwt:`JWT`,template_literal:`invoer`},r={nan:`NaN`,number:`getal`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ongeldige invoer: verwacht instanceof ${e.expected}, ontving ${i}`:`Ongeldige invoer: verwacht ${t}, ontving ${i}`}case`invalid_value`:return e.values.length===1?`Ongeldige invoer: verwacht ${g(e.values[0])}`:`Ongeldige optie: verwacht één van ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin),i=e.origin===`date`?`laat`:e.origin===`string`?`lang`:`groot`;return r?`Te ${i}: verwacht dat ${e.origin??`waarde`} ${n}${e.maximum.toString()} ${r.unit??`elementen`} ${r.verb}`:`Te ${i}: verwacht dat ${e.origin??`waarde`} ${n}${e.maximum.toString()} is`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin),i=e.origin===`date`?`vroeg`:e.origin===`string`?`kort`:`klein`;return r?`Te ${i}: verwacht dat ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ${r.verb}`:`Te ${i}: verwacht dat ${e.origin} ${n}${e.minimum.toString()} is`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ongeldige tekst: moet met "${t.prefix}" beginnen`:t.format===`ends_with`?`Ongeldige tekst: moet op "${t.suffix}" eindigen`:t.format===`includes`?`Ongeldige tekst: moet "${t.includes}" bevatten`:t.format===`regex`?`Ongeldige tekst: moet overeenkomen met patroon ${t.pattern}`:`Ongeldig: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Ongeldig getal: moet een veelvoud van ${e.divisor} zijn`;case`unrecognized_keys`:return`Onbekende key${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Ongeldige key in ${e.origin}`;case`invalid_union`:return`Ongeldige invoer`;case`invalid_element`:return`Ongeldige waarde in ${e.origin}`;default:return`Ongeldige invoer`}}}}));function ss(){return{localeError:cs()}}var cs,ls=t((()=>{y(),cs=()=>{let e={string:{unit:`tegn`,verb:`å ha`},file:{unit:`bytes`,verb:`å ha`},array:{unit:`elementer`,verb:`å inneholde`},set:{unit:`elementer`,verb:`å inneholde`}};function t(t){return e[t]??null}let n={regex:`input`,email:`e-postadresse`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO dato- og klokkeslett`,date:`ISO-dato`,time:`ISO-klokkeslett`,duration:`ISO-varighet`,ipv4:`IPv4-område`,ipv6:`IPv6-område`,cidrv4:`IPv4-spekter`,cidrv6:`IPv6-spekter`,base64:`base64-enkodet streng`,base64url:`base64url-enkodet streng`,json_string:`JSON-streng`,e164:`E.164-nummer`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`,number:`tall`,array:`liste`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ugyldig input: forventet instanceof ${e.expected}, fikk ${i}`:`Ugyldig input: forventet ${t}, fikk ${i}`}case`invalid_value`:return e.values.length===1?`Ugyldig verdi: forventet ${g(e.values[0])}`:`Ugyldig valg: forventet en av ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`For stor(t): forventet ${e.origin??`value`} til å ha ${n}${e.maximum.toString()} ${r.unit??`elementer`}`:`For stor(t): forventet ${e.origin??`value`} til å ha ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`For lite(n): forventet ${e.origin} til å ha ${n}${e.minimum.toString()} ${r.unit}`:`For lite(n): forventet ${e.origin} til å ha ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ugyldig streng: må starte med "${t.prefix}"`:t.format===`ends_with`?`Ugyldig streng: må ende med "${t.suffix}"`:t.format===`includes`?`Ugyldig streng: må inneholde "${t.includes}"`:t.format===`regex`?`Ugyldig streng: må matche mønsteret ${t.pattern}`:`Ugyldig ${n[t.format]??e.format}`}case`not_multiple_of`:return`Ugyldig tall: må være et multiplum av ${e.divisor}`;case`unrecognized_keys`:return`${e.keys.length>1?`Ukjente nøkler`:`Ukjent nøkkel`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Ugyldig nøkkel i ${e.origin}`;case`invalid_union`:return`Ugyldig input`;case`invalid_element`:return`Ugyldig verdi i ${e.origin}`;default:return`Ugyldig input`}}}}));function us(){return{localeError:ds()}}var ds,fs=t((()=>{y(),ds=()=>{let e={string:{unit:`harf`,verb:`olmalıdır`},file:{unit:`bayt`,verb:`olmalıdır`},array:{unit:`unsur`,verb:`olmalıdır`},set:{unit:`unsur`,verb:`olmalıdır`}};function t(t){return e[t]??null}let n={regex:`giren`,email:`epostagâh`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO hengâmı`,date:`ISO tarihi`,time:`ISO zamanı`,duration:`ISO müddeti`,ipv4:`IPv4 nişânı`,ipv6:`IPv6 nişânı`,cidrv4:`IPv4 menzili`,cidrv6:`IPv6 menzili`,base64:`base64-şifreli metin`,base64url:`base64url-şifreli metin`,json_string:`JSON metin`,e164:`E.164 sayısı`,jwt:`JWT`,template_literal:`giren`},r={nan:`NaN`,number:`numara`,array:`saf`,null:`gayb`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Fâsit giren: umulan instanceof ${e.expected}, alınan ${i}`:`Fâsit giren: umulan ${t}, alınan ${i}`}case`invalid_value`:return e.values.length===1?`Fâsit giren: umulan ${g(e.values[0])}`:`Fâsit tercih: mûteberler ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Fazla büyük: ${e.origin??`value`}, ${n}${e.maximum.toString()} ${r.unit??`elements`} sahip olmalıydı.`:`Fazla büyük: ${e.origin??`value`}, ${n}${e.maximum.toString()} olmalıydı.`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Fazla küçük: ${e.origin}, ${n}${e.minimum.toString()} ${r.unit} sahip olmalıydı.`:`Fazla küçük: ${e.origin}, ${n}${e.minimum.toString()} olmalıydı.`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Fâsit metin: "${t.prefix}" ile başlamalı.`:t.format===`ends_with`?`Fâsit metin: "${t.suffix}" ile bitmeli.`:t.format===`includes`?`Fâsit metin: "${t.includes}" ihtivâ etmeli.`:t.format===`regex`?`Fâsit metin: ${t.pattern} nakşına uymalı.`:`Fâsit ${n[t.format]??e.format}`}case`not_multiple_of`:return`Fâsit sayı: ${e.divisor} katı olmalıydı.`;case`unrecognized_keys`:return`Tanınmayan anahtar ${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} için tanınmayan anahtar var.`;case`invalid_union`:return`Giren tanınamadı.`;case`invalid_element`:return`${e.origin} için tanınmayan kıymet var.`;default:return`Kıymet tanınamadı.`}}}}));function ps(){return{localeError:ms()}}var ms,hs=t((()=>{y(),ms=()=>{let e={string:{unit:`توکي`,verb:`ولري`},file:{unit:`بایټس`,verb:`ولري`},array:{unit:`توکي`,verb:`ولري`},set:{unit:`توکي`,verb:`ولري`}};function t(t){return e[t]??null}let n={regex:`ورودي`,email:`بریښنالیک`,url:`یو آر ال`,emoji:`ایموجي`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`نیټه او وخت`,date:`نېټه`,time:`وخت`,duration:`موده`,ipv4:`د IPv4 پته`,ipv6:`د IPv6 پته`,cidrv4:`د IPv4 ساحه`,cidrv6:`د IPv6 ساحه`,base64:`base64-encoded متن`,base64url:`base64url-encoded متن`,json_string:`JSON متن`,e164:`د E.164 شمېره`,jwt:`JWT`,template_literal:`ورودي`},r={nan:`NaN`,number:`عدد`,array:`ارې`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ناسم ورودي: باید instanceof ${e.expected} وای, مګر ${i} ترلاسه شو`:`ناسم ورودي: باید ${t} وای, مګر ${i} ترلاسه شو`}case`invalid_value`:return e.values.length===1?`ناسم ورودي: باید ${g(e.values[0])} وای`:`ناسم انتخاب: باید یو له ${p(e.values,`|`)} څخه وای`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`ډیر لوی: ${e.origin??`ارزښت`} باید ${n}${e.maximum.toString()} ${r.unit??`عنصرونه`} ولري`:`ډیر لوی: ${e.origin??`ارزښت`} باید ${n}${e.maximum.toString()} وي`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`ډیر کوچنی: ${e.origin} باید ${n}${e.minimum.toString()} ${r.unit} ولري`:`ډیر کوچنی: ${e.origin} باید ${n}${e.minimum.toString()} وي`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`ناسم متن: باید د "${t.prefix}" سره پیل شي`:t.format===`ends_with`?`ناسم متن: باید د "${t.suffix}" سره پای ته ورسيږي`:t.format===`includes`?`ناسم متن: باید "${t.includes}" ولري`:t.format===`regex`?`ناسم متن: باید د ${t.pattern} سره مطابقت ولري`:`${n[t.format]??e.format} ناسم دی`}case`not_multiple_of`:return`ناسم عدد: باید د ${e.divisor} مضرب وي`;case`unrecognized_keys`:return`ناسم ${e.keys.length>1?`کلیډونه`:`کلیډ`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`ناسم کلیډ په ${e.origin} کې`;case`invalid_union`:return`ناسمه ورودي`;case`invalid_element`:return`ناسم عنصر په ${e.origin} کې`;default:return`ناسمه ورودي`}}}}));function gs(){return{localeError:_s()}}var _s,vs=t((()=>{y(),_s=()=>{let e={string:{unit:`znaków`,verb:`mieć`},file:{unit:`bajtów`,verb:`mieć`},array:{unit:`elementów`,verb:`mieć`},set:{unit:`elementów`,verb:`mieć`}};function t(t){return e[t]??null}let n={regex:`wyrażenie`,email:`adres email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`data i godzina w formacie ISO`,date:`data w formacie ISO`,time:`godzina w formacie ISO`,duration:`czas trwania ISO`,ipv4:`adres IPv4`,ipv6:`adres IPv6`,cidrv4:`zakres IPv4`,cidrv6:`zakres IPv6`,base64:`ciąg znaków zakodowany w formacie base64`,base64url:`ciąg znaków zakodowany w formacie base64url`,json_string:`ciąg znaków w formacie JSON`,e164:`liczba E.164`,jwt:`JWT`,template_literal:`wejście`},r={nan:`NaN`,number:`liczba`,array:`tablica`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${e.expected}, otrzymano ${i}`:`Nieprawidłowe dane wejściowe: oczekiwano ${t}, otrzymano ${i}`}case`invalid_value`:return e.values.length===1?`Nieprawidłowe dane wejściowe: oczekiwano ${g(e.values[0])}`:`Nieprawidłowa opcja: oczekiwano jednej z wartości ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Za duża wartość: oczekiwano, że ${e.origin??`wartość`} będzie mieć ${n}${e.maximum.toString()} ${r.unit??`elementów`}`:`Zbyt duż(y/a/e): oczekiwano, że ${e.origin??`wartość`} będzie wynosić ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Za mała wartość: oczekiwano, że ${e.origin??`wartość`} będzie mieć ${n}${e.minimum.toString()} ${r.unit??`elementów`}`:`Zbyt mał(y/a/e): oczekiwano, że ${e.origin??`wartość`} będzie wynosić ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Nieprawidłowy ciąg znaków: musi zaczynać się od "${t.prefix}"`:t.format===`ends_with`?`Nieprawidłowy ciąg znaków: musi kończyć się na "${t.suffix}"`:t.format===`includes`?`Nieprawidłowy ciąg znaków: musi zawierać "${t.includes}"`:t.format===`regex`?`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${t.pattern}`:`Nieprawidłow(y/a/e) ${n[t.format]??e.format}`}case`not_multiple_of`:return`Nieprawidłowa liczba: musi być wielokrotnością ${e.divisor}`;case`unrecognized_keys`:return`Nierozpoznane klucze${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Nieprawidłowy klucz w ${e.origin}`;case`invalid_union`:return`Nieprawidłowe dane wejściowe`;case`invalid_element`:return`Nieprawidłowa wartość w ${e.origin}`;default:return`Nieprawidłowe dane wejściowe`}}}}));function ys(){return{localeError:bs()}}var bs,xs=t((()=>{y(),bs=()=>{let e={string:{unit:`caracteres`,verb:`ter`},file:{unit:`bytes`,verb:`ter`},array:{unit:`itens`,verb:`ter`},set:{unit:`itens`,verb:`ter`}};function t(t){return e[t]??null}let n={regex:`padrão`,email:`endereço de e-mail`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`data e hora ISO`,date:`data ISO`,time:`hora ISO`,duration:`duração ISO`,ipv4:`endereço IPv4`,ipv6:`endereço IPv6`,cidrv4:`faixa de IPv4`,cidrv6:`faixa de IPv6`,base64:`texto codificado em base64`,base64url:`URL codificada em base64`,json_string:`texto JSON`,e164:`número E.164`,jwt:`JWT`,template_literal:`entrada`},r={nan:`NaN`,number:`número`,null:`nulo`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Tipo inválido: esperado instanceof ${e.expected}, recebido ${i}`:`Tipo inválido: esperado ${t}, recebido ${i}`}case`invalid_value`:return e.values.length===1?`Entrada inválida: esperado ${g(e.values[0])}`:`Opção inválida: esperada uma das ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Muito grande: esperado que ${e.origin??`valor`} tivesse ${n}${e.maximum.toString()} ${r.unit??`elementos`}`:`Muito grande: esperado que ${e.origin??`valor`} fosse ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Muito pequeno: esperado que ${e.origin} tivesse ${n}${e.minimum.toString()} ${r.unit}`:`Muito pequeno: esperado que ${e.origin} fosse ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Texto inválido: deve começar com "${t.prefix}"`:t.format===`ends_with`?`Texto inválido: deve terminar com "${t.suffix}"`:t.format===`includes`?`Texto inválido: deve incluir "${t.includes}"`:t.format===`regex`?`Texto inválido: deve corresponder ao padrão ${t.pattern}`:`${n[t.format]??e.format} inválido`}case`not_multiple_of`:return`Número inválido: deve ser múltiplo de ${e.divisor}`;case`unrecognized_keys`:return`Chave${e.keys.length>1?`s`:``} desconhecida${e.keys.length>1?`s`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Chave inválida em ${e.origin}`;case`invalid_union`:return`Entrada inválida`;case`invalid_element`:return`Valor inválido em ${e.origin}`;default:return`Campo inválido`}}}}));function Ss(){return{localeError:Cs()}}var Cs,ws=t((()=>{y(),Cs=()=>{let e={string:{unit:`caractere`,verb:`să aibă`},file:{unit:`octeți`,verb:`să aibă`},array:{unit:`elemente`,verb:`să aibă`},set:{unit:`elemente`,verb:`să aibă`},map:{unit:`intrări`,verb:`să aibă`}};function t(t){return e[t]??null}let n={regex:`intrare`,email:`adresă de email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`dată și oră ISO`,date:`dată ISO`,time:`oră ISO`,duration:`durată ISO`,ipv4:`adresă IPv4`,ipv6:`adresă IPv6`,mac:`adresă MAC`,cidrv4:`interval IPv4`,cidrv6:`interval IPv6`,base64:`șir codat base64`,base64url:`șir codat base64url`,json_string:`șir JSON`,e164:`număr E.164`,jwt:`JWT`,template_literal:`intrare`},r={nan:`NaN`,string:`șir`,number:`număr`,boolean:`boolean`,function:`funcție`,array:`matrice`,object:`obiect`,undefined:`nedefinit`,symbol:`simbol`,bigint:`număr mare`,void:`void`,never:`never`,map:`hartă`,set:`set`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input);return`Intrare invalidă: așteptat ${t}, primit ${r[n]??n}`}case`invalid_value`:return e.values.length===1?`Intrare invalidă: așteptat ${g(e.values[0])}`:`Opțiune invalidă: așteptat una dintre ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Prea mare: așteptat ca ${e.origin??`valoarea`} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??`elemente`}`:`Prea mare: așteptat ca ${e.origin??`valoarea`} să fie ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Prea mic: așteptat ca ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Prea mic: așteptat ca ${e.origin} să fie ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Șir invalid: trebuie să înceapă cu "${t.prefix}"`:t.format===`ends_with`?`Șir invalid: trebuie să se termine cu "${t.suffix}"`:t.format===`includes`?`Șir invalid: trebuie să includă "${t.includes}"`:t.format===`regex`?`Șir invalid: trebuie să se potrivească cu modelul ${t.pattern}`:`Format invalid: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Număr invalid: trebuie să fie multiplu de ${e.divisor}`;case`unrecognized_keys`:return`Chei nerecunoscute: ${p(e.keys,`, `)}`;case`invalid_key`:return`Cheie invalidă în ${e.origin}`;case`invalid_union`:return`Intrare invalidă`;case`invalid_element`:return`Valoare invalidă în ${e.origin}`;default:return`Intrare invalidă`}}}}));function Ts(e,t,n,r){let i=Math.abs(e),a=i%10,o=i%100;return o>=11&&o<=19?r:a===1?t:a>=2&&a<=4?n:r}function Es(){return{localeError:Ds()}}var Ds,Os=t((()=>{y(),Ds=()=>{let e={string:{unit:{one:`символ`,few:`символа`,many:`символов`},verb:`иметь`},file:{unit:{one:`байт`,few:`байта`,many:`байт`},verb:`иметь`},array:{unit:{one:`элемент`,few:`элемента`,many:`элементов`},verb:`иметь`},set:{unit:{one:`элемент`,few:`элемента`,many:`элементов`},verb:`иметь`}};function t(t){return e[t]??null}let n={regex:`ввод`,email:`email адрес`,url:`URL`,emoji:`эмодзи`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO дата и время`,date:`ISO дата`,time:`ISO время`,duration:`ISO длительность`,ipv4:`IPv4 адрес`,ipv6:`IPv6 адрес`,cidrv4:`IPv4 диапазон`,cidrv6:`IPv6 диапазон`,base64:`строка в формате base64`,base64url:`строка в формате base64url`,json_string:`JSON строка`,e164:`номер E.164`,jwt:`JWT`,template_literal:`ввод`},r={nan:`NaN`,number:`число`,array:`массив`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Неверный ввод: ожидалось instanceof ${e.expected}, получено ${i}`:`Неверный ввод: ожидалось ${t}, получено ${i}`}case`invalid_value`:return e.values.length===1?`Неверный ввод: ожидалось ${g(e.values[0])}`:`Неверный вариант: ожидалось одно из ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);if(r){let t=Ts(Number(e.maximum),r.unit.one,r.unit.few,r.unit.many);return`Слишком большое значение: ожидалось, что ${e.origin??`значение`} будет иметь ${n}${e.maximum.toString()} ${t}`}return`Слишком большое значение: ожидалось, что ${e.origin??`значение`} будет ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);if(r){let t=Ts(Number(e.minimum),r.unit.one,r.unit.few,r.unit.many);return`Слишком маленькое значение: ожидалось, что ${e.origin} будет иметь ${n}${e.minimum.toString()} ${t}`}return`Слишком маленькое значение: ожидалось, что ${e.origin} будет ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Неверная строка: должна начинаться с "${t.prefix}"`:t.format===`ends_with`?`Неверная строка: должна заканчиваться на "${t.suffix}"`:t.format===`includes`?`Неверная строка: должна содержать "${t.includes}"`:t.format===`regex`?`Неверная строка: должна соответствовать шаблону ${t.pattern}`:`Неверный ${n[t.format]??e.format}`}case`not_multiple_of`:return`Неверное число: должно быть кратным ${e.divisor}`;case`unrecognized_keys`:return`Нераспознанн${e.keys.length>1?`ые`:`ый`} ключ${e.keys.length>1?`и`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Неверный ключ в ${e.origin}`;case`invalid_union`:return`Неверные входные данные`;case`invalid_element`:return`Неверное значение в ${e.origin}`;default:return`Неверные входные данные`}}}}));function ks(){return{localeError:As()}}var As,js=t((()=>{y(),As=()=>{let e={string:{unit:`znakov`,verb:`imeti`},file:{unit:`bajtov`,verb:`imeti`},array:{unit:`elementov`,verb:`imeti`},set:{unit:`elementov`,verb:`imeti`}};function t(t){return e[t]??null}let n={regex:`vnos`,email:`e-poštni naslov`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datum in čas`,date:`ISO datum`,time:`ISO čas`,duration:`ISO trajanje`,ipv4:`IPv4 naslov`,ipv6:`IPv6 naslov`,cidrv4:`obseg IPv4`,cidrv6:`obseg IPv6`,base64:`base64 kodiran niz`,base64url:`base64url kodiran niz`,json_string:`JSON niz`,e164:`E.164 številka`,jwt:`JWT`,template_literal:`vnos`},r={nan:`NaN`,number:`število`,array:`tabela`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Neveljaven vnos: pričakovano instanceof ${e.expected}, prejeto ${i}`:`Neveljaven vnos: pričakovano ${t}, prejeto ${i}`}case`invalid_value`:return e.values.length===1?`Neveljaven vnos: pričakovano ${g(e.values[0])}`:`Neveljavna možnost: pričakovano eno izmed ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Preveliko: pričakovano, da bo ${e.origin??`vrednost`} imelo ${n}${e.maximum.toString()} ${r.unit??`elementov`}`:`Preveliko: pričakovano, da bo ${e.origin??`vrednost`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Premajhno: pričakovano, da bo ${e.origin} imelo ${n}${e.minimum.toString()} ${r.unit}`:`Premajhno: pričakovano, da bo ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Neveljaven niz: mora se začeti z "${t.prefix}"`:t.format===`ends_with`?`Neveljaven niz: mora se končati z "${t.suffix}"`:t.format===`includes`?`Neveljaven niz: mora vsebovati "${t.includes}"`:t.format===`regex`?`Neveljaven niz: mora ustrezati vzorcu ${t.pattern}`:`Neveljaven ${n[t.format]??e.format}`}case`not_multiple_of`:return`Neveljavno število: mora biti večkratnik ${e.divisor}`;case`unrecognized_keys`:return`Neprepoznan${e.keys.length>1?`i ključi`:` ključ`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Neveljaven ključ v ${e.origin}`;case`invalid_union`:return`Neveljaven vnos`;case`invalid_element`:return`Neveljavna vrednost v ${e.origin}`;default:return`Neveljaven vnos`}}}}));function Ms(){return{localeError:Ns()}}var Ns,Ps=t((()=>{y(),Ns=()=>{let e={string:{unit:`tecken`,verb:`att ha`},file:{unit:`bytes`,verb:`att ha`},array:{unit:`objekt`,verb:`att innehålla`},set:{unit:`objekt`,verb:`att innehålla`}};function t(t){return e[t]??null}let n={regex:`reguljärt uttryck`,email:`e-postadress`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO-datum och tid`,date:`ISO-datum`,time:`ISO-tid`,duration:`ISO-varaktighet`,ipv4:`IPv4-intervall`,ipv6:`IPv6-intervall`,cidrv4:`IPv4-spektrum`,cidrv6:`IPv6-spektrum`,base64:`base64-kodad sträng`,base64url:`base64url-kodad sträng`,json_string:`JSON-sträng`,e164:`E.164-nummer`,jwt:`JWT`,template_literal:`mall-literal`},r={nan:`NaN`,number:`antal`,array:`lista`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ogiltig inmatning: förväntat instanceof ${e.expected}, fick ${i}`:`Ogiltig inmatning: förväntat ${t}, fick ${i}`}case`invalid_value`:return e.values.length===1?`Ogiltig inmatning: förväntat ${g(e.values[0])}`:`Ogiltigt val: förväntade en av ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`För stor(t): förväntade ${e.origin??`värdet`} att ha ${n}${e.maximum.toString()} ${r.unit??`element`}`:`För stor(t): förväntat ${e.origin??`värdet`} att ha ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`För lite(t): förväntade ${e.origin??`värdet`} att ha ${n}${e.minimum.toString()} ${r.unit}`:`För lite(t): förväntade ${e.origin??`värdet`} att ha ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ogiltig sträng: måste börja med "${t.prefix}"`:t.format===`ends_with`?`Ogiltig sträng: måste sluta med "${t.suffix}"`:t.format===`includes`?`Ogiltig sträng: måste innehålla "${t.includes}"`:t.format===`regex`?`Ogiltig sträng: måste matcha mönstret "${t.pattern}"`:`Ogiltig(t) ${n[t.format]??e.format}`}case`not_multiple_of`:return`Ogiltigt tal: måste vara en multipel av ${e.divisor}`;case`unrecognized_keys`:return`${e.keys.length>1?`Okända nycklar`:`Okänd nyckel`}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Ogiltig nyckel i ${e.origin??`värdet`}`;case`invalid_union`:return`Ogiltig input`;case`invalid_element`:return`Ogiltigt värde i ${e.origin??`värdet`}`;default:return`Ogiltig input`}}}}));function Fs(){return{localeError:Is()}}var Is,Ls=t((()=>{y(),Is=()=>{let e={string:{unit:`எழுத்துக்கள்`,verb:`கொண்டிருக்க வேண்டும்`},file:{unit:`பைட்டுகள்`,verb:`கொண்டிருக்க வேண்டும்`},array:{unit:`உறுப்புகள்`,verb:`கொண்டிருக்க வேண்டும்`},set:{unit:`உறுப்புகள்`,verb:`கொண்டிருக்க வேண்டும்`}};function t(t){return e[t]??null}let n={regex:`உள்ளீடு`,email:`மின்னஞ்சல் முகவரி`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO தேதி நேரம்`,date:`ISO தேதி`,time:`ISO நேரம்`,duration:`ISO கால அளவு`,ipv4:`IPv4 முகவரி`,ipv6:`IPv6 முகவரி`,cidrv4:`IPv4 வரம்பு`,cidrv6:`IPv6 வரம்பு`,base64:`base64-encoded சரம்`,base64url:`base64url-encoded சரம்`,json_string:`JSON சரம்`,e164:`E.164 எண்`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`,number:`எண்`,array:`அணி`,null:`வெறுமை`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${e.expected}, பெறப்பட்டது ${i}`:`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${t}, பெறப்பட்டது ${i}`}case`invalid_value`:return e.values.length===1?`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${g(e.values[0])}`:`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${p(e.values,`|`)} இல் ஒன்று`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??`மதிப்பு`} ${n}${e.maximum.toString()} ${r.unit??`உறுப்புகள்`} ஆக இருக்க வேண்டும்`:`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${e.origin??`மதிப்பு`} ${n}${e.maximum.toString()} ஆக இருக்க வேண்டும்`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ஆக இருக்க வேண்டும்`:`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${e.origin} ${n}${e.minimum.toString()} ஆக இருக்க வேண்டும்`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`தவறான சரம்: "${t.prefix}" இல் தொடங்க வேண்டும்`:t.format===`ends_with`?`தவறான சரம்: "${t.suffix}" இல் முடிவடைய வேண்டும்`:t.format===`includes`?`தவறான சரம்: "${t.includes}" ஐ உள்ளடக்க வேண்டும்`:t.format===`regex`?`தவறான சரம்: ${t.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`:`தவறான ${n[t.format]??e.format}`}case`not_multiple_of`:return`தவறான எண்: ${e.divisor} இன் பலமாக இருக்க வேண்டும்`;case`unrecognized_keys`:return`அடையாளம் தெரியாத விசை${e.keys.length>1?`கள்`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} இல் தவறான விசை`;case`invalid_union`:return`தவறான உள்ளீடு`;case`invalid_element`:return`${e.origin} இல் தவறான மதிப்பு`;default:return`தவறான உள்ளீடு`}}}}));function Rs(){return{localeError:zs()}}var zs,Bs=t((()=>{y(),zs=()=>{let e={string:{unit:`ตัวอักษร`,verb:`ควรมี`},file:{unit:`ไบต์`,verb:`ควรมี`},array:{unit:`รายการ`,verb:`ควรมี`},set:{unit:`รายการ`,verb:`ควรมี`}};function t(t){return e[t]??null}let n={regex:`ข้อมูลที่ป้อน`,email:`ที่อยู่อีเมล`,url:`URL`,emoji:`อิโมจิ`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`วันที่เวลาแบบ ISO`,date:`วันที่แบบ ISO`,time:`เวลาแบบ ISO`,duration:`ช่วงเวลาแบบ ISO`,ipv4:`ที่อยู่ IPv4`,ipv6:`ที่อยู่ IPv6`,cidrv4:`ช่วง IP แบบ IPv4`,cidrv6:`ช่วง IP แบบ IPv6`,base64:`ข้อความแบบ Base64`,base64url:`ข้อความแบบ Base64 สำหรับ URL`,json_string:`ข้อความแบบ JSON`,e164:`เบอร์โทรศัพท์ระหว่างประเทศ (E.164)`,jwt:`โทเคน JWT`,template_literal:`ข้อมูลที่ป้อน`},r={nan:`NaN`,number:`ตัวเลข`,array:`อาร์เรย์ (Array)`,null:`ไม่มีค่า (null)`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${e.expected} แต่ได้รับ ${i}`:`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${t} แต่ได้รับ ${i}`}case`invalid_value`:return e.values.length===1?`ค่าไม่ถูกต้อง: ควรเป็น ${g(e.values[0])}`:`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`ไม่เกิน`:`น้อยกว่า`,r=t(e.origin);return r?`เกินกำหนด: ${e.origin??`ค่า`} ควรมี${n} ${e.maximum.toString()} ${r.unit??`รายการ`}`:`เกินกำหนด: ${e.origin??`ค่า`} ควรมี${n} ${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`อย่างน้อย`:`มากกว่า`,r=t(e.origin);return r?`น้อยกว่ากำหนด: ${e.origin} ควรมี${n} ${e.minimum.toString()} ${r.unit}`:`น้อยกว่ากำหนด: ${e.origin} ควรมี${n} ${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${t.prefix}"`:t.format===`ends_with`?`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${t.suffix}"`:t.format===`includes`?`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${t.includes}" อยู่ในข้อความ`:t.format===`regex`?`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${t.pattern}`:`รูปแบบไม่ถูกต้อง: ${n[t.format]??e.format}`}case`not_multiple_of`:return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${e.divisor} ได้ลงตัว`;case`unrecognized_keys`:return`พบคีย์ที่ไม่รู้จัก: ${p(e.keys,`, `)}`;case`invalid_key`:return`คีย์ไม่ถูกต้องใน ${e.origin}`;case`invalid_union`:return`ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้`;case`invalid_element`:return`ข้อมูลไม่ถูกต้องใน ${e.origin}`;default:return`ข้อมูลไม่ถูกต้อง`}}}}));function Vs(){return{localeError:Hs()}}var Hs,Us=t((()=>{y(),Hs=()=>{let e={string:{unit:`karakter`,verb:`olmalı`},file:{unit:`bayt`,verb:`olmalı`},array:{unit:`öğe`,verb:`olmalı`},set:{unit:`öğe`,verb:`olmalı`}};function t(t){return e[t]??null}let n={regex:`girdi`,email:`e-posta adresi`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO tarih ve saat`,date:`ISO tarih`,time:`ISO saat`,duration:`ISO süre`,ipv4:`IPv4 adresi`,ipv6:`IPv6 adresi`,cidrv4:`IPv4 aralığı`,cidrv6:`IPv6 aralığı`,base64:`base64 ile şifrelenmiş metin`,base64url:`base64url ile şifrelenmiş metin`,json_string:`JSON dizesi`,e164:`E.164 sayısı`,jwt:`JWT`,template_literal:`Şablon dizesi`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Geçersiz değer: beklenen instanceof ${e.expected}, alınan ${i}`:`Geçersiz değer: beklenen ${t}, alınan ${i}`}case`invalid_value`:return e.values.length===1?`Geçersiz değer: beklenen ${g(e.values[0])}`:`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Çok büyük: beklenen ${e.origin??`değer`} ${n}${e.maximum.toString()} ${r.unit??`öğe`}`:`Çok büyük: beklenen ${e.origin??`değer`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Çok küçük: beklenen ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`Çok küçük: beklenen ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Geçersiz metin: "${t.prefix}" ile başlamalı`:t.format===`ends_with`?`Geçersiz metin: "${t.suffix}" ile bitmeli`:t.format===`includes`?`Geçersiz metin: "${t.includes}" içermeli`:t.format===`regex`?`Geçersiz metin: ${t.pattern} desenine uymalı`:`Geçersiz ${n[t.format]??e.format}`}case`not_multiple_of`:return`Geçersiz sayı: ${e.divisor} ile tam bölünebilmeli`;case`unrecognized_keys`:return`Tanınmayan anahtar${e.keys.length>1?`lar`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} içinde geçersiz anahtar`;case`invalid_union`:return`Geçersiz değer`;case`invalid_element`:return`${e.origin} içinde geçersiz değer`;default:return`Geçersiz değer`}}}}));function Ws(){return{localeError:Gs()}}var Gs,Ks=t((()=>{y(),Gs=()=>{let e={string:{unit:`символів`,verb:`матиме`},file:{unit:`байтів`,verb:`матиме`},array:{unit:`елементів`,verb:`матиме`},set:{unit:`елементів`,verb:`матиме`}};function t(t){return e[t]??null}let n={regex:`вхідні дані`,email:`адреса електронної пошти`,url:`URL`,emoji:`емодзі`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`дата та час ISO`,date:`дата ISO`,time:`час ISO`,duration:`тривалість ISO`,ipv4:`адреса IPv4`,ipv6:`адреса IPv6`,cidrv4:`діапазон IPv4`,cidrv6:`діапазон IPv6`,base64:`рядок у кодуванні base64`,base64url:`рядок у кодуванні base64url`,json_string:`рядок JSON`,e164:`номер E.164`,jwt:`JWT`,template_literal:`вхідні дані`},r={nan:`NaN`,number:`число`,array:`масив`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Неправильні вхідні дані: очікується instanceof ${e.expected}, отримано ${i}`:`Неправильні вхідні дані: очікується ${t}, отримано ${i}`}case`invalid_value`:return e.values.length===1?`Неправильні вхідні дані: очікується ${g(e.values[0])}`:`Неправильна опція: очікується одне з ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Занадто велике: очікується, що ${e.origin??`значення`} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??`елементів`}`:`Занадто велике: очікується, що ${e.origin??`значення`} буде ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Занадто мале: очікується, що ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Занадто мале: очікується, що ${e.origin} буде ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Неправильний рядок: повинен починатися з "${t.prefix}"`:t.format===`ends_with`?`Неправильний рядок: повинен закінчуватися на "${t.suffix}"`:t.format===`includes`?`Неправильний рядок: повинен містити "${t.includes}"`:t.format===`regex`?`Неправильний рядок: повинен відповідати шаблону ${t.pattern}`:`Неправильний ${n[t.format]??e.format}`}case`not_multiple_of`:return`Неправильне число: повинно бути кратним ${e.divisor}`;case`unrecognized_keys`:return`Нерозпізнаний ключ${e.keys.length>1?`і`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`Неправильний ключ у ${e.origin}`;case`invalid_union`:return`Неправильні вхідні дані`;case`invalid_element`:return`Неправильне значення у ${e.origin}`;default:return`Неправильні вхідні дані`}}}}));function qs(){return Ws()}var Js=t((()=>{Ks()}));function Ys(){return{localeError:Xs()}}var Xs,Zs=t((()=>{y(),Xs=()=>{let e={string:{unit:`حروف`,verb:`ہونا`},file:{unit:`بائٹس`,verb:`ہونا`},array:{unit:`آئٹمز`,verb:`ہونا`},set:{unit:`آئٹمز`,verb:`ہونا`}};function t(t){return e[t]??null}let n={regex:`ان پٹ`,email:`ای میل ایڈریس`,url:`یو آر ایل`,emoji:`ایموجی`,uuid:`یو یو آئی ڈی`,uuidv4:`یو یو آئی ڈی وی 4`,uuidv6:`یو یو آئی ڈی وی 6`,nanoid:`نینو آئی ڈی`,guid:`جی یو آئی ڈی`,cuid:`سی یو آئی ڈی`,cuid2:`سی یو آئی ڈی 2`,ulid:`یو ایل آئی ڈی`,xid:`ایکس آئی ڈی`,ksuid:`کے ایس یو آئی ڈی`,datetime:`آئی ایس او ڈیٹ ٹائم`,date:`آئی ایس او تاریخ`,time:`آئی ایس او وقت`,duration:`آئی ایس او مدت`,ipv4:`آئی پی وی 4 ایڈریس`,ipv6:`آئی پی وی 6 ایڈریس`,cidrv4:`آئی پی وی 4 رینج`,cidrv6:`آئی پی وی 6 رینج`,base64:`بیس 64 ان کوڈڈ سٹرنگ`,base64url:`بیس 64 یو آر ایل ان کوڈڈ سٹرنگ`,json_string:`جے ایس او این سٹرنگ`,e164:`ای 164 نمبر`,jwt:`جے ڈبلیو ٹی`,template_literal:`ان پٹ`},r={nan:`NaN`,number:`نمبر`,array:`آرے`,null:`نل`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`غلط ان پٹ: instanceof ${e.expected} متوقع تھا، ${i} موصول ہوا`:`غلط ان پٹ: ${t} متوقع تھا، ${i} موصول ہوا`}case`invalid_value`:return e.values.length===1?`غلط ان پٹ: ${g(e.values[0])} متوقع تھا`:`غلط آپشن: ${p(e.values,`|`)} میں سے ایک متوقع تھا`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`بہت بڑا: ${e.origin??`ویلیو`} کے ${n}${e.maximum.toString()} ${r.unit??`عناصر`} ہونے متوقع تھے`:`بہت بڑا: ${e.origin??`ویلیو`} کا ${n}${e.maximum.toString()} ہونا متوقع تھا`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`بہت چھوٹا: ${e.origin} کے ${n}${e.minimum.toString()} ${r.unit} ہونے متوقع تھے`:`بہت چھوٹا: ${e.origin} کا ${n}${e.minimum.toString()} ہونا متوقع تھا`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`غلط سٹرنگ: "${t.prefix}" سے شروع ہونا چاہیے`:t.format===`ends_with`?`غلط سٹرنگ: "${t.suffix}" پر ختم ہونا چاہیے`:t.format===`includes`?`غلط سٹرنگ: "${t.includes}" شامل ہونا چاہیے`:t.format===`regex`?`غلط سٹرنگ: پیٹرن ${t.pattern} سے میچ ہونا چاہیے`:`غلط ${n[t.format]??e.format}`}case`not_multiple_of`:return`غلط نمبر: ${e.divisor} کا مضاعف ہونا چاہیے`;case`unrecognized_keys`:return`غیر تسلیم شدہ کی${e.keys.length>1?`ز`:``}: ${p(e.keys,`، `)}`;case`invalid_key`:return`${e.origin} میں غلط کی`;case`invalid_union`:return`غلط ان پٹ`;case`invalid_element`:return`${e.origin} میں غلط ویلیو`;default:return`غلط ان پٹ`}}}}));function Qs(){return{localeError:$s()}}var $s,ec=t((()=>{y(),$s=()=>{let e={string:{unit:`belgi`,verb:`bo‘lishi kerak`},file:{unit:`bayt`,verb:`bo‘lishi kerak`},array:{unit:`element`,verb:`bo‘lishi kerak`},set:{unit:`element`,verb:`bo‘lishi kerak`},map:{unit:`yozuv`,verb:`bo‘lishi kerak`}};function t(t){return e[t]??null}let n={regex:`kirish`,email:`elektron pochta manzili`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO sana va vaqti`,date:`ISO sana`,time:`ISO vaqt`,duration:`ISO davomiylik`,ipv4:`IPv4 manzil`,ipv6:`IPv6 manzil`,mac:`MAC manzil`,cidrv4:`IPv4 diapazon`,cidrv6:`IPv6 diapazon`,base64:`base64 kodlangan satr`,base64url:`base64url kodlangan satr`,json_string:`JSON satr`,e164:`E.164 raqam`,jwt:`JWT`,template_literal:`kirish`},r={nan:`NaN`,number:`raqam`,array:`massiv`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Noto‘g‘ri kirish: kutilgan instanceof ${e.expected}, qabul qilingan ${i}`:`Noto‘g‘ri kirish: kutilgan ${t}, qabul qilingan ${i}`}case`invalid_value`:return e.values.length===1?`Noto‘g‘ri kirish: kutilgan ${g(e.values[0])}`:`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Juda katta: kutilgan ${e.origin??`qiymat`} ${n}${e.maximum.toString()} ${r.unit} ${r.verb}`:`Juda katta: kutilgan ${e.origin??`qiymat`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Juda kichik: kutilgan ${e.origin} ${n}${e.minimum.toString()} ${r.unit} ${r.verb}`:`Juda kichik: kutilgan ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Noto‘g‘ri satr: "${t.prefix}" bilan boshlanishi kerak`:t.format===`ends_with`?`Noto‘g‘ri satr: "${t.suffix}" bilan tugashi kerak`:t.format===`includes`?`Noto‘g‘ri satr: "${t.includes}" ni o‘z ichiga olishi kerak`:t.format===`regex`?`Noto‘g‘ri satr: ${t.pattern} shabloniga mos kelishi kerak`:`Noto‘g‘ri ${n[t.format]??e.format}`}case`not_multiple_of`:return`Noto‘g‘ri raqam: ${e.divisor} ning karralisi bo‘lishi kerak`;case`unrecognized_keys`:return`Noma’lum kalit${e.keys.length>1?`lar`:``}: ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} dagi kalit noto‘g‘ri`;case`invalid_union`:return`Noto‘g‘ri kirish`;case`invalid_element`:return`${e.origin} da noto‘g‘ri qiymat`;default:return`Noto‘g‘ri kirish`}}}}));function tc(){return{localeError:nc()}}var nc,rc=t((()=>{y(),nc=()=>{let e={string:{unit:`ký tự`,verb:`có`},file:{unit:`byte`,verb:`có`},array:{unit:`phần tử`,verb:`có`},set:{unit:`phần tử`,verb:`có`}};function t(t){return e[t]??null}let n={regex:`đầu vào`,email:`địa chỉ email`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ngày giờ ISO`,date:`ngày ISO`,time:`giờ ISO`,duration:`khoảng thời gian ISO`,ipv4:`địa chỉ IPv4`,ipv6:`địa chỉ IPv6`,cidrv4:`dải IPv4`,cidrv6:`dải IPv6`,base64:`chuỗi mã hóa base64`,base64url:`chuỗi mã hóa base64url`,json_string:`chuỗi JSON`,e164:`số E.164`,jwt:`JWT`,template_literal:`đầu vào`},r={nan:`NaN`,number:`số`,array:`mảng`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Đầu vào không hợp lệ: mong đợi instanceof ${e.expected}, nhận được ${i}`:`Đầu vào không hợp lệ: mong đợi ${t}, nhận được ${i}`}case`invalid_value`:return e.values.length===1?`Đầu vào không hợp lệ: mong đợi ${g(e.values[0])}`:`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Quá lớn: mong đợi ${e.origin??`giá trị`} ${r.verb} ${n}${e.maximum.toString()} ${r.unit??`phần tử`}`:`Quá lớn: mong đợi ${e.origin??`giá trị`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Quá nhỏ: mong đợi ${e.origin} ${r.verb} ${n}${e.minimum.toString()} ${r.unit}`:`Quá nhỏ: mong đợi ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Chuỗi không hợp lệ: phải bắt đầu bằng "${t.prefix}"`:t.format===`ends_with`?`Chuỗi không hợp lệ: phải kết thúc bằng "${t.suffix}"`:t.format===`includes`?`Chuỗi không hợp lệ: phải bao gồm "${t.includes}"`:t.format===`regex`?`Chuỗi không hợp lệ: phải khớp với mẫu ${t.pattern}`:`${n[t.format]??e.format} không hợp lệ`}case`not_multiple_of`:return`Số không hợp lệ: phải là bội số của ${e.divisor}`;case`unrecognized_keys`:return`Khóa không được nhận dạng: ${p(e.keys,`, `)}`;case`invalid_key`:return`Khóa không hợp lệ trong ${e.origin}`;case`invalid_union`:return`Đầu vào không hợp lệ`;case`invalid_element`:return`Giá trị không hợp lệ trong ${e.origin}`;default:return`Đầu vào không hợp lệ`}}}}));function ic(){return{localeError:ac()}}var ac,oc=t((()=>{y(),ac=()=>{let e={string:{unit:`字符`,verb:`包含`},file:{unit:`字节`,verb:`包含`},array:{unit:`项`,verb:`包含`},set:{unit:`项`,verb:`包含`}};function t(t){return e[t]??null}let n={regex:`输入`,email:`电子邮件`,url:`URL`,emoji:`表情符号`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO日期时间`,date:`ISO日期`,time:`ISO时间`,duration:`ISO时长`,ipv4:`IPv4地址`,ipv6:`IPv6地址`,cidrv4:`IPv4网段`,cidrv6:`IPv6网段`,base64:`base64编码字符串`,base64url:`base64url编码字符串`,json_string:`JSON字符串`,e164:`E.164号码`,jwt:`JWT`,template_literal:`输入`},r={nan:`NaN`,number:`数字`,array:`数组`,null:`空值(null)`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`无效输入:期望 instanceof ${e.expected},实际接收 ${i}`:`无效输入:期望 ${t},实际接收 ${i}`}case`invalid_value`:return e.values.length===1?`无效输入:期望 ${g(e.values[0])}`:`无效选项:期望以下之一 ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`数值过大:期望 ${e.origin??`值`} ${n}${e.maximum.toString()} ${r.unit??`个元素`}`:`数值过大:期望 ${e.origin??`值`} ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`数值过小:期望 ${e.origin} ${n}${e.minimum.toString()} ${r.unit}`:`数值过小:期望 ${e.origin} ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`无效字符串:必须以 "${t.prefix}" 开头`:t.format===`ends_with`?`无效字符串:必须以 "${t.suffix}" 结尾`:t.format===`includes`?`无效字符串:必须包含 "${t.includes}"`:t.format===`regex`?`无效字符串:必须满足正则表达式 ${t.pattern}`:`无效${n[t.format]??e.format}`}case`not_multiple_of`:return`无效数字:必须是 ${e.divisor} 的倍数`;case`unrecognized_keys`:return`出现未知的键(key): ${p(e.keys,`, `)}`;case`invalid_key`:return`${e.origin} 中的键(key)无效`;case`invalid_union`:return`无效输入`;case`invalid_element`:return`${e.origin} 中包含无效值(value)`;default:return`无效输入`}}}}));function sc(){return{localeError:cc()}}var cc,lc=t((()=>{y(),cc=()=>{let e={string:{unit:`字元`,verb:`擁有`},file:{unit:`位元組`,verb:`擁有`},array:{unit:`項目`,verb:`擁有`},set:{unit:`項目`,verb:`擁有`}};function t(t){return e[t]??null}let n={regex:`輸入`,email:`郵件地址`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO 日期時間`,date:`ISO 日期`,time:`ISO 時間`,duration:`ISO 期間`,ipv4:`IPv4 位址`,ipv6:`IPv6 位址`,cidrv4:`IPv4 範圍`,cidrv6:`IPv6 範圍`,base64:`base64 編碼字串`,base64url:`base64url 編碼字串`,json_string:`JSON 字串`,e164:`E.164 數值`,jwt:`JWT`,template_literal:`輸入`},r={nan:`NaN`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`無效的輸入值:預期為 instanceof ${e.expected},但收到 ${i}`:`無效的輸入值:預期為 ${t},但收到 ${i}`}case`invalid_value`:return e.values.length===1?`無效的輸入值:預期為 ${g(e.values[0])}`:`無效的選項:預期為以下其中之一 ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`數值過大:預期 ${e.origin??`值`} 應為 ${n}${e.maximum.toString()} ${r.unit??`個元素`}`:`數值過大:預期 ${e.origin??`值`} 應為 ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`數值過小:預期 ${e.origin} 應為 ${n}${e.minimum.toString()} ${r.unit}`:`數值過小:預期 ${e.origin} 應為 ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`無效的字串:必須以 "${t.prefix}" 開頭`:t.format===`ends_with`?`無效的字串:必須以 "${t.suffix}" 結尾`:t.format===`includes`?`無效的字串:必須包含 "${t.includes}"`:t.format===`regex`?`無效的字串:必須符合格式 ${t.pattern}`:`無效的 ${n[t.format]??e.format}`}case`not_multiple_of`:return`無效的數字:必須為 ${e.divisor} 的倍數`;case`unrecognized_keys`:return`無法識別的鍵值${e.keys.length>1?`們`:``}:${p(e.keys,`、`)}`;case`invalid_key`:return`${e.origin} 中有無效的鍵值`;case`invalid_union`:return`無效的輸入值`;case`invalid_element`:return`${e.origin} 中有無效的值`;default:return`無效的輸入值`}}}}));function uc(){return{localeError:dc()}}var dc,fc=t((()=>{y(),dc=()=>{let e={string:{unit:`àmi`,verb:`ní`},file:{unit:`bytes`,verb:`ní`},array:{unit:`nkan`,verb:`ní`},set:{unit:`nkan`,verb:`ní`}};function t(t){return e[t]??null}let n={regex:`ẹ̀rọ ìbáwọlé`,email:`àdírẹ́sì ìmẹ́lì`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`àkókò ISO`,date:`ọjọ́ ISO`,time:`àkókò ISO`,duration:`àkókò tó pé ISO`,ipv4:`àdírẹ́sì IPv4`,ipv6:`àdírẹ́sì IPv6`,cidrv4:`àgbègbè IPv4`,cidrv6:`àgbègbè IPv6`,base64:`ọ̀rọ̀ tí a kọ́ ní base64`,base64url:`ọ̀rọ̀ base64url`,json_string:`ọ̀rọ̀ JSON`,e164:`nọ́mbà E.164`,jwt:`JWT`,template_literal:`ẹ̀rọ ìbáwọlé`},r={nan:`NaN`,number:`nọ́mbà`,array:`akopọ`};return e=>{switch(e.code){case`invalid_type`:{let t=r[e.expected]??e.expected,n=v(e.input),i=r[n]??n;return/^[A-Z]/.test(e.expected)?`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${e.expected}, àmọ̀ a rí ${i}`:`Ìbáwọlé aṣìṣe: a ní láti fi ${t}, àmọ̀ a rí ${i}`}case`invalid_value`:return e.values.length===1?`Ìbáwọlé aṣìṣe: a ní láti fi ${g(e.values[0])}`:`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${p(e.values,`|`)}`;case`too_big`:{let n=e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Tó pọ̀ jù: a ní láti jẹ́ pé ${e.origin??`iye`} ${r.verb} ${n}${e.maximum} ${r.unit}`:`Tó pọ̀ jù: a ní láti jẹ́ ${n}${e.maximum}`}case`too_small`:{let n=e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Kéré ju: a ní láti jẹ́ pé ${e.origin} ${r.verb} ${n}${e.minimum} ${r.unit}`:`Kéré ju: a ní láti jẹ́ ${n}${e.minimum}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${t.prefix}"`:t.format===`ends_with`?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${t.suffix}"`:t.format===`includes`?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${t.includes}"`:t.format===`regex`?`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${t.pattern}`:`Aṣìṣe: ${n[t.format]??e.format}`}case`not_multiple_of`:return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${e.divisor}`;case`unrecognized_keys`:return`Bọtìnì àìmọ̀: ${p(e.keys,`, `)}`;case`invalid_key`:return`Bọtìnì aṣìṣe nínú ${e.origin}`;case`invalid_union`:return`Ìbáwọlé aṣìṣe`;case`invalid_element`:return`Iye aṣìṣe nínú ${e.origin}`;default:return`Ìbáwọlé aṣìṣe`}}}})),pc=n({ar:()=>ma,az:()=>_a,be:()=>xa,bg:()=>wa,ca:()=>Da,cs:()=>Aa,da:()=>Na,de:()=>Ia,el:()=>za,en:()=>Ha,eo:()=>Ga,es:()=>Ja,fa:()=>Za,fi:()=>eo,fr:()=>ro,frCA:()=>oo,he:()=>lo,hr:()=>po,hu:()=>go,hy:()=>xo,id:()=>wo,is:()=>Do,it:()=>Ao,ja:()=>No,ka:()=>Io,kh:()=>Ho,km:()=>zo,ko:()=>Wo,lt:()=>Jo,mk:()=>Qo,ms:()=>ts,nl:()=>is,no:()=>ss,ota:()=>us,pl:()=>gs,ps:()=>ps,pt:()=>ys,ro:()=>Ss,ru:()=>Es,sl:()=>ks,sv:()=>Ms,ta:()=>Fs,th:()=>Rs,tr:()=>Vs,ua:()=>qs,uk:()=>Ws,ur:()=>Ys,uz:()=>Qs,vi:()=>tc,yo:()=>uc,zhCN:()=>ic,zhTW:()=>sc}),mc=t((()=>{ga(),ya(),Ca(),Ea(),ka(),Ma(),Fa(),Ra(),Va(),Wa(),qa(),Xa(),$a(),no(),ao(),co(),fo(),ho(),vo(),Co(),Eo(),ko(),Mo(),Fo(),Ro(),Uo(),Vo(),Ko(),Zo(),es(),rs(),os(),ls(),fs(),hs(),vs(),xs(),ws(),Os(),js(),Ps(),Ls(),Bs(),Us(),Js(),Ks(),Zs(),ec(),rc(),oc(),lc(),fc()}));function hc(){return new yc}var gc,_c,vc,yc,w,bc=t((()=>{_c=Symbol(`ZodOutput`),vc=Symbol(`ZodInput`),yc=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}},(gc=globalThis).__zod_globalRegistry??(gc.__zod_globalRegistry=hc()),w=globalThis.__zod_globalRegistry}));function xc(e,t){return new e({type:`string`,...h(t)})}function Sc(e,t){return new e({type:`string`,coerce:!0,...h(t)})}function Cc(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...h(t)})}function wc(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...h(t)})}function Tc(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...h(t)})}function Ec(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...h(t)})}function Dc(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...h(t)})}function Oc(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...h(t)})}function kc(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...h(t)})}function Ac(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...h(t)})}function jc(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...h(t)})}function Mc(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...h(t)})}function Nc(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...h(t)})}function Pc(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...h(t)})}function Fc(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...h(t)})}function Ic(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...h(t)})}function Lc(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...h(t)})}function Rc(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...h(t)})}function zc(e,t){return new e({type:`string`,format:`mac`,check:`string_format`,abort:!1,...h(t)})}function Bc(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...h(t)})}function Vc(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...h(t)})}function Hc(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...h(t)})}function Uc(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...h(t)})}function Wc(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...h(t)})}function Gc(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...h(t)})}function Kc(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...h(t)})}function qc(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...h(t)})}function Jc(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...h(t)})}function Yc(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...h(t)})}function Xc(e,t){return new e({type:`number`,checks:[],...h(t)})}function Zc(e,t){return new e({type:`number`,coerce:!0,checks:[],...h(t)})}function Qc(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...h(t)})}function $c(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`float32`,...h(t)})}function el(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`float64`,...h(t)})}function tl(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`int32`,...h(t)})}function nl(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`uint32`,...h(t)})}function rl(e,t){return new e({type:`boolean`,...h(t)})}function il(e,t){return new e({type:`boolean`,coerce:!0,...h(t)})}function al(e,t){return new e({type:`bigint`,...h(t)})}function ol(e,t){return new e({type:`bigint`,coerce:!0,...h(t)})}function sl(e,t){return new e({type:`bigint`,check:`bigint_format`,abort:!1,format:`int64`,...h(t)})}function cl(e,t){return new e({type:`bigint`,check:`bigint_format`,abort:!1,format:`uint64`,...h(t)})}function ll(e,t){return new e({type:`symbol`,...h(t)})}function ul(e,t){return new e({type:`undefined`,...h(t)})}function dl(e,t){return new e({type:`null`,...h(t)})}function fl(e){return new e({type:`any`})}function pl(e){return new e({type:`unknown`})}function ml(e,t){return new e({type:`never`,...h(t)})}function hl(e,t){return new e({type:`void`,...h(t)})}function gl(e,t){return new e({type:`date`,...h(t)})}function _l(e,t){return new e({type:`date`,coerce:!0,...h(t)})}function vl(e,t){return new e({type:`nan`,...h(t)})}function yl(e,t){return new $n({check:`less_than`,...h(t),value:e,inclusive:!1})}function bl(e,t){return new $n({check:`less_than`,...h(t),value:e,inclusive:!0})}function xl(e,t){return new er({check:`greater_than`,...h(t),value:e,inclusive:!1})}function T(e,t){return new er({check:`greater_than`,...h(t),value:e,inclusive:!0})}function Sl(e){return xl(0,e)}function Cl(e){return yl(0,e)}function wl(e){return bl(0,e)}function Tl(e){return T(0,e)}function El(e,t){return new tr({check:`multiple_of`,...h(t),value:e})}function Dl(e,t){return new ir({check:`max_size`,...h(t),maximum:e})}function Ol(e,t){return new ar({check:`min_size`,...h(t),minimum:e})}function kl(e,t){return new or({check:`size_equals`,...h(t),size:e})}function Al(e,t){return new sr({check:`max_length`,...h(t),maximum:e})}function jl(e,t){return new cr({check:`min_length`,...h(t),minimum:e})}function Ml(e,t){return new lr({check:`length_equals`,...h(t),length:e})}function Nl(e,t){return new dr({check:`string_format`,format:`regex`,...h(t),pattern:e})}function Pl(e){return new fr({check:`string_format`,format:`lowercase`,...h(e)})}function Fl(e){return new pr({check:`string_format`,format:`uppercase`,...h(e)})}function Il(e,t){return new mr({check:`string_format`,format:`includes`,...h(t),includes:e})}function Ll(e,t){return new hr({check:`string_format`,format:`starts_with`,...h(t),prefix:e})}function Rl(e,t){return new gr({check:`string_format`,format:`ends_with`,...h(t),suffix:e})}function zl(e,t,n){return new _r({check:`property`,property:e,schema:t,...h(n)})}function Bl(e,t){return new vr({check:`mime_type`,mime:e,...h(t)})}function Vl(e){return new yr({check:`overwrite`,tx:e})}function Hl(e){return Vl(t=>t.normalize(e))}function Ul(){return Vl(e=>e.trim())}function Wl(){return Vl(e=>e.toLowerCase())}function Gl(){return Vl(e=>e.toUpperCase())}function Kl(){return Vl(e=>be(e))}function ql(e,t,n){return new e({type:`array`,element:t,...h(n)})}function Jl(e,t,n){return new e({type:`union`,options:t,...h(n)})}function Yl(e,t,n){return new e({type:`union`,options:t,inclusive:!1,...h(n)})}function Xl(e,t,n,r){return new e({type:`union`,options:n,discriminator:t,...h(r)})}function Zl(e,t,n){return new e({type:`intersection`,left:t,right:n})}function Ql(e,t,n,r){let i=n instanceof S;return new e({type:`tuple`,items:t,rest:i?n:null,...h(i?r:n)})}function $l(e,t,n,r){return new e({type:`record`,keyType:t,valueType:n,...h(r)})}function eu(e,t,n,r){return new e({type:`map`,keyType:t,valueType:n,...h(r)})}function tu(e,t,n){return new e({type:`set`,valueType:t,...h(n)})}function nu(e,t,n){return new e({type:`enum`,entries:Array.isArray(t)?Object.fromEntries(t.map(e=>[e,e])):t,...h(n)})}function ru(e,t,n){return new e({type:`enum`,entries:t,...h(n)})}function iu(e,t,n){return new e({type:`literal`,values:Array.isArray(t)?t:[t],...h(n)})}function au(e,t){return new e({type:`file`,...h(t)})}function ou(e,t){return new e({type:`transform`,transform:t})}function su(e,t){return new e({type:`optional`,innerType:t})}function cu(e,t){return new e({type:`nullable`,innerType:t})}function lu(e,t,n){return new e({type:`default`,innerType:t,get defaultValue(){return typeof n==`function`?n():Ce(n)}})}function uu(e,t,n){return new e({type:`nonoptional`,innerType:t,...h(n)})}function du(e,t){return new e({type:`success`,innerType:t})}function fu(e,t,n){return new e({type:`catch`,innerType:t,catchValue:typeof n==`function`?n:()=>n})}function pu(e,t,n){return new e({type:`pipe`,in:t,out:n})}function mu(e,t){return new e({type:`readonly`,innerType:t})}function hu(e,t,n){return new e({type:`template_literal`,parts:t,...h(n)})}function gu(e,t){return new e({type:`lazy`,getter:t})}function _u(e,t){return new e({type:`promise`,innerType:t})}function vu(e,t,n){let r=h(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function yu(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...h(n)})}function bu(e,t){let n=xu(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(He(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=t.value,r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(He(r))}},e(t.value,t)),t);return n}function xu(e,t){let n=new x({check:`custom`,...h(t)});return n._zod.check=e,n}function Su(e){let t=new x({check:`describe`});return t._zod.onattach=[t=>{let n=w.get(t)??{};w.add(t,{...n,description:e})}],t._zod.check=()=>{},t}function Cu(e){let t=new x({check:`meta`});return t._zod.onattach=[t=>{let n=w.get(t)??{};w.add(t,{...n,...e})}],t._zod.check=()=>{},t}function wu(e,t){let n=h(t),r=n.truthy??[`true`,`1`,`yes`,`on`,`y`,`enabled`],i=n.falsy??[`false`,`0`,`no`,`off`,`n`,`disabled`];n.case!==`sensitive`&&(r=r.map(e=>typeof e==`string`?e.toLowerCase():e),i=i.map(e=>typeof e==`string`?e.toLowerCase():e));let a=new Set(r),o=new Set(i),s=e.Codec??aa,c=e.Boolean??Ci,l=new s({type:`pipe`,in:new(e.String??Yr)({type:`string`,error:n.error}),out:new c({type:`boolean`,error:n.error}),transform:((e,t)=>{let r=e;return n.case!==`sensitive`&&(r=r.toLowerCase()),a.has(r)?!0:o.has(r)?!1:(t.issues.push({code:`invalid_value`,expected:`stringbool`,values:[...a,...o],input:t.value,inst:l,continue:!1}),{})}),reverseTransform:((e,t)=>e===!0?r[0]||`true`:i[0]||`false`),error:n.error});return l}function Tu(e,t,n,r={}){let i=h(r),a={...h(r),check:`string_format`,type:`string`,format:t,fn:typeof n==`function`?n:e=>n.test(e),...i};return n instanceof RegExp&&(a.pattern=n),new e(a)}var Eu,Du=t((()=>{br(),bc(),pa(),y(),Eu={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}}));function Ou(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??w,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function E(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,E(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&D(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function ku(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
533
+
534
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function Au(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,o[e.defId]=e.def)}e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:Mu(t,`input`,e.processors),output:Mu(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function D(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return D(r.element,n);if(r.type===`set`)return D(r.valueType,n);if(r.type===`lazy`)return D(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return D(r.innerType,n);if(r.type===`intersection`)return D(r.left,n)||D(r.right,n);if(r.type===`record`||r.type===`map`)return D(r.keyType,n)||D(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:D(r.in,n)||D(r.out,n);if(r.type===`object`){for(let e in r.shape)if(D(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(D(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(D(e,n))return!0;return!!(r.rest&&D(r.rest,n))}return!1}var ju,Mu,Nu=t((()=>{bc(),ju=(e,t={})=>n=>{let r=Ou({...n,processors:t});return E(e,r),ku(r,e),Au(r,e)},Mu=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Ou({...i??{},target:a,io:t,processors:n});return E(e,o),ku(o,e),Au(o,e)}}));function Pu(e,t){if(`_idmap`in e){let n=e,r=Ou({...t,processors:xd}),i={};for(let e of n._idmap.entries()){let[t,n]=e;E(n,r)}let a={};r.external={registry:n,uri:t?.uri,defs:i};for(let e of n._idmap.entries()){let[t,n]=e;ku(r,n),a[t]=Au(r,n)}return Object.keys(i).length>0&&(a.__shared={[r.target===`draft-2020-12`?`$defs`:`definitions`]:i}),{schemas:a}}let n=Ou({...t,processors:xd});return E(e,n),ku(n,e),Au(n,e)}var Fu,Iu,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu,Qu,$u,ed,td,nd,rd,id,ad,od,sd,cd,ld,ud,dd,fd,pd,md,hd,gd,_d,vd,yd,bd,xd,Sd=t((()=>{Nu(),y(),Fu={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Iu=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Fu[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Lu=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),ee=t.target===`draft-04`||t.target===`openapi-3.0`;d?ee?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?ee?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(i.multipleOf=c)},Ru=(e,t,n,r)=>{n.type=`boolean`},zu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`BigInt cannot be represented in JSON Schema`)},Bu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Symbols cannot be represented in JSON Schema`)},Vu=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Hu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Undefined cannot be represented in JSON Schema`)},Uu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Void cannot be represented in JSON Schema`)},Wu=(e,t,n,r)=>{n.not={}},Gu=(e,t,n,r)=>{},Ku=(e,t,n,r)=>{},qu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Date cannot be represented in JSON Schema`)},Ju=(e,t,n,r)=>{let i=e._zod.def,a=oe(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},Yu=(e,t,n,r)=>{let i=e._zod.def,a=[];for(let e of i.values)if(e===void 0){if(t.unrepresentable===`throw`)throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof e==`bigint`){if(t.unrepresentable===`throw`)throw Error(`BigInt literals cannot be represented in JSON Schema`);a.push(Number(e))}else a.push(e);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Xu=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`NaN cannot be represented in JSON Schema`)},Zu=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},Qu=(e,t,n,r)=>{let i=n,a={type:`string`,format:`binary`,contentEncoding:`binary`},{minimum:o,maximum:s,mime:c}=e._zod.bag;o!==void 0&&(a.minLength=o),s!==void 0&&(a.maxLength=s),c?c.length===1?(a.contentMediaType=c[0],Object.assign(i,a)):(Object.assign(i,a),i.anyOf=c.map(e=>({contentMediaType:e}))):Object.assign(i,a)},$u=(e,t,n,r)=>{n.type=`boolean`},ed=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},td=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Function types cannot be represented in JSON Schema`)},nd=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},rd=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Map cannot be represented in JSON Schema`)},id=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Set cannot be represented in JSON Schema`)},ad=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=E(a.element,t,{...r,path:[...r.path,`items`]})},od=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=E(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=E(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},sd=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>E(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},cd=(e,t,n,r)=>{let i=e._zod.def,a=E(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=E(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},ld=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>E(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?E(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null;t.target===`draft-2020-12`?(i.prefixItems=c,l&&(i.items=l)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),i.minItems=c.length,l||(i.maxItems=c.length)):(i.items=c,l&&(i.additionalItems=l));let{minimum:u,maximum:d}=e._zod.bag;typeof u==`number`&&(i.minItems=u),typeof d==`number`&&(i.maxItems=d)},ud=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=E(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else(t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=E(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=E(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},dd=(e,t,n,r)=>{let i=e._zod.def,a=E(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},fd=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},pd=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},md=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},hd=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},gd=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;E(o,t,r);let s=t.seen.get(e);s.ref=o},_d=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},vd=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},yd=(e,t,n,r)=>{let i=e._zod.def;E(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},bd=(e,t,n,r)=>{let i=e._zod.innerType;E(i,t,r);let a=t.seen.get(e);a.ref=i},xd={string:Iu,number:Lu,boolean:Ru,bigint:zu,symbol:Bu,null:Vu,undefined:Hu,void:Uu,never:Wu,any:Gu,unknown:Ku,date:qu,enum:Ju,literal:Yu,nan:Xu,template_literal:Zu,file:Qu,success:$u,custom:ed,function:td,transform:nd,map:rd,set:id,array:ad,object:od,union:sd,intersection:cd,tuple:ld,record:ud,nullable:dd,nonoptional:fd,default:pd,prefault:md,catch:hd,pipe:gd,readonly:_d,promise:vd,optional:yd,lazy:bd}})),Cd,wd=t((()=>{Sd(),Nu(),Cd=class{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter(e){this.ctx.counter=e}get seen(){return this.ctx.seen}constructor(e){let t=e?.target??`draft-2020-12`;t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),this.ctx=Ou({processors:xd,target:t,...e?.metadata&&{metadata:e.metadata},...e?.unrepresentable&&{unrepresentable:e.unrepresentable},...e?.override&&{override:e.override},...e?.io&&{io:e.io}})}process(e,t={path:[],schemaPath:[]}){return E(e,this.ctx,t)}emit(e,t){t&&(t.cycles&&(this.ctx.cycles=t.cycles),t.reused&&(this.ctx.reused=t.reused),t.external&&(this.ctx.external=t.external)),ku(this.ctx,e);let{"~standard":n,...r}=Au(this.ctx,e);return r}}})),Td=n({}),Ed=t((()=>{})),Dd=n({$ZodAny:()=>ki,$ZodArray:()=>Pi,$ZodAsyncError:()=>l,$ZodBase64:()=>gi,$ZodBase64URL:()=>_i,$ZodBigInt:()=>wi,$ZodBigIntFormat:()=>Ti,$ZodBoolean:()=>Ci,$ZodCIDRv4:()=>mi,$ZodCIDRv6:()=>hi,$ZodCUID:()=>ni,$ZodCUID2:()=>ri,$ZodCatch:()=>na,$ZodCheck:()=>x,$ZodCheckBigIntFormat:()=>rr,$ZodCheckEndsWith:()=>gr,$ZodCheckGreaterThan:()=>er,$ZodCheckIncludes:()=>mr,$ZodCheckLengthEquals:()=>lr,$ZodCheckLessThan:()=>$n,$ZodCheckLowerCase:()=>fr,$ZodCheckMaxLength:()=>sr,$ZodCheckMaxSize:()=>ir,$ZodCheckMimeType:()=>vr,$ZodCheckMinLength:()=>cr,$ZodCheckMinSize:()=>ar,$ZodCheckMultipleOf:()=>tr,$ZodCheckNumberFormat:()=>nr,$ZodCheckOverwrite:()=>yr,$ZodCheckProperty:()=>_r,$ZodCheckRegex:()=>dr,$ZodCheckSizeEquals:()=>or,$ZodCheckStartsWith:()=>hr,$ZodCheckStringFormat:()=>ur,$ZodCheckUpperCase:()=>pr,$ZodCodec:()=>aa,$ZodCustom:()=>fa,$ZodCustomStringFormat:()=>bi,$ZodDate:()=>Ni,$ZodDefault:()=>Qi,$ZodDiscriminatedUnion:()=>zi,$ZodE164:()=>vi,$ZodEmail:()=>Qr,$ZodEmoji:()=>ei,$ZodEncodeError:()=>u,$ZodEnum:()=>Gi,$ZodError:()=>dt,$ZodExactOptional:()=>Xi,$ZodFile:()=>qi,$ZodFunction:()=>la,$ZodGUID:()=>Xr,$ZodIPv4:()=>di,$ZodIPv6:()=>fi,$ZodISODate:()=>ci,$ZodISODateTime:()=>si,$ZodISODuration:()=>ui,$ZodISOTime:()=>li,$ZodIntersection:()=>Bi,$ZodJWT:()=>yi,$ZodKSUID:()=>oi,$ZodLazy:()=>da,$ZodLiteral:()=>Ki,$ZodMAC:()=>pi,$ZodMap:()=>Ui,$ZodNaN:()=>ra,$ZodNanoID:()=>ti,$ZodNever:()=>ji,$ZodNonOptional:()=>ea,$ZodNull:()=>Oi,$ZodNullable:()=>Zi,$ZodNumber:()=>xi,$ZodNumberFormat:()=>Si,$ZodObject:()=>Fi,$ZodObjectJIT:()=>Ii,$ZodOptional:()=>Yi,$ZodPipe:()=>ia,$ZodPrefault:()=>$i,$ZodPreprocess:()=>oa,$ZodPromise:()=>ua,$ZodReadonly:()=>sa,$ZodRealError:()=>b,$ZodRecord:()=>Hi,$ZodRegistry:()=>yc,$ZodSet:()=>Wi,$ZodString:()=>Yr,$ZodStringFormat:()=>C,$ZodSuccess:()=>ta,$ZodSymbol:()=>Ei,$ZodTemplateLiteral:()=>ca,$ZodTransform:()=>Ji,$ZodTuple:()=>Vi,$ZodType:()=>S,$ZodULID:()=>ii,$ZodURL:()=>$r,$ZodUUID:()=>Zr,$ZodUndefined:()=>Di,$ZodUnion:()=>Li,$ZodUnknown:()=>Ai,$ZodVoid:()=>Mi,$ZodXID:()=>ai,$ZodXor:()=>Ri,$brand:()=>c,$constructor:()=>i,$input:()=>vc,$output:()=>_c,Doc:()=>xr,JSONSchema:()=>Td,JSONSchemaGenerator:()=>Cd,NEVER:()=>s,TimePrecision:()=>Eu,_any:()=>fl,_array:()=>ql,_base64:()=>Hc,_base64url:()=>Uc,_bigint:()=>al,_boolean:()=>rl,_catch:()=>fu,_check:()=>xu,_cidrv4:()=>Bc,_cidrv6:()=>Vc,_coercedBigint:()=>ol,_coercedBoolean:()=>il,_coercedDate:()=>_l,_coercedNumber:()=>Zc,_coercedString:()=>Sc,_cuid:()=>Mc,_cuid2:()=>Nc,_custom:()=>vu,_date:()=>gl,_decode:()=>Ct,_decodeAsync:()=>Dt,_default:()=>lu,_discriminatedUnion:()=>Xl,_e164:()=>Wc,_email:()=>Cc,_emoji:()=>Ac,_encode:()=>xt,_encodeAsync:()=>Tt,_endsWith:()=>Rl,_enum:()=>nu,_file:()=>au,_float32:()=>$c,_float64:()=>el,_gt:()=>xl,_gte:()=>T,_guid:()=>wc,_includes:()=>Il,_int:()=>Qc,_int32:()=>tl,_int64:()=>sl,_intersection:()=>Zl,_ipv4:()=>Lc,_ipv6:()=>Rc,_isoDate:()=>qc,_isoDateTime:()=>Kc,_isoDuration:()=>Yc,_isoTime:()=>Jc,_jwt:()=>Gc,_ksuid:()=>Ic,_lazy:()=>gu,_length:()=>Ml,_literal:()=>iu,_lowercase:()=>Pl,_lt:()=>yl,_lte:()=>bl,_mac:()=>zc,_map:()=>eu,_max:()=>bl,_maxLength:()=>Al,_maxSize:()=>Dl,_mime:()=>Bl,_min:()=>T,_minLength:()=>jl,_minSize:()=>Ol,_multipleOf:()=>El,_nan:()=>vl,_nanoid:()=>jc,_nativeEnum:()=>ru,_negative:()=>Cl,_never:()=>ml,_nonnegative:()=>Tl,_nonoptional:()=>uu,_nonpositive:()=>wl,_normalize:()=>Hl,_null:()=>dl,_nullable:()=>cu,_number:()=>Xc,_optional:()=>su,_overwrite:()=>Vl,_parse:()=>pt,_parseAsync:()=>ht,_pipe:()=>pu,_positive:()=>Sl,_promise:()=>_u,_property:()=>zl,_readonly:()=>mu,_record:()=>$l,_refine:()=>yu,_regex:()=>Nl,_safeDecode:()=>jt,_safeDecodeAsync:()=>Ft,_safeEncode:()=>kt,_safeEncodeAsync:()=>Nt,_safeParse:()=>_t,_safeParseAsync:()=>yt,_set:()=>tu,_size:()=>kl,_slugify:()=>Kl,_startsWith:()=>Ll,_string:()=>xc,_stringFormat:()=>Tu,_stringbool:()=>wu,_success:()=>du,_superRefine:()=>bu,_symbol:()=>ll,_templateLiteral:()=>hu,_toLowerCase:()=>Wl,_toUpperCase:()=>Gl,_transform:()=>ou,_trim:()=>Ul,_tuple:()=>Ql,_uint32:()=>nl,_uint64:()=>cl,_ulid:()=>Pc,_undefined:()=>ul,_union:()=>Jl,_unknown:()=>pl,_uppercase:()=>Fl,_url:()=>kc,_uuid:()=>Tc,_uuidv4:()=>Ec,_uuidv6:()=>Dc,_uuidv7:()=>Oc,_void:()=>hl,_xid:()=>Fc,_xor:()=>Yl,clone:()=>Ee,config:()=>a,createStandardJSONSchemaMethod:()=>Mu,createToJSONSchemaMethod:()=>ju,decode:()=>wt,decodeAsync:()=>Ot,describe:()=>Su,encode:()=>St,encodeAsync:()=>Et,extractDefs:()=>ku,finalize:()=>Au,flattenError:()=>at,formatError:()=>ot,globalConfig:()=>d,globalRegistry:()=>w,initializeContext:()=>Ou,isValidBase64:()=>Tr,isValidBase64URL:()=>Er,isValidJWT:()=>Dr,locales:()=>pc,meta:()=>Cu,parse:()=>mt,parseAsync:()=>gt,prettifyError:()=>lt,process:()=>E,regexes:()=>Rt,registry:()=>hc,safeDecode:()=>Mt,safeDecodeAsync:()=>It,safeEncode:()=>At,safeEncodeAsync:()=>Pt,safeParse:()=>vt,safeParseAsync:()=>bt,toDotPath:()=>ct,toJSONSchema:()=>Pu,treeifyError:()=>st,util:()=>ee,version:()=>Cr}),Od=t((()=>{f(),Lt(),ft(),pa(),br(),wr(),y(),Xn(),mc(),bc(),Sr(),Du(),Nu(),Sd(),wd(),Ed()}));Du(),y(),Xn(),f(),Lt(),Sd(),ft(),mc(),Od(),bc();function kd(e){return!!e._zod}function Ad(e,t){return kd(e)?vt(e,t):e.safeParse(t)}function jd(e){if(!e)return;let t;if(t=kd(e)?e._zod?.def?.shape:e.shape,t){if(typeof t==`function`)try{return t()}catch{return}return t}}function Md(e){if(kd(e)){let t=e._zod?.def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}}let t=e._def;if(t){if(t.value!==void 0)return t.value;if(Array.isArray(t.values)&&t.values.length>0)return t.values[0]}let n=e.value;if(n!==void 0)return n}var Nd=n({endsWith:()=>Rl,gt:()=>xl,gte:()=>T,includes:()=>Il,length:()=>Ml,lowercase:()=>Pl,lt:()=>yl,lte:()=>bl,maxLength:()=>Al,maxSize:()=>Dl,mime:()=>Bl,minLength:()=>jl,minSize:()=>Ol,multipleOf:()=>El,negative:()=>Cl,nonnegative:()=>Tl,nonpositive:()=>wl,normalize:()=>Hl,overwrite:()=>Vl,positive:()=>Sl,property:()=>zl,regex:()=>Nl,size:()=>kl,slugify:()=>Kl,startsWith:()=>Ll,toLowerCase:()=>Wl,toUpperCase:()=>Gl,trim:()=>Ul,uppercase:()=>Fl}),Pd=t((()=>{Od()})),Fd=n({ZodISODate:()=>Vd,ZodISODateTime:()=>Bd,ZodISODuration:()=>Ud,ZodISOTime:()=>Hd,date:()=>Ld,datetime:()=>Id,duration:()=>zd,time:()=>Rd});function Id(e){return Kc(Bd,e)}function Ld(e){return qc(Vd,e)}function Rd(e){return Jc(Hd,e)}function zd(e){return Yc(Ud,e)}var Bd,Vd,Hd,Ud,Wd=t((()=>{Od(),eh(),Bd=i(`ZodISODateTime`,(e,t)=>{si.init(e,t),H.init(e,t)}),Vd=i(`ZodISODate`,(e,t)=>{ci.init(e,t),H.init(e,t)}),Hd=i(`ZodISOTime`,(e,t)=>{li.init(e,t),H.init(e,t)}),Ud=i(`ZodISODuration`,(e,t)=>{ui.init(e,t),H.init(e,t)})})),Gd,Kd,O,qd=t((()=>{Od(),y(),Gd=(e,t)=>{dt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>ot(e,t)},flatten:{value:t=>at(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,se,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,se,2)}},isEmpty:{get(){return e.issues.length===0}}})},Kd=i(`ZodError`,Gd),O=i(`ZodError`,Gd,{Parent:Error})})),Jd,Yd,Xd,Zd,Qd,$d,ef,tf,nf,rf,af,of,sf=t((()=>{Od(),qd(),Jd=pt(O),Yd=ht(O),Xd=_t(O),Zd=yt(O),Qd=xt(O),$d=Ct(O),ef=Tt(O),tf=Dt(O),nf=kt(O),rf=jt(O),af=Nt(O),of=Ft(O)})),cf=n({ZodAny:()=>mm,ZodArray:()=>ym,ZodBase64:()=>tm,ZodBase64URL:()=>nm,ZodBigInt:()=>lm,ZodBigIntFormat:()=>um,ZodBoolean:()=>cm,ZodCIDRv4:()=>$p,ZodCIDRv6:()=>em,ZodCUID:()=>Gp,ZodCUID2:()=>Kp,ZodCatch:()=>Bm,ZodCodec:()=>Um,ZodCustom:()=>Xm,ZodCustomStringFormat:()=>am,ZodDate:()=>vm,ZodDefault:()=>Im,ZodDiscriminatedUnion:()=>Cm,ZodE164:()=>rm,ZodEmail:()=>zp,ZodEmoji:()=>Up,ZodEnum:()=>km,ZodExactOptional:()=>Pm,ZodFile:()=>jm,ZodFunction:()=>Ym,ZodGUID:()=>Bp,ZodIPv4:()=>Xp,ZodIPv6:()=>Qp,ZodIntersection:()=>wm,ZodJWT:()=>im,ZodKSUID:()=>Yp,ZodLazy:()=>qm,ZodLiteral:()=>Am,ZodMAC:()=>Zp,ZodMap:()=>Dm,ZodNaN:()=>Vm,ZodNanoID:()=>Wp,ZodNever:()=>gm,ZodNonOptional:()=>Rm,ZodNull:()=>pm,ZodNullable:()=>Fm,ZodNumber:()=>om,ZodNumberFormat:()=>sm,ZodObject:()=>bm,ZodOptional:()=>Nm,ZodPipe:()=>Hm,ZodPrefault:()=>Lm,ZodPreprocess:()=>Wm,ZodPromise:()=>Jm,ZodReadonly:()=>Gm,ZodRecord:()=>Em,ZodSet:()=>Om,ZodString:()=>Rp,ZodStringFormat:()=>H,ZodSuccess:()=>zm,ZodSymbol:()=>dm,ZodTemplateLiteral:()=>Km,ZodTransform:()=>Mm,ZodTuple:()=>Tm,ZodType:()=>V,ZodULID:()=>qp,ZodURL:()=>Hp,ZodUUID:()=>Vp,ZodUndefined:()=>fm,ZodUnion:()=>xm,ZodUnknown:()=>hm,ZodVoid:()=>_m,ZodXID:()=>Jp,ZodXor:()=>Sm,_ZodString:()=>Lp,_default:()=>hp,_function:()=>Op,any:()=>Yf,array:()=>N,base64:()=>Af,base64url:()=>jf,bigint:()=>Uf,boolean:()=>j,catch:()=>yp,check:()=>kp,cidrv4:()=>Of,cidrv6:()=>kf,codec:()=>Sp,cuid:()=>bf,cuid2:()=>xf,custom:()=>Ap,date:()=>Qf,describe:()=>Zm,discriminatedUnion:()=>np,e164:()=>Mf,email:()=>uf,emoji:()=>vf,enum:()=>R,exactOptional:()=>fp,file:()=>up,float32:()=>zf,float64:()=>Bf,function:()=>Op,guid:()=>df,hash:()=>Lf,hex:()=>If,hostname:()=>Ff,httpUrl:()=>_f,instanceof:()=>Np,int:()=>Rf,int32:()=>Vf,int64:()=>Wf,intersection:()=>rp,invertCodec:()=>Cp,ipv4:()=>Tf,ipv6:()=>Df,json:()=>Pp,jwt:()=>Nf,keyof:()=>$f,ksuid:()=>wf,lazy:()=>Ep,literal:()=>z,looseObject:()=>F,looseRecord:()=>op,mac:()=>Ef,map:()=>sp,meta:()=>Qm,nan:()=>bp,nanoid:()=>yf,nativeEnum:()=>lp,never:()=>Xf,nonoptional:()=>_p,null:()=>Jf,nullable:()=>pp,nullish:()=>mp,number:()=>A,object:()=>P,optional:()=>B,partialRecord:()=>ap,pipe:()=>xp,prefault:()=>gp,preprocess:()=>Fp,promise:()=>Dp,readonly:()=>wp,record:()=>L,refine:()=>jp,set:()=>cp,strictObject:()=>ep,string:()=>k,stringFormat:()=>Pf,stringbool:()=>$m,success:()=>vp,superRefine:()=>Mp,symbol:()=>Kf,templateLiteral:()=>Tp,transform:()=>dp,tuple:()=>ip,uint32:()=>Hf,uint64:()=>Gf,ulid:()=>Sf,undefined:()=>qf,union:()=>I,unknown:()=>M,url:()=>gf,uuid:()=>ff,uuidv4:()=>pf,uuidv6:()=>mf,uuidv7:()=>hf,void:()=>Zf,xid:()=>Cf,xor:()=>tp});function lf(e,t,n){let r=Object.getPrototypeOf(e),i=Ip.get(r);if(i||(i=new Set,Ip.set(r,i)),!i.has(t)){i.add(t);for(let e in n){let t=n[e];Object.defineProperty(r,e,{configurable:!0,enumerable:!1,get(){let n=t.bind(this);return Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:n}),n},set(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:!0,value:t})}})}}}function k(e){return xc(Rp,e)}function uf(e){return Cc(zp,e)}function df(e){return wc(Bp,e)}function ff(e){return Tc(Vp,e)}function pf(e){return Ec(Vp,e)}function mf(e){return Dc(Vp,e)}function hf(e){return Oc(Vp,e)}function gf(e){return kc(Hp,e)}function _f(e){return kc(Hp,{protocol:xn,hostname:bn,...h(e)})}function vf(e){return Ac(Up,e)}function yf(e){return jc(Wp,e)}function bf(e){return Mc(Gp,e)}function xf(e){return Nc(Kp,e)}function Sf(e){return Pc(qp,e)}function Cf(e){return Fc(Jp,e)}function wf(e){return Ic(Yp,e)}function Tf(e){return Lc(Xp,e)}function Ef(e){return zc(Zp,e)}function Df(e){return Rc(Qp,e)}function Of(e){return Bc($p,e)}function kf(e){return Vc(em,e)}function Af(e){return Hc(tm,e)}function jf(e){return Uc(nm,e)}function Mf(e){return Wc(rm,e)}function Nf(e){return Gc(im,e)}function Pf(e,t,n={}){return Tu(am,e,t,n)}function Ff(e){return Tu(am,`hostname`,yn,e)}function If(e){return Tu(am,`hex`,Pn,e)}function Lf(e,t){let n=`${e}_${t?.enc??`hex`}`,r=Rt[n];if(!r)throw Error(`Unrecognized hash format: ${n}`);return Tu(am,n,r,t)}function A(e){return Xc(om,e)}function Rf(e){return Qc(sm,e)}function zf(e){return $c(sm,e)}function Bf(e){return el(sm,e)}function Vf(e){return tl(sm,e)}function Hf(e){return nl(sm,e)}function j(e){return rl(cm,e)}function Uf(e){return al(lm,e)}function Wf(e){return sl(um,e)}function Gf(e){return cl(um,e)}function Kf(e){return ll(dm,e)}function qf(e){return ul(fm,e)}function Jf(e){return dl(pm,e)}function Yf(){return fl(mm)}function M(){return pl(hm)}function Xf(e){return ml(gm,e)}function Zf(e){return hl(_m,e)}function Qf(e){return gl(vm,e)}function N(e,t){return ql(ym,e,t)}function $f(e){let t=e._zod.def.shape;return R(Object.keys(t))}function P(e,t){let n={type:`object`,shape:e??{},...h(t)};return new bm(n)}function ep(e,t){return new bm({type:`object`,shape:e,catchall:Xf(),...h(t)})}function F(e,t){return new bm({type:`object`,shape:e,catchall:M(),...h(t)})}function I(e,t){return new xm({type:`union`,options:e,...h(t)})}function tp(e,t){return new Sm({type:`union`,options:e,inclusive:!1,...h(t)})}function np(e,t,n){return new Cm({type:`union`,options:t,discriminator:e,...h(n)})}function rp(e,t){return new wm({type:`intersection`,left:e,right:t})}function ip(e,t,n){let r=t instanceof S;return new Tm({type:`tuple`,items:e,rest:r?t:null,...h(r?n:t)})}function L(e,t,n){return!t||!t._zod?new Em({type:`record`,keyType:k(),valueType:e,...h(t)}):new Em({type:`record`,keyType:e,valueType:t,...h(n)})}function ap(e,t,n){let r=Ee(e);return r._zod.values=void 0,new Em({type:`record`,keyType:r,valueType:t,...h(n)})}function op(e,t,n){return new Em({type:`record`,keyType:e,valueType:t,mode:`loose`,...h(n)})}function sp(e,t,n){return new Dm({type:`map`,keyType:e,valueType:t,...h(n)})}function cp(e,t){return new Om({type:`set`,valueType:e,...h(t)})}function R(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new km({type:`enum`,entries:n,...h(t)})}function lp(e,t){return new km({type:`enum`,entries:e,...h(t)})}function z(e,t){return new Am({type:`literal`,values:Array.isArray(e)?e:[e],...h(t)})}function up(e){return au(jm,e)}function dp(e){return new Mm({type:`transform`,transform:e})}function B(e){return new Nm({type:`optional`,innerType:e})}function fp(e){return new Pm({type:`optional`,innerType:e})}function pp(e){return new Fm({type:`nullable`,innerType:e})}function mp(e){return B(pp(e))}function hp(e,t){return new Im({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ce(t)}})}function gp(e,t){return new Lm({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ce(t)}})}function _p(e,t){return new Rm({type:`nonoptional`,innerType:e,...h(t)})}function vp(e){return new zm({type:`success`,innerType:e})}function yp(e,t){return new Bm({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}function bp(e){return vl(Vm,e)}function xp(e,t){return new Hm({type:`pipe`,in:e,out:t})}function Sp(e,t,n){return new Um({type:`pipe`,in:e,out:t,transform:n.decode,reverseTransform:n.encode})}function Cp(e){let t=e._zod.def;return new Um({type:`pipe`,in:t.out,out:t.in,transform:t.reverseTransform,reverseTransform:t.transform})}function wp(e){return new Gm({type:`readonly`,innerType:e})}function Tp(e,t){return new Km({type:`template_literal`,parts:e,...h(t)})}function Ep(e){return new qm({type:`lazy`,getter:e})}function Dp(e){return new Jm({type:`promise`,innerType:e})}function Op(e){return new Ym({type:`function`,input:Array.isArray(e?.input)?ip(e?.input):e?.input??N(M()),output:e?.output??M()})}function kp(e){let t=new x({check:`custom`});return t._zod.check=e,t}function Ap(e,t){return vu(Xm,e??(()=>!0),t)}function jp(e,t={}){return yu(Xm,e,t)}function Mp(e,t){return bu(e,t)}function Np(e,t={}){let n=new Xm({type:`custom`,check:`custom`,fn:t=>t instanceof e,abort:!0,...h(t)});return n._zod.bag.Class=e,n._zod.check=t=>{t.value instanceof e||t.issues.push({code:`invalid_type`,expected:e.name,input:t.value,inst:n,path:[...n._zod.def.path??[]]})},n}function Pp(e){let t=Ep(()=>I([k(e),A(),j(),Jf(),N(t),L(k(),t)]));return t}function Fp(e,t){return new Wm({type:`pipe`,in:dp(e),out:t})}var Ip,V,Lp,Rp,H,zp,Bp,Vp,Hp,Up,Wp,Gp,Kp,qp,Jp,Yp,Xp,Zp,Qp,$p,em,tm,nm,rm,im,am,om,sm,cm,lm,um,dm,fm,pm,mm,hm,gm,_m,vm,ym,bm,xm,Sm,Cm,wm,Tm,Em,Dm,Om,km,Am,jm,Mm,Nm,Pm,Fm,Im,Lm,Rm,zm,Bm,Vm,Hm,Um,Wm,Gm,Km,qm,Jm,Ym,Xm,Zm,Qm,$m,eh=t((()=>{Od(),Sd(),Nu(),Pd(),Wd(),sf(),Ip=new WeakMap,V=i(`ZodType`,(e,t)=>(S.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:Mu(e,`input`),output:Mu(e,`output`)}}),e.toJSONSchema=ju(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(t,n)=>Jd(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Xd(e,t,n),e.parseAsync=async(t,n)=>Yd(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Zd(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Qd(e,t,n),e.decode=(t,n)=>$d(e,t,n),e.encodeAsync=async(t,n)=>ef(e,t,n),e.decodeAsync=async(t,n)=>tf(e,t,n),e.safeEncode=(t,n)=>nf(e,t,n),e.safeDecode=(t,n)=>rf(e,t,n),e.safeEncodeAsync=async(t,n)=>af(e,t,n),e.safeDecodeAsync=async(t,n)=>of(e,t,n),lf(e,`ZodType`,{check(...e){let t=this.def;return this.clone(me(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return Ee(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(jp(e,t))},superRefine(e,t){return this.check(Mp(e,t))},overwrite(e){return this.check(Vl(e))},optional(){return B(this)},exactOptional(){return fp(this)},nullable(){return pp(this)},nullish(){return B(pp(this))},nonoptional(e){return _p(this,e)},array(){return N(this)},or(e){return I([this,e])},and(e){return rp(this,e)},transform(e){return xp(this,dp(e))},default(e){return hp(this,e)},prefault(e){return gp(this,e)},catch(e){return yp(this,e)},pipe(e){return xp(this,e)},readonly(){return wp(this)},describe(e){let t=this.clone();return w.add(t,{description:e}),t},meta(...e){if(e.length===0)return w.get(this);let t=this.clone();return w.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e){return e(this)}}),Object.defineProperty(e,"description",{get(){return w.get(e)?.description},configurable:!0}),e)),Lp=i(`_ZodString`,(e,t)=>{Yr.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Iu(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,lf(e,`_ZodString`,{regex(...e){return this.check(Nl(...e))},includes(...e){return this.check(Il(...e))},startsWith(...e){return this.check(Ll(...e))},endsWith(...e){return this.check(Rl(...e))},min(...e){return this.check(jl(...e))},max(...e){return this.check(Al(...e))},length(...e){return this.check(Ml(...e))},nonempty(...e){return this.check(jl(1,...e))},lowercase(e){return this.check(Pl(e))},uppercase(e){return this.check(Fl(e))},trim(){return this.check(Ul())},normalize(...e){return this.check(Hl(...e))},toLowerCase(){return this.check(Wl())},toUpperCase(){return this.check(Gl())},slugify(){return this.check(Kl())}})}),Rp=i(`ZodString`,(e,t)=>{Yr.init(e,t),Lp.init(e,t),e.email=t=>e.check(Cc(zp,t)),e.url=t=>e.check(kc(Hp,t)),e.jwt=t=>e.check(Gc(im,t)),e.emoji=t=>e.check(Ac(Up,t)),e.guid=t=>e.check(wc(Bp,t)),e.uuid=t=>e.check(Tc(Vp,t)),e.uuidv4=t=>e.check(Ec(Vp,t)),e.uuidv6=t=>e.check(Dc(Vp,t)),e.uuidv7=t=>e.check(Oc(Vp,t)),e.nanoid=t=>e.check(jc(Wp,t)),e.guid=t=>e.check(wc(Bp,t)),e.cuid=t=>e.check(Mc(Gp,t)),e.cuid2=t=>e.check(Nc(Kp,t)),e.ulid=t=>e.check(Pc(qp,t)),e.base64=t=>e.check(Hc(tm,t)),e.base64url=t=>e.check(Uc(nm,t)),e.xid=t=>e.check(Fc(Jp,t)),e.ksuid=t=>e.check(Ic(Yp,t)),e.ipv4=t=>e.check(Lc(Xp,t)),e.ipv6=t=>e.check(Rc(Qp,t)),e.cidrv4=t=>e.check(Bc($p,t)),e.cidrv6=t=>e.check(Vc(em,t)),e.e164=t=>e.check(Wc(rm,t)),e.datetime=t=>e.check(Id(t)),e.date=t=>e.check(Ld(t)),e.time=t=>e.check(Rd(t)),e.duration=t=>e.check(zd(t))}),H=i(`ZodStringFormat`,(e,t)=>{C.init(e,t),Lp.init(e,t)}),zp=i(`ZodEmail`,(e,t)=>{Qr.init(e,t),H.init(e,t)}),Bp=i(`ZodGUID`,(e,t)=>{Xr.init(e,t),H.init(e,t)}),Vp=i(`ZodUUID`,(e,t)=>{Zr.init(e,t),H.init(e,t)}),Hp=i(`ZodURL`,(e,t)=>{$r.init(e,t),H.init(e,t)}),Up=i(`ZodEmoji`,(e,t)=>{ei.init(e,t),H.init(e,t)}),Wp=i(`ZodNanoID`,(e,t)=>{ti.init(e,t),H.init(e,t)}),Gp=i(`ZodCUID`,(e,t)=>{ni.init(e,t),H.init(e,t)}),Kp=i(`ZodCUID2`,(e,t)=>{ri.init(e,t),H.init(e,t)}),qp=i(`ZodULID`,(e,t)=>{ii.init(e,t),H.init(e,t)}),Jp=i(`ZodXID`,(e,t)=>{ai.init(e,t),H.init(e,t)}),Yp=i(`ZodKSUID`,(e,t)=>{oi.init(e,t),H.init(e,t)}),Xp=i(`ZodIPv4`,(e,t)=>{di.init(e,t),H.init(e,t)}),Zp=i(`ZodMAC`,(e,t)=>{pi.init(e,t),H.init(e,t)}),Qp=i(`ZodIPv6`,(e,t)=>{fi.init(e,t),H.init(e,t)}),$p=i(`ZodCIDRv4`,(e,t)=>{mi.init(e,t),H.init(e,t)}),em=i(`ZodCIDRv6`,(e,t)=>{hi.init(e,t),H.init(e,t)}),tm=i(`ZodBase64`,(e,t)=>{gi.init(e,t),H.init(e,t)}),nm=i(`ZodBase64URL`,(e,t)=>{_i.init(e,t),H.init(e,t)}),rm=i(`ZodE164`,(e,t)=>{vi.init(e,t),H.init(e,t)}),im=i(`ZodJWT`,(e,t)=>{yi.init(e,t),H.init(e,t)}),am=i(`ZodCustomStringFormat`,(e,t)=>{bi.init(e,t),H.init(e,t)}),om=i(`ZodNumber`,(e,t)=>{xi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lu(e,t,n,r),lf(e,`ZodNumber`,{gt(e,t){return this.check(xl(e,t))},gte(e,t){return this.check(T(e,t))},min(e,t){return this.check(T(e,t))},lt(e,t){return this.check(yl(e,t))},lte(e,t){return this.check(bl(e,t))},max(e,t){return this.check(bl(e,t))},int(e){return this.check(Rf(e))},safe(e){return this.check(Rf(e))},positive(e){return this.check(xl(0,e))},nonnegative(e){return this.check(T(0,e))},negative(e){return this.check(yl(0,e))},nonpositive(e){return this.check(bl(0,e))},multipleOf(e,t){return this.check(El(e,t))},step(e,t){return this.check(El(e,t))},finite(){return this}});let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null}),sm=i(`ZodNumberFormat`,(e,t)=>{Si.init(e,t),om.init(e,t)}),cm=i(`ZodBoolean`,(e,t)=>{Ci.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ru(e,t,n,r)}),lm=i(`ZodBigInt`,(e,t)=>{wi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>zu(e,t,n,r),e.gte=(t,n)=>e.check(T(t,n)),e.min=(t,n)=>e.check(T(t,n)),e.gt=(t,n)=>e.check(xl(t,n)),e.gte=(t,n)=>e.check(T(t,n)),e.min=(t,n)=>e.check(T(t,n)),e.lt=(t,n)=>e.check(yl(t,n)),e.lte=(t,n)=>e.check(bl(t,n)),e.max=(t,n)=>e.check(bl(t,n)),e.positive=t=>e.check(xl(BigInt(0),t)),e.negative=t=>e.check(yl(BigInt(0),t)),e.nonpositive=t=>e.check(bl(BigInt(0),t)),e.nonnegative=t=>e.check(T(BigInt(0),t)),e.multipleOf=(t,n)=>e.check(El(t,n));let n=e._zod.bag;e.minValue=n.minimum??null,e.maxValue=n.maximum??null,e.format=n.format??null}),um=i(`ZodBigIntFormat`,(e,t)=>{Ti.init(e,t),lm.init(e,t)}),dm=i(`ZodSymbol`,(e,t)=>{Ei.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Bu(e,t,n,r)}),fm=i(`ZodUndefined`,(e,t)=>{Di.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Hu(e,t,n,r)}),pm=i(`ZodNull`,(e,t)=>{Oi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vu(e,t,n,r)}),mm=i(`ZodAny`,(e,t)=>{ki.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Gu(e,t,n,r)}),hm=i(`ZodUnknown`,(e,t)=>{Ai.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ku(e,t,n,r)}),gm=i(`ZodNever`,(e,t)=>{ji.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wu(e,t,n,r)}),_m=i(`ZodVoid`,(e,t)=>{Mi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uu(e,t,n,r)}),vm=i(`ZodDate`,(e,t)=>{Ni.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qu(e,t,n,r),e.min=(t,n)=>e.check(T(t,n)),e.max=(t,n)=>e.check(bl(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null}),ym=i(`ZodArray`,(e,t)=>{Pi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ad(e,t,n,r),e.element=t.element,lf(e,`ZodArray`,{min(e,t){return this.check(jl(e,t))},nonempty(e){return this.check(jl(1,e))},max(e,t){return this.check(Al(e,t))},length(e,t){return this.check(Ml(e,t))},unwrap(){return this.element}})}),bm=i(`ZodObject`,(e,t)=>{Ii.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>od(e,t,n,r),m(e,`shape`,()=>t.shape),lf(e,`ZodObject`,{keyof(){return R(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:M()})},loose(){return this.clone({...this._zod.def,catchall:M()})},strict(){return this.clone({...this._zod.def,catchall:Xf()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return je(this,e)},safeExtend(e){return Me(this,e)},merge(e){return Ne(this,e)},pick(e){return ke(this,e)},omit(e){return Ae(this,e)},partial(...e){return Pe(Nm,this,e[0])},required(...e){return Fe(Rm,this,e[0])}})}),xm=i(`ZodUnion`,(e,t)=>{Li.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sd(e,t,n,r),e.options=t.options}),Sm=i(`ZodXor`,(e,t)=>{xm.init(e,t),Ri.init(e,t),e._zod.processJSONSchema=(t,n,r)=>sd(e,t,n,r),e.options=t.options}),Cm=i(`ZodDiscriminatedUnion`,(e,t)=>{xm.init(e,t),zi.init(e,t)}),wm=i(`ZodIntersection`,(e,t)=>{Bi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cd(e,t,n,r)}),Tm=i(`ZodTuple`,(e,t)=>{Vi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ld(e,t,n,r),e.rest=t=>e.clone({...e._zod.def,rest:t})}),Em=i(`ZodRecord`,(e,t)=>{Hi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ud(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType}),Dm=i(`ZodMap`,(e,t)=>{Ui.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>rd(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType,e.min=(...t)=>e.check(Ol(...t)),e.nonempty=t=>e.check(Ol(1,t)),e.max=(...t)=>e.check(Dl(...t)),e.size=(...t)=>e.check(kl(...t))}),Om=i(`ZodSet`,(e,t)=>{Wi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>id(e,t,n,r),e.min=(...t)=>e.check(Ol(...t)),e.nonempty=t=>e.check(Ol(1,t)),e.max=(...t)=>e.check(Dl(...t)),e.size=(...t)=>e.check(kl(...t))}),km=i(`ZodEnum`,(e,t)=>{Gi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ju(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new km({...t,checks:[],...h(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new km({...t,checks:[],...h(r),entries:i})}}),Am=i(`ZodLiteral`,(e,t)=>{Ki.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yu(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})}),jm=i(`ZodFile`,(e,t)=>{qi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qu(e,t,n,r),e.min=(t,n)=>e.check(Ol(t,n)),e.max=(t,n)=>e.check(Dl(t,n)),e.mime=(t,n)=>e.check(Bl(Array.isArray(t)?t:[t],n))}),Mm=i(`ZodTransform`,(e,t)=>{Ji.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>nd(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new u(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(He(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(He(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n.fallback=!0,n)):(n.value=i,n.fallback=!0,n)}}),Nm=i(`ZodOptional`,(e,t)=>{Yi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Pm=i(`ZodExactOptional`,(e,t)=>{Xi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Fm=i(`ZodNullable`,(e,t)=>{Zi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Im=i(`ZodDefault`,(e,t)=>{Qi.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap}),Lm=i(`ZodPrefault`,(e,t)=>{$i.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>md(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Rm=i(`ZodNonOptional`,(e,t)=>{ea.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),zm=i(`ZodSuccess`,(e,t)=>{ta.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$u(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Bm=i(`ZodCatch`,(e,t)=>{na.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap}),Vm=i(`ZodNaN`,(e,t)=>{ra.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xu(e,t,n,r)}),Hm=i(`ZodPipe`,(e,t)=>{ia.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gd(e,t,n,r),e.in=t.in,e.out=t.out}),Um=i(`ZodCodec`,(e,t)=>{Hm.init(e,t),aa.init(e,t)}),Wm=i(`ZodPreprocess`,(e,t)=>{Hm.init(e,t),oa.init(e,t)}),Gm=i(`ZodReadonly`,(e,t)=>{sa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_d(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Km=i(`ZodTemplateLiteral`,(e,t)=>{ca.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zu(e,t,n,r)}),qm=i(`ZodLazy`,(e,t)=>{da.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bd(e,t,n,r),e.unwrap=()=>e._zod.def.getter()}),Jm=i(`ZodPromise`,(e,t)=>{ua.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vd(e,t,n,r),e.unwrap=()=>e._zod.def.innerType}),Ym=i(`ZodFunction`,(e,t)=>{la.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>td(e,t,n,r)}),Xm=i(`ZodCustom`,(e,t)=>{fa.init(e,t),V.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ed(e,t,n,r)}),Zm=Su,Qm=Cu,$m=(...e)=>wu({Codec:Um,Boolean:cm,String:Rp},...e)}));function th(e){a({customError:e})}function nh(){return a().customError}var rh,ih,ah=t((()=>{Od(),rh={invalid_type:`invalid_type`,too_big:`too_big`,too_small:`too_small`,invalid_format:`invalid_format`,not_multiple_of:`not_multiple_of`,unrecognized_keys:`unrecognized_keys`,invalid_union:`invalid_union`,invalid_key:`invalid_key`,invalid_element:`invalid_element`,invalid_value:`invalid_value`,custom:`custom`},ih||={}}));function oh(e,t){let n=e.$schema;return n===`https://json-schema.org/draft/2020-12/schema`?`draft-2020-12`:n===`http://json-schema.org/draft-07/schema#`?`draft-7`:n===`http://json-schema.org/draft-04/schema#`?`draft-4`:t??`draft-2020-12`}function sh(e,t){if(!e.startsWith(`#`))throw Error(`External $ref is not supported, only local refs (#/...) are allowed`);let n=e.slice(1).split(`/`).filter(Boolean);if(n.length===0)return t.rootSchema;let r=t.version===`draft-2020-12`?`$defs`:`definitions`;if(n[0]===r){let r=n[1];if(!r||!t.defs[r])throw Error(`Reference not found: ${e}`);return t.defs[r]}throw Error(`Reference not found: ${e}`)}function ch(e,t){if(e.not!==void 0){if(typeof e.not==`object`&&Object.keys(e.not).length===0)return W.never();throw Error(`not is not supported in Zod (except { not: {} } for never)`)}if(e.unevaluatedItems!==void 0)throw Error(`unevaluatedItems is not supported`);if(e.unevaluatedProperties!==void 0)throw Error(`unevaluatedProperties is not supported`);if(e.if!==void 0||e.then!==void 0||e.else!==void 0)throw Error(`Conditional schemas (if/then/else) are not supported`);if(e.dependentSchemas!==void 0||e.dependentRequired!==void 0)throw Error(`dependentSchemas and dependentRequired are not supported`);if(e.$ref){let n=e.$ref;if(t.refs.has(n))return t.refs.get(n);if(t.processing.has(n))return W.lazy(()=>{if(!t.refs.has(n))throw Error(`Circular reference not resolved: ${n}`);return t.refs.get(n)});t.processing.add(n);let r=U(sh(n,t),t);return t.refs.set(n,r),t.processing.delete(n),r}if(e.enum!==void 0){let n=e.enum;if(t.version===`openapi-3.0`&&e.nullable===!0&&n.length===1&&n[0]===null)return W.null();if(n.length===0)return W.never();if(n.length===1)return W.literal(n[0]);if(n.every(e=>typeof e==`string`))return W.enum(n);let r=n.map(e=>W.literal(e));return r.length<2?r[0]:W.union([r[0],r[1],...r.slice(2)])}if(e.const!==void 0)return W.literal(e.const);let n=e.type;if(Array.isArray(n)){let r=n.map(n=>ch({...e,type:n},t));return r.length===0?W.never():r.length===1?r[0]:W.union(r)}if(!n)return W.any();let r;switch(n){case`string`:{let t=W.string();if(e.format){let n=e.format;n===`email`?t=t.check(W.email()):n===`uri`||n===`uri-reference`?t=t.check(W.url()):n===`uuid`||n===`guid`?t=t.check(W.uuid()):n===`date-time`?t=t.check(W.iso.datetime()):n===`date`?t=t.check(W.iso.date()):n===`time`?t=t.check(W.iso.time()):n===`duration`?t=t.check(W.iso.duration()):n===`ipv4`?t=t.check(W.ipv4()):n===`ipv6`?t=t.check(W.ipv6()):n===`mac`?t=t.check(W.mac()):n===`cidr`?t=t.check(W.cidrv4()):n===`cidr-v6`?t=t.check(W.cidrv6()):n===`base64`?t=t.check(W.base64()):n===`base64url`?t=t.check(W.base64url()):n===`e164`?t=t.check(W.e164()):n===`jwt`?t=t.check(W.jwt()):n===`emoji`?t=t.check(W.emoji()):n===`nanoid`?t=t.check(W.nanoid()):n===`cuid`?t=t.check(W.cuid()):n===`cuid2`?t=t.check(W.cuid2()):n===`ulid`?t=t.check(W.ulid()):n===`xid`?t=t.check(W.xid()):n===`ksuid`&&(t=t.check(W.ksuid()))}typeof e.minLength==`number`&&(t=t.min(e.minLength)),typeof e.maxLength==`number`&&(t=t.max(e.maxLength)),e.pattern&&(t=t.regex(new RegExp(e.pattern))),r=t;break}case`number`:case`integer`:{let t=n===`integer`?W.number().int():W.number();typeof e.minimum==`number`&&(t=t.min(e.minimum)),typeof e.maximum==`number`&&(t=t.max(e.maximum)),typeof e.exclusiveMinimum==`number`?t=t.gt(e.exclusiveMinimum):e.exclusiveMinimum===!0&&typeof e.minimum==`number`&&(t=t.gt(e.minimum)),typeof e.exclusiveMaximum==`number`?t=t.lt(e.exclusiveMaximum):e.exclusiveMaximum===!0&&typeof e.maximum==`number`&&(t=t.lt(e.maximum)),typeof e.multipleOf==`number`&&(t=t.multipleOf(e.multipleOf)),r=t;break}case`boolean`:r=W.boolean();break;case`null`:r=W.null();break;case`object`:{let n={},i=e.properties||{},a=new Set(e.required||[]);for(let[e,r]of Object.entries(i)){let i=U(r,t);n[e]=a.has(e)?i:i.optional()}if(e.propertyNames){let i=U(e.propertyNames,t),a=e.additionalProperties&&typeof e.additionalProperties==`object`?U(e.additionalProperties,t):W.any();if(Object.keys(n).length===0){r=W.record(i,a);break}let o=W.object(n).passthrough(),s=W.looseRecord(i,a);r=W.intersection(o,s);break}if(e.patternProperties){let i=e.patternProperties,a=Object.keys(i),o=[];for(let e of a){let n=U(i[e],t),r=W.string().regex(new RegExp(e));o.push(W.looseRecord(r,n))}let s=[];if(Object.keys(n).length>0&&s.push(W.object(n).passthrough()),s.push(...o),s.length===0)r=W.object({}).passthrough();else if(s.length===1)r=s[0];else{let e=W.intersection(s[0],s[1]);for(let t=2;t<s.length;t++)e=W.intersection(e,s[t]);r=e}break}let o=W.object(n);r=e.additionalProperties===!1?o.strict():typeof e.additionalProperties==`object`?o.catchall(U(e.additionalProperties,t)):o.passthrough();break}case`array`:{let n=e.prefixItems,i=e.items;if(n&&Array.isArray(n)){let a=n.map(e=>U(e,t)),o=i&&typeof i==`object`&&!Array.isArray(i)?U(i,t):void 0;r=o?W.tuple(a).rest(o):W.tuple(a),typeof e.minItems==`number`&&(r=r.check(W.minLength(e.minItems))),typeof e.maxItems==`number`&&(r=r.check(W.maxLength(e.maxItems)))}else if(Array.isArray(i)){let n=i.map(e=>U(e,t)),a=e.additionalItems&&typeof e.additionalItems==`object`?U(e.additionalItems,t):void 0;r=a?W.tuple(n).rest(a):W.tuple(n),typeof e.minItems==`number`&&(r=r.check(W.minLength(e.minItems))),typeof e.maxItems==`number`&&(r=r.check(W.maxLength(e.maxItems)))}else if(i!==void 0){let n=U(i,t),a=W.array(n);typeof e.minItems==`number`&&(a=a.min(e.minItems)),typeof e.maxItems==`number`&&(a=a.max(e.maxItems)),r=a}else r=W.array(W.any());break}default:throw Error(`Unsupported type: ${n}`)}return r}function U(e,t){if(typeof e==`boolean`)return e?W.any():W.never();let n=ch(e,t),r=e.type||e.enum!==void 0||e.const!==void 0;if(e.anyOf&&Array.isArray(e.anyOf)){let i=e.anyOf.map(e=>U(e,t)),a=W.union(i);n=r?W.intersection(n,a):a}if(e.oneOf&&Array.isArray(e.oneOf)){let i=e.oneOf.map(e=>U(e,t)),a=W.xor(i);n=r?W.intersection(n,a):a}if(e.allOf&&Array.isArray(e.allOf))if(e.allOf.length===0)n=r?n:W.any();else{let i=r?n:U(e.allOf[0],t),a=+!r;for(let n=a;n<e.allOf.length;n++)i=W.intersection(i,U(e.allOf[n],t));n=i}e.nullable===!0&&t.version===`openapi-3.0`&&(n=W.nullable(n)),e.readOnly===!0&&(n=W.readonly(n)),e.default!==void 0&&(n=n.default(e.default));let i={};for(let t of[`$id`,`id`,`$comment`,`$anchor`,`$vocabulary`,`$dynamicRef`,`$dynamicAnchor`])t in e&&(i[t]=e[t]);for(let t of[`contentEncoding`,`contentMediaType`,`contentSchema`])t in e&&(i[t]=e[t]);for(let t of Object.keys(e))uh.has(t)||(i[t]=e[t]);return Object.keys(i).length>0&&t.registry.add(n,i),e.description&&(n=n.describe(e.description)),n}function lh(e,t){if(typeof e==`boolean`)return e?W.any():W.never();let n;try{n=JSON.parse(JSON.stringify(e))}catch{throw Error(`fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas`)}let r={version:oh(n,t?.defaultTarget),defs:n.$defs||n.definitions||{},refs:new Map,processing:new Set,rootSchema:n,registry:t?.registry??w};return U(n,r)}var W,uh,dh=t((()=>{bc(),Pd(),Wd(),eh(),W={...cf,...Nd,iso:Fd},uh=new Set(`$schema.$ref.$defs.definitions.$id.id.$comment.$anchor.$vocabulary.$dynamicRef.$dynamicAnchor.type.enum.const.anyOf.oneOf.allOf.not.properties.required.additionalProperties.patternProperties.propertyNames.minProperties.maxProperties.items.prefixItems.additionalItems.minItems.maxItems.uniqueItems.contains.minContains.maxContains.minLength.maxLength.pattern.format.minimum.maximum.exclusiveMinimum.exclusiveMaximum.multipleOf.description.default.contentEncoding.contentMediaType.contentSchema.unevaluatedItems.unevaluatedProperties.if.then.else.dependentSchemas.dependentRequired.nullable.readOnly`.split(`.`))})),fh=n({bigint:()=>gh,boolean:()=>hh,date:()=>_h,number:()=>mh,string:()=>ph});function ph(e){return Sc(Rp,e)}function mh(e){return Zc(om,e)}function hh(e){return il(cm,e)}function gh(e){return ol(lm,e)}function _h(e){return _l(vm,e)}var vh=t((()=>{Od(),eh()})),yh=n({$brand:()=>c,$input:()=>vc,$output:()=>_c,NEVER:()=>s,TimePrecision:()=>Eu,ZodAny:()=>mm,ZodArray:()=>ym,ZodBase64:()=>tm,ZodBase64URL:()=>nm,ZodBigInt:()=>lm,ZodBigIntFormat:()=>um,ZodBoolean:()=>cm,ZodCIDRv4:()=>$p,ZodCIDRv6:()=>em,ZodCUID:()=>Gp,ZodCUID2:()=>Kp,ZodCatch:()=>Bm,ZodCodec:()=>Um,ZodCustom:()=>Xm,ZodCustomStringFormat:()=>am,ZodDate:()=>vm,ZodDefault:()=>Im,ZodDiscriminatedUnion:()=>Cm,ZodE164:()=>rm,ZodEmail:()=>zp,ZodEmoji:()=>Up,ZodEnum:()=>km,ZodError:()=>Kd,ZodExactOptional:()=>Pm,ZodFile:()=>jm,ZodFirstPartyTypeKind:()=>ih,ZodFunction:()=>Ym,ZodGUID:()=>Bp,ZodIPv4:()=>Xp,ZodIPv6:()=>Qp,ZodISODate:()=>Vd,ZodISODateTime:()=>Bd,ZodISODuration:()=>Ud,ZodISOTime:()=>Hd,ZodIntersection:()=>wm,ZodIssueCode:()=>rh,ZodJWT:()=>im,ZodKSUID:()=>Yp,ZodLazy:()=>qm,ZodLiteral:()=>Am,ZodMAC:()=>Zp,ZodMap:()=>Dm,ZodNaN:()=>Vm,ZodNanoID:()=>Wp,ZodNever:()=>gm,ZodNonOptional:()=>Rm,ZodNull:()=>pm,ZodNullable:()=>Fm,ZodNumber:()=>om,ZodNumberFormat:()=>sm,ZodObject:()=>bm,ZodOptional:()=>Nm,ZodPipe:()=>Hm,ZodPrefault:()=>Lm,ZodPreprocess:()=>Wm,ZodPromise:()=>Jm,ZodReadonly:()=>Gm,ZodRealError:()=>O,ZodRecord:()=>Em,ZodSet:()=>Om,ZodString:()=>Rp,ZodStringFormat:()=>H,ZodSuccess:()=>zm,ZodSymbol:()=>dm,ZodTemplateLiteral:()=>Km,ZodTransform:()=>Mm,ZodTuple:()=>Tm,ZodType:()=>V,ZodULID:()=>qp,ZodURL:()=>Hp,ZodUUID:()=>Vp,ZodUndefined:()=>fm,ZodUnion:()=>xm,ZodUnknown:()=>hm,ZodVoid:()=>_m,ZodXID:()=>Jp,ZodXor:()=>Sm,_ZodString:()=>Lp,_default:()=>hp,_function:()=>Op,any:()=>Yf,array:()=>N,base64:()=>Af,base64url:()=>jf,bigint:()=>Uf,boolean:()=>j,catch:()=>yp,check:()=>kp,cidrv4:()=>Of,cidrv6:()=>kf,clone:()=>Ee,codec:()=>Sp,coerce:()=>fh,config:()=>a,core:()=>Dd,cuid:()=>bf,cuid2:()=>xf,custom:()=>Ap,date:()=>Qf,decode:()=>$d,decodeAsync:()=>tf,describe:()=>Zm,discriminatedUnion:()=>np,e164:()=>Mf,email:()=>uf,emoji:()=>vf,encode:()=>Qd,encodeAsync:()=>ef,endsWith:()=>Rl,enum:()=>R,exactOptional:()=>fp,file:()=>up,flattenError:()=>at,float32:()=>zf,float64:()=>Bf,formatError:()=>ot,fromJSONSchema:()=>lh,function:()=>Op,getErrorMap:()=>nh,globalRegistry:()=>w,gt:()=>xl,gte:()=>T,guid:()=>df,hash:()=>Lf,hex:()=>If,hostname:()=>Ff,httpUrl:()=>_f,includes:()=>Il,instanceof:()=>Np,int:()=>Rf,int32:()=>Vf,int64:()=>Wf,intersection:()=>rp,invertCodec:()=>Cp,ipv4:()=>Tf,ipv6:()=>Df,iso:()=>Fd,json:()=>Pp,jwt:()=>Nf,keyof:()=>$f,ksuid:()=>wf,lazy:()=>Ep,length:()=>Ml,literal:()=>z,locales:()=>pc,looseObject:()=>F,looseRecord:()=>op,lowercase:()=>Pl,lt:()=>yl,lte:()=>bl,mac:()=>Ef,map:()=>sp,maxLength:()=>Al,maxSize:()=>Dl,meta:()=>Qm,mime:()=>Bl,minLength:()=>jl,minSize:()=>Ol,multipleOf:()=>El,nan:()=>bp,nanoid:()=>yf,nativeEnum:()=>lp,negative:()=>Cl,never:()=>Xf,nonnegative:()=>Tl,nonoptional:()=>_p,nonpositive:()=>wl,normalize:()=>Hl,null:()=>Jf,nullable:()=>pp,nullish:()=>mp,number:()=>A,object:()=>P,optional:()=>B,overwrite:()=>Vl,parse:()=>Jd,parseAsync:()=>Yd,partialRecord:()=>ap,pipe:()=>xp,positive:()=>Sl,prefault:()=>gp,preprocess:()=>Fp,prettifyError:()=>lt,promise:()=>Dp,property:()=>zl,readonly:()=>wp,record:()=>L,refine:()=>jp,regex:()=>Nl,regexes:()=>Rt,registry:()=>hc,safeDecode:()=>rf,safeDecodeAsync:()=>of,safeEncode:()=>nf,safeEncodeAsync:()=>af,safeParse:()=>Xd,safeParseAsync:()=>Zd,set:()=>cp,setErrorMap:()=>th,size:()=>kl,slugify:()=>Kl,startsWith:()=>Ll,strictObject:()=>ep,string:()=>k,stringFormat:()=>Pf,stringbool:()=>$m,success:()=>vp,superRefine:()=>Mp,symbol:()=>Kf,templateLiteral:()=>Tp,toJSONSchema:()=>Pu,toLowerCase:()=>Wl,toUpperCase:()=>Gl,transform:()=>dp,treeifyError:()=>st,trim:()=>Ul,tuple:()=>ip,uint32:()=>Hf,uint64:()=>Gf,ulid:()=>Sf,undefined:()=>qf,union:()=>I,unknown:()=>M,uppercase:()=>Fl,url:()=>gf,util:()=>ee,uuid:()=>ff,uuidv4:()=>pf,uuidv6:()=>mf,uuidv7:()=>hf,void:()=>Zf,xid:()=>Cf,xor:()=>tp}),bh=t((()=>{Od(),eh(),Pd(),qd(),sf(),ah(),Wa(),Sd(),dh(),mc(),Wd(),vh(),a(Ha())})),xh,Sh=t((()=>{bh(),bh(),xh=yh})),Ch=n({$brand:()=>c,$input:()=>vc,$output:()=>_c,NEVER:()=>s,TimePrecision:()=>Eu,ZodAny:()=>mm,ZodArray:()=>ym,ZodBase64:()=>tm,ZodBase64URL:()=>nm,ZodBigInt:()=>lm,ZodBigIntFormat:()=>um,ZodBoolean:()=>cm,ZodCIDRv4:()=>$p,ZodCIDRv6:()=>em,ZodCUID:()=>Gp,ZodCUID2:()=>Kp,ZodCatch:()=>Bm,ZodCodec:()=>Um,ZodCustom:()=>Xm,ZodCustomStringFormat:()=>am,ZodDate:()=>vm,ZodDefault:()=>Im,ZodDiscriminatedUnion:()=>Cm,ZodE164:()=>rm,ZodEmail:()=>zp,ZodEmoji:()=>Up,ZodEnum:()=>km,ZodError:()=>Kd,ZodExactOptional:()=>Pm,ZodFile:()=>jm,ZodFirstPartyTypeKind:()=>ih,ZodFunction:()=>Ym,ZodGUID:()=>Bp,ZodIPv4:()=>Xp,ZodIPv6:()=>Qp,ZodISODate:()=>Vd,ZodISODateTime:()=>Bd,ZodISODuration:()=>Ud,ZodISOTime:()=>Hd,ZodIntersection:()=>wm,ZodIssueCode:()=>rh,ZodJWT:()=>im,ZodKSUID:()=>Yp,ZodLazy:()=>qm,ZodLiteral:()=>Am,ZodMAC:()=>Zp,ZodMap:()=>Dm,ZodNaN:()=>Vm,ZodNanoID:()=>Wp,ZodNever:()=>gm,ZodNonOptional:()=>Rm,ZodNull:()=>pm,ZodNullable:()=>Fm,ZodNumber:()=>om,ZodNumberFormat:()=>sm,ZodObject:()=>bm,ZodOptional:()=>Nm,ZodPipe:()=>Hm,ZodPrefault:()=>Lm,ZodPreprocess:()=>Wm,ZodPromise:()=>Jm,ZodReadonly:()=>Gm,ZodRealError:()=>O,ZodRecord:()=>Em,ZodSet:()=>Om,ZodString:()=>Rp,ZodStringFormat:()=>H,ZodSuccess:()=>zm,ZodSymbol:()=>dm,ZodTemplateLiteral:()=>Km,ZodTransform:()=>Mm,ZodTuple:()=>Tm,ZodType:()=>V,ZodULID:()=>qp,ZodURL:()=>Hp,ZodUUID:()=>Vp,ZodUndefined:()=>fm,ZodUnion:()=>xm,ZodUnknown:()=>hm,ZodVoid:()=>_m,ZodXID:()=>Jp,ZodXor:()=>Sm,_ZodString:()=>Lp,_default:()=>hp,_function:()=>Op,any:()=>Yf,array:()=>N,base64:()=>Af,base64url:()=>jf,bigint:()=>Uf,boolean:()=>j,catch:()=>yp,check:()=>kp,cidrv4:()=>Of,cidrv6:()=>kf,clone:()=>Ee,codec:()=>Sp,coerce:()=>fh,config:()=>a,core:()=>Dd,cuid:()=>bf,cuid2:()=>xf,custom:()=>Ap,date:()=>Qf,decode:()=>$d,decodeAsync:()=>tf,default:()=>wh,describe:()=>Zm,discriminatedUnion:()=>np,e164:()=>Mf,email:()=>uf,emoji:()=>vf,encode:()=>Qd,encodeAsync:()=>ef,endsWith:()=>Rl,enum:()=>R,exactOptional:()=>fp,file:()=>up,flattenError:()=>at,float32:()=>zf,float64:()=>Bf,formatError:()=>ot,fromJSONSchema:()=>lh,function:()=>Op,getErrorMap:()=>nh,globalRegistry:()=>w,gt:()=>xl,gte:()=>T,guid:()=>df,hash:()=>Lf,hex:()=>If,hostname:()=>Ff,httpUrl:()=>_f,includes:()=>Il,instanceof:()=>Np,int:()=>Rf,int32:()=>Vf,int64:()=>Wf,intersection:()=>rp,invertCodec:()=>Cp,ipv4:()=>Tf,ipv6:()=>Df,iso:()=>Fd,json:()=>Pp,jwt:()=>Nf,keyof:()=>$f,ksuid:()=>wf,lazy:()=>Ep,length:()=>Ml,literal:()=>z,locales:()=>pc,looseObject:()=>F,looseRecord:()=>op,lowercase:()=>Pl,lt:()=>yl,lte:()=>bl,mac:()=>Ef,map:()=>sp,maxLength:()=>Al,maxSize:()=>Dl,meta:()=>Qm,mime:()=>Bl,minLength:()=>jl,minSize:()=>Ol,multipleOf:()=>El,nan:()=>bp,nanoid:()=>yf,nativeEnum:()=>lp,negative:()=>Cl,never:()=>Xf,nonnegative:()=>Tl,nonoptional:()=>_p,nonpositive:()=>wl,normalize:()=>Hl,null:()=>Jf,nullable:()=>pp,nullish:()=>mp,number:()=>A,object:()=>P,optional:()=>B,overwrite:()=>Vl,parse:()=>Jd,parseAsync:()=>Yd,partialRecord:()=>ap,pipe:()=>xp,positive:()=>Sl,prefault:()=>gp,preprocess:()=>Fp,prettifyError:()=>lt,promise:()=>Dp,property:()=>zl,readonly:()=>wp,record:()=>L,refine:()=>jp,regex:()=>Nl,regexes:()=>Rt,registry:()=>hc,safeDecode:()=>rf,safeDecodeAsync:()=>of,safeEncode:()=>nf,safeEncodeAsync:()=>af,safeParse:()=>Xd,safeParseAsync:()=>Zd,set:()=>cp,setErrorMap:()=>th,size:()=>kl,slugify:()=>Kl,startsWith:()=>Ll,strictObject:()=>ep,string:()=>k,stringFormat:()=>Pf,stringbool:()=>$m,success:()=>vp,superRefine:()=>Mp,symbol:()=>Kf,templateLiteral:()=>Tp,toJSONSchema:()=>Pu,toLowerCase:()=>Wl,toUpperCase:()=>Gl,transform:()=>dp,treeifyError:()=>st,trim:()=>Ul,tuple:()=>ip,uint32:()=>Hf,uint64:()=>Gf,ulid:()=>Sf,undefined:()=>qf,union:()=>I,unknown:()=>M,uppercase:()=>Fl,url:()=>gf,util:()=>ee,uuid:()=>ff,uuidv4:()=>pf,uuidv6:()=>mf,uuidv7:()=>hf,void:()=>Zf,xid:()=>Cf,xor:()=>tp,z:()=>yh}),wh,Th=t((()=>{Sh(),Sh(),wh=xh}));Th();var Eh=`io.modelcontextprotocol/related-task`,G=Ap(e=>e!==null&&(typeof e==`object`||typeof e==`function`)),Dh=I([k(),A().int()]),Oh=k();F({ttl:A().optional(),pollInterval:A().optional()});var kh=P({ttl:A().optional()}),Ah=P({taskId:k()}),jh=F({progressToken:Dh.optional(),[Eh]:Ah.optional()}),Mh=P({_meta:jh.optional()}),Nh=Mh.extend({task:kh.optional()}),Ph=e=>Nh.safeParse(e).success,K=P({method:k(),params:Mh.loose().optional()}),Fh=P({_meta:jh.optional()}),Ih=P({method:k(),params:Fh.loose().optional()}),q=F({_meta:jh.optional()}),Lh=I([k(),A().int()]),Rh=P({jsonrpc:z(`2.0`),id:Lh,...K.shape}).strict(),zh=e=>Rh.safeParse(e).success,Bh=P({jsonrpc:z(`2.0`),...Ih.shape}).strict(),Vh=e=>Bh.safeParse(e).success,Hh=P({jsonrpc:z(`2.0`),id:Lh,result:q}).strict(),Uh=e=>Hh.safeParse(e).success,J;(function(e){e[e.ConnectionClosed=-32e3]=`ConnectionClosed`,e[e.RequestTimeout=-32001]=`RequestTimeout`,e[e.ParseError=-32700]=`ParseError`,e[e.InvalidRequest=-32600]=`InvalidRequest`,e[e.MethodNotFound=-32601]=`MethodNotFound`,e[e.InvalidParams=-32602]=`InvalidParams`,e[e.InternalError=-32603]=`InternalError`,e[e.UrlElicitationRequired=-32042]=`UrlElicitationRequired`})(J||={});var Wh=P({jsonrpc:z(`2.0`),id:Lh.optional(),error:P({code:A().int(),message:k(),data:M().optional()})}).strict(),Gh=e=>Wh.safeParse(e).success,Kh=I([Rh,Bh,Hh,Wh]);I([Hh,Wh]);var qh=q.strict(),Jh=Fh.extend({requestId:Lh.optional(),reason:k().optional()}),Yh=Ih.extend({method:z(`notifications/cancelled`),params:Jh}),Xh=P({icons:N(P({src:k(),mimeType:k().optional(),sizes:N(k()).optional(),theme:R([`light`,`dark`]).optional()})).optional()}),Zh=P({name:k(),title:k().optional()}),Qh=Zh.extend({...Zh.shape,...Xh.shape,version:k(),websiteUrl:k().optional(),description:k().optional()}),$h=Fp(e=>e&&typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0?{form:{}}:e,rp(P({form:rp(P({applyDefaults:j().optional()}),L(k(),M())).optional(),url:G.optional()}),L(k(),M()).optional())),eg=F({list:G.optional(),cancel:G.optional(),requests:F({sampling:F({createMessage:G.optional()}).optional(),elicitation:F({create:G.optional()}).optional()}).optional()}),tg=F({list:G.optional(),cancel:G.optional(),requests:F({tools:F({call:G.optional()}).optional()}).optional()}),ng=P({experimental:L(k(),G).optional(),sampling:P({context:G.optional(),tools:G.optional()}).optional(),elicitation:$h.optional(),roots:P({listChanged:j().optional()}).optional(),tasks:eg.optional(),extensions:L(k(),G).optional()}),rg=Mh.extend({protocolVersion:k(),capabilities:ng,clientInfo:Qh}),ig=K.extend({method:z(`initialize`),params:rg}),ag=P({experimental:L(k(),G).optional(),logging:G.optional(),completions:G.optional(),prompts:P({listChanged:j().optional()}).optional(),resources:P({subscribe:j().optional(),listChanged:j().optional()}).optional(),tools:P({listChanged:j().optional()}).optional(),tasks:tg.optional(),extensions:L(k(),G).optional()}),og=q.extend({protocolVersion:k(),capabilities:ag,serverInfo:Qh,instructions:k().optional()}),sg=Ih.extend({method:z(`notifications/initialized`),params:Fh.optional()}),cg=K.extend({method:z(`ping`),params:Mh.optional()}),lg=P({progress:A(),total:B(A()),message:B(k())}),ug=P({...Fh.shape,...lg.shape,progressToken:Dh}),dg=Ih.extend({method:z(`notifications/progress`),params:ug}),fg=Mh.extend({cursor:Oh.optional()}),pg=K.extend({params:fg.optional()}),mg=q.extend({nextCursor:Oh.optional()}),hg=R([`working`,`input_required`,`completed`,`failed`,`cancelled`]),gg=P({taskId:k(),status:hg,ttl:I([A(),Jf()]),createdAt:k(),lastUpdatedAt:k(),pollInterval:B(A()),statusMessage:B(k())}),_g=q.extend({task:gg}),vg=Fh.merge(gg),yg=Ih.extend({method:z(`notifications/tasks/status`),params:vg}),bg=K.extend({method:z(`tasks/get`),params:Mh.extend({taskId:k()})}),xg=q.merge(gg),Sg=K.extend({method:z(`tasks/result`),params:Mh.extend({taskId:k()})});q.loose();var Cg=pg.extend({method:z(`tasks/list`)}),wg=mg.extend({tasks:N(gg)}),Tg=K.extend({method:z(`tasks/cancel`),params:Mh.extend({taskId:k()})}),Eg=q.merge(gg),Dg=P({uri:k(),mimeType:B(k()),_meta:L(k(),M()).optional()}),Og=Dg.extend({text:k()}),kg=k().refine(e=>{try{return atob(e),!0}catch{return!1}},{message:`Invalid Base64 string`}),Ag=Dg.extend({blob:kg}),jg=R([`user`,`assistant`]),Mg=P({audience:N(jg).optional(),priority:A().min(0).max(1).optional(),lastModified:Id({offset:!0}).optional()}),Ng=P({...Zh.shape,...Xh.shape,uri:k(),description:B(k()),mimeType:B(k()),size:B(A()),annotations:Mg.optional(),_meta:B(F({}))}),Pg=P({...Zh.shape,...Xh.shape,uriTemplate:k(),description:B(k()),mimeType:B(k()),annotations:Mg.optional(),_meta:B(F({}))}),Fg=pg.extend({method:z(`resources/list`)}),Ig=mg.extend({resources:N(Ng)}),Lg=pg.extend({method:z(`resources/templates/list`)}),Rg=mg.extend({resourceTemplates:N(Pg)}),zg=Mh.extend({uri:k()}),Bg=zg,Vg=K.extend({method:z(`resources/read`),params:Bg}),Hg=q.extend({contents:N(I([Og,Ag]))}),Ug=Ih.extend({method:z(`notifications/resources/list_changed`),params:Fh.optional()}),Wg=zg,Gg=K.extend({method:z(`resources/subscribe`),params:Wg}),Kg=zg,qg=K.extend({method:z(`resources/unsubscribe`),params:Kg}),Jg=Fh.extend({uri:k()}),Yg=Ih.extend({method:z(`notifications/resources/updated`),params:Jg}),Xg=P({name:k(),description:B(k()),required:B(j())}),Zg=P({...Zh.shape,...Xh.shape,description:B(k()),arguments:B(N(Xg)),_meta:B(F({}))}),Qg=pg.extend({method:z(`prompts/list`)}),$g=mg.extend({prompts:N(Zg)}),e_=Mh.extend({name:k(),arguments:L(k(),k()).optional()}),t_=K.extend({method:z(`prompts/get`),params:e_}),n_=P({type:z(`text`),text:k(),annotations:Mg.optional(),_meta:L(k(),M()).optional()}),r_=P({type:z(`image`),data:kg,mimeType:k(),annotations:Mg.optional(),_meta:L(k(),M()).optional()}),i_=P({type:z(`audio`),data:kg,mimeType:k(),annotations:Mg.optional(),_meta:L(k(),M()).optional()}),a_=P({type:z(`tool_use`),name:k(),id:k(),input:L(k(),M()),_meta:L(k(),M()).optional()}),o_=P({type:z(`resource`),resource:I([Og,Ag]),annotations:Mg.optional(),_meta:L(k(),M()).optional()}),s_=Ng.extend({type:z(`resource_link`)}),c_=I([n_,r_,i_,s_,o_]),l_=P({role:jg,content:c_}),u_=q.extend({description:k().optional(),messages:N(l_)}),d_=Ih.extend({method:z(`notifications/prompts/list_changed`),params:Fh.optional()}),f_=P({title:k().optional(),readOnlyHint:j().optional(),destructiveHint:j().optional(),idempotentHint:j().optional(),openWorldHint:j().optional()}),p_=P({taskSupport:R([`required`,`optional`,`forbidden`]).optional()}),m_=P({...Zh.shape,...Xh.shape,description:k().optional(),inputSchema:P({type:z(`object`),properties:L(k(),G).optional(),required:N(k()).optional()}).catchall(M()),outputSchema:P({type:z(`object`),properties:L(k(),G).optional(),required:N(k()).optional()}).catchall(M()).optional(),annotations:f_.optional(),execution:p_.optional(),_meta:L(k(),M()).optional()}),h_=pg.extend({method:z(`tools/list`)}),g_=mg.extend({tools:N(m_)}),__=q.extend({content:N(c_).default([]),structuredContent:L(k(),M()).optional(),isError:j().optional()});__.or(q.extend({toolResult:M()}));var v_=Nh.extend({name:k(),arguments:L(k(),M()).optional()}),y_=K.extend({method:z(`tools/call`),params:v_}),b_=Ih.extend({method:z(`notifications/tools/list_changed`),params:Fh.optional()});P({autoRefresh:j().default(!0),debounceMs:A().int().nonnegative().default(300)});var x_=R([`debug`,`info`,`notice`,`warning`,`error`,`critical`,`alert`,`emergency`]),S_=Mh.extend({level:x_}),C_=K.extend({method:z(`logging/setLevel`),params:S_}),w_=Fh.extend({level:x_,logger:k().optional(),data:M()}),T_=Ih.extend({method:z(`notifications/message`),params:w_}),E_=P({hints:N(P({name:k().optional()})).optional(),costPriority:A().min(0).max(1).optional(),speedPriority:A().min(0).max(1).optional(),intelligencePriority:A().min(0).max(1).optional()}),D_=P({mode:R([`auto`,`required`,`none`]).optional()}),O_=P({type:z(`tool_result`),toolUseId:k().describe(`The unique identifier for the corresponding tool call.`),content:N(c_).default([]),structuredContent:P({}).loose().optional(),isError:j().optional(),_meta:L(k(),M()).optional()}),k_=np(`type`,[n_,r_,i_]),A_=np(`type`,[n_,r_,i_,a_,O_]),j_=P({role:jg,content:I([A_,N(A_)]),_meta:L(k(),M()).optional()}),M_=Nh.extend({messages:N(j_),modelPreferences:E_.optional(),systemPrompt:k().optional(),includeContext:R([`none`,`thisServer`,`allServers`]).optional(),temperature:A().optional(),maxTokens:A().int(),stopSequences:N(k()).optional(),metadata:G.optional(),tools:N(m_).optional(),toolChoice:D_.optional()}),N_=K.extend({method:z(`sampling/createMessage`),params:M_}),P_=q.extend({model:k(),stopReason:B(R([`endTurn`,`stopSequence`,`maxTokens`]).or(k())),role:jg,content:k_}),F_=q.extend({model:k(),stopReason:B(R([`endTurn`,`stopSequence`,`maxTokens`,`toolUse`]).or(k())),role:jg,content:I([A_,N(A_)])}),I_=P({type:z(`boolean`),title:k().optional(),description:k().optional(),default:j().optional()}),L_=P({type:z(`string`),title:k().optional(),description:k().optional(),minLength:A().optional(),maxLength:A().optional(),format:R([`email`,`uri`,`date`,`date-time`]).optional(),default:k().optional()}),R_=P({type:R([`number`,`integer`]),title:k().optional(),description:k().optional(),minimum:A().optional(),maximum:A().optional(),default:A().optional()}),z_=P({type:z(`string`),title:k().optional(),description:k().optional(),enum:N(k()),default:k().optional()}),B_=P({type:z(`string`),title:k().optional(),description:k().optional(),oneOf:N(P({const:k(),title:k()})),default:k().optional()}),V_=I([I([P({type:z(`string`),title:k().optional(),description:k().optional(),enum:N(k()),enumNames:N(k()).optional(),default:k().optional()}),I([z_,B_]),I([P({type:z(`array`),title:k().optional(),description:k().optional(),minItems:A().optional(),maxItems:A().optional(),items:P({type:z(`string`),enum:N(k())}),default:N(k()).optional()}),P({type:z(`array`),title:k().optional(),description:k().optional(),minItems:A().optional(),maxItems:A().optional(),items:P({anyOf:N(P({const:k(),title:k()}))}),default:N(k()).optional()})])]),I_,L_,R_]),H_=I([Nh.extend({mode:z(`form`).optional(),message:k(),requestedSchema:P({type:z(`object`),properties:L(k(),V_),required:N(k()).optional()})}),Nh.extend({mode:z(`url`),message:k(),elicitationId:k(),url:k().url()})]),U_=K.extend({method:z(`elicitation/create`),params:H_}),W_=Fh.extend({elicitationId:k()}),G_=Ih.extend({method:z(`notifications/elicitation/complete`),params:W_}),K_=q.extend({action:R([`accept`,`decline`,`cancel`]),content:Fp(e=>e===null?void 0:e,L(k(),I([k(),A(),j(),N(k())])).optional())}),q_=P({type:z(`ref/resource`),uri:k()}),J_=P({type:z(`ref/prompt`),name:k()}),Y_=Mh.extend({ref:I([J_,q_]),argument:P({name:k(),value:k()}),context:P({arguments:L(k(),k()).optional()}).optional()}),X_=K.extend({method:z(`completion/complete`),params:Y_}),Z_=q.extend({completion:F({values:N(k()).max(100),total:B(A().int()),hasMore:B(j())})}),Q_=P({uri:k().startsWith(`file://`),name:k().optional(),_meta:L(k(),M()).optional()}),$_=K.extend({method:z(`roots/list`),params:Mh.optional()}),ev=q.extend({roots:N(Q_)}),tv=Ih.extend({method:z(`notifications/roots/list_changed`),params:Fh.optional()});I([cg,ig,X_,C_,t_,Qg,Fg,Lg,Vg,Gg,qg,y_,h_,bg,Sg,Cg,Tg]),I([Yh,dg,sg,tv,yg]),I([qh,P_,F_,K_,ev,xg,wg,_g]),I([cg,N_,U_,$_,bg,Sg,Cg,Tg]),I([Yh,dg,T_,Yg,Ug,b_,d_,yg,G_]),I([qh,og,Z_,u_,$g,Ig,Rg,Hg,__,g_,xg,wg,_g]);var Y=class e extends Error{constructor(e,t,n){super(`MCP error ${e}: ${t}`),this.code=e,this.data=n,this.name=`McpError`}static fromError(t,n,r){if(t===J.UrlElicitationRequired&&r){let e=r;if(e.elicitations)return new nv(e.elicitations,n)}return new e(t,n,r)}},nv=class extends Y{constructor(e,t=`URL elicitation${e.length>1?`s`:``} required`){super(J.UrlElicitationRequired,t,{elicitations:e})}get elicitations(){return this.data?.elicitations??[]}};function rv(e){return e===`completed`||e===`failed`||e===`cancelled`}function iv(e){let t=jd(e)?.method;if(!t)throw Error(`Schema is missing a method literal`);let n=Md(t);if(typeof n!=`string`)throw Error(`Schema method literal must be a string`);return n}function av(e,t){let n=Ad(e,t);if(!n.success)throw n.error;return n.data}var ov=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(Yh,e=>{this._oncancel(e)}),this.setNotificationHandler(dg,e=>{this._onprogress(e)}),this.setRequestHandler(cg,e=>({})),this._taskStore=e?.taskStore,this._taskMessageQueue=e?.taskMessageQueue,this._taskStore&&(this.setRequestHandler(bg,async(e,t)=>{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new Y(J.InvalidParams,`Failed to retrieve task: Task not found`);return{...n}}),this.setRequestHandler(Sg,async(e,t)=>{let n=async()=>{let r=e.params.taskId;if(this._taskMessageQueue){let e;for(;e=await this._taskMessageQueue.dequeue(r,t.sessionId);){if(e.type===`response`||e.type===`error`){let t=e.message,n=t.id,r=this._requestResolvers.get(n);if(r)if(this._requestResolvers.delete(n),e.type===`response`)r(t);else{let e=t;r(new Y(e.error.code,e.error.message,e.error.data))}else{let t=e.type===`response`?`Response`:`Error`;this._onerror(Error(`${t} handler missing for request ${n}`))}continue}await this._transport?.send(e.message,{relatedRequestId:t.requestId})}}let i=await this._taskStore.getTask(r,t.sessionId);if(!i)throw new Y(J.InvalidParams,`Task not found: ${r}`);if(!rv(i.status))return await this._waitForTaskUpdate(r,t.signal),await n();if(rv(i.status)){let e=await this._taskStore.getTaskResult(r,t.sessionId);return this._clearTaskQueue(r),{...e,_meta:{...e._meta,[Eh]:{taskId:r}}}}return await n()};return await n()}),this.setRequestHandler(Cg,async(e,t)=>{try{let{tasks:n,nextCursor:r}=await this._taskStore.listTasks(e.params?.cursor,t.sessionId);return{tasks:n,nextCursor:r,_meta:{}}}catch(e){throw new Y(J.InvalidParams,`Failed to list tasks: ${e instanceof Error?e.message:String(e)}`)}}),this.setRequestHandler(Tg,async(e,t)=>{try{let n=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!n)throw new Y(J.InvalidParams,`Task not found: ${e.params.taskId}`);if(rv(n.status))throw new Y(J.InvalidParams,`Cannot cancel task in terminal status: ${n.status}`);await this._taskStore.updateTaskStatus(e.params.taskId,`cancelled`,`Client cancelled task execution.`,t.sessionId),this._clearTaskQueue(e.params.taskId);let r=await this._taskStore.getTask(e.params.taskId,t.sessionId);if(!r)throw new Y(J.InvalidParams,`Task not found after cancellation: ${e.params.taskId}`);return{_meta:{},...r}}catch(e){throw e instanceof Y?e:new Y(J.InvalidRequest,`Failed to cancel task: ${e instanceof Error?e.message:String(e)}`)}}))}async _oncancel(e){e.params.requestId&&this._requestHandlerAbortControllers.get(e.params.requestId)?.abort(e.params.reason)}_setupTimeout(e,t,n,r,i=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:n,resetTimeoutOnProgress:i,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let n=Date.now()-t.startTime;if(t.maxTotalTimeout&&n>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),Y.fromError(J.RequestTimeout,`Maximum total timeout exceeded`,{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:n});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){if(this._transport)throw Error(`Already connected to a transport. Call close() before connecting to a new transport, or use a separate Protocol instance per connection.`);this._transport=e;let t=this.transport?.onclose;this._transport.onclose=()=>{t?.(),this._onclose()};let n=this.transport?.onerror;this._transport.onerror=e=>{n?.(e),this._onerror(e)};let r=this._transport?.onmessage;this._transport.onmessage=(e,t)=>{r?.(e,t),Uh(e)||Gh(e)?this._onresponse(e):zh(e)?this._onrequest(e,t):Vh(e)?this._onnotification(e):this._onerror(Error(`Unknown message type: ${JSON.stringify(e)}`))},await this._transport.start()}_onclose(){let e=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();for(let e of this._timeoutInfo.values())clearTimeout(e.timeoutId);this._timeoutInfo.clear();for(let e of this._requestHandlerAbortControllers.values())e.abort();this._requestHandlerAbortControllers.clear();let t=Y.fromError(J.ConnectionClosed,`Connection closed`);this._transport=void 0,this.onclose?.();for(let n of e.values())n(t)}_onerror(e){this.onerror?.(e)}_onnotification(e){let t=this._notificationHandlers.get(e.method)??this.fallbackNotificationHandler;t!==void 0&&Promise.resolve().then(()=>t(e)).catch(e=>this._onerror(Error(`Uncaught error in notification handler: ${e}`)))}_onrequest(e,t){let n=this._requestHandlers.get(e.method)??this.fallbackRequestHandler,r=this._transport,i=e.params?._meta?.[Eh]?.taskId;if(n===void 0){let t={jsonrpc:`2.0`,id:e.id,error:{code:J.MethodNotFound,message:`Method not found`}};i&&this._taskMessageQueue?this._enqueueTaskMessage(i,{type:`error`,message:t,timestamp:Date.now()},r?.sessionId).catch(e=>this._onerror(Error(`Failed to enqueue error response: ${e}`))):r?.send(t).catch(e=>this._onerror(Error(`Failed to send an error response: ${e}`)));return}let a=new AbortController;this._requestHandlerAbortControllers.set(e.id,a);let o=Ph(e.params)?e.params.task:void 0,s=this._taskStore?this.requestTaskStore(e,r?.sessionId):void 0,c={signal:a.signal,sessionId:r?.sessionId,_meta:e.params?._meta,sendNotification:async t=>{if(a.signal.aborted)return;let n={relatedRequestId:e.id};i&&(n.relatedTask={taskId:i}),await this.notification(t,n)},sendRequest:async(t,n,r)=>{if(a.signal.aborted)throw new Y(J.ConnectionClosed,`Request was cancelled`);let o={...r,relatedRequestId:e.id};i&&!o.relatedTask&&(o.relatedTask={taskId:i});let c=o.relatedTask?.taskId??i;return c&&s&&await s.updateTaskStatus(c,`input_required`),await this.request(t,n,o)},authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo,taskId:i,taskStore:s,taskRequestedTtl:o?.ttl,closeSSEStream:t?.closeSSEStream,closeStandaloneSSEStream:t?.closeStandaloneSSEStream};Promise.resolve().then(()=>{o&&this.assertTaskHandlerCapability(e.method)}).then(()=>n(e,c)).then(async t=>{if(a.signal.aborted)return;let n={result:t,jsonrpc:`2.0`,id:e.id};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`response`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)},async t=>{if(a.signal.aborted)return;let n={jsonrpc:`2.0`,id:e.id,error:{code:Number.isSafeInteger(t.code)?t.code:J.InternalError,message:t.message??`Internal error`,...t.data!==void 0&&{data:t.data}}};i&&this._taskMessageQueue?await this._enqueueTaskMessage(i,{type:`error`,message:n,timestamp:Date.now()},r?.sessionId):await r?.send(n)}).catch(e=>this._onerror(Error(`Failed to send response: ${e}`))).finally(()=>{this._requestHandlerAbortControllers.get(e.id)===a&&this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...n}=e.params,r=Number(t),i=this._progressHandlers.get(r);if(!i){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let a=this._responseHandlers.get(r),o=this._timeoutInfo.get(r);if(o&&a&&o.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(e){this._responseHandlers.delete(r),this._progressHandlers.delete(r),this._cleanupTimeout(r),a(e);return}i(n)}_onresponse(e){let t=Number(e.id),n=this._requestResolvers.get(t);if(n){this._requestResolvers.delete(t),Uh(e)?n(e):n(new Y(e.error.code,e.error.message,e.error.data));return}let r=this._responseHandlers.get(t);if(r===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}this._responseHandlers.delete(t),this._cleanupTimeout(t);let i=!1;if(Uh(e)&&e.result&&typeof e.result==`object`){let n=e.result;if(n.task&&typeof n.task==`object`){let e=n.task;typeof e.taskId==`string`&&(i=!0,this._taskProgressTokens.set(e.taskId,t))}}i||this._progressHandlers.delete(t),Uh(e)?r(e):r(Y.fromError(e.error.code,e.error.message,e.error.data))}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(e,t,n){let{task:r}=n??{};if(!r){try{yield{type:`result`,result:await this.request(e,t,n)}}catch(e){yield{type:`error`,error:e instanceof Y?e:new Y(J.InternalError,String(e))}}return}let i;try{let r=await this.request(e,_g,n);if(r.task)i=r.task.taskId,yield{type:`taskCreated`,task:r.task};else throw new Y(J.InternalError,`Task creation did not return a task`);for(;;){let e=await this.getTask({taskId:i},n);if(yield{type:`taskStatus`,task:e},rv(e.status)){e.status===`completed`?yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)}:e.status===`failed`?yield{type:`error`,error:new Y(J.InternalError,`Task ${i} failed`)}:e.status===`cancelled`&&(yield{type:`error`,error:new Y(J.InternalError,`Task ${i} was cancelled`)});return}if(e.status===`input_required`){yield{type:`result`,result:await this.getTaskResult({taskId:i},t,n)};return}let r=e.pollInterval??this._options?.defaultTaskPollInterval??1e3;await new Promise(e=>setTimeout(e,r)),n?.signal?.throwIfAborted()}}catch(e){yield{type:`error`,error:e instanceof Y?e:new Y(J.InternalError,String(e))}}}request(e,t,n){let{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a,task:o,relatedTask:s}=n??{};return new Promise((c,l)=>{let u=e=>{l(e)};if(!this._transport){u(Error(`Not connected`));return}if(this._options?.enforceStrictCapabilities===!0)try{this.assertCapabilityForMethod(e.method),o&&this.assertTaskCapability(e.method)}catch(e){u(e);return}n?.signal?.throwIfAborted();let d=this._requestMessageId++,f={...e,jsonrpc:`2.0`,id:d};n?.onprogress&&(this._progressHandlers.set(d,n.onprogress),f.params={...e.params,_meta:{...e.params?._meta||{},progressToken:d}}),o&&(f.params={...f.params,task:o}),s&&(f.params={...f.params,_meta:{...f.params?._meta||{},[Eh]:s}});let ee=e=>{this._responseHandlers.delete(d),this._progressHandlers.delete(d),this._cleanupTimeout(d),this._transport?.send({jsonrpc:`2.0`,method:`notifications/cancelled`,params:{requestId:d,reason:String(e)}},{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>this._onerror(Error(`Failed to send cancellation: ${e}`))),l(e instanceof Y?e:new Y(J.RequestTimeout,String(e)))};this._responseHandlers.set(d,e=>{if(!n?.signal?.aborted){if(e instanceof Error)return l(e);try{let n=Ad(t,e.result);n.success?c(n.data):l(n.error)}catch(e){l(e)}}}),n?.signal?.addEventListener(`abort`,()=>{ee(n?.signal?.reason)});let te=n?.timeout??6e4;this._setupTimeout(d,te,n?.maxTotalTimeout,()=>ee(Y.fromError(J.RequestTimeout,`Request timed out`,{timeout:te})),n?.resetTimeoutOnProgress??!1);let ne=s?.taskId;ne?(this._requestResolvers.set(d,e=>{let t=this._responseHandlers.get(d);t?t(e):this._onerror(Error(`Response handler missing for side-channeled request ${d}`))}),this._enqueueTaskMessage(ne,{type:`request`,message:f,timestamp:Date.now()}).catch(e=>{this._cleanupTimeout(d),l(e)})):this._transport.send(f,{relatedRequestId:r,resumptionToken:i,onresumptiontoken:a}).catch(e=>{this._cleanupTimeout(d),l(e)})})}async getTask(e,t){return this.request({method:`tasks/get`,params:e},xg,t)}async getTaskResult(e,t,n){return this.request({method:`tasks/result`,params:e},t,n)}async listTasks(e,t){return this.request({method:`tasks/list`,params:e},wg,t)}async cancelTask(e,t){return this.request({method:`tasks/cancel`,params:e},Eg,t)}async notification(e,t){if(!this._transport)throw Error(`Not connected`);this.assertNotificationCapability(e.method);let n=t?.relatedTask?.taskId;if(n){let r={...e,jsonrpc:`2.0`,params:{...e.params,_meta:{...e.params?._meta||{},[Eh]:t.relatedTask}}};await this._enqueueTaskMessage(n,{type:`notification`,message:r,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(e.method)&&!e.params&&!t?.relatedRequestId&&!t?.relatedTask){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let n={...e,jsonrpc:`2.0`};t?.relatedTask&&(n={...n,params:{...n.params,_meta:{...n.params?._meta||{},[Eh]:t.relatedTask}}}),this._transport?.send(n,t).catch(e=>this._onerror(e))});return}let r={...e,jsonrpc:`2.0`};t?.relatedTask&&(r={...r,params:{...r.params,_meta:{...r.params?._meta||{},[Eh]:t.relatedTask}}}),await this._transport.send(r,t)}setRequestHandler(e,t){let n=iv(e);this.assertRequestHandlerCapability(n),this._requestHandlers.set(n,(n,r)=>{let i=av(e,n);return Promise.resolve(t(i,r))})}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){let n=iv(e);this._notificationHandlers.set(n,n=>{let r=av(e,n);return Promise.resolve(t(r))})}removeNotificationHandler(e){this._notificationHandlers.delete(e)}_cleanupTaskProgressHandler(e){let t=this._taskProgressTokens.get(e);t!==void 0&&(this._progressHandlers.delete(t),this._taskProgressTokens.delete(e))}async _enqueueTaskMessage(e,t,n){if(!this._taskStore||!this._taskMessageQueue)throw Error(`Cannot enqueue task message: taskStore and taskMessageQueue are not configured`);let r=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(e,t,n,r)}async _clearTaskQueue(e,t){if(this._taskMessageQueue){let n=await this._taskMessageQueue.dequeueAll(e,t);for(let t of n)if(t.type===`request`&&zh(t.message)){let n=t.message.id,r=this._requestResolvers.get(n);r?(r(new Y(J.InternalError,`Task cancelled or completed`)),this._requestResolvers.delete(n)):this._onerror(Error(`Resolver missing for request ${n} during task ${e} cleanup`))}}}async _waitForTaskUpdate(e,t){let n=this._options?.defaultTaskPollInterval??1e3;try{let t=await this._taskStore?.getTask(e);t?.pollInterval&&(n=t.pollInterval)}catch{}return new Promise((e,r)=>{if(t.aborted){r(new Y(J.InvalidRequest,`Request cancelled`));return}let i=setTimeout(e,n);t.addEventListener(`abort`,()=>{clearTimeout(i),r(new Y(J.InvalidRequest,`Request cancelled`))},{once:!0})})}requestTaskStore(e,t){let n=this._taskStore;if(!n)throw Error(`No task store configured`);return{createTask:async r=>{if(!e)throw Error(`No request provided`);return await n.createTask(r,e.id,{method:e.method,params:e.params},t)},getTask:async e=>{let r=await n.getTask(e,t);if(!r)throw new Y(J.InvalidParams,`Failed to retrieve task: Task not found`);return r},storeTaskResult:async(e,r,i)=>{await n.storeTaskResult(e,r,i,t);let a=await n.getTask(e,t);if(a){let t=yg.parse({method:`notifications/tasks/status`,params:a});await this.notification(t),rv(a.status)&&this._cleanupTaskProgressHandler(e)}},getTaskResult:e=>n.getTaskResult(e,t),updateTaskStatus:async(e,r,i)=>{let a=await n.getTask(e,t);if(!a)throw new Y(J.InvalidParams,`Task "${e}" not found - it may have been cleaned up`);if(rv(a.status))throw new Y(J.InvalidParams,`Cannot update task "${e}" from terminal status "${a.status}" to "${r}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await n.updateTaskStatus(e,r,i,t);let o=await n.getTask(e,t);if(o){let t=yg.parse({method:`notifications/tasks/status`,params:o});await this.notification(t),rv(o.status)&&this._cleanupTaskProgressHandler(e)}},listTasks:e=>n.listTasks(e,t)}}};function sv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function cv(e,t){let n={...e};for(let e in t){let r=e,i=t[r];if(i===void 0)continue;let a=n[r];sv(a)&&sv(i)?n[r]={...a,...i}:n[r]=i}return n}var lv=`modulepreload`,uv=function(e,t){return new URL(e,t).href},dv={},fv=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=uv(t,n),t=s(t),t in dv)return;dv[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:lv,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};Th(),(e=>typeof r<`u`?r:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof r<`u`?r:e)[t]}):e)(function(e){if(typeof r<`u`)return r.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)});var pv=class extends ov{_registeredMethods=new Set;_eventSlots=new Map;onEventDispatch(e,t){}_ensureEventSlot(e){let t=this._eventSlots.get(e);if(!t){let n=this.eventSchemas[e];if(!n)throw Error(`Unknown event: ${String(e)}`);t={listeners:[]},this._eventSlots.set(e,t);let r=n.shape.method.value;this._registeredMethods.add(r);let i=t;super.setNotificationHandler(n,t=>{let n=t.params;this.onEventDispatch(e,n),i.onHandler?.(n);for(let e of[...i.listeners])e(n)})}return t}setEventHandler(e,t){let n=this._ensureEventSlot(e);n.onHandler&&t&&console.warn(`[MCP Apps] on${String(e)} handler replaced. Use addEventListener("${String(e)}", …) to add multiple listeners without replacing.`),n.onHandler=t}getEventHandler(e){return this._eventSlots.get(e)?.onHandler}addEventListener(e,t){this._ensureEventSlot(e).listeners.push(t)}removeEventListener(e,t){let n=this._eventSlots.get(e);if(!n)return;let r=n.listeners.indexOf(t);r!==-1&&n.listeners.splice(r,1)}setRequestHandler=(e,t)=>{this._assertMethodNotRegistered(e,`setRequestHandler`),super.setRequestHandler(e,t)};setNotificationHandler=(e,t)=>{this._assertMethodNotRegistered(e,`setNotificationHandler`),super.setNotificationHandler(e,t)};warnIfRequestHandlerReplaced(e,t,n){t&&n&&console.warn(`[MCP Apps] ${e} handler replaced. Previous handler will no longer be called.`)}replaceRequestHandler=(e,t)=>{let n=e.shape.method.value;this._registeredMethods.add(n),super.setRequestHandler(e,t)};_assertMethodNotRegistered(e,t){let n=e.shape.method.value;if(this._registeredMethods.has(n))throw Error(`Handler for "${n}" already registered (via ${t}). Use addEventListener() to attach multiple listeners, or the on* setter for replace semantics.`);this._registeredMethods.add(n)}},mv=`2026-01-26`,hv=class{eventTarget;eventSource;messageListener;constructor(e=window.parent,t){this.eventTarget=e,this.eventSource=t,this.messageListener=e=>{if(t&&e.source!==this.eventSource){console.debug(`Ignoring message from unknown source`,e);return}let n=Kh.safeParse(e.data);n.success?(console.debug(`Parsed message`,n.data),this.onmessage?.(n.data)):e.data?.jsonrpc===`2.0`?(console.error(`Failed to parse message`,n.error.message,e),this.onerror?.(Error(`Invalid JSON-RPC message received: `+n.error.message))):console.debug(`Ignoring non-JSON-RPC message`,n.error.message,e)}}async start(){window.addEventListener(`message`,this.messageListener)}async send(e,t){e.method!==`ui/notifications/tool-input-partial`&&console.debug(`Sending message`,e),this.eventTarget.postMessage(e,`*`)}async close(){window.removeEventListener(`message`,this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion},gv=I([z(`light`),z(`dark`)]).describe(`Color theme preference for the host environment.`),_v=I([z(`inline`),z(`fullscreen`),z(`pip`)]).describe(`Display mode for UI presentation.`),vv=L(I([z(`--color-background-primary`),z(`--color-background-secondary`),z(`--color-background-tertiary`),z(`--color-background-inverse`),z(`--color-background-ghost`),z(`--color-background-info`),z(`--color-background-danger`),z(`--color-background-success`),z(`--color-background-warning`),z(`--color-background-disabled`),z(`--color-text-primary`),z(`--color-text-secondary`),z(`--color-text-tertiary`),z(`--color-text-inverse`),z(`--color-text-ghost`),z(`--color-text-info`),z(`--color-text-danger`),z(`--color-text-success`),z(`--color-text-warning`),z(`--color-text-disabled`),z(`--color-border-primary`),z(`--color-border-secondary`),z(`--color-border-tertiary`),z(`--color-border-inverse`),z(`--color-border-ghost`),z(`--color-border-info`),z(`--color-border-danger`),z(`--color-border-success`),z(`--color-border-warning`),z(`--color-border-disabled`),z(`--color-ring-primary`),z(`--color-ring-secondary`),z(`--color-ring-inverse`),z(`--color-ring-info`),z(`--color-ring-danger`),z(`--color-ring-success`),z(`--color-ring-warning`),z(`--font-sans`),z(`--font-mono`),z(`--font-weight-normal`),z(`--font-weight-medium`),z(`--font-weight-semibold`),z(`--font-weight-bold`),z(`--font-text-xs-size`),z(`--font-text-sm-size`),z(`--font-text-md-size`),z(`--font-text-lg-size`),z(`--font-heading-xs-size`),z(`--font-heading-sm-size`),z(`--font-heading-md-size`),z(`--font-heading-lg-size`),z(`--font-heading-xl-size`),z(`--font-heading-2xl-size`),z(`--font-heading-3xl-size`),z(`--font-text-xs-line-height`),z(`--font-text-sm-line-height`),z(`--font-text-md-line-height`),z(`--font-text-lg-line-height`),z(`--font-heading-xs-line-height`),z(`--font-heading-sm-line-height`),z(`--font-heading-md-line-height`),z(`--font-heading-lg-line-height`),z(`--font-heading-xl-line-height`),z(`--font-heading-2xl-line-height`),z(`--font-heading-3xl-line-height`),z(`--border-radius-xs`),z(`--border-radius-sm`),z(`--border-radius-md`),z(`--border-radius-lg`),z(`--border-radius-xl`),z(`--border-radius-full`),z(`--border-width-regular`),z(`--shadow-hairline`),z(`--shadow-sm`),z(`--shadow-md`),z(`--shadow-lg`)]).describe(`CSS variable keys available to MCP apps for theming.`).describe(`Style variables for theming MCP apps.
535
+
536
+ Individual style keys are optional - hosts may provide any subset of these values.
537
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
538
+
539
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
540
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`),I([k(),qf()]).describe(`Style variables for theming MCP apps.
541
+
542
+ Individual style keys are optional - hosts may provide any subset of these values.
543
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
544
+
545
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
546
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`)).describe(`Style variables for theming MCP apps.
547
+
548
+ Individual style keys are optional - hosts may provide any subset of these values.
549
+ Values are strings containing CSS values (colors, sizes, font stacks, etc.).
550
+
551
+ Note: This type uses \`Record<K, string | undefined>\` rather than \`Partial<Record<K, string>>\`
552
+ for compatibility with Zod schema generation. Both are functionally equivalent for validation.`);P({method:z(`ui/open-link`),params:P({url:k().describe(`URL to open in the host's browser`)})});var yv=P({isError:j().optional().describe(`True if the host failed to open the URL (e.g., due to security policy).`)}).passthrough(),bv=P({isError:j().optional().describe(`True if the download failed (e.g., user cancelled or host denied).`)}).passthrough(),xv=P({isError:j().optional().describe(`True if the host rejected or failed to deliver the message.`)}).passthrough();P({method:z(`ui/notifications/sandbox-proxy-ready`),params:P({})});var Sv=P({connectDomains:N(k()).optional().describe(`Origins for network requests (fetch/XHR/WebSocket).
553
+
554
+ - Maps to CSP \`connect-src\` directive
555
+ - Empty or omitted → no network connections (secure default)`),resourceDomains:N(k()).optional().describe("Origins for static resources (images, scripts, stylesheets, fonts, media).\n\n- Maps to CSP `img-src`, `script-src`, `style-src`, `font-src`, `media-src` directives\n- Wildcard subdomains supported: `https://*.example.com`\n- Empty or omitted → no network resources (secure default)"),frameDomains:N(k()).optional().describe("Origins for nested iframes.\n\n- Maps to CSP `frame-src` directive\n- Empty or omitted → no nested iframes allowed (`frame-src 'none'`)"),baseUriDomains:N(k()).optional().describe("Allowed base URIs for the document.\n\n- Maps to CSP `base-uri` directive\n- Empty or omitted → only same origin allowed (`base-uri 'self'`)")}),Cv=P({camera:P({}).optional().describe(`Request camera access.
556
+
557
+ Maps to Permission Policy \`camera\` feature.`),microphone:P({}).optional().describe(`Request microphone access.
558
+
559
+ Maps to Permission Policy \`microphone\` feature.`),geolocation:P({}).optional().describe(`Request geolocation access.
560
+
561
+ Maps to Permission Policy \`geolocation\` feature.`),clipboardWrite:P({}).optional().describe(`Request clipboard write access.
562
+
563
+ Maps to Permission Policy \`clipboard-write\` feature.`)});P({method:z(`ui/notifications/size-changed`),params:P({width:A().optional().describe(`New width in pixels.`),height:A().optional().describe(`New height in pixels.`)})});var wv=P({method:z(`ui/notifications/tool-input`),params:P({arguments:L(k(),M().describe(`Complete tool call arguments as key-value pairs.`)).optional().describe(`Complete tool call arguments as key-value pairs.`)})}),Tv=P({method:z(`ui/notifications/tool-input-partial`),params:P({arguments:L(k(),M().describe(`Partial tool call arguments (incomplete, may change).`)).optional().describe(`Partial tool call arguments (incomplete, may change).`)})}),Ev=P({method:z(`ui/notifications/tool-cancelled`),params:P({reason:k().optional().describe(`Optional reason for the cancellation (e.g., "user action", "timeout").`)})}),Dv=P({fonts:k().optional()}),Ov=P({variables:vv.optional().describe(`CSS variables for theming the app.`),css:Dv.optional().describe(`CSS blocks that apps can inject.`)}),kv=P({method:z(`ui/resource-teardown`),params:P({})});L(k(),M());var Av=P({text:P({}).optional().describe(`Host supports text content blocks.`),image:P({}).optional().describe(`Host supports image content blocks.`),audio:P({}).optional().describe(`Host supports audio content blocks.`),resource:P({}).optional().describe(`Host supports resource content blocks.`),resourceLink:P({}).optional().describe(`Host supports resource link content blocks.`),structuredContent:P({}).optional().describe(`Host supports structured content.`)});P({method:z(`ui/notifications/request-teardown`),params:P({}).optional()});var jv=P({experimental:P({}).optional().describe(`Experimental features (structure TBD).`),openLinks:P({}).optional().describe(`Host supports opening external URLs.`),downloadFile:P({}).optional().describe(`Host supports file downloads via ui/download-file.`),serverTools:P({listChanged:j().optional().describe(`Host supports tools/list_changed notifications.`)}).optional().describe(`Host can proxy tool calls to the MCP server.`),serverResources:P({listChanged:j().optional().describe(`Host supports resources/list_changed notifications.`)}).optional().describe(`Host can proxy resource reads to the MCP server.`),logging:P({}).optional().describe(`Host accepts log messages.`),sandbox:P({permissions:Cv.optional().describe(`Permissions granted by the host (camera, microphone, geolocation).`),csp:Sv.optional().describe(`CSP domains approved by the host.`)}).optional().describe(`Sandbox configuration applied by the host.`),updateModelContext:Av.optional().describe(`Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns.`),message:Av.optional().describe(`Host supports receiving content messages (ui/message) from the view.`),sampling:P({tools:P({}).optional().describe("Host supports tool use via `tools` and `toolChoice` parameters.")}).optional().describe("Host supports LLM sampling (sampling/createMessage) from the view.\nMirrors the MCP `ClientCapabilities.sampling` shape so hosts can pass it through.")}),Mv=P({experimental:P({}).optional().describe(`Experimental features (structure TBD).`),tools:P({listChanged:j().optional().describe(`App supports tools/list_changed notifications.`)}).optional().describe(`App exposes MCP-style tools that the host can call.`),availableDisplayModes:N(_v).optional().describe(`Display modes the app supports.`)});P({method:z(`ui/notifications/initialized`),params:P({}).optional()}),P({csp:Sv.optional().describe(`Content Security Policy configuration for UI resources.`),permissions:Cv.optional().describe(`Sandbox permissions requested by the UI resource.`),domain:k().optional().describe(`Dedicated origin for view sandbox.
564
+
565
+ Useful when views need stable, dedicated origins for OAuth callbacks, CORS policies, or API key allowlists.
566
+
567
+ **Host-dependent:** The format and validation rules for this field are determined by each host. Servers MUST consult host-specific documentation for the expected domain format. Common patterns include:
568
+ - Hash-based subdomains (e.g., \`{hash}.claudemcpcontent.com\`)
569
+ - URL-derived subdomains (e.g., \`www-example-com.oaiusercontent.com\`)
570
+
571
+ If omitted, host uses default sandbox origin (typically per-conversation).`),prefersBorder:j().optional().describe(`Visual boundary preference - true if view prefers a visible border.
572
+
573
+ Boolean requesting whether a visible border and background is provided by the host. Specifying an explicit value for this is recommended because hosts' defaults may vary.
574
+
575
+ - \`true\`: request visible border + background
576
+ - \`false\`: request no visible border + background
577
+ - omitted: host decides border`)}),P({method:z(`ui/request-display-mode`),params:P({mode:_v.describe(`The display mode being requested.`)})});var Nv=P({mode:_v.describe(`The display mode that was actually set. May differ from requested if not supported.`)}).passthrough(),Pv=I([z(`model`),z(`app`)]).describe(`Tool visibility scope - who can access the tool.`);P({resourceUri:k().optional(),visibility:N(Pv).optional().describe(`Who can access this tool. Default: ["model", "app"]
578
+ - "model": Tool visible to and callable by the agent
579
+ - "app": Tool callable by the app from this server only`),csp:Xf().optional(),permissions:Xf().optional()}),P({mimeTypes:N(k()).optional().describe('Array of supported MIME types for UI resources.\nMust include `"text/html;profile=mcp-app"` for MCP Apps support.')}),P({method:z(`ui/download-file`),params:P({contents:N(I([o_,s_])).describe(`Resource contents to download — embedded (inline data) or linked (host fetches). Uses standard MCP resource types.`)})}),P({method:z(`ui/message`),params:P({role:z(`user`).describe(`Message role, currently only "user" is supported.`),content:N(c_).describe(`Message content blocks (text, image, etc.).`)})}),P({method:z(`ui/notifications/sandbox-resource-ready`),params:P({html:k().describe(`HTML content to load into the inner iframe.`),sandbox:k().optional().describe(`Optional override for the inner iframe's sandbox attribute.`),csp:Sv.optional().describe(`CSP configuration from resource metadata.`),permissions:Cv.optional().describe(`Sandbox permissions from resource metadata.`)})});var Fv=P({method:z(`ui/notifications/tool-result`),params:__.describe(`Standard MCP tool execution result.`)}),Iv=P({toolInfo:P({id:Lh.optional().describe(`JSON-RPC id of the tools/call request.`),tool:m_.describe(`Tool definition including name, inputSchema, etc.`)}).optional().describe(`Metadata of the tool call that instantiated this App.`),theme:gv.optional().describe(`Current color theme preference.`),styles:Ov.optional().describe(`Style configuration for theming the app.`),displayMode:_v.optional().describe(`How the UI is currently displayed.`),availableDisplayModes:N(_v).optional().describe(`Display modes the host supports.`),containerDimensions:I([P({height:A().describe(`Fixed container height in pixels.`)}),P({maxHeight:I([A(),qf()]).optional().describe(`Maximum container height in pixels.`)})]).and(I([P({width:A().describe(`Fixed container width in pixels.`)}),P({maxWidth:I([A(),qf()]).optional().describe(`Maximum container width in pixels.`)})])).optional().describe(`Container dimensions. Represents the dimensions of the iframe or other
580
+ container holding the app. Specify either width or maxWidth, and either height or maxHeight.`),locale:k().optional().describe(`User's language and region preference in BCP 47 format.`),timeZone:k().optional().describe(`User's timezone in IANA format.`),userAgent:k().optional().describe(`Host application identifier.`),platform:I([z(`web`),z(`desktop`),z(`mobile`)]).optional().describe(`Platform type for responsive design decisions.`),deviceCapabilities:P({touch:j().optional().describe(`Whether the device supports touch input.`),hover:j().optional().describe(`Whether the device supports hover interactions.`)}).optional().describe(`Device input capabilities.`),safeAreaInsets:P({top:A().describe(`Top safe area inset in pixels.`),right:A().describe(`Right safe area inset in pixels.`),bottom:A().describe(`Bottom safe area inset in pixels.`),left:A().describe(`Left safe area inset in pixels.`)}).optional().describe(`Mobile safe area boundaries in pixels.`)}).passthrough(),Lv=P({method:z(`ui/notifications/host-context-changed`),params:Iv.describe(`Partial context update containing only changed fields.`)});P({method:z(`ui/update-model-context`),params:P({content:N(c_).optional().describe(`Context content blocks (text, image, etc.).`),structuredContent:L(k(),M().describe(`Structured content for machine-readable context data.`)).optional().describe(`Structured content for machine-readable context data.`)})}),P({method:z(`ui/initialize`),params:P({appInfo:Qh.describe(`App identification (name and version).`),appCapabilities:Mv.describe(`Features and capabilities this app provides.`),protocolVersion:k().describe(`Protocol version this app supports.`)})});var Rv=P({protocolVersion:k().describe(`Negotiated protocol version string (e.g., "2025-11-21").`),hostInfo:Qh.describe(`Host application identification and version.`),hostCapabilities:jv.describe(`Features and capabilities provided by the host.`),hostContext:Iv.describe(`Rich context about the host environment.`)}).passthrough(),zv={target:`draft-2020-12`};async function Bv(e,t){let n=e[`~standard`];if(n.jsonSchema)return n.jsonSchema[t](zv);if(n.vendor===`zod`){let{z:n}=await fv(async()=>{let{z:e}=await Promise.resolve().then(()=>(Th(),Ch));return{z:e}},void 0,import.meta.url);return n.toJSONSchema(e,{io:t})}throw Error(`Schema (vendor: ${n.vendor}) does not implement Standard JSON Schema (~standard.jsonSchema). Use a library that does (zod v4, ArkType, Valibot) or wrap your schema accordingly.`)}async function Vv(e,t,n=``){let r=await e[`~standard`].validate(t);if(r.issues){let e=r.issues.map(e=>{let t=e.path?.map(e=>typeof e==`object`?e.key:e).join(`.`);return t?`${t}: ${e.message}`:e.message}).join(`; `);throw Error(n+e)}return r.value}var Hv=class e extends pv{_appInfo;_capabilities;options;_hostCapabilities;_hostInfo;_hostContext;_registeredTools={};_initializedSent=!1;_assertInitialized(e){if(this._initializedSent)return;let t=`[ext-apps] App.${e}() called before connect() completed the ui/initialize handshake. Await app.connect() before calling this method, or move data loading to an ontoolresult handler.`;if(this.options?.strict)throw Error(t);console.warn(`${t}. This will throw in a future release.`)}eventSchemas={toolinput:wv,toolinputpartial:Tv,toolresult:Fv,toolcancelled:Ev,hostcontextchanged:Lv};static ONE_SHOT_EVENTS=new Set([`toolinput`,`toolinputpartial`,`toolresult`,`toolcancelled`]);_everHadListener=new Set;_assertHandlerTiming(t){if(!e.ONE_SHOT_EVENTS.has(t)||this._everHadListener.has(t)||(this._everHadListener.add(t),!this._initializedSent))return;let n=`[ext-apps] "${String(t)}" handler registered after connect() completed the ui/initialize handshake. The host may have already sent this notification. Register handlers before calling app.connect().`;if(this.options?.strict)throw Error(n);console.warn(n)}setEventHandler(e,t){t&&this._assertHandlerTiming(e),super.setEventHandler(e,t)}addEventListener(e,t){this._assertHandlerTiming(e),super.addEventListener(e,t)}onEventDispatch(e,t){e===`hostcontextchanged`&&(this._hostContext={...this._hostContext,...t})}constructor(e,t={},n={autoResize:!0}){super(n),this._appInfo=e,this._capabilities=t,this.options=n,n.allowUnsafeEval||a({jitless:!0}),this.setRequestHandler(cg,e=>(console.log(`Received ping:`,e.params),{})),this.setEventHandler(`hostcontextchanged`,void 0)}registerCapabilities(e){if(this.transport)throw Error(`Cannot register capabilities after transport is established`);this._capabilities=cv(this._capabilities,e)}registerTool(e,t,n){if(this._registeredTools[e])throw Error(`Tool ${e} is already registered`);let r=this,i=()=>{r._initializedSent&&r._capabilities.tools?.listChanged&&r.sendToolListChanged()},a=t.inputSchema!==void 0,o={title:t.title,description:t.description,inputSchema:t.inputSchema,outputSchema:t.outputSchema,annotations:t.annotations,_meta:t._meta,enabled:!0,enable(){this.enabled=!0,i()},disable(){this.enabled=!1,i()},update(e){Object.assign(this,e),i()},remove(){r._registeredTools[e]===o&&(delete r._registeredTools[e],i())},handler:async(t,r)=>{if(!o.enabled)throw Error(`Tool ${e} is disabled`);let i;if(a){let a=o.inputSchema;i=await n(a?await Vv(a,t??{},`Invalid input for tool ${e}: `):t??{},r)}else i=await n(r);return o.outputSchema&&!i.isError&&(i.structuredContent=await Vv(o.outputSchema,i.structuredContent,`Invalid output for tool ${e}: `)),i}};return this._registeredTools[e]=o,!this._capabilities.tools&&!this.transport&&this.registerCapabilities({tools:{listChanged:!0}}),this.ensureToolHandlersInitialized(),i(),o}_toolHandlersInitialized=!1;ensureToolHandlersInitialized(){this._toolHandlersInitialized||(this._toolHandlersInitialized=!0,this.oncalltool=async(e,t)=>{let n=this._registeredTools[e.name];if(!n)throw Error(`Tool ${e.name} not found`);return n.handler(e.arguments,t)},this.onlisttools=async(e,t)=>({tools:await Promise.all(Object.entries(this._registeredTools).filter(([e,t])=>t.enabled).map(async([e,t])=>{let n={name:e,title:t.title,description:t.description,inputSchema:t.inputSchema?await Bv(t.inputSchema,`input`):{type:`object`,properties:{}}};return t.outputSchema&&(n.outputSchema=await Bv(t.outputSchema,`output`)),t.annotations&&(n.annotations=t.annotations),t._meta&&(n._meta=t._meta),n}))}))}async sendToolListChanged(e={}){this._assertInitialized(`sendToolListChanged`),await this.notification({method:`notifications/tools/list_changed`,params:e})}getHostCapabilities(){return this._hostCapabilities}getHostVersion(){return this._hostInfo}getHostContext(){return this._hostContext}get ontoolinput(){return this.getEventHandler(`toolinput`)}set ontoolinput(e){this.setEventHandler(`toolinput`,e)}get ontoolinputpartial(){return this.getEventHandler(`toolinputpartial`)}set ontoolinputpartial(e){this.setEventHandler(`toolinputpartial`,e)}get ontoolresult(){return this.getEventHandler(`toolresult`)}set ontoolresult(e){this.setEventHandler(`toolresult`,e)}get ontoolcancelled(){return this.getEventHandler(`toolcancelled`)}set ontoolcancelled(e){this.setEventHandler(`toolcancelled`,e)}get onhostcontextchanged(){return this.getEventHandler(`hostcontextchanged`)}set onhostcontextchanged(e){this.setEventHandler(`hostcontextchanged`,e)}_onteardown;get onteardown(){return this._onteardown}set onteardown(e){this.warnIfRequestHandlerReplaced(`onteardown`,this._onteardown,e),this._onteardown=e,this.replaceRequestHandler(kv,(e,t)=>{if(!this._onteardown)throw Error(`No onteardown handler set`);return this._onteardown(e.params,t)})}_oncalltool;get oncalltool(){return this._oncalltool}set oncalltool(e){this.warnIfRequestHandlerReplaced(`oncalltool`,this._oncalltool,e),this._oncalltool=e,this.replaceRequestHandler(y_,(e,t)=>{if(!this._oncalltool)throw Error(`No oncalltool handler set`);return this._oncalltool(e.params,t)})}_onlisttools;get onlisttools(){return this._onlisttools}set onlisttools(e){this.warnIfRequestHandlerReplaced(`onlisttools`,this._onlisttools,e),this._onlisttools=e,this.replaceRequestHandler(h_,(e,t)=>{if(!this._onlisttools)throw Error(`No onlisttools handler set`);return this._onlisttools(e.params,t)})}assertCapabilityForMethod(e){switch(e){case`sampling/createMessage`:if(!this._hostCapabilities?.sampling)throw Error(`Host does not support sampling (required for ${e})`);break}}assertRequestHandlerCapability(e){switch(e){case`tools/call`:case`tools/list`:if(!this._capabilities.tools)throw Error(`Client does not support tool capability (required for ${e})`);return;case`ping`:case`ui/resource-teardown`:return;default:throw Error(`No handler for method ${e} registered`)}}assertNotificationCapability(e){}assertTaskCapability(e){throw Error(`Tasks are not supported in MCP Apps`)}assertTaskHandlerCapability(e){throw Error(`Task handlers are not supported in MCP Apps`)}async callServerTool(e,t){if(this._assertInitialized(`callServerTool`),typeof e==`string`)throw Error(`callServerTool() expects an object as its first argument, but received a string ("${e}"). Did you mean: callServerTool({ name: "${e}", arguments: { ... } })?`);return await this.request({method:`tools/call`,params:e},__,{onprogress:()=>{},resetTimeoutOnProgress:!0,...t})}async readServerResource(e,t){return this._assertInitialized(`readServerResource`),await this.request({method:`resources/read`,params:e},Hg,t)}async listServerResources(e,t){return this._assertInitialized(`listServerResources`),await this.request({method:`resources/list`,params:e},Ig,t)}async createSamplingMessage(e,t){this._assertInitialized(`createSamplingMessage`);let n=e.tools?F_:P_;return await this.request({method:`sampling/createMessage`,params:e},n,t)}sendMessage(e,t){return this._assertInitialized(`sendMessage`),this.request({method:`ui/message`,params:e},xv,t)}sendLog(e){return this.notification({method:`notifications/message`,params:e})}updateModelContext(e,t){return this._assertInitialized(`updateModelContext`),this.request({method:`ui/update-model-context`,params:e},qh,t)}openLink(e,t){return this._assertInitialized(`openLink`),this.request({method:`ui/open-link`,params:e},yv,t)}sendOpenLink=this.openLink;downloadFile(e,t){return this._assertInitialized(`downloadFile`),this.request({method:`ui/download-file`,params:e},bv,t)}requestTeardown(e={}){return this.notification({method:`ui/notifications/request-teardown`,params:e})}requestDisplayMode(e,t){return this._assertInitialized(`requestDisplayMode`),this.request({method:`ui/request-display-mode`,params:e},Nv,t)}sendSizeChanged(e){return this.notification({method:`ui/notifications/size-changed`,params:e})}setupSizeChangedNotifications(){let e=!1,t=0,n=0,r=()=>{e||(e=!0,requestAnimationFrame(()=>{e=!1;let r=document.documentElement,i=r.style.height;r.style.height=`max-content`;let a=Math.ceil(r.getBoundingClientRect().height);r.style.height=i;let o=Math.ceil(window.innerWidth);(o!==t||a!==n)&&(t=o,n=a,this.sendSizeChanged({width:o,height:a}))}))};r();let i=new ResizeObserver(r);return i.observe(document.documentElement),i.observe(document.body),()=>i.disconnect()}async connect(e=new hv(window.parent,window.parent),t){if(this.transport)throw Error(`App is already connected. Call close() before connecting again.`);this._initializedSent=!1,await super.connect(e);try{let e=await this.request({method:`ui/initialize`,params:{appCapabilities:this._capabilities,appInfo:this._appInfo,protocolVersion:mv}},Rv,t);if(e===void 0)throw Error(`Server sent invalid initialize result: ${e}`);this._hostCapabilities=e.hostCapabilities,this._hostInfo=e.hostInfo,this._hostContext=e.hostContext,await this.notification({method:`ui/notifications/initialized`}),this._initializedSent=!0,this.options?.autoResize&&this.setupSizeChangedNotifications()}catch(e){throw this.close(),e}}},Uv=null;function Wv(e){Uv=e}async function X(e,t=[]){if(!Uv)throw Error(`Bridge transport not initialized`);try{return await Uv(e,t)}catch(t){throw console.error(`Bridge Error [${e}]:`,t),t}}var Gv={en:{ai_status_offline:`AI Offline`,ai_status_online:`Local AI Online`,ai_status_cloud_online:`Cloud AI · {model}`,ai_status_cloud_offline:`Cloud AI offline · {model}`,ai_status_starting:`Checking AI...`,ai_status_model_missing:`AI: model not found`,study_question_original:`Original`,study_evaluation_model:`{model}`,nav_dashboard:`Dashboard`,nav_settings:`Settings`,dashboard_kicker:`Today in ZAM`,dashboard_title:`Learn deliberately.`,dashboard_subtitle:`Review what is due, open your knowledge map, or configure local AI and workspaces in Settings.`,lbl_due_reviews:`Due Reviews`,lbl_caught_up:`You're all caught up!`,dashboard_error:`Could not load your data`,lbl_domains:`Active Domains`,btn_start_session:`Start Learning Session`,lbl_translating:`Translating dynamically...`,placeholder_answer:`Type your conceptual answer here... (Ctrl+Enter to submit)`,btn_reveal_answer:`Submit & Reveal Answer`,lbl_ai_evaluating:`Reviewing your answer and generating feedback...`,lbl_ai_working:`(This may take a moment.)`,lbl_wait_warn:`⚠ Evaluation is taking longer than expected.`,btn_wait_keep:`Keep Waiting`,btn_wait_skip:`Skip Offline`,lbl_question_wait_warn:`⚠ Generating this question is taking longer than expected.`,btn_question_use_saved:`Use Saved Question`,lbl_ai_feedback_title:`ZAM Feedback`,lbl_reveal_title:`Reference Answer`,lbl_rating_instruction:`Rate your active recall honestly:`,lbl_rate_1:`Again`,lbl_rate_2:`Hard`,lbl_rate_3:`Good`,lbl_rate_4:`Easy`,btn_recall_reveal:`Reveal`,btn_recall_check:`Check answer`,btn_recall_finish:`End session`,lbl_recall_focus:`Focus: {domain}`,lbl_recall_summary:`{done} of {total} reviewed`,lbl_recall_summary_title:`Session summary`,lbl_recall_empty_title:`Nothing due`,btn_pause_session:`Pause & Exit Session`,lbl_generating_question:`Generating dynamic question...`,token:`Token`,concept:`Concept`,context:`Context`,source:`Source Reference`,bloom_level:`Bloom Level`,rating_again_shortcut:`(Shortcut: 1)`,rating_hard_shortcut:`(Shortcut: 2)`,rating_good_shortcut:`(Shortcut: 3)`,rating_easy_shortcut:`(Shortcut: 4)`,session_completed:`Learning Session Completed!`,session_completed_sub:`Great job completing this session! Your memory traces have been updated.`,btn_back_to_dashboard:`Back to Dashboard`,btn_open_graph:`Knowledge Map (3D)`,btn_open_settings:`Settings`,observer_title:`UI Observer`,observer_idle:`Load windows and choose one application window to observe.`,observer_loading:`Loading observable windows...`,observer_ready:`Selected: {title}`,observer_vision_checking:`Checking vision observation settings...`,observer_analyzing:`Capturing snapshot and asking the vision model...`,observer_done:`Observation saved. Latest report confidence: {confidence}`,observer_canceled:`Observation canceled.`,observer_error:`Observer error: {message}`,observer_vision_disabled:`Vision observation is disabled. Enable it with: zam settings set llm.vision.enabled true`,observer_vision_offline:`Vision endpoint is offline: {url}`,observer_vision_model_missing:`Vision model is not available: {model}`,observer_privacy_paused:`Privacy pause: this window is blocked by the privacy filter ({reason}).`,observer_privacy_option:`privacy pause`,observer_refresh:`Load Windows`,observer_analyze:`Snapshot & Analyze`,observer_cancel:`Cancel`,observer_empty:`No observable windows found.`,observer_select_initial:`No windows loaded yet`,observer_select_placeholder:`Select a window`,observer_history_title:`Observation Reports`,observer_history_refresh:`Refresh Reports`,observer_history_empty:`No observation reports yet.`,observer_history_loaded:`Loaded {count} observation report(s).`,observer_loop_start:`Start Loop`,observer_loop_stop:`Stop Loop`,observer_loop_idle:`Manual snapshots only.`,observer_loop_running:`Observer loop running. One snapshot at a time.`,observer_loop_waiting:`Observer loop running. Next snapshot in {seconds}s.`,observer_loop_stopped:`Observer loop stopped.`,observer_watch_start:`Start Watch`,observer_watch_stop:`Stop Watch`,observer_watch_idle:`Continuous watch is off.`,observer_watch_starting:`Starting continuous watch...`,observer_watch_running:`Watching {title} — {count} event(s).`,observer_watch_stopping:`Stopping continuous watch...`,observer_watch_stopped:`Continuous watch stopped.`,observer_watch_error:`Watch error: {message}`,graph_title:`Knowledge Graph (3D)`,graph_hint:`Drag to rotate • Click nodes to focus • Scroll to zoom`,graph_focus:`Focus`,graph_prereqs:`Bases (Prerequisites)`,graph_dependents:`Higher Abilities (Dependents)`,graph_no_card:`no personal card yet`,graph_refresh:`Refresh`,graph_domain_token_list_title:`All tokens in this domain`,setup_title:`Setup & Data`,settings_kicker:`Local configuration`,settings_title:`Settings`,settings_subtitle:`Configure this machine without forcing the same choices onto every workspace or device.`,settings_back:`Back to dashboard`,settings_system_title:`System`,settings_ai_title:`AI models`,settings_workspace_title:`Workspaces`,workspaces_help:`Register personal, team, family, or community work directories for this machine.`,settings_appearance_title:`Appearance`,settings_data_title:`Data`,settings_database:`Database`,settings_learning_profile:`Learning profile`,database_checking:`Checking…`,database_status_local:`Local SQLite · connected`,database_status_turso:`Turso · connected`,database_status_error:`Connection unavailable`,database_detail:`{location} · profile {profile} · {count} cards`,database_no_profile:`No active profile`,database_profile_option:`{profile} — {count} cards`,database_profile_switch_confirm:`Switch the active learning profile to "{profile}"?`,database_profile_switched:`Active profile: {profile} ({count} cards)`,database_refresh:`Refresh status`,settings_theme:`Theme`,theme_light:`Light`,theme_dark:`Dark`,btn_open_data_folder:`Open data folder`,btn_backup_db:`Back up database`,setup_backing_up:`Backing up database…`,setup_backed_up:`Backed up to {path}`,setup_remote_no_backup:`Your database syncs to the cloud ({target}) — no separate local backup needed.`,setup_backup_failed:`Backup failed: {message}`,setup_backup_failed_generic:`Backup failed.`,setup_open_folder_failed:`Could not open the data folder: {message}`,lbl_workspace:`Workspace`,btn_choose_workspace:`+ Add workspace…`,btn_open_terminal:`Open Terminal`,terminal_opening:`Opening terminal...`,terminal_opened:`Opened terminal in {workspace}`,terminal_open_failed:`Could not open terminal: {message}`,workspace_active:`active`,workspace_default_label:`Default workspace`,workspace_empty:`No workspace registered yet.`,workspace_kind:`{kind} workspace`,workspace_kind_personal:`Personal workspace`,workspace_kind_team:`Team workspace`,workspace_kind_family:`Family workspace`,workspace_kind_community:`Community workspace`,workspace_kind_organization:`Organization workspace`,workspace_kind_custom:`Custom workspace`,workspace_more:`{count} more workspace(s) hidden. Use the CLI for the full list.`,workspace_use:`Use`,workspace_open:`Terminal`,workspace_default_suffix:`(default)`,workspace_set:`Workspace set to {path}`,workspace_added:`Workspace added: {path}`,workspace_pick_failed:`Could not set workspace: {message}`,workspace_remove:`Remove`,workspace_remove_confirm:`Remove "{label}" from ZAM? Files and links in the folder will stay unchanged.`,workspace_removed:`Workspace removed: {label}`,workspace_remove_failed:`Could not remove workspace: {message}`,workspace_link_ok:`Skill link OK`,workspace_link_broken:`Skill link broken`,workspace_link_unmanaged:`Foreign skill folder`,workspace_repair:`Repair skill link`,workspace_repair_confirm:`The folder for "{label}" contains a skills/zam directory that ZAM did not create. Repair deletes it and replaces it with a link. Continue?`,workspace_repairing:`Repairing skill link…`,workspace_repaired:`Skill link repaired: {label}`,workspace_repair_failed:`Could not repair skill link: {message}`,lbl_app_version:`Version`,lbl_learning_model:`Learning model`,lbl_observer_model:`Observer model`,provider_ready:`ready`,provider_disabled:`disabled`,provider_offline:`offline`,provider_model_missing:`model missing`,provider_unsupported:`unsupported provider`,provider_local:`local`,provider_cloud:`cloud`,provider_unknown:`unknown`,btn_ai_config_open:`Configure`,btn_ai_config_close:`Close`,btn_add_ai_provider:`+ Add provider`,ai_config_loading:`Loading provider configuration...`,ai_config_failed:`Could not load provider configuration: {message}`,ai_provider_empty:`No providers configured yet.`,ai_provider_section_local:`Local`,ai_provider_section_cloud:`Cloud`,ai_provider_kind:`Provider type`,ai_provider_kind_local:`Local`,ai_provider_kind_cloud:`Cloud`,ai_provider_local_badge:`local`,ai_provider_cloud_badge:`cloud`,ai_provider_key_set:`key set`,ai_provider_key_missing:`key missing`,ai_provider_key_none:`no key`,ai_provider_edit:`Edit`,ai_provider_remove:`Remove`,ai_provider_remove_confirm:`Remove provider "{name}"?`,ai_provider_removed:`Removed provider "{name}"`,ai_provider_saved:`Saved provider "{name}"`,ai_provider_save_failed:`Could not save provider: {message}`,ai_provider_form_add_title:`Add provider`,ai_provider_form_edit_title:`Edit provider`,ai_provider_display_name:`Name`,ai_provider_url:`URL`,ai_provider_model:`Model`,ai_provider_model_local_hint:`Type the model name. If the endpoint lists models, you can pick one below.`,ai_provider_models_pick:`Pick from endpoint`,ai_provider_flavor:`API flavor`,ai_provider_local:`Runs on this computer`,ai_provider_local_hint:`Local model servers (FastFlowLM, Ollama, …) usually need no API key. ZAM can try to start the server automatically.`,ai_provider_cloud_hint_key:`Cloud APIs need an API key. Local providers do not use the key field.`,ai_provider_runner:`Local model server`,ai_provider_runner_hint:`The program that serves the model on this PC — not your coding agent.`,ai_provider_runner_auto:`Auto-detect`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`not detected`,ai_provider_api_key:`API key`,ai_provider_api_key_hint:`Write-only — stored locally, never synced`,ai_provider_cloud_hint:`Suggested model: {model}`,ai_provider_models_loading:`Loading models...`,ai_provider_models_empty:`No models listed by endpoint`,btn_ai_provider_save:`Save`,btn_ai_provider_cancel:`Cancel`,ai_role_bindings_title:`Role bindings`,ai_role_recall:`Learning (recall)`,ai_role_vision:`Observer (vision)`,ai_role_primary:`Primary`,ai_role_fallback:`Fallback`,ai_role_none:`(none)`,btn_ai_role_apply:`Apply`,ai_role_bound:`Role {role} updated`,ai_role_bind_failed:`Could not bind role: {message}`,ai_recall_anthropic_warn:`Anthropic Messages providers are not supported for learning sessions yet. Bind anyway?`,ai_vision_cloud_confirm:`Screenshots will be sent to {endpoint}. Enable vision observation and bind this cloud provider?`,ai_provider_referenced:`Still used by: {roles}`,btn_check_updates:`Check for updates`,btn_open_releases:`Releases`,version_unknown:`unknown`,update_checking:`Checking for updates...`,update_available:`Update available: {version}`,update_none:`You are on the latest version.`,update_failed:`Update check failed: {message}`,release_link_failed:`Could not open releases: {message}`,nav_content:`Learning Content`,content_title:`Learning Content Studio`,content_subtitle:`Manage your personal learning cards, search tokens, and curate active recall prompts.`,btn_new_card:`New Card`,lbl_search_placeholder:`Search questions, answers, categories, keys...`,lbl_category_filter:`Category`,lbl_all_categories:`All Categories`,lbl_all_contexts:`All Contexts`,lbl_no_context_default:`No context default`,lbl_no_context_assignment:`No context assignment`,lbl_empty_content:`No learning cards found. Create your first card!`,lbl_empty_content_btn:`Create First Card`,lbl_question:`Question`,lbl_answer:`Answer / Concept`,lbl_category:`Category`,lbl_title:`Title (display name)`,lbl_source_link:`Source Link`,lbl_more_settings:`More Settings`,lbl_context:`Context`,lbl_bloom_level:`Bloom Level`,lbl_symbiosis_mode:`Symbiosis Mode`,lbl_slug:`Technical Key (Slug)`,lbl_slug_hint:`Automatically generated after creation`,btn_save:`Save Card`,btn_remove:`Remove Card`,btn_delete:`Hard Delete Token`,lbl_confirm_remove_title:`Confirm Card Removal`,lbl_confirm_remove_desc:`Removing this card will clear your personal FSRS learning state and history for this token. Other users or the global token catalog remain unaffected.`,lbl_confirm_delete_title:`Confirm Global Token Deletion`,lbl_confirm_delete_desc:`Permanently deleting this token will destroy the knowledge concept, the personal cards of all users, and all review history across the database.`,lbl_delete_impact:`This action affects:`,lbl_impact_cards:`{count} card(s)`,lbl_impact_reviews:`{count} review log(s)`,lbl_impact_steps:`{count} session step(s)`,lbl_impact_skills:`{count} agent skill(s) updated`,lbl_confirm_action:`Confirm`,lbl_cancel_action:`Cancel`,lbl_card_saved_toast:`Card saved successfully!`,lbl_card_removed_toast:`Card removed successfully!`,lbl_card_deleted_toast:`Token deleted successfully!`,lbl_error_saving:`Failed to save card`,lbl_error_loading:`Failed to load learning content`,lbl_card_status_new:`New`,lbl_card_status_learning:`Learning`,lbl_card_status_review:`Review`,lbl_card_status_relearning:`Relearning`,lbl_card_status_not_started:`Not Started`,lbl_card_due:`Due`,lbl_card_not_due:`Not Due`,btn_import_curriculum:`Import Curriculum`,lbl_import_modal_title:`Import Curriculum Standard`,lbl_import_text:`Curriculum Text`,placeholder_import_text:`Paste curriculum text or syllabus bullets here...`,lbl_import_source:`Source URL / Reference`,lbl_import_category:`Target Category`,lbl_import_progress_status:`Generating cards...`,lbl_import_progress_detail:`This may take up to a minute depending on your local LLM speed.`,btn_import_submit:`Import`,toast_import_success:`Successfully imported {createdCount} new tokens and ensured {ensuredCount} cards!`,lbl_error_importing:`Failed to import curriculum`,btn_curriculum_wizard:`Curriculum Wizard`,lbl_curriculum_wizard_title:`Curriculum Wizard`,wizard_step_country:`Country`,wizard_step_region:`Region`,wizard_step_schoolType:`School Type`,wizard_step_grade:`Grade`,wizard_step_subject:`Subject`,wizard_step_track:`Track`,wizard_step_topic:`Topics`,wizard_btn_back:`Back`,wizard_btn_next:`Next`,wizard_no_options:`No options available yet for this selection.`,wizard_err_select_option:`Please select an option to continue.`,wizard_err_no_topics:`Please select at least one topic.`,wizard_topic_scope_note:`Cards are generated from the complete curriculum page for this subject (all of its topics). Precise per-topic import is coming in a future update — for now, topic selection helps you track what to cover next.`,wizard_resume_prompt:`Continue where you left off:`,wizard_btn_resume:`Continue`,wizard_btn_restart:`Start over`,lbl_curriculum_wizard_loading:`Loading…`,wizard_hours:`{hours} hrs`,btn_split:`Split`,lbl_split_modal_title:`Split Card`,lbl_original_card_title:`Original Card (Summarized application question)`,lbl_split_original_question:`Question`,lbl_split_original_concept:`Answer / Concept`,lbl_split_action_title:`After split completed:`,lbl_action_block:`Keep original card and block it (requires new cards first)`,lbl_action_remove:`Remove original card`,lbl_split_progress_status:`Generating atomic proposals...`,lbl_split_progress_detail:`This may take up to a minute depending on your local LLM speed.`,lbl_atomic_proposals_title:`Atomic Card Proposals (Minimum 2)`,btn_split_modal_submit:`Confirm Split`,btn_content_foundations_card:`Foundations`,lbl_foundations_modal_title:`Import Foundations`,lbl_foundations_progress_status:`Generating foundational proposals...`,lbl_foundations_progress_detail:`This may take up to a minute depending on your local LLM speed.`,lbl_foundations_atomic_title:`Foundational Card Proposals`,btn_foundations_modal_submit:`Confirm Import`,lbl_import_source_type:`Source Type`,lbl_import_source_uri:`File Path or URL`,btn_import_source_analyze:`Analyze`,lbl_source_extracted_preview:`Extracted Plain Text Preview`,lbl_delete:`Delete`,lbl_proposal_number:`Proposal #{n}`,lbl_foundational_proposal_number:`Foundational Proposal #{n}`,lbl_foundation_existing_badge:`Existing card will be linked`,lbl_foundation_new_badge:`New card suggestion`,lbl_include:`Include`,lbl_err_analyze_source_first:`Please analyze a source file, web link, or OCR scan first.`,lbl_err_min_split_proposals:`At least 2 complete card proposals are required to split a card.`,lbl_err_select_foundation:`Please select at least one prerequisite proposal card to import.`,lbl_err_enter_path_or_url:`Please enter a file path or URL to analyze.`,lbl_analyzing_source:`Analyzing source content, please wait…`,lbl_err_analysis_failed:`Analysis failed`,lbl_err_analysis_prefix:`Analysis error`,lbl_err_concept_required:`Answer / concept is required.`,lbl_err_category_required:`Category is required.`,lbl_err_import_context_required:`Curriculum text is required.`,lbl_err_original_context_required:`Question and answer are required for the original card.`,settings_context_title:`Knowledge Context`,settings_context_help:`Select the default knowledge context for this device.`,settings_context_label:`Default Context`,wizard_context_label:`Assign imported cards to context:`},de:{ai_status_offline:`KI offline`,ai_status_online:`Lokale KI online`,ai_status_cloud_online:`Cloud-KI · {model}`,ai_status_cloud_offline:`Cloud-KI offline · {model}`,ai_status_starting:`Prüfe KI...`,ai_status_model_missing:`KI: Modell fehlt`,study_question_original:`Urtext`,study_evaluation_model:`{model}`,nav_dashboard:`Übersicht`,nav_settings:`Einstellungen`,dashboard_kicker:`Heute in ZAM`,dashboard_title:`Bewusst lernen.`,dashboard_subtitle:`Wiederhole, was fällig ist, öffne dein Wissensnetz oder konfiguriere lokale KI und Arbeitsbereiche in den Einstellungen.`,lbl_due_reviews:`Anstehende Wiederholungen`,lbl_caught_up:`Du bist voll auf dem Laufenden!`,dashboard_error:`Deine Daten konnten nicht geladen werden`,lbl_domains:`Aktive Wissensbereiche`,btn_start_session:`Lernsitzung starten`,lbl_translating:`Übersetze dynamisch...`,placeholder_answer:`Schreibe deine konzeptionelle Antwort... (Strg+Eingabe zum Absenden)`,btn_reveal_answer:`Antwort aufdecken & absenden`,lbl_ai_evaluating:`Deine Antwort wird geprüft und Feedback wird erstellt...`,lbl_ai_working:`(Das kann einen Moment dauern.)`,lbl_wait_warn:`⚠ Die Bewertung dauert ungewöhnlich lange...`,btn_wait_keep:`Weiter warten`,btn_wait_skip:`Offline fortfahren`,lbl_question_wait_warn:`⚠ Das Erstellen der Frage dauert ungewöhnlich lange.`,btn_question_use_saved:`Gespeicherte Frage verwenden`,lbl_ai_feedback_title:`ZAM Feedback`,lbl_reveal_title:`Musterlösung`,lbl_rating_instruction:`Bewerte deine aktive Erinnerung ehrlich:`,lbl_rate_1:`Nochmal`,lbl_rate_2:`Schwer`,lbl_rate_3:`Gut`,lbl_rate_4:`Einfach`,btn_recall_reveal:`Aufdecken`,btn_recall_check:`Antwort prüfen`,btn_recall_finish:`Sitzung beenden`,lbl_recall_focus:`Fokus: {domain}`,lbl_recall_summary:`{done} von {total} bearbeitet`,lbl_recall_summary_title:`Zusammenfassung`,lbl_recall_empty_title:`Nichts fällig`,btn_pause_session:`Pause & Sitzung beenden`,lbl_generating_question:`Erstelle dynamische Frage...`,token:`Token`,concept:`Konzept`,context:`Kontext`,source:`Quellen-Referenz`,bloom_level:`Bloom-Stufe`,rating_again_shortcut:`(Shortcut: 1)`,rating_hard_shortcut:`(Shortcut: 2)`,rating_good_shortcut:`(Shortcut: 3)`,rating_easy_shortcut:`(Shortcut: 4)`,session_completed:`Lernsitzung erfolgreich abgeschlossen!`,session_completed_sub:`Hervorragende Arbeit! Deine Gedächtnispfade wurden aktualisiert.`,btn_back_to_dashboard:`Zurück zur Übersicht`,btn_open_graph:`Wissensnetz (3D)`,btn_open_settings:`Einstellungen`,observer_title:`UI Observer`,observer_idle:`Fenster laden und ein Anwendungsfenster zur Beobachtung auswählen.`,observer_loading:`Beobachtbare Fenster werden geladen...`,observer_ready:`Ausgewählt: {title}`,observer_vision_checking:`Prüfe Vision-Beobachtungseinstellungen...`,observer_analyzing:`Erzeuge Snapshot und frage das Vision-Modell...`,observer_done:`Beobachtung gespeichert. Confidence des letzten Reports: {confidence}`,observer_canceled:`Beobachtung abgebrochen.`,observer_error:`Observer-Fehler: {message}`,observer_vision_disabled:`Vision-Beobachtung ist deaktiviert. Aktiviere sie mit: zam settings set llm.vision.enabled true`,observer_vision_offline:`Vision-Endpunkt ist offline: {url}`,observer_vision_model_missing:`Vision-Modell ist nicht verfügbar: {model}`,observer_privacy_paused:`Privacy-Pause: Dieses Fenster wird durch den Privacy-Filter blockiert ({reason}).`,observer_privacy_option:`Privacy-Pause`,observer_refresh:`Fenster laden`,observer_analyze:`Snapshot analysieren`,observer_cancel:`Abbrechen`,observer_empty:`Keine beobachtbaren Fenster gefunden.`,observer_select_initial:`Noch keine Fenster geladen`,observer_select_placeholder:`Fenster auswählen`,observer_history_title:`Beobachtungsberichte`,observer_history_refresh:`Berichte aktualisieren`,observer_history_empty:`Noch keine Beobachtungsberichte.`,observer_history_loaded:`{count} Beobachtungsbericht(e) geladen.`,observer_loop_start:`Loop starten`,observer_loop_stop:`Loop stoppen`,observer_loop_idle:`Nur manuelle Snapshots.`,observer_loop_running:`Observer-Loop läuft. Immer nur ein Snapshot gleichzeitig.`,observer_loop_waiting:`Observer-Loop läuft. Nächster Snapshot in {seconds}s.`,observer_loop_stopped:`Observer-Loop gestoppt.`,observer_watch_start:`Watch starten`,observer_watch_stop:`Watch stoppen`,observer_watch_idle:`Kontinuierliche Beobachtung ist aus.`,observer_watch_starting:`Kontinuierliche Beobachtung wird gestartet...`,observer_watch_running:`Beobachte {title} — {count} Ereignis(se).`,observer_watch_stopping:`Kontinuierliche Beobachtung wird gestoppt...`,observer_watch_stopped:`Kontinuierliche Beobachtung gestoppt.`,observer_watch_error:`Watch-Fehler: {message}`,graph_title:`Wissensnetz (3D)`,graph_hint:`Ziehen zum Drehen • Knoten klicken = Fokus • Scroll = Zoomen`,graph_focus:`Fokus`,graph_prereqs:`Basis (Voraussetzungen)`,graph_dependents:`Höhere Fähigkeiten (Darauf aufbauend)`,graph_no_card:`noch keine persönliche Karte`,graph_refresh:`Neu laden`,graph_domain_token_list_title:`Alle Tokens in diesem Bereich`,setup_title:`Einrichtung & Daten`,settings_kicker:`Lokale Konfiguration`,settings_title:`Einstellungen`,settings_subtitle:`Konfiguriere diesen Rechner, ohne dieselben Entscheidungen auf jeden Arbeitsbereich oder jedes Gerät zu übertragen.`,settings_back:`Zurück zur Übersicht`,settings_system_title:`System`,settings_ai_title:`KI-Modelle`,settings_workspace_title:`Arbeitsbereiche`,workspaces_help:`Registriere persönliche, Team-, Familien- oder Community-Arbeitsverzeichnisse für diesen Rechner.`,settings_appearance_title:`Darstellung`,settings_data_title:`Daten`,settings_database:`Datenbank`,settings_learning_profile:`Lernprofil`,database_checking:`Wird geprüft…`,database_status_local:`Lokales SQLite · verbunden`,database_status_turso:`Turso · verbunden`,database_status_error:`Verbindung nicht verfügbar`,database_detail:`{location} · Profil {profile} · {count} Karten`,database_no_profile:`Kein aktives Profil`,database_profile_option:`{profile} — {count} Karten`,database_profile_switch_confirm:`Aktives Lernprofil zu „{profile}“ wechseln?`,database_profile_switched:`Aktives Profil: {profile} ({count} Karten)`,database_refresh:`Status aktualisieren`,settings_theme:`Theme`,theme_light:`Hell`,theme_dark:`Dunkel`,btn_open_data_folder:`Datenordner öffnen`,btn_backup_db:`Datenbank sichern`,setup_backing_up:`Datenbank wird gesichert…`,setup_backed_up:`Gesichert nach {path}`,setup_remote_no_backup:`Deine Datenbank synchronisiert in die Cloud ({target}) — kein separates lokales Backup nötig.`,setup_backup_failed:`Sicherung fehlgeschlagen: {message}`,setup_backup_failed_generic:`Sicherung fehlgeschlagen.`,setup_open_folder_failed:`Datenordner konnte nicht geöffnet werden: {message}`,btn_choose_workspace:`+ Arbeitsbereich hinzufügen…`,btn_open_terminal:`Terminal öffnen`,terminal_opening:`Terminal wird geöffnet...`,terminal_opened:`Terminal in {workspace} geöffnet`,terminal_open_failed:`Terminal konnte nicht geöffnet werden: {message}`,workspace_active:`aktiv`,workspace_default_label:`Standard-Arbeitsbereich`,workspace_empty:`Noch kein Arbeitsbereich registriert.`,workspace_kind:`{kind}-Arbeitsbereich`,workspace_kind_personal:`Persönlicher Arbeitsbereich`,workspace_kind_team:`Team-Arbeitsbereich`,workspace_kind_family:`Familien-Arbeitsbereich`,workspace_kind_community:`Community-Arbeitsbereich`,workspace_kind_organization:`Organisations-Arbeitsbereich`,workspace_kind_custom:`Benutzerdefinierter Arbeitsbereich`,workspace_more:`{count} weitere Arbeitsbereiche ausgeblendet. Die vollständige Liste ist in der CLI.`,workspace_use:`Nutzen`,workspace_open:`Terminal`,workspace_default_suffix:`(Standard)`,workspace_set:`Arbeitsbereich gesetzt: {path}`,workspace_added:`Arbeitsbereich hinzugefügt: {path}`,workspace_pick_failed:`Arbeitsbereich konnte nicht gesetzt werden: {message}`,workspace_remove:`Entfernen`,workspace_remove_confirm:`"{label}" aus ZAM entfernen? Dateien und Verknüpfungen im Ordner bleiben unverändert.`,workspace_removed:`Arbeitsbereich entfernt: {label}`,workspace_remove_failed:`Arbeitsbereich konnte nicht entfernt werden: {message}`,workspace_link_ok:`Skill-Link OK`,workspace_link_broken:`Skill-Link defekt`,workspace_link_unmanaged:`Fremder Skill-Ordner`,workspace_repair:`Skill-Link reparieren`,workspace_repair_confirm:`Im Ordner von "{label}" liegt ein skills/zam-Verzeichnis, das nicht von ZAM stammt. Beim Reparieren wird es gelöscht und durch eine Verknüpfung ersetzt. Fortfahren?`,workspace_repairing:`Skill-Link wird repariert…`,workspace_repaired:`Skill-Link repariert: {label}`,workspace_repair_failed:`Skill-Link konnte nicht repariert werden: {message}`,lbl_app_version:`Version`,lbl_learning_model:`Lernmodell`,lbl_observer_model:`Observer-Modell`,provider_ready:`bereit`,provider_disabled:`deaktiviert`,provider_offline:`offline`,provider_model_missing:`Modell fehlt`,provider_unsupported:`Provider nicht unterstützt`,provider_local:`lokal`,provider_cloud:`Cloud`,provider_unknown:`unbekannt`,btn_ai_config_open:`Konfigurieren`,btn_ai_config_close:`Schließen`,btn_add_ai_provider:`+ Provider hinzufügen`,ai_config_loading:`Provider-Konfiguration wird geladen...`,ai_config_failed:`Provider-Konfiguration konnte nicht geladen werden: {message}`,ai_provider_empty:`Noch keine Provider konfiguriert.`,ai_provider_section_local:`Lokal`,ai_provider_section_cloud:`Cloud`,ai_provider_kind:`Provider-Typ`,ai_provider_kind_local:`Lokal`,ai_provider_kind_cloud:`Cloud`,ai_provider_local_badge:`lokal`,ai_provider_cloud_badge:`Cloud`,ai_provider_key_set:`Schlüssel gesetzt`,ai_provider_key_missing:`Schlüssel fehlt`,ai_provider_key_none:`kein Schlüssel`,ai_provider_edit:`Bearbeiten`,ai_provider_remove:`Entfernen`,ai_provider_remove_confirm:`Provider "{name}" entfernen?`,ai_provider_removed:`Provider "{name}" entfernt`,ai_provider_saved:`Provider "{name}" gespeichert`,ai_provider_save_failed:`Provider konnte nicht gespeichert werden: {message}`,ai_provider_form_add_title:`Provider hinzufügen`,ai_provider_form_edit_title:`Provider bearbeiten`,ai_provider_display_name:`Name`,ai_provider_url:`URL`,ai_provider_model:`Modell`,ai_provider_model_local_hint:`Modellnamen eintippen. Listet der Endpunkt Modelle, kannst du unten eines wählen.`,ai_provider_models_pick:`Vom Endpunkt übernehmen`,ai_provider_flavor:`API-Variante`,ai_provider_local:`Läuft auf diesem Rechner`,ai_provider_local_hint:`Lokale Modell-Server (FastFlowLM, Ollama, …) brauchen meist keinen API-Schlüssel. ZAM kann den Server automatisch starten.`,ai_provider_cloud_hint_key:`Cloud-APIs brauchen einen API-Schlüssel. Lokale Provider nutzen das Schlüsselfeld nicht.`,ai_provider_runner:`Lokaler Modell-Server`,ai_provider_runner_hint:`Das Programm, das das Modell auf diesem PC bereitstellt — nicht der Coding-Agent.`,ai_provider_runner_auto:`Automatisch erkennen`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`nicht erkannt`,ai_provider_api_key:`API-Schlüssel`,ai_provider_api_key_hint:`Nur Schreiben — lokal gespeichert, nie synchronisiert`,ai_provider_cloud_hint:`Vorgeschlagenes Modell: {model}`,ai_provider_models_loading:`Modelle werden geladen...`,ai_provider_models_empty:`Endpunkt listet keine Modelle`,btn_ai_provider_save:`Speichern`,btn_ai_provider_cancel:`Abbrechen`,ai_role_bindings_title:`Rollen-Zuordnung`,ai_role_recall:`Lernen (recall)`,ai_role_vision:`Observer (vision)`,ai_role_primary:`Primär`,ai_role_fallback:`Fallback`,ai_role_none:`(keiner)`,btn_ai_role_apply:`Anwenden`,ai_role_bound:`Rolle {role} aktualisiert`,ai_role_bind_failed:`Rolle konnte nicht zugeordnet werden: {message}`,ai_recall_anthropic_warn:`Anthropic-Messages-Provider werden für Lernsitzungen noch nicht unterstützt. Trotzdem zuordnen?`,ai_vision_cloud_confirm:`Screenshots werden an {endpoint} gesendet. Vision-Beobachtung aktivieren und diesen Cloud-Provider zuordnen?`,ai_provider_referenced:`Noch verwendet von: {roles}`,btn_check_updates:`Nach Updates suchen`,btn_open_releases:`Releases`,version_unknown:`unbekannt`,update_checking:`Suche nach Updates...`,update_available:`Update verfügbar: {version}`,update_none:`Du nutzt die aktuelle Version.`,update_failed:`Update-Prüfung fehlgeschlagen: {message}`,release_link_failed:`Releases konnten nicht geöffnet werden: {message}`,nav_content:`Lerninhalte`,content_title:`Lerninhalt-Studio`,content_subtitle:`Verwalte deine persönlichen Lernkarten, durchsuche Tokens und pflege aktive Erinnerungsfragen.`,btn_new_card:`Neue Karte`,lbl_search_placeholder:`Fragen, Antworten, Kategorien, Keys suchen...`,lbl_category_filter:`Kategorie`,lbl_all_categories:`Alle Kategorien`,lbl_all_contexts:`Alle Kontexte`,lbl_no_context_default:`Kein Kontextstandard`,lbl_no_context_assignment:`Keine Kontextzuordnung`,lbl_empty_content:`Keine Lernkarten gefunden. Erstelle deine erste karte!`,lbl_empty_content_btn:`Erste Karte erstellen`,lbl_question:`Frage`,lbl_answer:`Antwort / Konzept`,lbl_category:`Kategorie`,lbl_title:`Titel (Anzeigename)`,lbl_source_link:`Quell-Link`,lbl_more_settings:`Mehr Einstellungen`,lbl_context:`Kontext`,lbl_bloom_level:`Bloom-Level`,lbl_symbiosis_mode:`Symbiose-Modus`,lbl_slug:`Technischer Key (Slug)`,lbl_slug_hint:`Wird nach Erstellung automatisch generiert`,btn_save:`Karte speichern`,btn_remove:`Karte entfernen`,btn_delete:`Token dauerhaft löschen`,lbl_confirm_remove_title:`Kartenentfernung bestätigen`,lbl_confirm_remove_desc:`Das Entfernen dieser Karte löscht deinen persönlichen FSRS-Lernstatus und -Verlauf für diesen Token. Andere Benutzer oder der globale Token-Katalog bleiben unberührt.`,lbl_confirm_delete_title:`Globale Token-Löschung bestätigen`,lbl_confirm_delete_desc:`Das dauerhafte Löschen dieses Tokens zerstört das Wissenskonzept, die persönlichen Karten aller Benutzer und den gesamten Bewertungsverlauf in der Datenbank.`,lbl_delete_impact:`Diese Aktion betrifft:`,lbl_impact_cards:`{count} Karte(n)`,lbl_impact_reviews:`{count} Bewertungsprotokoll(e)`,lbl_impact_steps:`{count} Sessionschritt(e)`,lbl_impact_skills:`{count} Agenten-Skill(s) aktualisiert`,lbl_confirm_action:`Bestätigen`,lbl_cancel_action:`Abbrechen`,lbl_card_saved_toast:`Karte erfolgreich gespeichert!`,lbl_card_removed_toast:`Karte erfolgreich entfernt!`,lbl_card_deleted_toast:`Token erfolgreich gelöscht!`,lbl_error_saving:`Karte konnte nicht gespeichert werden`,lbl_error_loading:`Lerninhalte konnten nicht geladen werden`,lbl_card_status_new:`Neu`,lbl_card_status_learning:`Lernen`,lbl_card_status_review:`Wiederholen`,lbl_card_status_relearning:`Wiederlernen`,lbl_card_status_not_started:`Nicht gestartet`,lbl_card_due:`Fällig`,lbl_card_not_due:`Nicht fällig`,btn_import_curriculum:`Lehrplan importieren`,lbl_import_modal_title:`Lehrplan-Standard importieren`,lbl_import_text:`Lehrplantext`,placeholder_import_text:`Lehrplantext oder Lehrplanpunkte hier einfügen...`,lbl_import_source:`Quell-URL / Referenz`,lbl_import_category:`Zielkategorie`,lbl_import_progress_status:`Karten werden generiert...`,lbl_import_progress_detail:`Dies kann je nach Geschwindigkeit der lokalen KI bis zu einer Minute dauern.`,btn_import_submit:`Importieren`,toast_import_success:`Erfolgreich {createdCount} neue Token importiert und {ensuredCount} Karten sichergestellt!`,lbl_error_importing:`Lehrplan konnte nicht importiert werden`,btn_curriculum_wizard:`Lehrplan-Assistent`,lbl_curriculum_wizard_title:`Lehrplan-Assistent`,wizard_step_country:`Land`,wizard_step_region:`Bundesland`,wizard_step_schoolType:`Schulform`,wizard_step_grade:`Jahrgangsstufe`,wizard_step_subject:`Fach`,wizard_step_track:`Ausprägung`,wizard_step_topic:`Themen`,wizard_btn_back:`Zurück`,wizard_btn_next:`Weiter`,wizard_no_options:`Für diese Auswahl sind noch keine Optionen verfügbar.`,wizard_err_select_option:`Bitte wähle eine Option, um fortzufahren.`,wizard_err_no_topics:`Bitte wähle mindestens ein Thema aus.`,wizard_topic_scope_note:`Die Karten werden aus der vollständigen Lehrplanseite dieses Fachs erstellt (alle Themen). Die präzise Auswahl nur der markierten Themen kommt mit einem künftigen Update — bis dahin hilft dir die Auswahl, den Überblick zu behalten, was als Nächstes drankommt.`,wizard_resume_prompt:`Dort weitermachen, wo du aufgehört hast:`,wizard_btn_resume:`Fortfahren`,wizard_btn_restart:`Neu beginnen`,lbl_curriculum_wizard_loading:`Lädt…`,wizard_hours:`{hours} Std.`,btn_split:`Aufteilen`,lbl_split_modal_title:`Karte aufteilen`,lbl_original_card_title:`Originalkarte (Zusammenfassende Anwendungsfrage)`,lbl_split_original_question:`Frage`,lbl_split_original_concept:`Antwort / Konzept`,lbl_split_action_title:`Nach dem Aufteilen:`,lbl_action_block:`Originalkarte behalten und blockieren (erfordert zuerst neue Karten)`,lbl_action_remove:`Originalkarte entfernen`,lbl_split_progress_status:`Atomare Vorschläge werden generiert...`,lbl_split_progress_detail:`Dies kann je nach Geschwindigkeit der lokalen KI bis zu einer Minute dauern.`,lbl_atomic_proposals_title:`Atomare Kartenvorschläge (Mindestens 2)`,btn_split_modal_submit:`Aufteilung bestätigen`,btn_content_foundations_card:`Fundamente`,lbl_foundations_modal_title:`Fundamente importieren`,lbl_foundations_progress_status:`Fundamentvorschläge werden generiert...`,lbl_foundations_progress_detail:`Dies kann je nach Geschwindigkeit der lokalen KI bis zu einer Minute dauern.`,lbl_foundations_atomic_title:`Fundamentale Kartenvorschläge`,btn_foundations_modal_submit:`Import bestätigen`,lbl_import_source_type:`Quelltyp`,lbl_import_source_uri:`Dateipfad oder URL`,btn_import_source_analyze:`Analysieren`,lbl_source_extracted_preview:`Extrahierte Textvorschau`,lbl_delete:`Löschen`,lbl_proposal_number:`Vorschlag Nr. {n}`,lbl_foundational_proposal_number:`Grundlagen-Vorschlag Nr. {n}`,lbl_foundation_existing_badge:`Bestehende Karte wird verknüpft`,lbl_foundation_new_badge:`Neuer Kartenvorschlag`,lbl_include:`Einschließen`,lbl_err_analyze_source_first:`Bitte zuerst eine Quelldatei, einen Weblink oder einen OCR-Scan analysieren.`,lbl_err_min_split_proposals:`Für das Aufteilen einer Karte sind mindestens 2 vollständige Kartenvorschläge erforderlich.`,lbl_err_select_foundation:`Bitte wähle mindestens eine Grundlagen-Vorschlagskarte zum Importieren aus.`,lbl_err_enter_path_or_url:`Bitte gib einen Dateipfad oder eine URL zur Analyse ein.`,lbl_analyzing_source:`Quellinhalt wird analysiert, bitte warten…`,lbl_err_analysis_failed:`Analyse fehlgeschlagen`,lbl_err_analysis_prefix:`Analysefehler`,lbl_err_concept_required:`Antwort / Lerninhalt ist erforderlich.`,lbl_err_category_required:`Kategorie ist erforderlich.`,lbl_err_import_context_required:`Lehrplantext ist erforderlich.`,lbl_err_original_context_required:`Frage und Antwort sind für die Originalkarte erforderlich.`,settings_context_title:`Wissenskontext`,settings_context_help:`Wähle den Standard-Wissenskontext für dieses Gerät.`,settings_context_label:`Standard-Kontext`,wizard_context_label:`Importierte Karten dem Kontext zuweisen:`},es:{ai_status_offline:`IA desconectada`,ai_status_online:`IA local en línea`,ai_status_cloud_online:`IA en la nube · {model}`,ai_status_cloud_offline:`IA en la nube desconectada · {model}`,ai_status_starting:`Comprobando IA...`,ai_status_model_missing:`IA: modelo no encontrado`,study_question_original:`Original`,study_evaluation_model:`{model}`,nav_dashboard:`Panel`,nav_settings:`Ajustes`,dashboard_kicker:`Hoy en ZAM`,dashboard_title:`Aprende con intención.`,dashboard_subtitle:`Repasa lo que toca, abre tu mapa de conocimiento o configura la IA local y los espacios de trabajo en Ajustes.`,lbl_due_reviews:`Repasos pendientes`,lbl_caught_up:`¡Estás al día!`,dashboard_error:`No se pudieron cargar tus datos`,lbl_domains:`Dominios activos`,btn_start_session:`Iniciar sesión de aprendizaje`,lbl_translating:`Traduciendo dinámicamente...`,placeholder_answer:`Escribe aquí tu respuesta conceptual... (Ctrl+Intro para enviar)`,btn_reveal_answer:`Enviar y mostrar respuesta`,lbl_ai_evaluating:`Revisando tu respuesta y generando comentarios...`,lbl_ai_working:`(Esto puede tardar un momento.)`,lbl_wait_warn:`⚠ La evaluación está tardando más de lo esperado.`,btn_wait_keep:`Seguir esperando`,btn_wait_skip:`Omitir sin conexión`,lbl_question_wait_warn:`⚠ La generación de la pregunta está tardando más de lo esperado.`,btn_question_use_saved:`Usar pregunta guardada`,lbl_ai_feedback_title:`Comentarios de ZAM`,lbl_reveal_title:`Respuesta de referencia`,lbl_rating_instruction:`Califica tu recuerdo activo con honestidad:`,lbl_rate_1:`Otra vez`,lbl_rate_2:`Difícil`,lbl_rate_3:`Bien`,lbl_rate_4:`Fácil`,btn_recall_reveal:`Mostrar`,btn_recall_check:`Comprobar respuesta`,btn_recall_finish:`Finalizar sesión`,lbl_recall_focus:`Enfoque: {domain}`,lbl_recall_summary:`{done} de {total} revisadas`,lbl_recall_summary_title:`Resumen de la sesión`,lbl_recall_empty_title:`Nada pendiente`,btn_pause_session:`Pausar y salir de la sesión`,lbl_generating_question:`Generando pregunta dinámica...`,token:`Token`,concept:`Concepto`,context:`Contexto`,source:`Referencia de origen`,bloom_level:`Nivel Bloom`,rating_again_shortcut:`(Atajo: 1)`,rating_hard_shortcut:`(Atajo: 2)`,rating_good_shortcut:`(Atajo: 3)`,rating_easy_shortcut:`(Atajo: 4)`,session_completed:`¡Sesión de aprendizaje completada!`,session_completed_sub:`¡Buen trabajo al completar esta sesión! Tus trazas de memoria se han actualizado.`,btn_back_to_dashboard:`Volver al panel`,btn_open_graph:`Mapa de conocimiento (3D)`,btn_open_settings:`Ajustes`,observer_title:`Observador de IU`,observer_idle:`Carga las ventanas y elige una ventana de aplicación para observar.`,observer_loading:`Cargando ventanas observables...`,observer_ready:`Seleccionada: {title}`,observer_vision_checking:`Comprobando los ajustes de observación por visión...`,observer_analyzing:`Capturando una instantánea y consultando al modelo de visión...`,observer_done:`Observación guardada. Confianza del último informe: {confidence}`,observer_canceled:`Observación cancelada.`,observer_error:`Error del observador: {message}`,observer_vision_disabled:`La observación por visión está desactivada. Actívala con: zam settings set llm.vision.enabled true`,observer_vision_offline:`El punto de conexión de visión está fuera de línea: {url}`,observer_vision_model_missing:`El modelo de visión no está disponible: {model}`,observer_privacy_paused:`Pausa de privacidad: el filtro de privacidad bloquea esta ventana ({reason}).`,observer_privacy_option:`pausa de privacidad`,observer_refresh:`Cargar ventanas`,observer_analyze:`Instantánea y análisis`,observer_cancel:`Cancelar`,observer_empty:`No se encontraron ventanas observables.`,observer_select_initial:`Aún no hay ventanas cargadas`,observer_select_placeholder:`Selecciona una ventana`,observer_history_title:`Informes de observación`,observer_history_refresh:`Actualizar informes`,observer_history_empty:`Aún no hay informes de observación.`,observer_history_loaded:`Se cargaron {count} informe(s) de observación.`,observer_loop_start:`Iniciar bucle`,observer_loop_stop:`Detener bucle`,observer_loop_idle:`Solo instantáneas manuales.`,observer_loop_running:`Bucle del observador en marcha. Una instantánea cada vez.`,observer_loop_waiting:`Bucle del observador en marcha. Próxima instantánea en {seconds}s.`,observer_loop_stopped:`Bucle del observador detenido.`,observer_watch_start:`Iniciar vigilancia`,observer_watch_stop:`Detener vigilancia`,observer_watch_idle:`La vigilancia continua está desactivada.`,observer_watch_starting:`Iniciando vigilancia continua...`,observer_watch_running:`Vigilando {title} — {count} evento(s).`,observer_watch_stopping:`Deteniendo vigilancia continua...`,observer_watch_stopped:`Vigilancia continua detenida.`,observer_watch_error:`Error de vigilancia: {message}`,graph_title:`Grafo de conocimiento (3D)`,graph_hint:`Arrastra para rotar • Clic en los nodos para enfocar • Desplázate para hacer zoom`,graph_focus:`Enfoque`,graph_prereqs:`Bases (requisitos previos)`,graph_dependents:`Capacidades superiores (dependientes)`,graph_no_card:`aún sin tarjeta personal`,graph_refresh:`Actualizar`,graph_domain_token_list_title:`Todos los tokens de este dominio`,setup_title:`Configuración y datos`,settings_kicker:`Configuración local`,settings_title:`Ajustes`,settings_subtitle:`Configura este equipo sin imponer las mismas decisiones a cada espacio de trabajo o dispositivo.`,settings_back:`Volver al panel`,settings_system_title:`Sistema`,settings_ai_title:`Modelos de IA`,settings_workspace_title:`Espacios de trabajo`,workspaces_help:`Registra directorios de trabajo personales, de equipo, familiares o de comunidad para este equipo.`,settings_appearance_title:`Apariencia`,settings_data_title:`Datos`,settings_database:`Base de datos`,settings_learning_profile:`Perfil de aprendizaje`,database_checking:`Comprobando…`,database_status_local:`SQLite local · conectado`,database_status_turso:`Turso · conectado`,database_status_error:`Conexión no disponible`,database_detail:`{location} · perfil {profile} · {count} tarjetas`,database_no_profile:`Sin perfil activo`,database_profile_option:`{profile} — {count} tarjetas`,database_profile_switch_confirm:`¿Cambiar el perfil de aprendizaje activo a «{profile}»?`,database_profile_switched:`Perfil activo: {profile} ({count} tarjetas)`,database_refresh:`Actualizar estado`,settings_theme:`Tema`,theme_light:`Claro`,theme_dark:`Oscuro`,btn_open_data_folder:`Abrir carpeta de datos`,btn_backup_db:`Hacer copia de la base de datos`,setup_backing_up:`Haciendo copia de la base de datos…`,setup_backed_up:`Copia guardada en {path}`,setup_remote_no_backup:`Tu base de datos se sincroniza con la nube ({target}); no hace falta una copia local aparte.`,setup_backup_failed:`La copia falló: {message}`,setup_backup_failed_generic:`La copia falló.`,setup_open_folder_failed:`No se pudo abrir la carpeta de datos: {message}`,lbl_workspace:`Espacio de trabajo`,btn_choose_workspace:`+ Añadir espacio de trabajo…`,btn_open_terminal:`Abrir terminal`,terminal_opening:`Abriendo terminal...`,terminal_opened:`Terminal abierta en {workspace}`,terminal_open_failed:`No se pudo abrir la terminal: {message}`,workspace_active:`activo`,workspace_default_label:`Espacio de trabajo predeterminado`,workspace_empty:`Aún no hay ningún espacio de trabajo registrado.`,workspace_kind:`Espacio de trabajo {kind}`,workspace_kind_personal:`Espacio de trabajo personal`,workspace_kind_team:`Espacio de trabajo de equipo`,workspace_kind_family:`Espacio de trabajo familiar`,workspace_kind_community:`Espacio de trabajo de comunidad`,workspace_kind_organization:`Espacio de trabajo de organización`,workspace_kind_custom:`Espacio de trabajo personalizado`,workspace_more:`{count} espacio(s) de trabajo más ocultos. Usa la CLI para ver la lista completa.`,workspace_use:`Usar`,workspace_open:`Terminal`,workspace_default_suffix:`(predeterminado)`,workspace_set:`Espacio de trabajo establecido en {path}`,workspace_added:`Espacio de trabajo añadido: {path}`,workspace_pick_failed:`No se pudo establecer el espacio de trabajo: {message}`,workspace_remove:`Quitar`,workspace_remove_confirm:`¿Quitar "{label}" de ZAM? Los archivos y enlaces de la carpeta permanecerán sin cambios.`,workspace_removed:`Espacio de trabajo quitado: {label}`,workspace_remove_failed:`No se pudo quitar el espacio de trabajo: {message}`,workspace_link_ok:`Enlace de skill correcto`,workspace_link_broken:`Enlace de skill roto`,workspace_link_unmanaged:`Carpeta de skill externa`,workspace_repair:`Reparar enlace de skill`,workspace_repair_confirm:`La carpeta de "{label}" contiene un directorio skills/zam que ZAM no creó. Reparar lo elimina y lo reemplaza por un enlace. ¿Continuar?`,workspace_repairing:`Reparando enlace de skill…`,workspace_repaired:`Enlace de skill reparado: {label}`,workspace_repair_failed:`No se pudo reparar el enlace de skill: {message}`,lbl_app_version:`Versión`,lbl_learning_model:`Modelo de aprendizaje`,lbl_observer_model:`Modelo del observador`,provider_ready:`listo`,provider_disabled:`desactivado`,provider_offline:`sin conexión`,provider_model_missing:`falta el modelo`,provider_unsupported:`proveedor no compatible`,provider_local:`local`,provider_cloud:`nube`,provider_unknown:`desconocido`,btn_ai_config_open:`Configurar`,btn_ai_config_close:`Cerrar`,btn_add_ai_provider:`+ Añadir proveedor`,ai_config_loading:`Cargando la configuración del proveedor...`,ai_config_failed:`No se pudo cargar la configuración del proveedor: {message}`,ai_provider_empty:`Aún no hay proveedores configurados.`,ai_provider_section_local:`Local`,ai_provider_section_cloud:`Nube`,ai_provider_kind:`Tipo de proveedor`,ai_provider_kind_local:`Local`,ai_provider_kind_cloud:`Nube`,ai_provider_local_badge:`local`,ai_provider_cloud_badge:`nube`,ai_provider_key_set:`clave definida`,ai_provider_key_missing:`falta la clave`,ai_provider_key_none:`sin clave`,ai_provider_edit:`Editar`,ai_provider_remove:`Quitar`,ai_provider_remove_confirm:`¿Quitar el proveedor "{name}"?`,ai_provider_removed:`Proveedor "{name}" quitado`,ai_provider_saved:`Proveedor "{name}" guardado`,ai_provider_save_failed:`No se pudo guardar el proveedor: {message}`,ai_provider_form_add_title:`Añadir proveedor`,ai_provider_form_edit_title:`Editar proveedor`,ai_provider_display_name:`Nombre`,ai_provider_url:`URL`,ai_provider_model:`Modelo`,ai_provider_model_local_hint:`Escribe el nombre del modelo. Si el punto de conexión lista modelos, puedes elegir uno abajo.`,ai_provider_models_pick:`Elegir del punto de conexión`,ai_provider_flavor:`Variante de API`,ai_provider_local:`Se ejecuta en este equipo`,ai_provider_local_hint:`Los servidores de modelos locales (FastFlowLM, Ollama, …) normalmente no necesitan clave de API. ZAM puede intentar iniciar el servidor automáticamente.`,ai_provider_cloud_hint_key:`Las API en la nube necesitan una clave de API. Los proveedores locales no usan el campo de clave.`,ai_provider_runner:`Servidor de modelo local`,ai_provider_runner_hint:`El programa que sirve el modelo en este PC, no tu agente de programación.`,ai_provider_runner_auto:`Detección automática`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`no detectado`,ai_provider_api_key:`Clave de API`,ai_provider_api_key_hint:`Solo escritura — se guarda localmente, nunca se sincroniza`,ai_provider_cloud_hint:`Modelo sugerido: {model}`,ai_provider_models_loading:`Cargando modelos...`,ai_provider_models_empty:`El punto de conexión no lista modelos`,btn_ai_provider_save:`Guardar`,btn_ai_provider_cancel:`Cancelar`,ai_role_bindings_title:`Asignación de roles`,ai_role_recall:`Aprendizaje (recuerdo)`,ai_role_vision:`Observador (visión)`,ai_role_primary:`Principal`,ai_role_fallback:`Alternativo`,ai_role_none:`(ninguno)`,btn_ai_role_apply:`Aplicar`,ai_role_bound:`Rol {role} actualizado`,ai_role_bind_failed:`No se pudo asignar el rol: {message}`,ai_recall_anthropic_warn:`Los proveedores de Anthropic Messages aún no son compatibles con las sesiones de aprendizaje. ¿Asignar de todos modos?`,ai_vision_cloud_confirm:`Se enviarán capturas de pantalla a {endpoint}. ¿Activar la observación por visión y asignar este proveedor de nube?`,ai_provider_referenced:`Aún en uso por: {roles}`,btn_check_updates:`Buscar actualizaciones`,btn_open_releases:`Versiones`,version_unknown:`desconocida`,update_checking:`Buscando actualizaciones...`,update_available:`Actualización disponible: {version}`,update_none:`Tienes la versión más reciente.`,update_failed:`La búsqueda de actualizaciones falló: {message}`,release_link_failed:`No se pudieron abrir las versiones: {message}`,nav_content:`Contenido`,content_title:`Estudio de Contenido`,content_subtitle:`Gestiona tus tarjetas personales, busca tokens y mejora las preguntas de recuerdo activo.`,btn_new_card:`Nueva tarjeta`,lbl_search_placeholder:`Buscar preguntas, respuestas, categorías...`,lbl_category_filter:`Categoría`,lbl_all_categories:`Todas las categorías`,lbl_all_contexts:`Todos los contextos`,lbl_no_context_default:`Sin contexto predeterminado`,lbl_no_context_assignment:`Sin asignación de contexto`,lbl_empty_content:`No se encontraron tarjetas. ¡Crea tu primera tarjeta!`,lbl_empty_content_btn:`Crear primera tarjeta`,lbl_question:`Pregunta`,lbl_answer:`Respuesta / Concepto`,lbl_category:`Categoría`,lbl_source_link:`Enlace de origen`,lbl_more_settings:`Más ajustes`,lbl_context:`Contexto`,lbl_bloom_level:`Nivel Bloom`,lbl_symbiosis_mode:`Modo de simbiosis`,lbl_slug:`Clave técnica (Slug)`,lbl_slug_hint:`Generada automáticamente tras crear`,btn_save:`Guardar tarjeta`,btn_remove:`Eliminar tarjeta`,btn_delete:`Borrar token global`,lbl_confirm_remove_title:`Confirmar eliminación`,lbl_confirm_remove_desc:`Esto borrará tu estado y registro de FSRS personal. El token global no se verá afectado.`,lbl_confirm_delete_title:`Confirmar borrado global`,lbl_confirm_delete_desc:`Esto borrará permanentemente el concepto y todas las tarjetas de todos los usuarios.`,lbl_delete_impact:`Esta acción afecta:`,lbl_impact_cards:`{count} tarjeta(s)`,lbl_impact_reviews:`{count} registro(s) de repaso`,lbl_impact_steps:`{count} paso(s) de sesión`,lbl_impact_skills:`{count} habilidades de agente actualizadas`,lbl_confirm_action:`Confirmar`,lbl_cancel_action:`Cancelar`,lbl_card_saved_toast:`¡Tarjeta guardada!`,lbl_card_removed_toast:`¡Tarjeta eliminada!`,lbl_card_deleted_toast:`¡Token borrado!`,lbl_error_saving:`Error al guardar`,lbl_error_loading:`Error al cargar contenido`,lbl_card_status_new:`Nueva`,lbl_card_status_learning:`Aprendizaje`,lbl_card_status_review:`Repaso`,lbl_card_status_relearning:`Reaprendizaje`,lbl_card_status_not_started:`No iniciado`,lbl_card_due:`Vence`,lbl_card_not_due:`No vence`,btn_import_curriculum:`Importar currículo`,lbl_import_modal_title:`Importar estándar de currículo`,lbl_import_text:`Texto del currículo`,placeholder_import_text:`Pegue el texto del currículo o viñetas del plan de estudios aquí...`,lbl_import_source:`URL de origen / Referencia`,lbl_import_category:`Categoría de destino`,lbl_import_progress_status:`Generando tarjetas...`,lbl_import_progress_detail:`Esto puede tardar hasta un minuto dependiendo de la velocidad de su IA local.`,btn_import_submit:`Importar`,toast_import_success:`¡Se importaron correctamente {createdCount} nuevos tokens y se aseguraron {ensuredCount} tarjetas!`,lbl_error_importing:`Error al importar el currículo`,btn_curriculum_wizard:`Asistente de plan de estudios`,lbl_curriculum_wizard_title:`Asistente de plan de estudios`,wizard_step_country:`País`,wizard_step_region:`Región`,wizard_step_schoolType:`Tipo de escuela`,wizard_step_grade:`Curso`,wizard_step_subject:`Asignatura`,wizard_step_track:`Modalidad`,wizard_step_topic:`Temas`,wizard_btn_back:`Atrás`,wizard_btn_next:`Siguiente`,wizard_no_options:`Aún no hay opciones disponibles para esta selección.`,wizard_err_select_option:`Selecciona una opción para continuar.`,wizard_err_no_topics:`Selecciona al menos un tema.`,wizard_topic_scope_note:`Las tarjetas se generan a partir de la página completa del plan de estudios de esta asignatura (todos sus temas). La importación precisa por tema llegará en una futura actualización; por ahora, la selección de temas te ayuda a hacer seguimiento de lo que hay que cubrir a continuación.`,wizard_resume_prompt:`Continuar donde lo dejaste:`,wizard_btn_resume:`Continuar`,wizard_btn_restart:`Empezar de nuevo`,lbl_curriculum_wizard_loading:`Cargando…`,wizard_hours:`{hours} h`,btn_split:`Dividir`,lbl_split_modal_title:`Dividir tarjeta`,lbl_original_card_title:`Tarjeta original (Pregunta de aplicación resumida)`,lbl_split_original_question:`Pregunta`,lbl_split_original_concept:`Respuesta / Concepto`,lbl_split_action_title:`Después de completar la división:`,lbl_action_block:`Conservar la tarjeta original y bloquearla (requiere nuevas tarjetas primero)`,lbl_action_remove:`Eliminar la tarjeta original`,lbl_split_progress_status:`Generando propuestas atómicas...`,lbl_split_progress_detail:`Esto puede tardar hasta un minuto dependiendo de la velocidad de su IA local.`,lbl_atomic_proposals_title:`Propuestas de tarjetas atómicas (Mínimo 2)`,btn_split_modal_submit:`Confirmar división`,btn_content_foundations_card:`Fundamentos`,lbl_foundations_modal_title:`Importar fundamentos`,lbl_foundations_progress_status:`Generando propuestas fundamentales...`,lbl_foundations_progress_detail:`Esto puede tardar hasta un minuto dependiendo de la velocidad de su IA local.`,lbl_foundations_atomic_title:`Propuestas de tarjetas fundamentales`,btn_foundations_modal_submit:`Confirmar importación`,lbl_import_source_type:`Tipo de origen`,lbl_import_source_uri:`Ruta del archivo o URL`,btn_import_source_analyze:`Analizar`,lbl_source_extracted_preview:`Vista previa del texto extraído`,lbl_delete:`Eliminar`,lbl_proposal_number:`Propuesta n.º {n}`,lbl_foundational_proposal_number:`Propuesta fundamental n.º {n}`,lbl_foundation_existing_badge:`Se vinculará la tarjeta existente`,lbl_foundation_new_badge:`Sugerencia de nueva tarjeta`,lbl_include:`Incluir`,lbl_err_analyze_source_first:`Primero analiza un archivo de origen, un enlace web o un escaneo OCR.`,lbl_err_min_split_proposals:`Se requieren al menos 2 propuestas de tarjeta completas para dividir una tarjeta.`,lbl_err_select_foundation:`Selecciona al menos una tarjeta de propuesta de prerrequisito para importar.`,lbl_err_enter_path_or_url:`Introduce una ruta de archivo o URL para analizar.`,lbl_analyzing_source:`Analizando el contenido de la fuente, espera…`,lbl_err_analysis_failed:`Error en el análisis`,lbl_err_analysis_prefix:`Error de análisis`,lbl_err_concept_required:`La respuesta o el concepto es obligatorio.`,lbl_err_category_required:`La categoría es obligatoria.`,lbl_err_import_context_required:`El texto del plan de estudios es obligatorio.`,lbl_err_original_context_required:`La pregunta y la respuesta son obligatorias para la tarjeta original.`,settings_context_title:`Contexto de conocimiento`,settings_context_help:`Selecciona el contexto de conocimiento predeterminado para este dispositivo.`,settings_context_label:`Contexto predeterminado`,wizard_context_label:`Asignar tarjetas importadas al contexto:`},fr:{ai_status_offline:`IA hors ligne`,ai_status_online:`IA locale en ligne`,ai_status_cloud_online:`IA cloud · {model}`,ai_status_cloud_offline:`IA cloud hors ligne · {model}`,ai_status_starting:`Vérification de l'IA...`,ai_status_model_missing:`IA : modèle introuvable`,study_question_original:`Original`,study_evaluation_model:`{model}`,nav_dashboard:`Tableau de bord`,nav_settings:`Paramètres`,dashboard_kicker:`Aujourd'hui dans ZAM`,dashboard_title:`Apprenez délibérément.`,dashboard_subtitle:`Révisez ce qui est dû, ouvrez votre carte des connaissances ou configurez l'IA locale et les espaces de travail dans les Paramètres.`,lbl_due_reviews:`Révisions dues`,lbl_caught_up:`Vous êtes à jour !`,dashboard_error:`Impossible de charger vos données`,lbl_domains:`Domaines actifs`,btn_start_session:`Démarrer la session d'apprentissage`,lbl_translating:`Traduction dynamique...`,placeholder_answer:`Saisissez ici votre réponse conceptuelle... (Ctrl+Entrée pour envoyer)`,btn_reveal_answer:`Envoyer et révéler la réponse`,lbl_ai_evaluating:`Analyse de votre réponse et génération du retour...`,lbl_ai_working:`(Cela peut prendre un moment.)`,lbl_wait_warn:`⚠ L'évaluation prend plus de temps que prévu.`,btn_wait_keep:`Continuer à attendre`,btn_wait_skip:`Ignorer hors ligne`,lbl_question_wait_warn:`⚠ La génération de la question prend plus de temps que prévu.`,btn_question_use_saved:`Utiliser la question enregistrée`,lbl_ai_feedback_title:`Retour de ZAM`,lbl_reveal_title:`Réponse de référence`,lbl_rating_instruction:`Évaluez honnêtement votre rappel actif :`,lbl_rate_1:`À revoir`,lbl_rate_2:`Difficile`,lbl_rate_3:`Bien`,lbl_rate_4:`Facile`,btn_recall_reveal:`Révéler`,btn_recall_check:`Vérifier la réponse`,btn_recall_finish:`Terminer la session`,lbl_recall_focus:`Focus : {domain}`,lbl_recall_summary:`{done} sur {total} révisées`,lbl_recall_summary_title:`Résumé de la session`,lbl_recall_empty_title:`Rien à réviser`,btn_pause_session:`Mettre en pause et quitter`,lbl_generating_question:`Génération d'une question dynamique...`,token:`Token`,concept:`Concept`,context:`Contexte`,source:`Référence source`,bloom_level:`Niveau Bloom`,rating_again_shortcut:`(Raccourci : 1)`,rating_hard_shortcut:`(Raccourci : 2)`,rating_good_shortcut:`(Raccourci : 3)`,rating_easy_shortcut:`(Raccourci : 4)`,session_completed:`Session d'apprentissage terminée !`,session_completed_sub:`Bravo d'avoir terminé cette session ! Vos traces mémorielles ont été mises à jour.`,btn_back_to_dashboard:`Retour au tableau de bord`,btn_open_graph:`Carte des connaissances (3D)`,btn_open_settings:`Paramètres`,observer_title:`Observateur d'IU`,observer_idle:`Chargez les fenêtres et choisissez une fenêtre d'application à observer.`,observer_loading:`Chargement des fenêtres observables...`,observer_ready:`Sélectionnée : {title}`,observer_vision_checking:`Vérification des paramètres d'observation visuelle...`,observer_analyzing:`Capture d'un instantané et interrogation du modèle de vision...`,observer_done:`Observation enregistrée. Confiance du dernier rapport : {confidence}`,observer_canceled:`Observation annulée.`,observer_error:`Erreur de l'observateur : {message}`,observer_vision_disabled:`L'observation visuelle est désactivée. Activez-la avec : zam settings set llm.vision.enabled true`,observer_vision_offline:`Le point de terminaison de vision est hors ligne : {url}`,observer_vision_model_missing:`Le modèle de vision n'est pas disponible : {model}`,observer_privacy_paused:`Pause de confidentialité : cette fenêtre est bloquée par le filtre de confidentialité ({reason}).`,observer_privacy_option:`pause de confidentialité`,observer_refresh:`Charger les fenêtres`,observer_analyze:`Instantané et analyse`,observer_cancel:`Annuler`,observer_empty:`Aucune fenêtre observable trouvée.`,observer_select_initial:`Aucune fenêtre chargée pour l'instant`,observer_select_placeholder:`Sélectionnez une fenêtre`,observer_history_title:`Rapports d'observation`,observer_history_refresh:`Actualiser les rapports`,observer_history_empty:`Aucun rapport d'observation pour l'instant.`,observer_history_loaded:`{count} rapport(s) d'observation chargé(s).`,observer_loop_start:`Démarrer la boucle`,observer_loop_stop:`Arrêter la boucle`,observer_loop_idle:`Instantanés manuels uniquement.`,observer_loop_running:`Boucle de l'observateur en cours. Un instantané à la fois.`,observer_loop_waiting:`Boucle de l'observateur en cours. Prochain instantané dans {seconds} s.`,observer_loop_stopped:`Boucle de l'observateur arrêtée.`,observer_watch_start:`Démarrer la surveillance`,observer_watch_stop:`Arrêter la surveillance`,observer_watch_idle:`La surveillance continue est désactivée.`,observer_watch_starting:`Démarrage de la surveillance continue...`,observer_watch_running:`Surveillance de {title} — {count} événement(s).`,observer_watch_stopping:`Arrêt de la surveillance continue...`,observer_watch_stopped:`Surveillance continue arrêtée.`,observer_watch_error:`Erreur de surveillance : {message}`,graph_title:`Graphe de connaissances (3D)`,graph_hint:`Glissez pour pivoter • Cliquez sur les nœuds pour cibler • Défilez pour zoomer`,graph_focus:`Cible`,graph_prereqs:`Bases (prérequis)`,graph_dependents:`Compétences supérieures (dépendantes)`,graph_no_card:`pas encore de carte personnelle`,graph_refresh:`Actualiser`,graph_domain_token_list_title:`Tous les tokens de ce domaine`,setup_title:`Configuration et données`,settings_kicker:`Configuration locale`,settings_title:`Paramètres`,settings_subtitle:`Configurez cette machine sans imposer les mêmes choix à chaque espace de travail ou appareil.`,settings_back:`Retour au tableau de bord`,settings_system_title:`Système`,settings_ai_title:`Modèles d'IA`,settings_workspace_title:`Espaces de travail`,workspaces_help:`Enregistrez des répertoires de travail personnels, d'équipe, familiaux ou communautaires pour cette machine.`,settings_appearance_title:`Apparence`,settings_data_title:`Données`,settings_database:`Base de données`,settings_learning_profile:`Profil d’apprentissage`,database_checking:`Vérification…`,database_status_local:`SQLite local · connecté`,database_status_turso:`Turso · connecté`,database_status_error:`Connexion indisponible`,database_detail:`{location} · profil {profile} · {count} cartes`,database_no_profile:`Aucun profil actif`,database_profile_option:`{profile} — {count} cartes`,database_profile_switch_confirm:`Passer au profil d’apprentissage « {profile} » ?`,database_profile_switched:`Profil actif : {profile} ({count} cartes)`,database_refresh:`Actualiser l’état`,settings_theme:`Thème`,theme_light:`Clair`,theme_dark:`Sombre`,btn_open_data_folder:`Ouvrir le dossier de données`,btn_backup_db:`Sauvegarder la base de données`,setup_backing_up:`Sauvegarde de la base de données…`,setup_backed_up:`Sauvegardé dans {path}`,setup_remote_no_backup:`Votre base de données se synchronise avec le cloud ({target}) — aucune sauvegarde locale séparée n'est nécessaire.`,setup_backup_failed:`Échec de la sauvegarde : {message}`,setup_backup_failed_generic:`Échec de la sauvegarde.`,setup_open_folder_failed:`Impossible d'ouvrir le dossier de données : {message}`,lbl_workspace:`Espace de travail`,btn_choose_workspace:`+ Ajouter un espace de travail…`,btn_open_terminal:`Ouvrir le terminal`,terminal_opening:`Ouverture du terminal...`,terminal_opened:`Terminal ouvert dans {workspace}`,terminal_open_failed:`Impossible d'ouvrir le terminal : {message}`,workspace_active:`actif`,workspace_default_label:`Espace de travail par défaut`,workspace_empty:`Aucun espace de travail enregistré pour l'instant.`,workspace_kind:`Espace de travail {kind}`,workspace_kind_personal:`Espace de travail personnel`,workspace_kind_team:`Espace de travail d'équipe`,workspace_kind_family:`Espace de travail familial`,workspace_kind_community:`Espace de travail communautaire`,workspace_kind_organization:`Espace de travail d'organisation`,workspace_kind_custom:`Espace de travail personnalisé`,workspace_more:`{count} espace(s) de travail masqué(s). Utilisez la CLI pour la liste complète.`,workspace_use:`Utiliser`,workspace_open:`Terminal`,workspace_default_suffix:`(par défaut)`,workspace_set:`Espace de travail défini sur {path}`,workspace_added:`Espace de travail ajouté : {path}`,workspace_pick_failed:`Impossible de définir l'espace de travail : {message}`,workspace_remove:`Retirer`,workspace_remove_confirm:`Retirer « {label} » de ZAM ? Les fichiers et liens du dossier resteront inchangés.`,workspace_removed:`Espace de travail retiré : {label}`,workspace_remove_failed:`Impossible de retirer l'espace de travail : {message}`,workspace_link_ok:`Lien de skill OK`,workspace_link_broken:`Lien de skill rompu`,workspace_link_unmanaged:`Dossier de skill externe`,workspace_repair:`Réparer le lien de skill`,workspace_repair_confirm:`Le dossier de « {label} » contient un répertoire skills/zam que ZAM n'a pas créé. La réparation le supprime et le remplace par un lien. Continuer ?`,workspace_repairing:`Réparation du lien de skill…`,workspace_repaired:`Lien de skill réparé : {label}`,workspace_repair_failed:`Impossible de réparer le lien de skill : {message}`,lbl_app_version:`Version`,lbl_learning_model:`Modèle d'apprentissage`,lbl_observer_model:`Modèle de l'observateur`,provider_ready:`prêt`,provider_disabled:`désactivé`,provider_offline:`hors ligne`,provider_model_missing:`modèle manquant`,provider_unsupported:`fournisseur non pris en charge`,provider_local:`local`,provider_cloud:`cloud`,provider_unknown:`inconnu`,btn_ai_config_open:`Configurer`,btn_ai_config_close:`Fermer`,btn_add_ai_provider:`+ Ajouter un fournisseur`,ai_config_loading:`Chargement de la configuration du fournisseur...`,ai_config_failed:`Impossible de charger la configuration du fournisseur : {message}`,ai_provider_empty:`Aucun fournisseur configuré pour l'instant.`,ai_provider_section_local:`Local`,ai_provider_section_cloud:`Cloud`,ai_provider_kind:`Type de fournisseur`,ai_provider_kind_local:`Local`,ai_provider_kind_cloud:`Cloud`,ai_provider_local_badge:`local`,ai_provider_cloud_badge:`cloud`,ai_provider_key_set:`clé définie`,ai_provider_key_missing:`clé manquante`,ai_provider_key_none:`pas de clé`,ai_provider_edit:`Modifier`,ai_provider_remove:`Retirer`,ai_provider_remove_confirm:`Retirer le fournisseur « {name} » ?`,ai_provider_removed:`Fournisseur « {name} » retiré`,ai_provider_saved:`Fournisseur « {name} » enregistré`,ai_provider_save_failed:`Impossible d'enregistrer le fournisseur : {message}`,ai_provider_form_add_title:`Ajouter un fournisseur`,ai_provider_form_edit_title:`Modifier le fournisseur`,ai_provider_display_name:`Nom`,ai_provider_url:`URL`,ai_provider_model:`Modèle`,ai_provider_model_local_hint:`Saisissez le nom du modèle. Si le point de terminaison liste des modèles, vous pouvez en choisir un ci-dessous.`,ai_provider_models_pick:`Choisir depuis le point de terminaison`,ai_provider_flavor:`Variante d'API`,ai_provider_local:`S'exécute sur cet ordinateur`,ai_provider_local_hint:`Les serveurs de modèles locaux (FastFlowLM, Ollama, …) n'ont généralement pas besoin de clé d'API. ZAM peut tenter de démarrer le serveur automatiquement.`,ai_provider_cloud_hint_key:`Les API cloud nécessitent une clé d'API. Les fournisseurs locaux n'utilisent pas le champ de clé.`,ai_provider_runner:`Serveur de modèle local`,ai_provider_runner_hint:`Le programme qui sert le modèle sur ce PC — pas votre agent de codage.`,ai_provider_runner_auto:`Détection automatique`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`non détecté`,ai_provider_api_key:`Clé d'API`,ai_provider_api_key_hint:`En écriture seule — stockée localement, jamais synchronisée`,ai_provider_cloud_hint:`Modèle suggéré : {model}`,ai_provider_models_loading:`Chargement des modèles...`,ai_provider_models_empty:`Aucun modèle listé par le point de terminaison`,btn_ai_provider_save:`Enregistrer`,btn_ai_provider_cancel:`Annuler`,ai_role_bindings_title:`Affectation des rôles`,ai_role_recall:`Apprentissage (rappel)`,ai_role_vision:`Observateur (vision)`,ai_role_primary:`Principal`,ai_role_fallback:`Secours`,ai_role_none:`(aucun)`,btn_ai_role_apply:`Appliquer`,ai_role_bound:`Rôle {role} mis à jour`,ai_role_bind_failed:`Impossible d'affecter le rôle : {message}`,ai_recall_anthropic_warn:`Les fournisseurs Anthropic Messages ne sont pas encore pris en charge pour les sessions d'apprentissage. Affecter quand même ?`,ai_vision_cloud_confirm:`Des captures d'écran seront envoyées à {endpoint}. Activer l'observation visuelle et affecter ce fournisseur cloud ?`,ai_provider_referenced:`Encore utilisé par : {roles}`,btn_check_updates:`Rechercher des mises à jour`,btn_open_releases:`Versions`,version_unknown:`inconnue`,update_checking:`Recherche de mises à jour...`,update_available:`Mise à jour disponible : {version}`,update_none:`Vous utilisez la version la plus récente.`,update_failed:`Échec de la recherche de mises à jour : {message}`,release_link_failed:`Impossible d'ouvrir les versions : {message}`,nav_content:`Contenu`,content_title:`Studio de Contenu`,content_subtitle:`Gérez vos cartes personnelles, recherchez des tokens et affinez les questions de rappel actif.`,btn_new_card:`Nouvelle carte`,lbl_search_placeholder:`Rechercher des questions, réponses, catégories...`,lbl_category_filter:`Catégorie`,lbl_all_categories:`Toutes les catégories`,lbl_all_contexts:`Tous les contextes`,lbl_no_context_default:`Aucun contexte par défaut`,lbl_no_context_assignment:`Aucune affectation de contexte`,lbl_empty_content:`Aucune carte trouvée. Créez votre première carte !`,lbl_empty_content_btn:`Créer la première carte`,lbl_question:`Question`,lbl_answer:`Réponse / Concept`,lbl_category:`Catégorie`,lbl_source_link:`Lien source`,lbl_more_settings:`Plus de paramètres`,lbl_context:`Contexte`,lbl_bloom_level:`Niveau Bloom`,lbl_symbiosis_mode:`Mode de symbiose`,lbl_slug:`Clé technique (Slug)`,lbl_slug_hint:`Générée automatiquement après création`,btn_save:`Enregistrer la carte`,btn_remove:`Supprimer la carte`,btn_delete:`Supprimer le token global`,lbl_confirm_remove_title:`Confirmer la suppression`,lbl_confirm_remove_desc:`Cela effacera votre état FSRS personnel. Le token global ne sera pas affecté.`,lbl_confirm_delete_title:`Confirmer la suppression globale`,lbl_confirm_delete_desc:`Cela supprimera définitivement le concept et toutes les cartes de tous les utilisateurs.`,lbl_delete_impact:`Cette action affecte :`,lbl_impact_cards:`{count} carte(s)`,lbl_impact_reviews:`{count} journal(journaux) de révision`,lbl_impact_steps:`{count} étape(s) de session`,lbl_impact_skills:`{count} compétences d'agent mises à jour`,lbl_confirm_action:`Confirmer`,lbl_cancel_action:`Annuler`,lbl_card_saved_toast:`Carte enregistrée !`,lbl_card_removed_toast:`Carte supprimée !`,lbl_card_deleted_toast:`Token supprimé !`,lbl_error_saving:`Échec de l'enregistrement`,lbl_error_loading:`Échec du chargement du contenu`,lbl_card_status_new:`Nouveau`,lbl_card_status_learning:`Apprentissage`,lbl_card_status_review:`Révision`,lbl_card_status_relearning:`Réapprentissage`,lbl_card_status_not_started:`Non démarré`,lbl_card_due:`Dû`,lbl_card_not_due:`Non dû`,btn_import_curriculum:`Importer le programme`,lbl_import_modal_title:`Importer la norme de programme`,lbl_import_text:`Texte du programme`,placeholder_import_text:`Collez le texte du programme ou les puces du syllabus ici...`,lbl_import_source:`URL source / Référence`,lbl_import_category:`Catégorie cible`,lbl_import_progress_status:`Génération de cartes...`,lbl_import_progress_detail:`Cela peut prendre jusqu'à une minute selon la vitesse de votre IA locale.`,btn_import_submit:`Importer`,toast_import_success:`Importation réussie de {createdCount} nouveaux jetons et assurance de {ensuredCount} cartes !`,lbl_error_importing:`Échec de l'importation du programme`,btn_curriculum_wizard:`Assistant de programme`,lbl_curriculum_wizard_title:`Assistant de programme`,wizard_step_country:`Pays`,wizard_step_region:`Région`,wizard_step_schoolType:`Type d'établissement`,wizard_step_grade:`Niveau`,wizard_step_subject:`Matière`,wizard_step_track:`Filière`,wizard_step_topic:`Sujets`,wizard_btn_back:`Retour`,wizard_btn_next:`Suivant`,wizard_no_options:`Aucune option disponible pour le moment pour cette sélection.`,wizard_err_select_option:`Veuillez sélectionner une option pour continuer.`,wizard_err_no_topics:`Veuillez sélectionner au moins un sujet.`,wizard_topic_scope_note:`Les cartes sont générées à partir de la page complète du programme de cette matière (tous ses sujets). L'importation précise par sujet arrivera dans une prochaine mise à jour — pour l'instant, la sélection des sujets vous aide à suivre ce qu'il reste à couvrir.`,wizard_resume_prompt:`Continuer là où vous vous étiez arrêté :`,wizard_btn_resume:`Continuer`,wizard_btn_restart:`Recommencer`,lbl_curriculum_wizard_loading:`Chargement…`,wizard_hours:`{hours} h`,btn_split:`Diviser`,lbl_split_modal_title:`Diviser la carte`,lbl_original_card_title:`Carte originale (Question d'application résumée)`,lbl_split_original_question:`Question`,lbl_split_original_concept:`Réponse / Concept`,lbl_split_action_title:`Après la division terminée :`,lbl_action_block:`Conserver la carte originale et la bloquer (requiert d'abord les nouvelles cartes)`,lbl_action_remove:`Supprimer la carte originale`,lbl_split_progress_status:`Génération de propositions atomiques...`,lbl_split_progress_detail:`Cela peut prendre jusqu'à une minute selon la vitesse de votre IA locale.`,lbl_atomic_proposals_title:`Propositions de cartes atomiques (Minimum 2)`,btn_split_modal_submit:`Confirmer la division`,btn_content_foundations_card:`Fondations`,lbl_foundations_modal_title:`Importer des fondations`,lbl_foundations_progress_status:`Génération de propositions fondamentales...`,lbl_foundations_progress_detail:`Cela peut prendre jusqu'à une minute selon la vitesse de votre IA locale.`,lbl_foundations_atomic_title:`Propositions de cartes fondamentales`,btn_foundations_modal_submit:`Confirmer l'importation`,lbl_import_source_type:`Type de source`,lbl_import_source_uri:`Chemin du fichier ou URL`,btn_import_source_analyze:`Analyser`,lbl_source_extracted_preview:`Aperçu du texte extrait`,lbl_delete:`Supprimer`,lbl_proposal_number:`Proposition n° {n}`,lbl_foundational_proposal_number:`Proposition fondamentale n° {n}`,lbl_foundation_existing_badge:`La carte existante sera liée`,lbl_foundation_new_badge:`Suggestion de nouvelle carte`,lbl_include:`Inclure`,lbl_err_analyze_source_first:`Veuillez d'abord analyser un fichier source, un lien web ou une numérisation OCR.`,lbl_err_min_split_proposals:`Au moins 2 propositions de carte complètes sont nécessaires pour diviser une carte.`,lbl_err_select_foundation:`Veuillez sélectionner au moins une carte de proposition de prérequis à importer.`,lbl_err_enter_path_or_url:`Veuillez saisir un chemin de fichier ou une URL à analyser.`,lbl_analyzing_source:`Analyse du contenu source en cours, veuillez patienter…`,lbl_err_analysis_failed:`Échec de l'analyse`,lbl_err_analysis_prefix:`Erreur d'analyse`,lbl_err_concept_required:`La réponse ou le concept est obligatoire.`,lbl_err_category_required:`La catégorie est obligatoire.`,lbl_err_import_context_required:`Le texte du programme est obligatoire.`,lbl_err_original_context_required:`La question et la réponse sont obligatoires pour la carte originale.`,settings_context_title:`Contexte de connaissances`,settings_context_help:`Sélectionnez le contexte de connaissances par défaut pour cet appareil.`,settings_context_label:`Contexte par défaut`,wizard_context_label:`Assigner les cartes importées au contexte :`},pt:{ai_status_offline:`IA offline`,ai_status_online:`IA local online`,ai_status_cloud_online:`IA na nuvem · {model}`,ai_status_cloud_offline:`IA na nuvem offline · {model}`,ai_status_starting:`Verificando IA...`,ai_status_model_missing:`IA: modelo não encontrado`,study_question_original:`Original`,study_evaluation_model:`{model}`,nav_dashboard:`Painel`,nav_settings:`Configurações`,dashboard_kicker:`Hoje no ZAM`,dashboard_title:`Aprenda com intenção.`,dashboard_subtitle:`Revise o que está pendente, abra seu mapa de conhecimento ou configure a IA local e os espaços de trabalho nas Configurações.`,lbl_due_reviews:`Revisões pendentes`,lbl_caught_up:`Você está em dia!`,dashboard_error:`Não foi possível carregar seus dados`,lbl_domains:`Domínios ativos`,btn_start_session:`Iniciar sessão de aprendizado`,lbl_translating:`Traduzindo dinamicamente...`,placeholder_answer:`Digite aqui sua resposta conceitual... (Ctrl+Enter para enviar)`,btn_reveal_answer:`Enviar e revelar resposta`,lbl_ai_evaluating:`Revisando sua resposta e gerando feedback...`,lbl_ai_working:`(Isso pode levar um momento.)`,lbl_wait_warn:`⚠ A avaliação está demorando mais que o esperado.`,btn_wait_keep:`Continuar esperando`,btn_wait_skip:`Pular offline`,lbl_question_wait_warn:`⚠ A geração da pergunta está demorando mais que o esperado.`,btn_question_use_saved:`Usar pergunta salva`,lbl_ai_feedback_title:`Feedback do ZAM`,lbl_reveal_title:`Resposta de referência`,lbl_rating_instruction:`Avalie sua recordação ativa com honestidade:`,lbl_rate_1:`De novo`,lbl_rate_2:`Difícil`,lbl_rate_3:`Bom`,lbl_rate_4:`Fácil`,btn_recall_reveal:`Revelar`,btn_recall_check:`Verificar resposta`,btn_recall_finish:`Encerrar sessão`,lbl_recall_focus:`Foco: {domain}`,lbl_recall_summary:`{done} de {total} revisadas`,lbl_recall_summary_title:`Resumo da sessão`,lbl_recall_empty_title:`Nada pendente`,btn_pause_session:`Pausar e sair da sessão`,lbl_generating_question:`Gerando pergunta dinâmica...`,token:`Token`,concept:`Conceito`,context:`Contexto`,source:`Referência de origem`,bloom_level:`Nível Bloom`,rating_again_shortcut:`(Atalho: 1)`,rating_hard_shortcut:`(Atalho: 2)`,rating_good_shortcut:`(Atalho: 3)`,rating_easy_shortcut:`(Atalho: 4)`,session_completed:`Sessão de aprendizado concluída!`,session_completed_sub:`Ótimo trabalho ao concluir esta sessão! Seus traços de memória foram atualizados.`,btn_back_to_dashboard:`Voltar ao painel`,btn_open_graph:`Mapa de conhecimento (3D)`,btn_open_settings:`Configurações`,observer_title:`Observador de IU`,observer_idle:`Carregue as janelas e escolha uma janela de aplicativo para observar.`,observer_loading:`Carregando janelas observáveis...`,observer_ready:`Selecionada: {title}`,observer_vision_checking:`Verificando as configurações de observação por visão...`,observer_analyzing:`Capturando um instantâneo e consultando o modelo de visão...`,observer_done:`Observação salva. Confiança do último relatório: {confidence}`,observer_canceled:`Observação cancelada.`,observer_error:`Erro do observador: {message}`,observer_vision_disabled:`A observação por visão está desativada. Ative-a com: zam settings set llm.vision.enabled true`,observer_vision_offline:`O endpoint de visão está offline: {url}`,observer_vision_model_missing:`O modelo de visão não está disponível: {model}`,observer_privacy_paused:`Pausa de privacidade: esta janela está bloqueada pelo filtro de privacidade ({reason}).`,observer_privacy_option:`pausa de privacidade`,observer_refresh:`Carregar janelas`,observer_analyze:`Instantâneo e análise`,observer_cancel:`Cancelar`,observer_empty:`Nenhuma janela observável encontrada.`,observer_select_initial:`Nenhuma janela carregada ainda`,observer_select_placeholder:`Selecione uma janela`,observer_history_title:`Relatórios de observação`,observer_history_refresh:`Atualizar relatórios`,observer_history_empty:`Ainda não há relatórios de observação.`,observer_history_loaded:`{count} relatório(s) de observação carregado(s).`,observer_loop_start:`Iniciar laço`,observer_loop_stop:`Parar laço`,observer_loop_idle:`Apenas instantâneos manuais.`,observer_loop_running:`Laço do observador em execução. Um instantâneo por vez.`,observer_loop_waiting:`Laço do observador em execução. Próximo instantâneo em {seconds}s.`,observer_loop_stopped:`Laço do observador parado.`,observer_watch_start:`Iniciar monitoramento`,observer_watch_stop:`Parar monitoramento`,observer_watch_idle:`O monitoramento contínuo está desligado.`,observer_watch_starting:`Iniciando monitoramento contínuo...`,observer_watch_running:`Monitorando {title} — {count} evento(s).`,observer_watch_stopping:`Parando monitoramento contínuo...`,observer_watch_stopped:`Monitoramento contínuo parado.`,observer_watch_error:`Erro de monitoramento: {message}`,graph_title:`Grafo de conhecimento (3D)`,graph_hint:`Arraste para girar • Clique nos nós para focar • Role para aplicar zoom`,graph_focus:`Foco`,graph_prereqs:`Bases (pré-requisitos)`,graph_dependents:`Habilidades superiores (dependentes)`,graph_no_card:`ainda sem cartão pessoal`,graph_refresh:`Atualizar`,graph_domain_token_list_title:`Todos os tokens deste domínio`,setup_title:`Configuração e dados`,settings_kicker:`Configuração local`,settings_title:`Configurações`,settings_subtitle:`Configure esta máquina sem impor as mesmas escolhas a cada espaço de trabalho ou dispositivo.`,settings_back:`Voltar ao painel`,settings_system_title:`Sistema`,settings_ai_title:`Modelos de IA`,settings_workspace_title:`Espaços de trabalho`,workspaces_help:`Registre diretórios de trabalho pessoais, de equipe, familiares ou de comunidade para esta máquina.`,settings_appearance_title:`Aparência`,settings_data_title:`Dados`,settings_database:`Banco de dados`,settings_learning_profile:`Perfil de aprendizagem`,database_checking:`Verificando…`,database_status_local:`SQLite local · conectado`,database_status_turso:`Turso · conectado`,database_status_error:`Conexão indisponível`,database_detail:`{location} · perfil {profile} · {count} cartões`,database_no_profile:`Nenhum perfil ativo`,database_profile_option:`{profile} — {count} cartões`,database_profile_switch_confirm:`Mudar o perfil de aprendizagem ativo para “{profile}”?`,database_profile_switched:`Perfil ativo: {profile} ({count} cartões)`,database_refresh:`Atualizar status`,settings_theme:`Tema`,theme_light:`Claro`,theme_dark:`Escuro`,btn_open_data_folder:`Abrir pasta de dados`,btn_backup_db:`Fazer backup do banco de dados`,setup_backing_up:`Fazendo backup do banco de dados…`,setup_backed_up:`Backup salvo em {path}`,setup_remote_no_backup:`Seu banco de dados sincroniza com a nuvem ({target}) — nenhum backup local separado é necessário.`,setup_backup_failed:`Falha no backup: {message}`,setup_backup_failed_generic:`Falha no backup.`,setup_open_folder_failed:`Não foi possível abrir a pasta de dados: {message}`,lbl_workspace:`Espaço de trabalho`,btn_choose_workspace:`+ Adicionar espaço de trabalho…`,btn_open_terminal:`Abrir terminal`,terminal_opening:`Abrindo terminal...`,terminal_opened:`Terminal aberto em {workspace}`,terminal_open_failed:`Não foi possível abrir o terminal: {message}`,workspace_active:`ativo`,workspace_default_label:`Espaço de trabalho padrão`,workspace_empty:`Nenhum espaço de trabalho registrado ainda.`,workspace_kind:`Espaço de trabalho {kind}`,workspace_kind_personal:`Espaço de trabalho pessoal`,workspace_kind_team:`Espaço de trabalho de equipe`,workspace_kind_family:`Espaço de trabalho familiar`,workspace_kind_community:`Espaço de trabalho de comunidade`,workspace_kind_organization:`Espaço de trabalho de organização`,workspace_kind_custom:`Espaço de trabalho personalizado`,workspace_more:`{count} espaço(s) de trabalho oculto(s). Use a CLI para a lista completa.`,workspace_use:`Usar`,workspace_open:`Terminal`,workspace_default_suffix:`(padrão)`,workspace_set:`Espaço de trabalho definido para {path}`,workspace_added:`Espaço de trabalho adicionado: {path}`,workspace_pick_failed:`Não foi possível definir o espaço de trabalho: {message}`,workspace_remove:`Remover`,workspace_remove_confirm:`Remover "{label}" do ZAM? Os arquivos e links na pasta permanecerão inalterados.`,workspace_removed:`Espaço de trabalho removido: {label}`,workspace_remove_failed:`Não foi possível remover o espaço de trabalho: {message}`,workspace_link_ok:`Link de skill OK`,workspace_link_broken:`Link de skill quebrado`,workspace_link_unmanaged:`Pasta de skill externa`,workspace_repair:`Reparar link de skill`,workspace_repair_confirm:`A pasta de "{label}" contém um diretório skills/zam que o ZAM não criou. Reparar o exclui e o substitui por um link. Continuar?`,workspace_repairing:`Reparando link de skill…`,workspace_repaired:`Link de skill reparado: {label}`,workspace_repair_failed:`Não foi possível reparar o link de skill: {message}`,lbl_app_version:`Versão`,lbl_learning_model:`Modelo de aprendizado`,lbl_observer_model:`Modelo do observador`,provider_ready:`pronto`,provider_disabled:`desativado`,provider_offline:`offline`,provider_model_missing:`modelo ausente`,provider_unsupported:`provedor não compatível`,provider_local:`local`,provider_cloud:`nuvem`,provider_unknown:`desconhecido`,btn_ai_config_open:`Configurar`,btn_ai_config_close:`Fechar`,btn_add_ai_provider:`+ Adicionar provedor`,ai_config_loading:`Carregando configuração do provedor...`,ai_config_failed:`Não foi possível carregar a configuração do provedor: {message}`,ai_provider_empty:`Nenhum provedor configurado ainda.`,ai_provider_section_local:`Local`,ai_provider_section_cloud:`Nuvem`,ai_provider_kind:`Tipo de provedor`,ai_provider_kind_local:`Local`,ai_provider_kind_cloud:`Nuvem`,ai_provider_local_badge:`local`,ai_provider_cloud_badge:`nuvem`,ai_provider_key_set:`chave definida`,ai_provider_key_missing:`chave ausente`,ai_provider_key_none:`sem chave`,ai_provider_edit:`Editar`,ai_provider_remove:`Remover`,ai_provider_remove_confirm:`Remover o provedor "{name}"?`,ai_provider_removed:`Provedor "{name}" removido`,ai_provider_saved:`Provedor "{name}" salvo`,ai_provider_save_failed:`Não foi possível salvar o provedor: {message}`,ai_provider_form_add_title:`Adicionar provedor`,ai_provider_form_edit_title:`Editar provedor`,ai_provider_display_name:`Nome`,ai_provider_url:`URL`,ai_provider_model:`Modelo`,ai_provider_model_local_hint:`Digite o nome do modelo. Se o endpoint listar modelos, você pode escolher um abaixo.`,ai_provider_models_pick:`Escolher do endpoint`,ai_provider_flavor:`Variante de API`,ai_provider_local:`Executa neste computador`,ai_provider_local_hint:`Servidores de modelo locais (FastFlowLM, Ollama, …) geralmente não precisam de chave de API. O ZAM pode tentar iniciar o servidor automaticamente.`,ai_provider_cloud_hint_key:`As APIs na nuvem precisam de uma chave de API. Provedores locais não usam o campo de chave.`,ai_provider_runner:`Servidor de modelo local`,ai_provider_runner_hint:`O programa que serve o modelo neste PC — não o seu agente de codificação.`,ai_provider_runner_auto:`Detecção automática`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`não detectado`,ai_provider_api_key:`Chave de API`,ai_provider_api_key_hint:`Somente gravação — armazenada localmente, nunca sincronizada`,ai_provider_cloud_hint:`Modelo sugerido: {model}`,ai_provider_models_loading:`Carregando modelos...`,ai_provider_models_empty:`O endpoint não lista modelos`,btn_ai_provider_save:`Salvar`,btn_ai_provider_cancel:`Cancelar`,ai_role_bindings_title:`Atribuição de papéis`,ai_role_recall:`Aprendizado (recordação)`,ai_role_vision:`Observador (visão)`,ai_role_primary:`Principal`,ai_role_fallback:`Reserva`,ai_role_none:`(nenhum)`,btn_ai_role_apply:`Aplicar`,ai_role_bound:`Papel {role} atualizado`,ai_role_bind_failed:`Não foi possível atribuir o papel: {message}`,ai_recall_anthropic_warn:`Provedores Anthropic Messages ainda não são compatíveis com sessões de aprendizado. Atribuir mesmo assim?`,ai_vision_cloud_confirm:`Capturas de tela serão enviadas para {endpoint}. Ativar a observação por visão e atribuir este provedor de nuvem?`,ai_provider_referenced:`Ainda usado por: {roles}`,btn_check_updates:`Verificar atualizações`,btn_open_releases:`Versões`,version_unknown:`desconhecida`,update_checking:`Verificando atualizações...`,update_available:`Atualização disponível: {version}`,update_none:`Você está na versão mais recente.`,update_failed:`Falha na verificação de atualizações: {message}`,release_link_failed:`Não foi possível abrir as versões: {message}`,nav_content:`Conteúdo`,content_title:`Estúdio de Conteúdo`,content_subtitle:`Gerencie seus cartões pessoais, pesquise tokens e refine perguntas de recordação ativa.`,btn_new_card:`Nova carta`,lbl_search_placeholder:`Buscar perguntas, respostas, categorias...`,lbl_category_filter:`Categoria`,lbl_all_categories:`Todas as categorias`,lbl_all_contexts:`Todos os contextos`,lbl_no_context_default:`Sem contexto padrão`,lbl_no_context_assignment:`Sem atribuição de contexto`,lbl_empty_content:`Nenhuma carta encontrada. Crie sua primeira carta !`,lbl_empty_content_btn:`Crie a primeira carta`,lbl_question:`Pergunta`,lbl_answer:`Resposta / Concepto`,lbl_category:`Categoria`,lbl_source_link:`Link de origem`,lbl_more_settings:`Mais configurações`,lbl_context:`Contexto`,lbl_bloom_level:`Nível Bloom`,lbl_symbiosis_mode:`Modo de simbiose`,lbl_slug:`Chave técnica (Slug)`,lbl_slug_hint:`Gerada automaticamente após a criação`,btn_save:`Salvar carta`,btn_remove:`Remover carta`,btn_delete:`Excluir token global`,lbl_confirm_remove_title:`Confirmar remoção`,lbl_confirm_remove_desc:`Isso limpará seu estado FSRS pessoal. O token global não será afetado.`,lbl_confirm_delete_title:`Confirmar exclusão global`,lbl_confirm_delete_desc:`Isso excluirá permanentemente o conceito e todas as cartas de todos os usuários.`,lbl_delete_impact:`Esta ação afeta:`,lbl_impact_cards:`{count} carta(s)`,lbl_impact_reviews:`{count} registro(s) de revisão`,lbl_impact_steps:`{count} etapa(s) de sessão`,lbl_impact_skills:`{count} habilidades de agente atualizadas`,lbl_confirm_action:`Confirmar`,lbl_cancel_action:`Cancelar`,lbl_card_saved_toast:`Carta salva!`,lbl_card_removed_toast:`Carta removida!`,lbl_card_deleted_toast:`Token excluído!`,lbl_error_saving:`Erro ao salvar`,lbl_error_loading:`Erro ao carregar conteúdo`,lbl_card_status_new:`Nova`,lbl_card_status_learning:`Aprendizado`,lbl_card_status_review:`Revisão`,lbl_card_status_relearning:`Reaprendizado`,lbl_card_status_not_started:`Não iniciado`,lbl_card_due:`Vence`,lbl_card_not_due:`Não vence`,btn_import_curriculum:`Importar currículo`,lbl_import_modal_title:`Importar padrão de currículo`,lbl_import_text:`Texto do currículo`,placeholder_import_text:`Cole o texto do currículo ou tópicos do programa aqui...`,lbl_import_source:`URL de origem / Referência`,lbl_import_category:`Categoria de destino`,lbl_import_progress_status:`Gerando cartas...`,lbl_import_progress_detail:`Isso pode levar até um minuto, dependendo da velocidade do seu IA local.`,btn_import_submit:`Importar`,toast_import_success:`{createdCount} novos tokens importados com sucesso e {ensuredCount} cartas garantidas!`,lbl_error_importing:`Falha ao importar o currículo`,btn_curriculum_wizard:`Assistente de currículo`,lbl_curriculum_wizard_title:`Assistente de currículo`,wizard_step_country:`País`,wizard_step_region:`Região`,wizard_step_schoolType:`Tipo de escola`,wizard_step_grade:`Ano escolar`,wizard_step_subject:`Disciplina`,wizard_step_track:`Modalidade`,wizard_step_topic:`Tópicos`,wizard_btn_back:`Voltar`,wizard_btn_next:`Avançar`,wizard_no_options:`Ainda não há opções disponíveis para esta seleção.`,wizard_err_select_option:`Selecione uma opção para continuar.`,wizard_err_no_topics:`Selecione pelo menos um tópico.`,wizard_topic_scope_note:`Os cartões são gerados a partir da página completa do currículo desta disciplina (todos os seus tópicos). A importação precisa por tópico chegará em uma atualização futura — por enquanto, a seleção de tópicos ajuda você a acompanhar o que cobrir a seguir.`,wizard_resume_prompt:`Continuar de onde você parou:`,wizard_btn_resume:`Continuar`,wizard_btn_restart:`Começar de novo`,lbl_curriculum_wizard_loading:`Carregando…`,wizard_hours:`{hours} h`,btn_split:`Dividir`,lbl_split_modal_title:`Dividir carta`,lbl_original_card_title:`Carta original (Pergunta de aplicação resumida)`,lbl_split_original_question:`Pergunta`,lbl_split_original_concept:`Resposta / Conceito`,lbl_split_action_title:`Após a divisão concluída:`,lbl_action_block:`Manter a carta original e bloqueá-la (requer novas cartas primeiro)`,lbl_action_remove:`Remover a carta original`,lbl_split_progress_status:`Gerando propostas atômicas...`,lbl_split_progress_detail:`Isso pode levar até um minuto, dependendo da velocidade do seu IA local.`,lbl_atomic_proposals_title:`Propostas de cartas atômicas (Mínimo 2)`,btn_split_modal_submit:`Confirmar divisão`,btn_content_foundations_card:`Fundamentos`,lbl_foundations_modal_title:`Importar fundamentos`,lbl_foundations_progress_status:`Gerando propostas fundamentais...`,lbl_foundations_progress_detail:`Isso pode levar até um minuto, dependendo da velocidade do seu IA local.`,lbl_foundations_atomic_title:`Propostas de cartas fundamentais`,btn_foundations_modal_submit:`Confirmar importação`,lbl_import_source_type:`Tipo de fonte`,lbl_import_source_uri:`Caminho do arquivo ou URL`,btn_import_source_analyze:`Analisar`,lbl_source_extracted_preview:`Visualização do texto extraído`,lbl_delete:`Excluir`,lbl_proposal_number:`Proposta n.º {n}`,lbl_foundational_proposal_number:`Proposta fundamental n.º {n}`,lbl_foundation_existing_badge:`O cartão existente será vinculado`,lbl_foundation_new_badge:`Sugestão de novo cartão`,lbl_include:`Incluir`,lbl_err_analyze_source_first:`Primeiro analise um arquivo de origem, um link da web ou uma digitalização OCR.`,lbl_err_min_split_proposals:`São necessárias pelo menos 2 propostas de cartão completas para dividir um cartão.`,lbl_err_select_foundation:`Selecione pelo menos um cartão de proposta de pré-requisito para importar.`,lbl_err_enter_path_or_url:`Insira um caminho de arquivo ou URL para analisar.`,lbl_analyzing_source:`Analisando o conteúdo de origem, aguarde…`,lbl_err_analysis_failed:`Falha na análise`,lbl_err_analysis_prefix:`Erro de análise`,lbl_err_concept_required:`A resposta ou o conceito é obrigatório.`,lbl_err_category_required:`A categoria é obrigatória.`,lbl_err_import_context_required:`O texto do currículo é obrigatório.`,lbl_err_original_context_required:`A pergunta e a resposta são obrigatórias para o cartão original.`,settings_context_title:`Contexto de conhecimento`,settings_context_help:`Selecione o contexto de conhecimento padrão para este dispositivo.`,settings_context_label:`Contexto padrão`,wizard_context_label:`Atribuir cartões importados ao contexto:`},zh:{ai_status_offline:`AI 已离线`,ai_status_online:`本地 AI 在线`,ai_status_cloud_online:`云端 AI · {model}`,ai_status_cloud_offline:`云端 AI 离线 · {model}`,ai_status_starting:`正在检查 AI...`,ai_status_model_missing:`AI:未找到模型`,study_question_original:`原文`,study_evaluation_model:`{model}`,nav_dashboard:`仪表板`,nav_settings:`设置`,dashboard_kicker:`今日 ZAM`,dashboard_title:`有意识地学习。`,dashboard_subtitle:`复习到期内容、打开知识图谱,或在设置中配置本地 AI 与工作区。`,lbl_due_reviews:`待复习`,lbl_caught_up:`你已全部复习完毕!`,dashboard_error:`无法加载你的数据`,lbl_domains:`活跃领域`,btn_start_session:`开始学习课`,lbl_translating:`正在动态翻译...`,placeholder_answer:`在此输入你的概念性回答...(Ctrl+Enter 提交)`,btn_reveal_answer:`提交并揭晓答案`,lbl_ai_evaluating:`正在审阅你的回答并生成反馈...`,lbl_ai_working:`(这可能需要一点时间。)`,lbl_wait_warn:`⚠ 评估耗时比预期更长。`,btn_wait_keep:`继续等待`,btn_wait_skip:`离线跳过`,lbl_question_wait_warn:`⚠ 问题生成耗时比预期更长。`,btn_question_use_saved:`使用已保存的问题`,lbl_ai_feedback_title:`ZAM 反馈`,lbl_reveal_title:`参考答案`,lbl_rating_instruction:`请如实评估你的主动回忆:`,lbl_rate_1:`重来`,lbl_rate_2:`困难`,lbl_rate_3:`良好`,lbl_rate_4:`容易`,btn_recall_reveal:`揭晓`,btn_recall_check:`检查答案`,btn_recall_finish:`结束会话`,lbl_recall_focus:`聚焦:{domain}`,lbl_recall_summary:`已复习 {done}/{total}`,lbl_recall_summary_title:`会话小结`,lbl_recall_empty_title:`暂无到期`,btn_pause_session:`暂停并退出学习课`,lbl_generating_question:`正在生成动态问题...`,token:`Token`,concept:`概念`,context:`上下文`,source:`来源引用`,bloom_level:`Bloom 层级`,rating_again_shortcut:`(快捷键:1)`,rating_hard_shortcut:`(快捷键:2)`,rating_good_shortcut:`(快捷键:3)`,rating_easy_shortcut:`(快捷键:4)`,session_completed:`学习课已完成!`,session_completed_sub:`出色地完成了这节学习课!你的记忆痕迹已更新。`,btn_back_to_dashboard:`返回仪表板`,btn_open_graph:`知识图谱(3D)`,btn_open_settings:`设置`,observer_title:`界面观察器`,observer_idle:`加载窗口并选择一个应用窗口进行观察。`,observer_loading:`正在加载可观察的窗口...`,observer_ready:`已选择:{title}`,observer_vision_checking:`正在检查视觉观察设置...`,observer_analyzing:`正在捕获快照并询问视觉模型...`,observer_done:`观察已保存。最新报告置信度:{confidence}`,observer_canceled:`观察已取消。`,observer_error:`观察器错误:{message}`,observer_vision_disabled:`视觉观察已禁用。使用以下命令启用:zam settings set llm.vision.enabled true`,observer_vision_offline:`视觉端点已离线:{url}`,observer_vision_model_missing:`视觉模型不可用:{model}`,observer_privacy_paused:`隐私暂停:此窗口被隐私过滤器拦截({reason})。`,observer_privacy_option:`隐私暂停`,observer_refresh:`加载窗口`,observer_analyze:`快照并分析`,observer_cancel:`取消`,observer_empty:`未找到可观察的窗口。`,observer_select_initial:`尚未加载窗口`,observer_select_placeholder:`选择一个窗口`,observer_history_title:`观察报告`,observer_history_refresh:`刷新报告`,observer_history_empty:`暂无观察报告。`,observer_history_loaded:`已加载 {count} 份观察报告。`,observer_loop_start:`开始循环`,observer_loop_stop:`停止循环`,observer_loop_idle:`仅手动快照。`,observer_loop_running:`观察器循环运行中。一次一张快照。`,observer_loop_waiting:`观察器循环运行中。下一张快照将在 {seconds} 秒后。`,observer_loop_stopped:`观察器循环已停止。`,observer_watch_start:`开始监视`,observer_watch_stop:`停止监视`,observer_watch_idle:`持续监视已关闭。`,observer_watch_starting:`正在启动持续监视...`,observer_watch_running:`正在监视 {title} — {count} 个事件。`,observer_watch_stopping:`正在停止持续监视...`,observer_watch_stopped:`持续监视已停止。`,observer_watch_error:`监视错误:{message}`,graph_title:`知识图谱(3D)`,graph_hint:`拖动旋转 • 点击节点聚焦 • 滚动缩放`,graph_focus:`聚焦`,graph_prereqs:`基础(前置条件)`,graph_dependents:`进阶能力(依赖项)`,graph_no_card:`尚无个人卡片`,graph_refresh:`刷新`,graph_domain_token_list_title:`此领域中的所有 Token`,setup_title:`设置与数据`,settings_kicker:`本地配置`,settings_title:`设置`,settings_subtitle:`配置这台机器,而不会把相同的选择强加到每个工作区或设备上。`,settings_back:`返回仪表板`,settings_system_title:`系统`,settings_ai_title:`AI 模型`,settings_workspace_title:`工作区`,workspaces_help:`为这台机器注册个人、团队、家庭或社区的工作目录。`,settings_appearance_title:`外观`,settings_data_title:`数据`,settings_database:`数据库`,settings_learning_profile:`学习档案`,database_checking:`正在检查…`,database_status_local:`本地 SQLite · 已连接`,database_status_turso:`Turso · 已连接`,database_status_error:`连接不可用`,database_detail:`{location} · 档案 {profile} · {count} 张卡片`,database_no_profile:`无活动档案`,database_profile_option:`{profile} — {count} 张卡片`,database_profile_switch_confirm:`切换活动学习档案为“{profile}”吗?`,database_profile_switched:`活动档案:{profile}({count} 张卡片)`,database_refresh:`刷新状态`,settings_theme:`主题`,theme_light:`浅色`,theme_dark:`深色`,btn_open_data_folder:`打开数据文件夹`,btn_backup_db:`备份数据库`,setup_backing_up:`正在备份数据库…`,setup_backed_up:`已备份到 {path}`,setup_remote_no_backup:`你的数据库会同步到云端({target})——无需单独的本地备份。`,setup_backup_failed:`备份失败:{message}`,setup_backup_failed_generic:`备份失败。`,setup_open_folder_failed:`无法打开数据文件夹:{message}`,lbl_workspace:`工作区`,btn_choose_workspace:`+ 添加工作区…`,btn_open_terminal:`打开终端`,terminal_opening:`正在打开终端...`,terminal_opened:`已在 {workspace} 中打开终端`,terminal_open_failed:`无法打开终端:{message}`,workspace_active:`活跃`,workspace_default_label:`默认工作区`,workspace_empty:`尚未注册工作区。`,workspace_kind:`{kind} 工作区`,workspace_kind_personal:`个人工作区`,workspace_kind_team:`团队工作区`,workspace_kind_family:`家庭工作区`,workspace_kind_community:`社区工作区`,workspace_kind_organization:`组织工作区`,workspace_kind_custom:`自定义工作区`,workspace_more:`另有 {count} 个工作区已隐藏。使用 CLI 查看完整列表。`,workspace_use:`使用`,workspace_open:`终端`,workspace_default_suffix:`(默认)`,workspace_set:`工作区已设为 {path}`,workspace_added:`已添加工作区:{path}`,workspace_pick_failed:`无法设置工作区:{message}`,workspace_remove:`移除`,workspace_remove_confirm:`从 ZAM 中移除“{label}”?文件夹中的文件和链接将保持不变。`,workspace_removed:`已移除工作区:{label}`,workspace_remove_failed:`无法移除工作区:{message}`,workspace_link_ok:`Skill 链接正常`,workspace_link_broken:`Skill 链接已损坏`,workspace_link_unmanaged:`外部 Skill 文件夹`,workspace_repair:`修复 Skill 链接`,workspace_repair_confirm:`“{label}”的文件夹中包含一个并非由 ZAM 创建的 skills/zam 目录。修复会将其删除并替换为链接。是否继续?`,workspace_repairing:`正在修复 Skill 链接…`,workspace_repaired:`Skill 链接已修复:{label}`,workspace_repair_failed:`无法修复 Skill 链接:{message}`,lbl_app_version:`版本`,lbl_learning_model:`学习模型`,lbl_observer_model:`观察器模型`,provider_ready:`就绪`,provider_disabled:`已禁用`,provider_offline:`离线`,provider_model_missing:`缺少模型`,provider_unsupported:`不支持的提供方`,provider_local:`本地`,provider_cloud:`云端`,provider_unknown:`未知`,btn_ai_config_open:`配置`,btn_ai_config_close:`关闭`,btn_add_ai_provider:`+ 添加提供方`,ai_config_loading:`正在加载提供方配置...`,ai_config_failed:`无法加载提供方配置:{message}`,ai_provider_empty:`尚未配置提供方。`,ai_provider_section_local:`本地`,ai_provider_section_cloud:`云端`,ai_provider_kind:`提供方类型`,ai_provider_kind_local:`本地`,ai_provider_kind_cloud:`云端`,ai_provider_local_badge:`本地`,ai_provider_cloud_badge:`云端`,ai_provider_key_set:`已设置密钥`,ai_provider_key_missing:`缺少密钥`,ai_provider_key_none:`无密钥`,ai_provider_edit:`编辑`,ai_provider_remove:`移除`,ai_provider_remove_confirm:`移除提供方“{name}”?`,ai_provider_removed:`已移除提供方“{name}”`,ai_provider_saved:`已保存提供方“{name}”`,ai_provider_save_failed:`无法保存提供方:{message}`,ai_provider_form_add_title:`添加提供方`,ai_provider_form_edit_title:`编辑提供方`,ai_provider_display_name:`名称`,ai_provider_url:`URL`,ai_provider_model:`模型`,ai_provider_model_local_hint:`输入模型名称。如果端点列出了模型,你可以在下面选择一个。`,ai_provider_models_pick:`从端点选取`,ai_provider_flavor:`API 变体`,ai_provider_local:`在这台计算机上运行`,ai_provider_local_hint:`本地模型服务器(FastFlowLM、Ollama 等)通常无需 API 密钥。ZAM 可以尝试自动启动服务器。`,ai_provider_cloud_hint_key:`云端 API 需要 API 密钥。本地提供方不使用密钥字段。`,ai_provider_runner:`本地模型服务器`,ai_provider_runner_hint:`在这台 PC 上提供模型的程序——不是你的编码代理。`,ai_provider_runner_auto:`自动检测`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`未检测到`,ai_provider_api_key:`API 密钥`,ai_provider_api_key_hint:`仅写入——存储在本地,绝不同步`,ai_provider_cloud_hint:`建议的模型:{model}`,ai_provider_models_loading:`正在加载模型...`,ai_provider_models_empty:`端点未列出任何模型`,btn_ai_provider_save:`保存`,btn_ai_provider_cancel:`取消`,ai_role_bindings_title:`角色绑定`,ai_role_recall:`学习(回忆)`,ai_role_vision:`观察器(视觉)`,ai_role_primary:`主要`,ai_role_fallback:`备用`,ai_role_none:`(无)`,btn_ai_role_apply:`应用`,ai_role_bound:`角色 {role} 已更新`,ai_role_bind_failed:`无法绑定角色:{message}`,ai_recall_anthropic_warn:`Anthropic Messages 提供方尚不支持学习课。仍要绑定吗?`,ai_vision_cloud_confirm:`屏幕截图将发送至 {endpoint}。启用视觉观察并绑定此云端提供方吗?`,ai_provider_referenced:`仍被以下角色使用:{roles}`,btn_check_updates:`检查更新`,btn_open_releases:`发行版`,version_unknown:`未知`,update_checking:`正在检查更新...`,update_available:`有可用更新:{version}`,update_none:`你已是最新版本。`,update_failed:`检查更新失败:{message}`,release_link_failed:`无法打开发行版:{message}`,nav_content:`学习内容`,content_title:`学习内容工作室`,content_subtitle:`管理个人学习卡片、搜索知识单元并完善主动回忆问题。`,btn_new_card:`新建卡片`,lbl_search_placeholder:`搜索问题、答案、分类...`,lbl_category_filter:`分类`,lbl_all_categories:`所有分类`,lbl_all_contexts:`所有上下文`,lbl_no_context_default:`无默认上下文`,lbl_no_context_assignment:`不分配上下文`,lbl_empty_content:`未找到学习卡片。创建你的第一张卡片!`,lbl_empty_content_btn:`创建第一张卡片`,lbl_question:`问题`,lbl_answer:`答案 / 概念`,lbl_category:`分类`,lbl_source_link:`来源链接`,lbl_more_settings:`更多设置`,lbl_context:`上下文`,lbl_bloom_level:`布鲁姆认知层级`,lbl_symbiosis_mode:`共生模式`,lbl_slug:`技术键 (Slug)`,lbl_slug_hint:`创建后自动生成`,btn_save:`保存卡片`,btn_remove:`移除卡片`,btn_delete:`全局彻底删除`,lbl_confirm_remove_title:`确认移除卡片`,lbl_confirm_remove_desc:`移除卡片将清除您对此概念的个人学习状态和历史。全局目录不受影响。`,lbl_confirm_delete_title:`确认全局彻底删除`,lbl_confirm_delete_desc:`全局彻底删除此概念将从数据库中永久销毁该概念、所有用户的个人卡片以及相关的评估历史。`,lbl_delete_impact:`此操作将影响:`,lbl_impact_cards:`{count} 张卡片`,lbl_impact_reviews:`{count} 条评估日志`,lbl_impact_steps:`{count} 个会话步骤`,lbl_impact_skills:`更新了 {count} 个智能体技能`,lbl_confirm_action:`确认`,lbl_cancel_action:`取消`,lbl_card_saved_toast:`卡片保存成功!`,lbl_card_removed_toast:`卡片移除成功!`,lbl_card_deleted_toast:`卡片彻底删除成功!`,lbl_error_saving:`保存卡片失败`,lbl_error_loading:`加载内容失败`,lbl_card_status_new:`新学习`,lbl_card_status_learning:`学习中`,lbl_card_status_review:`复习中`,lbl_card_status_relearning:`重新学习`,lbl_card_status_not_started:`未开始`,lbl_card_due:`到期`,lbl_card_not_due:`未到期`,btn_import_curriculum:`导入课程大纲`,lbl_import_modal_title:`导入课程标准`,lbl_import_text:`课程内容文本`,placeholder_import_text:`在此粘贴课程大纲、教学要求或笔记要点...`,lbl_import_source:`来源 URL / 参考`,lbl_import_category:`目标分类`,lbl_import_progress_status:`正在生成卡片...`,lbl_import_progress_detail:`这可能需要长达一分钟,具体取决于您的本地 AI 速度。`,btn_import_submit:`导入`,toast_import_success:`成功导入 {createdCount} 个新概念并生成 {ensuredCount} 张卡片!`,lbl_error_importing:`导入课程大纲失败`,btn_curriculum_wizard:`课程向导`,lbl_curriculum_wizard_title:`课程向导`,wizard_step_country:`国家`,wizard_step_region:`地区`,wizard_step_schoolType:`学校类型`,wizard_step_grade:`年级`,wizard_step_subject:`科目`,wizard_step_track:`分组`,wizard_step_topic:`主题`,wizard_btn_back:`上一步`,wizard_btn_next:`下一步`,wizard_no_options:`此选择暂无可用选项。`,wizard_err_select_option:`请选择一个选项以继续。`,wizard_err_no_topics:`请至少选择一个主题。`,wizard_topic_scope_note:`卡片是根据该科目完整的课程大纲页面生成的(包含其所有主题)。精确的按主题导入将在未来的更新中提供——目前,主题选择可帮助你跟踪接下来要学习的内容。`,wizard_resume_prompt:`从你上次停下的地方继续:`,wizard_btn_resume:`继续`,wizard_btn_restart:`重新开始`,lbl_curriculum_wizard_loading:`加载中…`,wizard_hours:`{hours} 小时`,btn_split:`拆分`,lbl_split_modal_title:`拆分卡片`,lbl_original_card_title:`原始卡片 (总结性的应用问题)`,lbl_split_original_question:`问题`,lbl_split_original_concept:`回答 / 概念`,lbl_split_action_title:`拆分完成后:`,lbl_action_block:`保留原始卡片并将其阻碍 (需要先掌握新卡片)`,lbl_action_remove:`移除原始卡片`,lbl_split_progress_status:`正在生成微型知识卡片建议...`,lbl_split_progress_detail:`这可能需要长达一分钟,具体取决于您的本地 AI 速度。`,lbl_atomic_proposals_title:`微型卡片建议 (最少 2 张)`,btn_split_modal_submit:`确认拆分`,btn_content_foundations_card:`前置知识`,lbl_foundations_modal_title:`导入前置基础知识`,lbl_foundations_progress_status:`正在生成前置知识建议...`,lbl_foundations_progress_detail:`这可能需要长达一分钟,具体取决于您的本地 AI 速度。`,lbl_foundations_atomic_title:`前置基础卡片建议`,btn_foundations_modal_submit:`确认导入`,lbl_import_source_type:`来源类型`,lbl_import_source_uri:`文件路径或网址`,btn_import_source_analyze:`分析`,lbl_source_extracted_preview:`提取文本预览`,lbl_delete:`删除`,lbl_proposal_number:`提案 #{n}`,lbl_foundational_proposal_number:`基础提案 #{n}`,lbl_foundation_existing_badge:`将关联现有卡片`,lbl_foundation_new_badge:`新卡片建议`,lbl_include:`包含`,lbl_err_analyze_source_first:`请先分析源文件、网页链接或OCR扫描。`,lbl_err_min_split_proposals:`拆分卡片至少需要2个完整的卡片提案。`,lbl_err_select_foundation:`请至少选择一个先决条件提案卡片进行导入。`,lbl_err_enter_path_or_url:`请输入要分析的文件路径或网址。`,lbl_analyzing_source:`正在分析源内容,请稍候…`,lbl_err_analysis_failed:`分析失败`,lbl_err_analysis_prefix:`分析错误`,lbl_err_concept_required:`答案或概念为必填项。`,lbl_err_category_required:`类别为必填项。`,lbl_err_import_context_required:`课程文本为必填项。`,lbl_err_original_context_required:`原始卡片必须填写问题和答案。`,settings_context_title:`知识上下文`,settings_context_help:`选择此设备的默认知识上下文。`,settings_context_label:`默认上下文`,wizard_context_label:`将导入的卡片分配到上下文:`},ja:{ai_status_offline:`AI オフライン`,ai_status_online:`ローカル AI オンライン`,ai_status_cloud_online:`クラウド AI · {model}`,ai_status_cloud_offline:`クラウド AI オフライン · {model}`,ai_status_starting:`AI を確認中...`,ai_status_model_missing:`AI: モデルが見つかりません`,study_question_original:`原文`,study_evaluation_model:`{model}`,nav_dashboard:`ダッシュボード`,nav_settings:`設定`,dashboard_kicker:`今日の ZAM`,dashboard_title:`意識的に学ぶ。`,dashboard_subtitle:`期限の来た項目を復習し、ナレッジマップを開き、または設定でローカル AI とワークスペースを構成します。`,lbl_due_reviews:`復習予定`,lbl_caught_up:`すべて完了しています!`,dashboard_error:`データを読み込めませんでした`,lbl_domains:`アクティブな領域`,btn_start_session:`学習セッションを開始`,lbl_translating:`動的に翻訳中...`,placeholder_answer:`ここに概念的な回答を入力...(Ctrl+Enter で送信)`,btn_reveal_answer:`送信して回答を表示`,lbl_ai_evaluating:`回答を確認し、フィードバックを生成しています...`,lbl_ai_working:`(少し時間がかかる場合があります。)`,lbl_wait_warn:`⚠ 評価に予想以上の時間がかかっています。`,btn_wait_keep:`待ち続ける`,btn_wait_skip:`オフラインでスキップ`,lbl_question_wait_warn:`⚠ 質問の生成に予想以上の時間がかかっています。`,btn_question_use_saved:`保存済みの質問を使用`,lbl_ai_feedback_title:`ZAM フィードバック`,lbl_reveal_title:`参考解答`,lbl_rating_instruction:`アクティブリコールを正直に評価してください:`,lbl_rate_1:`もう一度`,lbl_rate_2:`難しい`,lbl_rate_3:`良い`,lbl_rate_4:`簡単`,btn_recall_reveal:`表示`,btn_recall_check:`回答を確認`,btn_recall_finish:`セッションを終了`,lbl_recall_focus:`フォーカス:{domain}`,lbl_recall_summary:`{done} / {total} 件を復習`,lbl_recall_summary_title:`セッションの概要`,lbl_recall_empty_title:`対象なし`,btn_pause_session:`一時停止して終了`,lbl_generating_question:`動的な質問を生成中...`,token:`トークン`,concept:`概念`,context:`コンテキスト`,source:`出典`,bloom_level:`Bloom レベル`,rating_again_shortcut:`(ショートカット: 1)`,rating_hard_shortcut:`(ショートカット: 2)`,rating_good_shortcut:`(ショートカット: 3)`,rating_easy_shortcut:`(ショートカット: 4)`,session_completed:`学習セッションが完了しました!`,session_completed_sub:`このセッションをやり遂げました!記憶の痕跡が更新されました。`,btn_back_to_dashboard:`ダッシュボードに戻る`,btn_open_graph:`ナレッジマップ(3D)`,btn_open_settings:`設定`,observer_title:`UI オブザーバー`,observer_idle:`ウィンドウを読み込み、観察するアプリケーションウィンドウを 1 つ選択してください。`,observer_loading:`観察可能なウィンドウを読み込み中...`,observer_ready:`選択中: {title}`,observer_vision_checking:`ビジョン観察の設定を確認中...`,observer_analyzing:`スナップショットを取得し、ビジョンモデルに問い合わせ中...`,observer_done:`観察を保存しました。最新レポートの信頼度: {confidence}`,observer_canceled:`観察をキャンセルしました。`,observer_error:`オブザーバーエラー: {message}`,observer_vision_disabled:`ビジョン観察は無効です。次のコマンドで有効化してください: zam settings set llm.vision.enabled true`,observer_vision_offline:`ビジョンエンドポイントがオフラインです: {url}`,observer_vision_model_missing:`ビジョンモデルが利用できません: {model}`,observer_privacy_paused:`プライバシー一時停止: このウィンドウはプライバシーフィルターによってブロックされています({reason})。`,observer_privacy_option:`プライバシー一時停止`,observer_refresh:`ウィンドウを読み込む`,observer_analyze:`スナップショットと分析`,observer_cancel:`キャンセル`,observer_empty:`観察可能なウィンドウが見つかりません。`,observer_select_initial:`ウィンドウはまだ読み込まれていません`,observer_select_placeholder:`ウィンドウを選択`,observer_history_title:`観察レポート`,observer_history_refresh:`レポートを更新`,observer_history_empty:`観察レポートはまだありません。`,observer_history_loaded:`{count} 件の観察レポートを読み込みました。`,observer_loop_start:`ループを開始`,observer_loop_stop:`ループを停止`,observer_loop_idle:`手動スナップショットのみ。`,observer_loop_running:`オブザーバーループが実行中です。一度に 1 つのスナップショット。`,observer_loop_waiting:`オブザーバーループが実行中です。次のスナップショットは {seconds} 秒後。`,observer_loop_stopped:`オブザーバーループを停止しました。`,observer_watch_start:`監視を開始`,observer_watch_stop:`監視を停止`,observer_watch_idle:`継続的な監視はオフです。`,observer_watch_starting:`継続的な監視を開始中...`,observer_watch_running:`{title} を監視中 — {count} 件のイベント。`,observer_watch_stopping:`継続的な監視を停止中...`,observer_watch_stopped:`継続的な監視を停止しました。`,observer_watch_error:`監視エラー: {message}`,graph_title:`ナレッジグラフ(3D)`,graph_hint:`ドラッグで回転 • ノードをクリックでフォーカス • スクロールでズーム`,graph_focus:`フォーカス`,graph_prereqs:`基礎(前提条件)`,graph_dependents:`上位スキル(依存項目)`,graph_no_card:`まだ個人カードがありません`,graph_refresh:`更新`,graph_domain_token_list_title:`この領域のすべてのトークン`,setup_title:`セットアップとデータ`,settings_kicker:`ローカル設定`,settings_title:`設定`,settings_subtitle:`すべてのワークスペースやデバイスに同じ選択を強制することなく、このマシンを構成します。`,settings_back:`ダッシュボードに戻る`,settings_system_title:`システム`,settings_ai_title:`AI モデル`,settings_workspace_title:`ワークスペース`,workspaces_help:`このマシン用に、個人・チーム・家族・コミュニティの作業ディレクトリを登録します。`,settings_appearance_title:`外観`,settings_data_title:`データ`,settings_database:`データベース`,settings_learning_profile:`学習プロフィール`,database_checking:`確認中…`,database_status_local:`ローカル SQLite · 接続済み`,database_status_turso:`Turso · 接続済み`,database_status_error:`接続を利用できません`,database_detail:`{location} · プロフィール {profile} · {count} 枚`,database_no_profile:`有効なプロフィールなし`,database_profile_option:`{profile} — {count} 枚`,database_profile_switch_confirm:`有効な学習プロフィールを「{profile}」に切り替えますか?`,database_profile_switched:`有効なプロフィール:{profile}({count} 枚)`,database_refresh:`状態を更新`,settings_theme:`テーマ`,theme_light:`ライト`,theme_dark:`ダーク`,btn_open_data_folder:`データフォルダーを開く`,btn_backup_db:`データベースをバックアップ`,setup_backing_up:`データベースをバックアップ中…`,setup_backed_up:`{path} にバックアップしました`,setup_remote_no_backup:`データベースはクラウド({target})に同期されます — 個別のローカルバックアップは不要です。`,setup_backup_failed:`バックアップに失敗しました: {message}`,setup_backup_failed_generic:`バックアップに失敗しました。`,setup_open_folder_failed:`データフォルダーを開けませんでした: {message}`,lbl_workspace:`ワークスペース`,btn_choose_workspace:`+ ワークスペースを追加…`,btn_open_terminal:`ターミナルを開く`,terminal_opening:`ターミナルを開いています...`,terminal_opened:`{workspace} でターミナルを開きました`,terminal_open_failed:`ターミナルを開けませんでした: {message}`,workspace_active:`アクティブ`,workspace_default_label:`既定のワークスペース`,workspace_empty:`登録済みのワークスペースはまだありません。`,workspace_kind:`{kind} ワークスペース`,workspace_kind_personal:`個人ワークスペース`,workspace_kind_team:`チームワークスペース`,workspace_kind_family:`家族ワークスペース`,workspace_kind_community:`コミュニティワークスペース`,workspace_kind_organization:`組織ワークスペース`,workspace_kind_custom:`カスタムワークスペース`,workspace_more:`他に {count} 件のワークスペースが非表示です。完全な一覧は CLI を使用してください。`,workspace_use:`使用`,workspace_open:`ターミナル`,workspace_default_suffix:`(既定)`,workspace_set:`ワークスペースを {path} に設定しました`,workspace_added:`ワークスペースを追加しました: {path}`,workspace_pick_failed:`ワークスペースを設定できませんでした: {message}`,workspace_remove:`削除`,workspace_remove_confirm:`「{label}」を ZAM から削除しますか?フォルダー内のファイルとリンクは変更されません。`,workspace_removed:`ワークスペースを削除しました: {label}`,workspace_remove_failed:`ワークスペースを削除できませんでした: {message}`,workspace_link_ok:`スキルリンク正常`,workspace_link_broken:`スキルリンク破損`,workspace_link_unmanaged:`外部スキルフォルダー`,workspace_repair:`スキルリンクを修復`,workspace_repair_confirm:`「{label}」のフォルダーには、ZAM が作成していない skills/zam ディレクトリがあります。修復するとそれを削除し、リンクに置き換えます。続行しますか?`,workspace_repairing:`スキルリンクを修復中…`,workspace_repaired:`スキルリンクを修復しました: {label}`,workspace_repair_failed:`スキルリンクを修復できませんでした: {message}`,lbl_app_version:`バージョン`,lbl_learning_model:`学習モデル`,lbl_observer_model:`オブザーバーモデル`,provider_ready:`準備完了`,provider_disabled:`無効`,provider_offline:`オフライン`,provider_model_missing:`モデルがありません`,provider_unsupported:`未対応のプロバイダー`,provider_local:`ローカル`,provider_cloud:`クラウド`,provider_unknown:`不明`,btn_ai_config_open:`構成`,btn_ai_config_close:`閉じる`,btn_add_ai_provider:`+ プロバイダーを追加`,ai_config_loading:`プロバイダー構成を読み込み中...`,ai_config_failed:`プロバイダー構成を読み込めませんでした: {message}`,ai_provider_empty:`構成済みのプロバイダーはまだありません。`,ai_provider_section_local:`ローカル`,ai_provider_section_cloud:`クラウド`,ai_provider_kind:`プロバイダーの種類`,ai_provider_kind_local:`ローカル`,ai_provider_kind_cloud:`クラウド`,ai_provider_local_badge:`ローカル`,ai_provider_cloud_badge:`クラウド`,ai_provider_key_set:`キー設定済み`,ai_provider_key_missing:`キーがありません`,ai_provider_key_none:`キーなし`,ai_provider_edit:`編集`,ai_provider_remove:`削除`,ai_provider_remove_confirm:`プロバイダー「{name}」を削除しますか?`,ai_provider_removed:`プロバイダー「{name}」を削除しました`,ai_provider_saved:`プロバイダー「{name}」を保存しました`,ai_provider_save_failed:`プロバイダーを保存できませんでした: {message}`,ai_provider_form_add_title:`プロバイダーを追加`,ai_provider_form_edit_title:`プロバイダーを編集`,ai_provider_display_name:`名前`,ai_provider_url:`URL`,ai_provider_model:`モデル`,ai_provider_model_local_hint:`モデル名を入力してください。エンドポイントがモデルを列挙する場合は、下から選択できます。`,ai_provider_models_pick:`エンドポイントから選択`,ai_provider_flavor:`API の種類`,ai_provider_local:`このコンピューターで実行`,ai_provider_local_hint:`ローカルモデルサーバー(FastFlowLM、Ollama など)は通常 API キーを必要としません。ZAM がサーバーの自動起動を試みることができます。`,ai_provider_cloud_hint_key:`クラウド API には API キーが必要です。ローカルプロバイダーはキー欄を使用しません。`,ai_provider_runner:`ローカルモデルサーバー`,ai_provider_runner_hint:`この PC でモデルを提供するプログラムです — コーディングエージェントではありません。`,ai_provider_runner_auto:`自動検出`,ai_provider_runner_flm:`FastFlowLM`,ai_provider_runner_ollama:`Ollama`,ai_provider_runner_foundry:`Foundry Local`,ai_provider_runner_not_installed:`検出されません`,ai_provider_api_key:`API キー`,ai_provider_api_key_hint:`書き込み専用 — ローカルに保存され、同期されません`,ai_provider_cloud_hint:`推奨モデル: {model}`,ai_provider_models_loading:`モデルを読み込み中...`,ai_provider_models_empty:`エンドポイントにモデルがありません`,btn_ai_provider_save:`保存`,btn_ai_provider_cancel:`キャンセル`,ai_role_bindings_title:`ロールの割り当て`,ai_role_recall:`学習(想起)`,ai_role_vision:`オブザーバー(ビジョン)`,ai_role_primary:`プライマリ`,ai_role_fallback:`フォールバック`,ai_role_none:`(なし)`,btn_ai_role_apply:`適用`,ai_role_bound:`ロール {role} を更新しました`,ai_role_bind_failed:`ロールを割り当てられませんでした: {message}`,ai_recall_anthropic_warn:`Anthropic Messages プロバイダーは学習セッションにまだ対応していません。それでも割り当てますか?`,ai_vision_cloud_confirm:`スクリーンショットが {endpoint} に送信されます。ビジョン観察を有効にして、このクラウドプロバイダーを割り当てますか?`,ai_provider_referenced:`まだ次のロールで使用中: {roles}`,btn_check_updates:`更新を確認`,btn_open_releases:`リリース`,version_unknown:`不明`,update_checking:`更新を確認中...`,update_available:`更新が利用可能: {version}`,update_none:`最新バージョンを使用しています。`,update_failed:`更新の確認に失敗しました: {message}`,release_link_failed:`リリースを開けませんでした: {message}`,nav_content:`学習コンテンツ`,content_title:`コンテンツスタジオ`,content_subtitle:`個人の学習カードを管理し、トークンを検索して、能動的想起の質問を整えます。`,btn_new_card:`新規カード`,lbl_search_placeholder:`質問、回答、カテゴリを検索...`,lbl_category_filter:`カテゴリ`,lbl_all_categories:`すべてのカテゴリ`,lbl_all_contexts:`すべてのコンテキスト`,lbl_no_context_default:`既定のコンテキストなし`,lbl_no_context_assignment:`コンテキストを割り当てない`,lbl_empty_content:`学習カードが見つかりません。最初のカードを作成しましょう!`,lbl_empty_content_btn:`最初のカードを作成`,lbl_question:`質問`,lbl_answer:`回答 / 概念`,lbl_category:`カテゴリ`,lbl_source_link:`ソースリンク`,lbl_more_settings:`詳細設定`,lbl_context:`コンテキスト`,lbl_bloom_level:`ブルーム分類レベル`,lbl_symbiosis_mode:`共生モード`,lbl_slug:`技術キー (Slug)`,lbl_slug_hint:`作成後に自動生成されます`,btn_save:`カードを保存`,btn_remove:`カードを削除`,btn_delete:`グローバルトークンを完全削除`,lbl_confirm_remove_title:`カード削除の確認`,lbl_confirm_remove_desc:`このカードを削除すると、このトークンに対する個人の学習状態と履歴がクリアされます。グローバルカタログには影響しません。`,lbl_confirm_delete_title:`グローバルトークン完全削除の確認`,lbl_confirm_delete_desc:`このトークンを完全に削除すると、この概念、すべてのユーザーの個人カード、およびデータベース全体の学習履歴が永久に消去されます。`,lbl_delete_impact:`このアクションの影響:`,lbl_impact_cards:`{count} 枚のカード`,lbl_impact_reviews:`{count} 件の復習ログ`,lbl_impact_steps:`{count} 件のセッションステップ`,lbl_impact_skills:`{count} 件のエージェントスキルを更新`,lbl_confirm_action:`確認`,lbl_cancel_action:`キャンセル`,lbl_card_saved_toast:`カードが正常に保存されました!`,lbl_card_removed_toast:`カードが正常に削除されました!`,lbl_card_deleted_toast:`トークンが正常に削除されました!`,lbl_error_saving:`カードの保存に失敗しました`,lbl_error_loading:`コンテンツの読み込みに失敗しました`,lbl_card_status_new:`新規`,lbl_card_status_learning:`学習中`,lbl_card_status_review:`復習中`,lbl_card_status_relearning:`再学習中`,lbl_card_status_not_started:`未着手`,lbl_card_due:`期限`,lbl_card_not_due:`期限前`,btn_import_curriculum:`カリキュラムインポート`,lbl_import_modal_title:`カリキュラム標準のインポート`,lbl_import_text:`カリキュラムテキスト`,placeholder_import_text:`カリキュラムのテキストやシラバスの要点をここに貼り付けます...`,lbl_import_source:`ソースURL / 参照`,lbl_import_category:`対象カテゴリ`,lbl_import_progress_status:`カードを生成中...`,lbl_import_progress_detail:`ローカルAIの速度によっては、最大1分かかる場合があります。`,btn_import_submit:`インポート`,toast_import_success:`{createdCount} 件の新しいトークンをインポートし、{ensuredCount} 件のカードを生成しました!`,lbl_error_importing:`カリキュラムのインポートに失敗しました`,btn_curriculum_wizard:`カリキュラムウィザード`,lbl_curriculum_wizard_title:`カリキュラムウィザード`,wizard_step_country:`国`,wizard_step_region:`地域`,wizard_step_schoolType:`学校の種類`,wizard_step_grade:`学年`,wizard_step_subject:`教科`,wizard_step_track:`コース`,wizard_step_topic:`トピック`,wizard_btn_back:`戻る`,wizard_btn_next:`次へ`,wizard_no_options:`この選択にはまだ利用可能なオプションがありません。`,wizard_err_select_option:`続行するにはオプションを選択してください。`,wizard_err_no_topics:`少なくとも1つのトピックを選択してください。`,wizard_topic_scope_note:`カードはこの教科の完全なカリキュラムページ(すべてのトピックを含む)から生成されます。トピックごとの正確なインポートは今後のアップデートで提供される予定です。現時点では、トピックの選択は次に取り組む内容を把握するのに役立ちます。`,wizard_resume_prompt:`前回の続きから:`,wizard_btn_resume:`続ける`,wizard_btn_restart:`最初からやり直す`,lbl_curriculum_wizard_loading:`読み込み中…`,wizard_hours:`{hours}時間`,btn_split:`分割`,lbl_split_modal_title:`カードの分割`,lbl_original_card_title:`元のカード (要約された応用問題)`,lbl_split_original_question:`質問`,lbl_split_original_concept:`回答 / コンセプト`,lbl_split_action_title:`分割完了後:`,lbl_action_block:`元のカードを保持しブロックする (先に新規カードが必要)`,lbl_action_remove:`元のカードを削除する`,lbl_split_progress_status:`アトミックな提案を生成中...`,lbl_split_progress_detail:`ローカルAIの速度によっては、最大1分かかる場合があります。`,lbl_atomic_proposals_title:`アトミックカードの提案 (最低2枚)`,btn_split_modal_submit:`分割の確認`,btn_content_foundations_card:`前提知識`,lbl_foundations_modal_title:`前提知識のインポート`,lbl_foundations_progress_status:`前提知識の提案を生成中...`,lbl_foundations_progress_detail:`ローカルAIの速度によっては、最大1分かかる場合があります。`,lbl_foundations_atomic_title:`前提知識カードの提案`,btn_foundations_modal_submit:`インポートの確認`,lbl_import_source_type:`ソースタイプ`,lbl_import_source_uri:`ファイルパスまたはURL`,btn_import_source_analyze:`解析する`,lbl_source_extracted_preview:`抽出テキストのプレビュー`,lbl_delete:`削除`,lbl_proposal_number:`提案 #{n}`,lbl_foundational_proposal_number:`基礎提案 #{n}`,lbl_foundation_existing_badge:`既存のカードがリンクされます`,lbl_foundation_new_badge:`新しいカードの提案`,lbl_include:`含める`,lbl_err_analyze_source_first:`まずソースファイル、ウェブリンク、またはOCRスキャンを解析してください。`,lbl_err_min_split_proposals:`カードを分割するには、少なくとも2件の完全なカード提案が必要です。`,lbl_err_select_foundation:`インポートする前提条件の提案カードを少なくとも1件選択してください。`,lbl_err_enter_path_or_url:`解析するファイルパスまたはURLを入力してください。`,lbl_analyzing_source:`ソースコンテンツを解析しています。しばらくお待ちください…`,lbl_err_analysis_failed:`解析に失敗しました`,lbl_err_analysis_prefix:`解析エラー`,lbl_err_concept_required:`回答または概念は必須です。`,lbl_err_category_required:`カテゴリーは必須です。`,lbl_err_import_context_required:`カリキュラムのテキストは必須です。`,lbl_err_original_context_required:`元のカードには質問と回答が必要です。`,settings_context_title:`知識コンテキスト`,settings_context_help:`このデバイスのデフォルトの知識コンテキストを選択します。`,settings_context_label:`デフォルトコンテキスト`,wizard_context_label:`インポートされたカードをコンテキストに割り当てる:`}},Kv=`en`;function qv(e){Kv=e}function Z(e){return Gv[Kv]?.[e]||Gv.en?.[e]||e}function Jv(e,t){return Object.entries(t).reduce((e,[t,n])=>e.split(`{${t}}`).join(String(n)),Z(e))}var Yv=[],Q=null,Xv=!1,Zv=!1,Qv,$v,ey,ty,ny,ry,iy,ay,oy,sy,cy,ly,uy,dy,fy,py,my,hy,gy=`text`,_y,vy,yy,by,xy,Sy,Cy,wy,Ty,Ey,Dy,Oy,ky,Ay,jy,My,Ny,Py=[],Fy=[],Iy,Ly,Ry,zy,By,Vy,Hy,Uy,Wy,Gy,Ky,qy,Jy,Yy,Xy,Zy,Qy,$y,eb,tb,nb,rb,ib,ab,ob,sb,cb,lb,ub,db,fb,pb,mb=null,hb=null;function $(e){return e.replace(/[&<>"']/g,e=>({"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`})[e])}function gb(){Qv=document.getElementById(`content-studio-layout`),Iy=document.getElementById(`content-studio-card-list`),Ly=document.getElementById(`content-search-input`),Ry=document.getElementById(`content-context-filter`),zy=document.getElementById(`content-category-filter`),By=document.getElementById(`editor-empty-state`),Vy=document.getElementById(`editor-form-container`),Hy=document.getElementById(`btn-content-new-card`),Uy=document.getElementById(`btn-create-first-card`),Wy=document.getElementById(`editor-field-question`),Gy=document.getElementById(`editor-field-concept`),Ky=document.getElementById(`editor-field-title`),qy=document.getElementById(`editor-field-domain`),Jy=document.getElementById(`editor-field-source-link`),Yy=document.getElementById(`editor-field-context`),Xy=document.getElementById(`editor-field-bloom`),Zy=document.getElementById(`editor-field-mode`),Qy=document.getElementById(`editor-field-slug`),$y=document.getElementById(`btn-content-save-card`),eb=document.getElementById(`btn-content-delete-card`),tb=document.getElementById(`btn-content-cancel-edit`),nb=document.getElementById(`editor-toggle-advanced`),rb=document.getElementById(`editor-advanced-content`),ib=document.getElementById(`editor-toggle-arrow`),ab=document.getElementById(`content-modal-overlay`),ob=document.getElementById(`lbl-modal-title`),sb=document.getElementById(`lbl-modal-desc`),cb=document.getElementById(`modal-impact-container`),lb=document.getElementById(`modal-impact-list-el`),ub=document.getElementById(`modal-delete-choice`),db=document.getElementById(`btn-modal-cancel`),fb=document.getElementById(`btn-modal-confirm`),pb=document.getElementById(`btn-modal-hard-delete`),$v=document.getElementById(`btn-content-import`),ey=document.getElementById(`import-modal-overlay`),ty=document.getElementById(`import-field-text`),ny=document.getElementById(`import-field-source`),ry=document.getElementById(`import-field-category`),iy=document.getElementById(`import-progress-container`),ay=document.getElementById(`btn-import-modal-cancel`),oy=document.getElementById(`btn-import-modal-submit`),sy=document.getElementById(`btn-import-tab-text`),cy=document.getElementById(`btn-import-tab-source`),ly=document.getElementById(`import-view-text`),uy=document.getElementById(`import-view-source`),dy=document.getElementById(`import-source-type`),fy=document.getElementById(`import-source-uri`),py=document.getElementById(`btn-import-source-analyze`),my=document.getElementById(`import-source-preview`),hy=document.getElementById(`import-source-id`),_y=document.getElementById(`btn-content-split-card`),vy=document.getElementById(`split-modal-overlay`),yy=document.getElementById(`split-original-question`),by=document.getElementById(`split-original-concept`),xy=document.getElementById(`split-progress-container`),Sy=document.getElementById(`split-proposals-section`),Cy=document.getElementById(`split-proposals-container`),wy=document.getElementById(`btn-split-add-proposal`),Ty=document.getElementById(`btn-split-modal-cancel`),Ey=document.getElementById(`btn-split-modal-submit`),Dy=document.getElementById(`btn-content-foundations-card`),Oy=document.getElementById(`foundations-modal-overlay`),ky=document.getElementById(`foundations-progress-container`),Ay=document.getElementById(`foundations-proposals-section`),jy=document.getElementById(`foundations-proposals-container`),My=document.getElementById(`btn-foundations-modal-cancel`),Ny=document.getElementById(`btn-foundations-modal-submit`),Ly.addEventListener(`input`,()=>yb()),Ry.addEventListener(`change`,()=>{vb()}),zy.addEventListener(`change`,()=>yb()),Hy.addEventListener(`click`,()=>xb()),Uy.addEventListener(`click`,()=>xb()),$v?.addEventListener(`click`,()=>Ab()),ay.addEventListener(`click`,()=>jb()),oy.addEventListener(`click`,()=>{Mb()}),sy.addEventListener(`click`,()=>Ub(`text`)),cy.addEventListener(`click`,()=>Ub(`source`)),py.addEventListener(`click`,()=>{Wb()}),_y?.addEventListener(`click`,()=>{Nb()}),wy.addEventListener(`click`,()=>Ib()),Ty.addEventListener(`click`,()=>Pb()),Ey.addEventListener(`click`,()=>{Rb()}),Dy?.addEventListener(`click`,()=>{zb()}),My.addEventListener(`click`,()=>Bb()),Ny.addEventListener(`click`,()=>{Hb()}),tb.addEventListener(`click`,()=>Sb()),$y.addEventListener(`click`,()=>Tb()),eb.addEventListener(`click`,()=>Eb()),nb.addEventListener(`click`,()=>wb()),db.addEventListener(`click`,()=>kb()),fb.addEventListener(`click`,()=>{mb&&(mb(),kb())}),pb.addEventListener(`click`,()=>{hb&&(hb(),kb())});let e=[Wy,Gy,Ky,qy,Jy,Yy];for(let t of e)t.addEventListener(`keydown`,e=>{let t=e;t.key===`Enter`&&(t.ctrlKey||t.metaKey)&&(e.preventDefault(),Tb())});_b()}async function _b(){try{let e=await X(`list-knowledge-contexts`),t=await X(`get-active-knowledge-context`);Ry.innerHTML=`<option value="">${Z(`lbl_all_contexts`)}</option>`;for(let t of e.contexts??[]){let e=document.createElement(`option`);e.value=t.name,e.textContent=t.label?`${t.label} (${t.name})`:t.name,Ry.appendChild(e)}Ry.value=t.activeContext??``}catch(e){console.warn(`Failed to load Studio knowledge contexts`,e)}await vb()}async function vb(){try{Yv=(await X(`personal-card-list`,Ry?.value?[`--knowledge-context`,Ry.value]:[])).cards;let e=new Set;for(let t of Yv)t.domain&&e.add(t.domain);let t=Array.from(e).sort(),n=zy.value;zy.innerHTML=`<option value="all">${Z(`lbl_all_categories`)}</option>`;for(let e of t){let t=document.createElement(`option`);t.value=e,t.textContent=e,zy.appendChild(t)}zy.value=n||`all`,yb(),Cb()}catch(e){console.error(`Failed to load cards list`,e),alert(`${Z(`lbl_error_loading`)}: ${e instanceof Error?e.message:String(e)}`)}}function yb(){let e=Ly.value.toLowerCase().trim(),t=zy.value,n=Yv.filter(n=>{if(t!==`all`&&n.domain!==t)return!1;if(e){let t=n.title?.toLowerCase().includes(e),r=n.slug?.toLowerCase().includes(e),i=n.concept?.toLowerCase().includes(e),a=n.domain?.toLowerCase().includes(e),o=n.question?.toLowerCase().includes(e);return t||r||i||a||o}return!0});if(Iy.innerHTML=``,n.length===0){Iy.innerHTML=`<p class="observer-history-empty" style="padding: 20px; text-align: center;">${Z(`lbl_empty_content`)}</p>`;return}for(let e of n){let t=document.createElement(`div`);t.className=`content-list-item`,Q&&Q.slug===e.slug&&t.classList.add(`selected`);let n=Z(`lbl_card_status_not_started`),r=`not-started`;e.state&&(n=Z(`lbl_card_status_${e.state}`),r=e.state);let i=e.dueAt&&new Date(e.dueAt)<=new Date?`<span class="card-status-badge again" style="font-size: 0.7rem; padding: 1px 4px; background: rgba(239, 68, 68, 0.1); color: #ef4444; margin-left: 5px;">${$(Z(`lbl_card_due`))}</span>`:``;t.innerHTML=`
581
+ <div class="content-list-item-header">
582
+ <span class="content-list-item-concept">${$(e.concept||Z(`lbl_question`))}</span>
583
+ <span class="card-status-badge ${$(r)}">${$(n)}</span>
584
+ </div>
585
+ <div class="content-list-item-meta">
586
+ <span class="content-list-item-domain">${$(e.domain||`—`)}</span>
587
+ <span style="font-size: 0.75rem; color: var(--clr-text-muted);">Bloom ${e.bloomLevel}</span>
588
+ ${i}
589
+ </div>
590
+ `,t.addEventListener(`click`,()=>{bb(e)}),Iy.appendChild(t)}}function bb(e){Q=e,Xv=!1,Qv.classList.remove(`show-list`),Qv.classList.add(`show-editor`),Wy.value=e.question||``,Gy.value=e.concept||``,Ky.value=e.title||``,qy.value=e.domain||``,Jy.value=e.sourceLink||``,Yy.value=e.context||``,Xy.value=String(e.bloomLevel||1),Zy.value=e.symbiosisMode||`none`,Qy.value=e.slug||``,Cb(),yb()}function xb(){Q=null,Xv=!0,Qv.classList.remove(`show-list`),Qv.classList.add(`show-editor`),Wy.value=``,Gy.value=``,Ky.value=``,qy.value=``,Jy.value=``,Yy.value=``,Xy.value=`1`,Zy.value=`none`,Qy.value=``,Cb(),yb(),Wy.focus()}function Sb(){Q=null,Xv=!1,Qv.classList.remove(`show-editor`),Qv.classList.add(`show-list`),Cb(),yb()}function Cb(){Q||Xv?(By.classList.add(`hidden`),Vy.classList.remove(`hidden`),tb.classList.remove(`hidden`),Xv?(eb.classList.add(`hidden`),_y?.classList.add(`hidden`),Dy?.classList.add(`hidden`),Qy.value=Z(`lbl_slug_hint`)):(eb.classList.remove(`hidden`),_y?.classList.remove(`hidden`),Dy?.classList.remove(`hidden`))):(By.classList.remove(`hidden`),Vy.classList.add(`hidden`),tb.classList.add(`hidden`),_y?.classList.add(`hidden`),Dy?.classList.add(`hidden`))}function wb(){Zv=!Zv,Zv?(rb.classList.add(`expanded`),ib.textContent=`▼`):(rb.classList.remove(`expanded`),ib.textContent=`▶`)}async function Tb(){let e=Wy.value.trim(),t=Gy.value.trim(),n=Ky.value.trim(),r=qy.value.trim(),i=Jy.value.trim(),a=Yy.value.trim(),o=Number(Xy.value),s=Zy.value;if(!t){alert(Z(`lbl_err_concept_required`)),Gy.focus();return}$y.disabled=!0;try{if(Xv){let c=[`--concept`,t,`--title`,n,`--domain`,r,`--bloom`,String(o),`--mode`,s,`--context`,a];e&&c.push(`--question`,e),i&&c.push(`--source-link`,i),Ry.value&&c.push(`--knowledge-context`,Ry.value);let l=await X(`personal-card-create`,c);if(l.success){alert(Z(`lbl_card_saved_toast`)),await vb();let e=Yv.find(e=>e.slug===l.token.slug);e?bb(e):Sb()}}else if(Q&&(await X(`personal-card-update`,[`--slug`,Q.slug,`--title`,n,`--concept`,t,`--domain`,r,`--bloom`,String(o),`--mode`,s,`--context`,a,`--question`,e,`--source-link`,i])).success){alert(Z(`lbl_card_saved_toast`));let e=Q.slug;await vb();let t=Yv.find(t=>t.slug===e);t?bb(t):Sb()}}catch(e){console.error(`Failed to save card`,e),alert(`${Z(`lbl_error_saving`)}: ${e instanceof Error?e.message:String(e)}`)}finally{$y.disabled=!1}}async function Eb(){if(Q)try{let e=await X(`personal-card-remove`,[`--slug`,Q.slug]);e.success&&e.preview&&Db(Q,e.impact)}catch(e){console.error(`Failed to fetch removal preview`,e),alert(e instanceof Error?e.message:String(e))}}function Db(e,t){ob.textContent=Z(`lbl_confirm_remove_title`),sb.textContent=Z(`lbl_confirm_remove_desc`),cb.classList.remove(`hidden`),lb.innerHTML=`
591
+ <li>• ${Jv(`lbl_impact_reviews`,{count:t.review_logs})}</li>
592
+ `,ub.classList.remove(`hidden`),mb=async()=>{try{(await X(`personal-card-remove`,[`--slug`,e.slug,`--confirm`])).success&&(alert(Z(`lbl_card_removed_toast`)),Q=null,await vb(),Sb())}catch(e){alert(e instanceof Error?e.message:String(e))}},hb=async()=>{kb();try{let t=await X(`personal-card-delete`,[`--slug`,e.slug]);t.success&&Ob(e,t.impact)}catch(e){alert(e instanceof Error?e.message:String(e))}},ab.classList.add(`active`)}function Ob(e,t){ob.textContent=Z(`lbl_confirm_delete_title`),sb.textContent=Z(`lbl_confirm_delete_desc`),cb.classList.remove(`hidden`),lb.innerHTML=`
593
+ <li>• ${Jv(`lbl_impact_cards`,{count:t.cards})}</li>
594
+ <li>• ${Jv(`lbl_impact_reviews`,{count:t.review_logs})}</li>
595
+ <li>• ${Jv(`lbl_impact_steps`,{count:t.session_steps})}</li>
596
+ <li>• ${Jv(`lbl_impact_skills`,{count:t.agent_skills})}</li>
597
+ `,ub.classList.add(`hidden`),mb=async()=>{try{(await X(`personal-card-delete`,[`--slug`,e.slug,`--confirm`])).success&&(alert(Z(`lbl_card_deleted_toast`)),Q=null,await vb(),Sb())}catch(e){alert(e instanceof Error?e.message:String(e))}},hb=null,ab.classList.add(`active`)}function kb(){ab.classList.remove(`active`),mb=null,hb=null}function Ab(){ty.value=``,ny.value=``,ry.value=``,fy.value=``,my.value=``,hy.value=``,Ub(`text`),iy.classList.add(`hidden`),oy.disabled=!1,ay.disabled=!1,ty.disabled=!1,ny.disabled=!1,ry.disabled=!1,ey.classList.add(`active`)}function jb(){ey.classList.remove(`active`)}async function Mb(){let e=ry.value.trim(),t=ny.value.trim()||null;if(!e){alert(Z(`lbl_err_category_required`));return}iy.classList.remove(`hidden`),oy.disabled=!0,ay.disabled=!0,ty.disabled=!0,ny.disabled=!0,ry.disabled=!0;try{if(gy===`text`){let n=ty.value.trim();if(!n){alert(Z(`lbl_err_import_context_required`));return}let r=await X(`personal-card-import-curriculum`,[`--text`,n,`--domain`,e,...t?[`--source`,t]:[]]);if(r&&r.success)jb(),alert(Jv(`toast_import_success`,{createdCount:r.createdCount,ensuredCount:r.ensuredCount})),Sb(),await vb();else throw Error(Z(`lbl_error_importing`))}else{let t=hy.value.trim(),n=my.value.trim();if(!t||!n){alert(Z(`lbl_err_analyze_source_first`));return}let r=await X(`personal-card-import-curriculum`,[`--text`,n,`--domain`,e,`--preview`]);if(!r||!r.success||!Array.isArray(r.proposals))throw Error(Z(`lbl_error_importing`));let i=r.proposals.map(e=>({question:e.question,concept:e.concept,domain:e.domain,bloom_level:e.bloom_level,symbiosis_mode:e.symbiosis_mode||`none`,excerpt:e.context||``,page_number:null})),a=await X(`personal-source-confirm-import`,[`--sourceId`,t,`--proposals`,JSON.stringify(i)]);if(a&&a.success)jb(),alert(Jv(`toast_import_success`,{createdCount:a.createdCount,ensuredCount:a.ensuredCount})),Sb(),await vb();else throw Error(Z(`lbl_error_importing`))}}catch(e){alert(Z(`lbl_error_importing`)+`: `+(e.message||String(e)))}finally{iy.classList.add(`hidden`),oy.disabled=!1,ay.disabled=!1,ty.disabled=!1,ny.disabled=!1,ry.disabled=!1}}async function Nb(){if(!Q)return;yy.value=Q.question||``,by.value=Q.concept;let e=document.querySelector(`input[name="split-original-action"][value="block"]`);e&&(e.checked=!0),Py=[],Cy.innerHTML=``,Sy.classList.add(`hidden`),xy.classList.remove(`hidden`),Ey.disabled=!0,wy.disabled=!0,vy.classList.add(`active`);try{let e=await X(`personal-card-split-proposals`,[`--slug`,Q.slug]);if(e&&e.success&&Array.isArray(e.proposals))Py=e.proposals,Fb(),Sy.classList.remove(`hidden`),Ey.disabled=!1,wy.disabled=!1;else throw Error(Z(`lbl_error_importing`))}catch(e){alert(Z(`lbl_error_importing`)+`: `+(e.message||String(e))),Pb()}finally{xy.classList.add(`hidden`)}}function Pb(){vy.classList.remove(`active`)}function Fb(){Cy.innerHTML=``,Py.forEach((e,t)=>{let n=document.createElement(`div`);n.style.display=`flex`,n.style.flexDirection=`column`,n.style.gap=`8px`,n.style.padding=`12px`,n.style.background=`var(--clr-bg-surface)`,n.style.border=`1px solid var(--clr-border)`,n.style.borderRadius=`6px`,n.style.position=`relative`,n.innerHTML=`
598
+ <div style="position: absolute; top: 10px; right: 10px;">
599
+ <button class="btn danger-btn btn-xs btn-remove-proposal" type="button" data-index="${t}" style="padding: 2px 6px; font-size: 0.75rem;">${$(Z(`lbl_delete`))}</button>
600
+ </div>
601
+ <div style="font-size: 0.8rem; color: var(--clr-text-secondary); font-weight: bold; margin-bottom: 2px;">
602
+ ${$(Jv(`lbl_proposal_number`,{n:t+1}))}
603
+ </div>
604
+ <div class="editor-form-group" style="margin: 0;">
605
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_question`))}</label>
606
+ <textarea class="editor-textarea prop-question" style="min-height: 40px; font-size: 0.85rem;" data-index="${t}">${$(e.question||``)}</textarea>
607
+ </div>
608
+ <div class="editor-form-group" style="margin: 0;">
609
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_answer`))}</label>
610
+ <textarea class="editor-textarea prop-concept" style="min-height: 40px; font-size: 0.85rem;" data-index="${t}">${$(e.concept||``)}</textarea>
611
+ </div>
612
+ <div style="display: flex; gap: 8px;">
613
+ <div class="editor-form-group" style="flex: 1; margin: 0;">
614
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_category`))}</label>
615
+ <input type="text" class="editor-input prop-domain" style="font-size: 0.85rem;" data-index="${t}" value="${$(e.domain||``)}" />
616
+ </div>
617
+ </div>
618
+ `,n.querySelector(`.prop-question`).addEventListener(`input`,e=>{Py[t].question=e.target.value}),n.querySelector(`.prop-concept`).addEventListener(`input`,e=>{Py[t].concept=e.target.value}),n.querySelector(`.prop-domain`).addEventListener(`input`,e=>{Py[t].domain=e.target.value}),n.querySelector(`.btn-remove-proposal`).addEventListener(`click`,()=>{Lb(t)}),Cy.appendChild(n)})}function Ib(){Py.push({question:``,concept:``,domain:Q?Q.domain:`git`,bloom_level:1,symbiosis_mode:`shadowing`}),Fb()}function Lb(e){Py.splice(e,1),Fb()}async function Rb(){if(!Q)return;let e=yy.value.trim(),t=by.value.trim(),n=document.querySelector(`input[name="split-original-action"]:checked`),r=n?n.value:`block`;if(r===`block`&&(!e||!t)){alert(Z(`lbl_err_original_context_required`));return}let i=Py.map(e=>({question:e.question.trim(),concept:e.concept.trim(),domain:e.domain.trim(),bloom_level:e.bloom_level,symbiosis_mode:e.symbiosis_mode})).filter(e=>e.question&&e.concept&&e.domain);if(i.length<2){alert(Z(`lbl_err_min_split_proposals`));return}Ey.disabled=!0,Ty.disabled=!0;try{let n=await X(`personal-card-confirm-split`,[`--slug`,Q.slug,`--action`,r,`--original-question`,e,`--original-concept`,t,`--proposals`,JSON.stringify(i)]);if(n&&n.success)Pb(),alert(Jv(`toast_import_success`,{createdCount:n.createdCount,ensuredCount:n.ensuredCount})),Sb(),await vb();else throw Error(Z(`lbl_error_importing`))}catch(e){alert(Z(`lbl_error_importing`)+`: `+(e.message||String(e))),Ey.disabled=!1,Ty.disabled=!1}}async function zb(){if(Q){Fy=[],jy.innerHTML=``,Ay.classList.add(`hidden`),ky.classList.remove(`hidden`),Ny.disabled=!0,Oy.classList.add(`active`);try{let e=await X(`personal-card-foundations-proposals`,[`--slug`,Q.slug]);if(e&&e.success&&Array.isArray(e.proposals))Fy=e.proposals.map(e=>({...e,selected:!0})),Vb(),Ay.classList.remove(`hidden`),Ny.disabled=!1;else throw Error(Z(`lbl_error_importing`))}catch(e){alert(Z(`lbl_error_importing`)+`: `+(e.message||String(e))),Bb()}finally{ky.classList.add(`hidden`)}}}function Bb(){Oy.classList.remove(`active`)}function Vb(){jy.innerHTML=``,Fy.forEach((e,t)=>{let n=document.createElement(`div`);n.style.display=`flex`,n.style.flexDirection=`column`,n.style.gap=`8px`,n.style.padding=`12px`,n.style.background=`var(--clr-bg-surface)`,n.style.border=`1px solid var(--clr-border)`,n.style.borderRadius=`6px`,n.style.position=`relative`;let r=e.exists?Z(`lbl_foundation_existing_badge`):Z(`lbl_foundation_new_badge`),i=e.exists?`var(--clr-accent-purple)`:`var(--clr-accent-teal)`;n.innerHTML=`
619
+ <div style="position: absolute; top: 10px; right: 10px; display: flex; align-items: center; gap: 8px;">
620
+ <span style="font-size: 0.75rem; font-weight: bold; color: ${i}; border: 1px solid ${i}; border-radius: 4px; padding: 2px 6px;">
621
+ ${$(r)}
622
+ </span>
623
+ <label style="display: flex; align-items: center; gap: 4px; font-size: 0.85rem; cursor: pointer;">
624
+ <input type="checkbox" class="prop-selected" data-index="${t}" ${e.selected?`checked`:``} style="cursor: pointer;" />
625
+ ${$(Z(`lbl_include`))}
626
+ </label>
627
+ </div>
628
+ <div style="font-size: 0.8rem; color: var(--clr-text-secondary); font-weight: bold; margin-bottom: 2px;">
629
+ ${$(Jv(`lbl_foundational_proposal_number`,{n:t+1}))}
630
+ </div>
631
+ <div class="editor-form-group" style="margin: 0;">
632
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_question`))}</label>
633
+ <textarea class="editor-textarea prop-question" style="min-height: 40px; font-size: 0.85rem;" data-index="${t}" ${e.exists?`readonly`:``}>${$(e.question||``)}</textarea>
634
+ </div>
635
+ <div class="editor-form-group" style="margin: 0;">
636
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_answer`))}</label>
637
+ <textarea class="editor-textarea prop-concept" style="min-height: 40px; font-size: 0.85rem;" data-index="${t}" ${e.exists?`readonly`:``}>${$(e.concept||``)}</textarea>
638
+ </div>
639
+ <div style="display: flex; gap: 8px;">
640
+ <div class="editor-form-group" style="flex: 1; margin: 0;">
641
+ <label style="font-size: 0.8rem;">${$(Z(`lbl_category`))}</label>
642
+ <input type="text" class="editor-input prop-domain" style="font-size: 0.85rem;" data-index="${t}" value="${$(e.domain||``)}" ${e.exists?`readonly`:``} />
643
+ </div>
644
+ </div>
645
+ `,n.querySelector(`.prop-selected`).addEventListener(`change`,e=>{Fy[t].selected=e.target.checked}),e.exists||(n.querySelector(`.prop-question`).addEventListener(`input`,e=>{Fy[t].question=e.target.value}),n.querySelector(`.prop-concept`).addEventListener(`input`,e=>{Fy[t].concept=e.target.value}),n.querySelector(`.prop-domain`).addEventListener(`input`,e=>{Fy[t].domain=e.target.value})),jy.appendChild(n)})}async function Hb(){if(!Q)return;let e=Fy.filter(e=>e.selected).map(e=>({question:e.question.trim(),concept:e.concept.trim(),domain:e.domain.trim(),bloom_level:e.bloom_level,symbiosis_mode:e.symbiosis_mode,exists:e.exists,slug:e.slug})).filter(e=>e.question&&e.concept&&e.domain);if(e.length===0){alert(Z(`lbl_err_select_foundation`));return}Ny.disabled=!0,My.disabled=!0;try{let t=await X(`personal-card-confirm-foundations`,[`--slug`,Q.slug,`--proposals`,JSON.stringify(e)]);if(t&&t.success)Bb(),alert(Jv(`toast_import_success`,{createdCount:t.createdCount,ensuredCount:t.linkedCount})),Sb(),await vb();else throw Error(Z(`lbl_error_importing`))}catch(e){alert(Z(`lbl_error_importing`)+`: `+(e.message||String(e))),Ny.disabled=!1,My.disabled=!1}}function Ub(e){gy=e,e===`text`?(sy.classList.add(`primary-btn`),sy.classList.remove(`secondary-btn`),cy.classList.add(`secondary-btn`),cy.classList.remove(`primary-btn`),ly.classList.remove(`hidden`),uy.classList.add(`hidden`)):(sy.classList.add(`secondary-btn`),sy.classList.remove(`primary-btn`),cy.classList.add(`primary-btn`),cy.classList.remove(`secondary-btn`),ly.classList.add(`hidden`),uy.classList.remove(`hidden`))}async function Wb(){let e=dy.value,t=fy.value.trim();if(!t){alert(Z(`lbl_err_enter_path_or_url`));return}py.disabled=!0,my.value=Z(`lbl_analyzing_source`);try{let n=await X(`personal-source-import`,[`--type`,e,`--uri`,t]);if(n&&n.success)hy.value=n.sourceId,my.value=n.content,e===`web`?ny.value=t:ny.value=`${e}://${t}`;else throw Error(Z(`lbl_err_analysis_failed`))}catch(e){alert(Z(`lbl_err_analysis_prefix`)+`: `+(e.message||String(e))),my.value=``,hy.value=``}finally{py.disabled=!1}}var Gb=document.getElementById(`zam-status`),Kb=document.getElementById(`zam-status-dot`),qb=document.getElementById(`zam-version`);function Jb(e,t){Gb&&(Gb.textContent=e),Kb&&Kb.classList.toggle(`connected`,t)}var Yb=null,Xb=null;function Zb(e){Yb||(Yb=document.createElement(`div`),Yb.id=`zam-panel-toast`,document.body.appendChild(Yb)),Yb.textContent=e,Yb.classList.add(`visible`),Xb!==null&&clearTimeout(Xb),Xb=window.setTimeout(()=>{Yb?.classList.remove(`visible`),Xb=null},4e3)}var Qb=new Hv({name:`ZAM Studio`,version:`0.1.0`});Qb.ontoolresult=e=>{let t=e.structuredContent??{};qb&&t.version&&(qb.textContent=`v${t.version}`),Jb(`Connected to zam mcp${t.user?` — signed in as ${t.user}`:``}`,!0)};async function $b(e,t){let n=await Qb.callServerTool({name:`zam_studio_bridge`,arguments:{cmd:e,args:t}}),r=n.content?.[0],i=r&&r.type===`text`?r.text:void 0;if(n.isError){let e=i??`zam_studio_bridge call failed`;if(i)try{let t=JSON.parse(i);typeof t.error==`string`&&(e=t.error)}catch{}throw Error(e)}return i===void 0?void 0:JSON.parse(i)}var ex=`Kein MCP-Apps-Host — diese Karte braucht einen Host mit ui/initialize (z. B. basic-host oder Copilot-Panel).`,tx=setTimeout(()=>Jb(ex,!1),4e3);Qb.connect().then(()=>{clearTimeout(tx),Jb(`Connected to host — waiting for data…`,!0),Wv($b),navigator.language.startsWith(`de`)&&qv(`de`),window.alert=e=>Zb(String(e)),gb()}).catch(e=>{clearTimeout(tx),Jb(`ZAM Studio failed to start: ${e instanceof Error?e.message:String(e)}`,!1)});</script>
646
+ </head>
647
+ <body>
648
+ <div id="zam-studio-panel">
649
+ <div class="zam-header">
650
+ <h1>ZAM Studio</h1>
651
+ <span class="version" id="zam-version"></span>
652
+ </div>
653
+ <div class="zam-card">
654
+ <p>
655
+ <span class="status-dot" id="zam-status-dot"></span>
656
+ <span id="zam-status">Connecting to host…</span>
657
+ </p>
658
+ </div>
659
+
660
+ <section class="content-studio" aria-label="Learning Content Studio">
661
+ <h2 class="content-studio-title">Learning Content</h2>
662
+
663
+ <div class="content-studio-toolbar">
664
+ <!--
665
+ Import Curriculum drives personal-source-import /
666
+ personal-card-import-curriculum, which zam_studio_bridge does not
667
+ allowlist. The button must still exist: initLearningContentStudio()
668
+ binds it and wires the whole import modal unconditionally, and a
669
+ missing element there throws and takes down the whole panel.
670
+ -->
671
+ <button
672
+ id="btn-content-import"
673
+ class="btn secondary-btn btn-sm"
674
+ type="button"
675
+ style="display: none"
676
+ >
677
+ Import Curriculum
678
+ </button>
679
+ <button id="btn-content-new-card" class="btn primary-btn btn-sm" type="button">
680
+ New Card
681
+ </button>
682
+ </div>
683
+
684
+ <div class="content-studio-layout show-list" id="content-studio-layout">
685
+ <!-- Left: card list -->
686
+ <div class="zam-card content-studio-list-panel">
687
+ <div class="content-studio-search-bar">
688
+ <input
689
+ type="text"
690
+ id="content-search-input"
691
+ class="editor-input content-studio-search-input"
692
+ placeholder="Search questions, answers, categories, keys..."
693
+ />
694
+ <select id="content-context-filter" class="editor-select content-studio-filter-select">
695
+ <option value="">All Contexts</option>
696
+ </select>
697
+ <select id="content-category-filter" class="editor-select content-studio-filter-select">
698
+ <option value="all">All Categories</option>
699
+ </select>
700
+ </div>
701
+ <div class="content-studio-card-list" id="content-studio-card-list"></div>
702
+ </div>
703
+
704
+ <!-- Right: editor form -->
705
+ <div class="zam-card content-studio-editor-panel" id="content-studio-editor-panel">
706
+ <div id="editor-empty-state" class="content-studio-empty">
707
+ <p>Select a card from the list to edit, or create a new card to start.</p>
708
+ <button id="btn-create-first-card" class="btn primary-btn btn-sm" type="button">
709
+ Create First Card
710
+ </button>
711
+ </div>
712
+
713
+ <div id="editor-form-container" class="hidden">
714
+ <div class="editor-scroll-container">
715
+ <div class="editor-form-group editor-primary-text-group">
716
+ <label for="editor-field-question">Question</label>
717
+ <textarea
718
+ id="editor-field-question"
719
+ class="editor-textarea"
720
+ placeholder="Active recall question..."
721
+ ></textarea>
722
+ </div>
723
+
724
+ <div class="editor-form-group editor-primary-text-group">
725
+ <label for="editor-field-concept">Answer / Concept</label>
726
+ <textarea
727
+ id="editor-field-concept"
728
+ class="editor-textarea"
729
+ placeholder="Concept description or reference answer..."
730
+ ></textarea>
731
+ </div>
732
+
733
+ <div class="editor-form-group">
734
+ <label for="editor-field-title">Title (for display in graph &amp; lists)</label>
735
+ <input
736
+ type="text"
737
+ id="editor-field-title"
738
+ class="editor-input"
739
+ placeholder="Human-friendly title (e.g. 'Pythagorean Theorem')"
740
+ />
741
+ </div>
742
+
743
+ <div class="editor-form-row">
744
+ <div class="editor-form-group">
745
+ <label for="editor-field-domain">Category</label>
746
+ <input type="text" id="editor-field-domain" class="editor-input" placeholder="e.g. git" />
747
+ </div>
748
+ <div class="editor-form-group">
749
+ <label for="editor-field-source-link">Source Link</label>
750
+ <input
751
+ type="text"
752
+ id="editor-field-source-link"
753
+ class="editor-input"
754
+ placeholder="e.g. src/utils.ts#L12"
755
+ />
756
+ </div>
757
+ </div>
758
+
759
+ <div class="collapsible-header" id="editor-toggle-advanced">
760
+ <span id="editor-toggle-arrow">▶</span> <span>More Settings</span>
761
+ </div>
762
+
763
+ <div class="collapsible-content" id="editor-advanced-content">
764
+ <div class="editor-form-group">
765
+ <label for="editor-field-context">Context</label>
766
+ <input
767
+ type="text"
768
+ id="editor-field-context"
769
+ class="editor-input"
770
+ placeholder="e.g. terminal environment"
771
+ />
772
+ </div>
773
+
774
+ <div class="editor-form-row">
775
+ <div class="editor-form-group">
776
+ <label for="editor-field-bloom">Bloom Level</label>
777
+ <select id="editor-field-bloom" class="editor-select">
778
+ <option value="1">1 - Remember</option>
779
+ <option value="2">2 - Understand</option>
780
+ <option value="3">3 - Apply</option>
781
+ <option value="4">4 - Analyze</option>
782
+ <option value="5">5 - Synthesize</option>
783
+ </select>
784
+ </div>
785
+
786
+ <div class="editor-form-group">
787
+ <label for="editor-field-mode">Symbiosis Mode</label>
788
+ <select id="editor-field-mode" class="editor-select">
789
+ <option value="none">None</option>
790
+ <option value="shadowing">Shadowing</option>
791
+ <option value="copilot">Copilot</option>
792
+ <option value="autonomy">Autonomy</option>
793
+ </select>
794
+ </div>
795
+ </div>
796
+ </div>
797
+
798
+ <div class="editor-form-group">
799
+ <label for="editor-field-slug">Technical Key (Slug)</label>
800
+ <input
801
+ type="text"
802
+ id="editor-field-slug"
803
+ class="editor-input"
804
+ readonly
805
+ placeholder="Auto-generated slug"
806
+ />
807
+ </div>
808
+ </div>
809
+
810
+ <div class="editor-actions-row">
811
+ <button id="btn-content-delete-card" class="btn danger-btn btn-sm" type="button">
812
+ Remove Card
813
+ </button>
814
+ <div class="editor-actions-right">
815
+ <button id="btn-content-cancel-edit" class="btn secondary-btn btn-sm hidden" type="button">
816
+ Cancel
817
+ </button>
818
+ <!--
819
+ Foundations / Split drive personal-card-foundations-proposals /
820
+ personal-card-split-proposals, not allowlisted by
821
+ zam_studio_bridge. Kept in the DOM (learning-content.ts binds
822
+ them unconditionally) but force-hidden: updateUIForSelection()
823
+ removes their "hidden" class on card selection, so that class
824
+ alone would not keep them off screen.
825
+ -->
826
+ <button
827
+ id="btn-content-foundations-card"
828
+ class="btn secondary-btn btn-sm hidden"
829
+ type="button"
830
+ style="display: none"
831
+ >
832
+ Foundations
833
+ </button>
834
+ <button
835
+ id="btn-content-split-card"
836
+ class="btn secondary-btn btn-sm hidden"
837
+ type="button"
838
+ style="display: none"
839
+ >
840
+ Split
841
+ </button>
842
+ <button id="btn-content-save-card" class="btn primary-btn btn-sm" type="button">
843
+ Save Card
844
+ </button>
845
+ </div>
846
+ </div>
847
+ </div>
848
+ </div>
849
+ </div>
850
+ </section>
851
+
852
+ <!-- Confirm removal / hard-delete modal (personal-card-remove and
853
+ personal-card-delete are both allowlisted; fully reachable). -->
854
+ <div id="content-modal-overlay" class="modal-overlay">
855
+ <div class="modal-box">
856
+ <div class="modal-header">
857
+ <h3 id="lbl-modal-title">Confirm Action</h3>
858
+ </div>
859
+ <div class="modal-body">
860
+ <p id="lbl-modal-desc">Are you sure you want to perform this action?</p>
861
+ <div id="modal-impact-container" class="modal-impact-section hidden">
862
+ <div class="modal-impact-title">Affected data:</div>
863
+ <ul class="modal-impact-list" id="modal-impact-list-el"></ul>
864
+ </div>
865
+ <div id="modal-delete-choice" class="modal-impact-section hidden">
866
+ <p style="font-size: 0.8rem; font-weight: 600; color: var(--danger); margin: 0 0 8px">
867
+ Advanced option:
868
+ </p>
869
+ <button id="btn-modal-hard-delete" class="btn danger-btn btn-sm" type="button">
870
+ Hard Delete Token Globally
871
+ </button>
872
+ </div>
873
+ </div>
874
+ <div class="modal-actions">
875
+ <button id="btn-modal-cancel" class="btn secondary-btn btn-sm" type="button">Cancel</button>
876
+ <button id="btn-modal-confirm" class="btn primary-btn btn-sm" type="button">Confirm</button>
877
+ </div>
878
+ </div>
879
+ </div>
880
+
881
+ <!-- Import Curriculum modal: unreachable (trigger hidden above), stays
882
+ in the DOM only because its fields are bound unconditionally. -->
883
+ <div id="import-modal-overlay" class="modal-overlay">
884
+ <div class="modal-box" style="max-width: 520px">
885
+ <div class="modal-header">
886
+ <h3>Import Curriculum</h3>
887
+ </div>
888
+ <div class="modal-body">
889
+ <div style="display: flex; gap: 8px; margin-bottom: 4px">
890
+ <button id="btn-import-tab-text" class="btn btn-xs primary-btn" type="button">Direct Text</button>
891
+ <button id="btn-import-tab-source" class="btn btn-xs secondary-btn" type="button">
892
+ File / Link / Scan
893
+ </button>
894
+ </div>
895
+
896
+ <div id="import-view-text">
897
+ <div class="editor-form-group">
898
+ <label for="import-field-text">Curriculum Text</label>
899
+ <textarea
900
+ id="import-field-text"
901
+ class="editor-textarea"
902
+ style="min-height: 140px"
903
+ placeholder="Paste curriculum text or syllabus bullets here..."
904
+ ></textarea>
905
+ </div>
906
+ </div>
907
+
908
+ <div id="import-view-source" class="hidden">
909
+ <div class="editor-form-row">
910
+ <div class="editor-form-group" style="flex: 1.2">
911
+ <label for="import-source-type">Source Type</label>
912
+ <select id="import-source-type" class="editor-select">
913
+ <option value="file">Local File (.txt, .md)</option>
914
+ <option value="web">Web Link (HTTP / HTTPS)</option>
915
+ <option value="scan">OCR Scan (Image file path)</option>
916
+ </select>
917
+ </div>
918
+ <div class="editor-form-group" style="flex: 2">
919
+ <label for="import-source-uri">File Path or URL</label>
920
+ <input
921
+ type="text"
922
+ id="import-source-uri"
923
+ class="editor-input"
924
+ placeholder="e.g. C:/notes.md or https://example.com"
925
+ />
926
+ </div>
927
+ </div>
928
+ <button id="btn-import-source-analyze" class="btn primary-btn btn-sm" type="button">
929
+ Analyze
930
+ </button>
931
+ <div class="editor-form-group">
932
+ <label>Extracted Plain Text Preview</label>
933
+ <textarea
934
+ id="import-source-preview"
935
+ class="editor-textarea"
936
+ readonly
937
+ placeholder="Extracted plain text will show here after analysis..."
938
+ ></textarea>
939
+ </div>
940
+ <input type="hidden" id="import-source-id" />
941
+ </div>
942
+
943
+ <div class="editor-form-row">
944
+ <div class="editor-form-group">
945
+ <label for="import-field-source">Source URL / Reference</label>
946
+ <input
947
+ type="text"
948
+ id="import-field-source"
949
+ class="editor-input"
950
+ placeholder="e.g. https://example.com/syllabus"
951
+ />
952
+ </div>
953
+ <div class="editor-form-group">
954
+ <label for="import-field-category">Target Category</label>
955
+ <input
956
+ type="text"
957
+ id="import-field-category"
958
+ class="editor-input"
959
+ placeholder="e.g. computer-science"
960
+ />
961
+ </div>
962
+ </div>
963
+
964
+ <div id="import-progress-container" class="hidden">Generating cards…</div>
965
+ </div>
966
+ <div class="modal-actions">
967
+ <button id="btn-import-modal-cancel" class="btn secondary-btn btn-sm" type="button">Cancel</button>
968
+ <button id="btn-import-modal-submit" class="btn primary-btn btn-sm" type="button">Import</button>
969
+ </div>
970
+ </div>
971
+ </div>
972
+
973
+ <!-- Split Card modal: unreachable (trigger hidden above), stays in the
974
+ DOM only because its fields are bound unconditionally. -->
975
+ <div id="split-modal-overlay" class="modal-overlay">
976
+ <div class="modal-box" style="max-width: 560px">
977
+ <div class="modal-header">
978
+ <h3>Split Card</h3>
979
+ </div>
980
+ <div class="modal-body">
981
+ <div class="editor-form-group">
982
+ <label for="split-original-question">Question</label>
983
+ <textarea
984
+ id="split-original-question"
985
+ class="editor-textarea"
986
+ style="min-height: 50px"
987
+ ></textarea>
988
+ </div>
989
+ <div class="editor-form-group">
990
+ <label for="split-original-concept">Answer / Concept</label>
991
+ <textarea
992
+ id="split-original-concept"
993
+ class="editor-textarea"
994
+ style="min-height: 50px"
995
+ ></textarea>
996
+ </div>
997
+ <div class="editor-form-group">
998
+ <label>After split completed:</label>
999
+ <div style="display: flex; gap: 16px">
1000
+ <label style="display: flex; align-items: center; gap: 6px; font-weight: normal">
1001
+ <input type="radio" name="split-original-action" value="block" checked />
1002
+ Keep original card and block it
1003
+ </label>
1004
+ <label style="display: flex; align-items: center; gap: 6px; font-weight: normal">
1005
+ <input type="radio" name="split-original-action" value="remove" />
1006
+ Remove original card
1007
+ </label>
1008
+ </div>
1009
+ </div>
1010
+ <div id="split-progress-container" class="hidden">Generating atomic proposals…</div>
1011
+ <div id="split-proposals-section" class="hidden">
1012
+ <div style="display: flex; justify-content: space-between; align-items: center">
1013
+ <label>Atomic Card Proposals (Minimum 2)</label>
1014
+ <button id="btn-split-add-proposal" class="btn secondary-btn btn-sm" type="button">
1015
+ + Add Card
1016
+ </button>
1017
+ </div>
1018
+ <div id="split-proposals-container" style="display: flex; flex-direction: column; gap: 10px"></div>
1019
+ </div>
1020
+ </div>
1021
+ <div class="modal-actions">
1022
+ <button id="btn-split-modal-cancel" class="btn secondary-btn btn-sm" type="button">Cancel</button>
1023
+ <button id="btn-split-modal-submit" class="btn primary-btn btn-sm" type="button">
1024
+ Confirm Split
1025
+ </button>
1026
+ </div>
1027
+ </div>
1028
+ </div>
1029
+
1030
+ <!-- Import Foundations modal: unreachable (trigger hidden above), stays
1031
+ in the DOM only because its fields are bound unconditionally. -->
1032
+ <div id="foundations-modal-overlay" class="modal-overlay">
1033
+ <div class="modal-box" style="max-width: 560px">
1034
+ <div class="modal-header">
1035
+ <h3>Import Foundations</h3>
1036
+ </div>
1037
+ <div class="modal-body">
1038
+ <div id="foundations-progress-container" class="hidden">Generating foundational proposals…</div>
1039
+ <div id="foundations-proposals-section" class="hidden">
1040
+ <label>Foundational Card Proposals</label>
1041
+ <div
1042
+ id="foundations-proposals-container"
1043
+ style="display: flex; flex-direction: column; gap: 10px"
1044
+ ></div>
1045
+ </div>
1046
+ </div>
1047
+ <div class="modal-actions">
1048
+ <button id="btn-foundations-modal-cancel" class="btn secondary-btn btn-sm" type="button">
1049
+ Cancel
1050
+ </button>
1051
+ <button id="btn-foundations-modal-submit" class="btn primary-btn btn-sm" type="button">
1052
+ Confirm Import
1053
+ </button>
1054
+ </div>
1055
+ </div>
1056
+ </div>
1057
+ </div>
1058
+ </body>
1059
+ </html>