@lacneu/atrium 0.40.0 → 0.41.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.
- package/dist/assets/AccessTab-BPU3wIZm.js +1 -0
- package/dist/assets/{AdvancedFilter-C0THAQ2E.js → AdvancedFilter-CC8yyyri.js} +1 -1
- package/dist/assets/AgentFilesTab-CtNCoKlS.js +3 -0
- package/dist/assets/AnomaliesTab-NdCQKann.js +1 -0
- package/dist/assets/AuditTab-CWQxAbhT.js +1 -0
- package/dist/assets/BridgeTab-BCL_OOvu.js +1 -0
- package/dist/assets/ChatDefaultsTab-NscB-_rp.js +1 -0
- package/dist/assets/DataTableShell-D9QsTmar.js +1 -0
- package/dist/assets/{DetailChips-jl8VAars.js → DetailChips-MsrqrfaC.js} +1 -1
- package/dist/assets/FeedbacksTab-B3tJTaSf.js +1 -0
- package/dist/assets/{FieldLabel-B8G-MYNo.js → FieldLabel-D8fOMGe_.js} +2 -2
- package/dist/assets/FilesTab-DQ__4A1q.js +1 -0
- package/dist/assets/{FilterBar-DRUEEKsU.js → FilterBar-C7Mvs1eU.js} +1 -1
- package/dist/assets/GroupsTab-D2qzXfMe.js +1 -0
- package/dist/assets/InstancesTab-dq37Dr7Z.js +1 -0
- package/dist/assets/IntegrationsTab-DV6Z0hSu.js +1 -0
- package/dist/assets/KpiTab-D7m6UNj8.js +1 -0
- package/dist/assets/PreferencesTab-8Mbh6ZH6.js +1 -0
- package/dist/assets/PromptInjectionsTab-Blwoo--d.js +4 -0
- package/dist/assets/RolesTab-BBu-TSCV.js +1 -0
- package/dist/assets/ServiceAccountsTab-1rX21yES.js +1 -0
- package/dist/assets/SubAgentReportsTab-DucQqOdO.js +1 -0
- package/dist/assets/ThemeShowroom-BaezCGnL.js +1 -0
- package/dist/assets/{TimeRangePicker-D48D83Oh.js → TimeRangePicker-DPS3DfDG.js} +1 -1
- package/dist/assets/TracesTab-CnxpRZQV.js +1 -0
- package/dist/assets/UsersTab-CHO7pRMC.js +1 -0
- package/dist/assets/VoiceTab-Caths54h.js +1 -0
- package/dist/assets/{button-CckfHMbj.js → button-DOcSAX3s.js} +1 -1
- package/dist/assets/{card-DypYZQqW.js → card-JEjhD_mU.js} +1 -1
- package/dist/assets/chevrons-up-down-BFv7418u.js +1 -0
- package/dist/assets/compatView-D6-sh7MA.js +1 -0
- package/dist/assets/{confTabs-O2Cp4dmA.css → confTabs-C35Io1ep.css} +1 -1
- package/dist/assets/dispatchErrorInfo-N4shKvw0.js +1 -0
- package/dist/assets/{dist-4hLW9pCQ.js → dist-BJS2mn_o.js} +1 -1
- package/dist/assets/dist-Byo4-C3q.js +44 -0
- package/dist/assets/{dist-B9DB48K7.js → dist-DeWVxElE.js} +1 -1
- package/dist/assets/{dist-CM845ILS.js → dist-GCf84zyw.js} +1 -1
- package/dist/assets/{highlighted-body-OFNGDK62-DNPEG4ak.js → highlighted-body-OFNGDK62-uB3hQoQJ.js} +1 -1
- package/dist/assets/index-BsEfIgPs.css +2 -0
- package/dist/assets/index-CwfPxODu.js +233 -0
- package/dist/assets/mermaid-GHXKKRXX-B3PQETQF.js +1 -0
- package/dist/assets/roleDescriptions-CLRkzP_G.js +1 -0
- package/dist/assets/{table-CnKDuavw.js → table-Be-_wtAR.js} +1 -1
- package/dist/assets/{tabs-DqVkAM7O.js → tabs-DST_6O2g.js} +1 -1
- package/dist/assets/x-CjDVnBGs.js +1 -0
- package/dist/index.html +8 -8
- package/package.json +1 -1
- package/dist/assets/AccessTab-BUu-z3sx.js +0 -1
- package/dist/assets/AgentFilesTab-CofVyQgk.js +0 -3
- package/dist/assets/AnomaliesTab-Bq3RmQHz.js +0 -1
- package/dist/assets/AuditTab-BS5US2vo.js +0 -1
- package/dist/assets/BridgeTab-BRhL8-C3.js +0 -1
- package/dist/assets/ChatDefaultsTab-DaSmKDML.js +0 -1
- package/dist/assets/DataTableShell-u1nLRhQM.js +0 -1
- package/dist/assets/FeedbacksTab-B7hyTj7i.js +0 -1
- package/dist/assets/FilesTab-CsZJjp3v.js +0 -1
- package/dist/assets/GroupsTab-Dash5os_.js +0 -1
- package/dist/assets/InstancesTab-M-1_F4WA.js +0 -1
- package/dist/assets/IntegrationsTab-DPL5iBqB.js +0 -1
- package/dist/assets/KpiTab-BXsIWGMh.js +0 -1
- package/dist/assets/PreferencesTab-BX3y939D.js +0 -1
- package/dist/assets/PromptInjectionsTab-Cnu3mata.js +0 -4
- package/dist/assets/RolesTab-BR7F3TsM.js +0 -1
- package/dist/assets/ServiceAccountsTab-Do8ADcys.js +0 -1
- package/dist/assets/SubAgentReportsTab-638o4lZF.js +0 -1
- package/dist/assets/ThemeShowroom-BZIH2Ja8.js +0 -1
- package/dist/assets/TracesTab-DrJDpSUE.js +0 -1
- package/dist/assets/UsersTab-BhMKwkaB.js +0 -1
- package/dist/assets/chevrons-up-down-DGKOAhJM.js +0 -1
- package/dist/assets/compatView-ZCfRu3f5.js +0 -1
- package/dist/assets/dispatchErrorInfo-DioyF49L.js +0 -1
- package/dist/assets/dist-0orl0RkM.js +0 -44
- package/dist/assets/index-BXEqld-9.css +0 -2
- package/dist/assets/index-CFTFwlx0.js +0 -231
- package/dist/assets/mermaid-GHXKKRXX-DmskwXIX.js +0 -1
- package/dist/assets/roleDescriptions-DHFs-TkY.js +0 -1
- package/dist/assets/x-DBdlW6Pd.js +0 -1
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,l as n,n as r,r as i,t as a}from"./bundle-mjs-C73ZY4La.js";for(var o=[],s=[],c=Uint8Array,l=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,u=0,d=l.length;u<d;++u)o[u]=l[u],s[l.charCodeAt(u)]=u;s[45]=62,s[95]=63;function f(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function p(e,t,n){return(t+n)*3/4-n}function m(e){var t,n=f(e),r=n[0],i=n[1],a=new c(p(e,r,i)),o=0,l=i>0?r-4:r,u;for(u=0;u<l;u+=4)t=s[e.charCodeAt(u)]<<18|s[e.charCodeAt(u+1)]<<12|s[e.charCodeAt(u+2)]<<6|s[e.charCodeAt(u+3)],a[o++]=t>>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=s[e.charCodeAt(u)]<<2|s[e.charCodeAt(u+1)]>>4,a[o++]=t&255),i===1&&(t=s[e.charCodeAt(u)]<<10|s[e.charCodeAt(u+1)]<<4|s[e.charCodeAt(u+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function h(e){return o[e>>18&63]+o[e>>12&63]+o[e>>6&63]+o[e&63]}function g(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(h(r));return i.join(``)}function _(e){for(var t,n=e.length,r=n%3,i=[],a=16383,s=0,c=n-r;s<c;s+=a)i.push(g(e,s,s+a>c?c:s+a));return r===1?(t=e[n-1],i.push(o[t>>2]+o[t<<4&63]+`==`)):r===2&&(t=(e[n-2]<<8)+e[n-1],i.push(o[t>>10]+o[t>>4&63]+o[t<<2&63]+`=`)),i.join(``)}function v(e){if(e===void 0)return{};if(!y(e))throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);return e}function ee(e){if(e===void 0)throw Error(`Client created with undefined deployment address. If you used an environment variable, check that it's set.`);if(typeof e!=`string`)throw Error(`Invalid deployment address: found ${e}".`);if(!(e.startsWith(`http:`)||e.startsWith(`https:`)))throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);try{new URL(e)}catch{throw Error(`Invalid deployment address: "${e}" is not a valid URL. If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}if(e.endsWith(`.convex.site`))throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`)}function y(e){let t=typeof e==`object`,n=Object.getPrototypeOf(e),r=n===null||n===Object.prototype||n?.constructor?.name===`Object`;return t&&r}var te=!0,b=BigInt(`-9223372036854775808`),x=BigInt(`9223372036854775807`),ne=BigInt(`0`),eee=BigInt(`8`),tee=BigInt(`256`);function re(e){return Number.isNaN(e)||!Number.isFinite(e)||Object.is(e,-0)}function nee(e){e<ne&&(e-=b+b);let t=e.toString(16);t.length%2==1&&(t=`0`+t);let n=new Uint8Array(new ArrayBuffer(8)),r=0;for(let i of t.match(/.{2}/g).reverse())n.set([parseInt(i,16)],r++),e>>=eee;return _(n)}function ree(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);let n=ne,r=ne;for(let e of t)n+=BigInt(e)*tee**r,r++;return n>x&&(n+=b+b),n}function iee(e){if(e<b||x<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);let t=new ArrayBuffer(8);return new DataView(t).setBigInt64(0,e,!0),_(new Uint8Array(t))}function aee(e){let t=m(e);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);return new DataView(t.buffer).getBigInt64(0,!0)}var ie=DataView.prototype.setBigInt64?iee:nee,oee=DataView.prototype.getBigInt64?aee:ree,ae=1024;function oe(e){if(e.length>ae)throw Error(`Field name ${e} exceeds maximum field name length ${ae}.`);if(e.startsWith(`$`))throw Error(`Field name ${e} starts with a '$', which is reserved.`);for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n<32||n>=127)throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`)}}function S(e){if(e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`)return e;if(Array.isArray(e))return e.map(e=>S(e));if(typeof e!=`object`)throw Error(`Unexpected type of ${e}`);let t=Object.entries(e);if(t.length===1){let n=t[0][0];if(n===`$bytes`){if(typeof e.$bytes!=`string`)throw Error(`Malformed $bytes field on ${e}`);return m(e.$bytes).buffer}if(n===`$integer`){if(typeof e.$integer!=`string`)throw Error(`Malformed $integer field on ${e}`);return oee(e.$integer)}if(n===`$float`){if(typeof e.$float!=`string`)throw Error(`Malformed $float field on ${e}`);let t=m(e.$float);if(t.byteLength!==8)throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);let n=new DataView(t.buffer).getFloat64(0,te);if(!re(n))throw Error(`Float ${n} should be encoded as a number`);return n}if(n===`$set`)throw Error(`Received a Set which is no longer supported as a Convex type.`);if(n===`$map`)throw Error(`Received a Map which is no longer supported as a Convex type.`)}let n={};for(let[t,r]of Object.entries(e))oe(t),n[t]=S(r);return n}var se=16384;function C(e){let t=JSON.stringify(e,(e,t)=>t===void 0?`undefined`:typeof t==`bigint`?`${t.toString()}n`:t);if(t.length>se){let e=se-14,n=t.codePointAt(e-1);return n!==void 0&&n>65535&&--e,t.substring(0,e)+`[...truncated]`}return t}function ce(e,t,n,r){if(e===void 0){let e=n&&` (present at path ${n} in original object ${C(t)})`;throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`)}if(e===null)return e;if(typeof e==`bigint`){if(e<b||x<e)throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);return{$integer:ie(e)}}if(typeof e==`number`)if(re(e)){let t=new ArrayBuffer(8);return new DataView(t).setFloat64(0,e,te),{$float:_(new Uint8Array(t))}}else return e;if(typeof e==`boolean`||typeof e==`string`)return e;if(e instanceof ArrayBuffer)return{$bytes:_(new Uint8Array(e))};if(Array.isArray(e))return e.map((e,r)=>ce(e,t,n+`[${r}]`,!1));if(e instanceof Set)throw Error(le(n,`Set`,[...e],t));if(e instanceof Map)throw Error(le(n,`Map`,[...e],t));if(!y(e)){let r=e?.constructor?.name,i=r?`${r} `:``;throw Error(le(n,i,e,t))}let i={},a=Object.entries(e);a.sort(([e,t],[n,r])=>e===n?0:e<n?-1:1);for(let[e,o]of a)o===void 0?r&&(oe(e),i[e]=see(o,t,n+`.${e}`)):(oe(e),i[e]=ce(o,t,n+`.${e}`,!1));return i}function le(e,t,n,r){return e?`${t}${C(n)} is not a supported Convex type (present at path ${e} in original object ${C(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.`:`${t}${C(n)} is not a supported Convex type.`}function see(e,t,n){if(e===void 0)return{$undefined:null};if(t===void 0)throw Error(`Programming error. Current value is ${C(e)} but original value is undefined`);return ce(e,t,n,!1)}function w(e){return ce(e,e,``,!1)}var T=n(e(),1),cee=Object.defineProperty,lee=(e,t,n)=>t in e?cee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E=(e,t,n)=>lee(e,typeof t==`symbol`?t:t+``,n),uee=`https://docs.convex.dev/error#undefined-validator`;function D(e,t){let n=t===void 0?``:` for field "${t}"`;throw Error(`A validator is undefined${n} in ${e}. This is often caused by circular imports. See ${uee} for details.`)}var O=class{constructor({isOptional:e}){E(this,`type`),E(this,`fieldPaths`),E(this,`isOptional`),E(this,`isConvexValidator`),this.isOptional=e,this.isConvexValidator=!0}},dee=class e extends O{constructor({isOptional:e,tableName:t}){if(super({isOptional:e}),E(this,`tableName`),E(this,`kind`,`id`),typeof t!=`string`)throw Error(`v.id(tableName) requires a string`);this.tableName=t}get json(){return{type:`id`,tableName:this.tableName}}asOptional(){return new e({isOptional:`optional`,tableName:this.tableName})}},ue=class e extends O{constructor(){super(...arguments),E(this,`kind`,`float64`)}get json(){return{type:`number`}}asOptional(){return new e({isOptional:`optional`})}},de=class e extends O{constructor(){super(...arguments),E(this,`kind`,`int64`)}get json(){return{type:`bigint`}}asOptional(){return new e({isOptional:`optional`})}},fee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`boolean`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},pee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`bytes`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},mee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`string`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},hee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`null`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},gee=class e extends O{constructor(){super(...arguments),E(this,`kind`,`any`)}get json(){return{type:this.kind}}asOptional(){return new e({isOptional:`optional`})}},fe=class e extends O{constructor({isOptional:e,fields:t}){super({isOptional:e}),E(this,`fields`),E(this,`kind`,`object`),globalThis.Object.entries(t).forEach(([e,t])=>{if(t===void 0&&D(`v.object()`,e),!t.isConvexValidator)throw Error(`v.object() entries must be validators`)}),this.fields=t}get json(){return{type:this.kind,value:globalThis.Object.fromEntries(globalThis.Object.entries(this.fields).map(([e,t])=>[e,{fieldType:t.json,optional:t.isOptional===`optional`}]))}}asOptional(){return new e({isOptional:`optional`,fields:this.fields})}omit(...t){let n={...this.fields};for(let e of t)delete n[e];return new e({isOptional:this.isOptional,fields:n})}pick(...t){let n={};for(let e of t)n[e]=this.fields[e];return new e({isOptional:this.isOptional,fields:n})}partial(){let t={};for(let[e,n]of globalThis.Object.entries(this.fields))t[e]=n.asOptional();return new e({isOptional:this.isOptional,fields:t})}extend(t){return new e({isOptional:this.isOptional,fields:{...this.fields,...t}})}},pe=class e extends O{constructor({isOptional:e,value:t}){if(super({isOptional:e}),E(this,`value`),E(this,`kind`,`literal`),typeof t!=`string`&&typeof t!=`boolean`&&typeof t!=`number`&&typeof t!=`bigint`)throw Error(`v.literal(value) must be a string, number, or boolean`);this.value=t}get json(){return{type:this.kind,value:w(this.value)}}asOptional(){return new e({isOptional:`optional`,value:this.value})}},me=class e extends O{constructor({isOptional:e,element:t}){super({isOptional:e}),E(this,`element`),E(this,`kind`,`array`),t===void 0&&D(`v.array()`),this.element=t}get json(){return{type:this.kind,value:this.element.json}}asOptional(){return new e({isOptional:`optional`,element:this.element})}},he=class e extends O{constructor({isOptional:e,key:t,value:n}){if(super({isOptional:e}),E(this,`key`),E(this,`value`),E(this,`kind`,`record`),t===void 0&&D(`v.record()`,`key`),n===void 0&&D(`v.record()`,`value`),t.isOptional===`optional`)throw Error(`Record validator cannot have optional keys`);if(n.isOptional===`optional`)throw Error(`Record validator cannot have optional values`);if(!t.isConvexValidator||!n.isConvexValidator)throw Error(`Key and value of v.record() but be validators`);this.key=t,this.value=n}get json(){return{type:this.kind,keys:this.key.json,values:{fieldType:this.value.json,optional:!1}}}asOptional(){return new e({isOptional:`optional`,key:this.key,value:this.value})}},ge=class e extends O{constructor({isOptional:e,members:t}){super({isOptional:e}),E(this,`members`),E(this,`kind`,`union`),t.forEach((e,t)=>{if(e===void 0&&D(`v.union()`,`member at index ${t}`),!e.isConvexValidator)throw Error(`All members of v.union() must be validators`)}),this.members=t}get json(){return{type:this.kind,value:this.members.map(e=>e.json)}}asOptional(){return new e({isOptional:`optional`,members:this.members})}},_e={id:e=>new dee({isOptional:`required`,tableName:e}),null:()=>new hee({isOptional:`required`}),number:()=>new ue({isOptional:`required`}),float64:()=>new ue({isOptional:`required`}),bigint:()=>new de({isOptional:`required`}),int64:()=>new de({isOptional:`required`}),boolean:()=>new fee({isOptional:`required`}),string:()=>new mee({isOptional:`required`}),bytes:()=>new pee({isOptional:`required`}),literal:e=>new pe({isOptional:`required`,value:e}),array:e=>new me({isOptional:`required`,element:e}),object:e=>new fe({isOptional:`required`,fields:e}),record:(e,t)=>new he({isOptional:`required`,key:e,value:t}),union:(...e)=>new ge({isOptional:`required`,members:e}),any:()=>new gee({isOptional:`required`}),optional:e=>e.asOptional(),nullable:e=>_e.union(e,_e.null())},_ee=Object.defineProperty,vee=(e,t,n)=>t in e?_ee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ve=(e,t,n)=>vee(e,typeof t==`symbol`?t:t+``,n),ye,be,yee=Symbol.for(`ConvexError`),xe=class extends (be=Error,ye=yee,be){constructor(e){super(typeof e==`string`?e:C(e)),ve(this,`name`,`ConvexError`),ve(this,`data`),ve(this,ye,!0),this.data=e}},Se=`1.40.0`,bee=Object.defineProperty,xee=(e,t,n)=>t in e?bee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ce=(e,t,n)=>xee(e,typeof t==`symbol`?t:t+``,n),See=`color:rgb(0, 145, 255)`;function we(e){switch(e){case`query`:return`Q`;case`mutation`:return`M`;case`action`:return`A`;case`any`:return`?`}}var Te=class{constructor(e){Ce(this,`_onLogLineFuncs`),Ce(this,`_verbose`),this._onLogLineFuncs={},this._verbose=e.verbose}addLogLineListener(e){let t=Math.random().toString(36).substring(2,15);for(let e=0;e<10&&this._onLogLineFuncs[t]!==void 0;e++)t=Math.random().toString(36).substring(2,15);return this._onLogLineFuncs[t]=e,()=>{delete this._onLogLineFuncs[t]}}logVerbose(...e){if(this._verbose)for(let t of Object.values(this._onLogLineFuncs))t(`debug`,`${new Date().toISOString()}`,...e)}log(...e){for(let t of Object.values(this._onLogLineFuncs))t(`info`,...e)}warn(...e){for(let t of Object.values(this._onLogLineFuncs))t(`warn`,...e)}error(...e){for(let t of Object.values(this._onLogLineFuncs))t(`error`,...e)}};function Ee(e){let t=new Te(e);return t.addLogLineListener((e,...t)=>{switch(e){case`debug`:console.debug(...t);break;case`info`:console.log(...t);break;case`warn`:console.warn(...t);break;case`error`:console.error(...t);break;default:console.log(...t)}}),t}function De(e){return new Te(e)}function Oe(e,t,n,r,i){let a=we(n);if(typeof i==`object`&&(i=`ConvexError ${JSON.stringify(i.errorData,null,2)}`),t===`info`){let t=i.match(/^\[.*?\] /);if(t===null){e.error(`[CONVEX ${a}(${r})] Could not parse console.log`);return}let n=i.slice(1,t[0].length-2),o=i.slice(t[0].length);e.log(`%c[CONVEX ${a}(${r})] [${n}]`,See,o)}else e.error(`[CONVEX ${a}(${r})] ${i}`)}function Cee(e,t){let n=`[CONVEX FATAL ERROR] ${t}`;return e.error(n),Error(n)}function k(e,t,n){return`[CONVEX ${we(e)}(${t})] ${n.errorMessage}
|
|
2
|
-
Called by client`}function ke(e,t){return t.data=e.errorData,t}function A(e){let t=e.split(`:`),n,r;return t.length===1?(n=t[0],r=`default`):(n=t.slice(0,t.length-1).join(`:`),r=t[t.length-1]),n.endsWith(`.js`)&&(n=n.slice(0,-3)),`${n}:${r}`}function j(e,t){return JSON.stringify({udfPath:A(e),args:w(t)})}function Ae(e,t,n){let{initialNumItems:r,id:i}=n;return JSON.stringify({type:`paginated`,udfPath:A(e),args:w(t),options:w({initialNumItems:r,id:i})})}var wee=Object.defineProperty,Tee=(e,t,n)=>t in e?wee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M=(e,t,n)=>Tee(e,typeof t==`symbol`?t:t+``,n),je=class{constructor(){M(this,`nextQueryId`),M(this,`querySetVersion`),M(this,`querySet`),M(this,`queryIdToToken`),M(this,`identityVersion`),M(this,`auth`),M(this,`outstandingQueriesOlderThanRestart`),M(this,`outstandingAuthOlderThanRestart`),M(this,`paused`),M(this,`pendingQuerySetModifications`),this.nextQueryId=0,this.querySetVersion=0,this.identityVersion=0,this.querySet=new Map,this.queryIdToToken=new Map,this.outstandingQueriesOlderThanRestart=new Set,this.outstandingAuthOlderThanRestart=!1,this.paused=!1,this.pendingQuerySetModifications=new Map}hasSyncedPastLastReconnect(){return this.outstandingQueriesOlderThanRestart.size===0&&!this.outstandingAuthOlderThanRestart}markAuthCompletion(){this.outstandingAuthOlderThanRestart=!1}subscribe(e,t,n,r){let i=A(e),a=j(i,t),o=this.querySet.get(a);if(o!==void 0)return o.numSubscribers+=1,{queryToken:a,modification:null,unsubscribe:()=>this.removeSubscriber(a)};{let e=this.nextQueryId++,o={id:e,canonicalizedUdfPath:i,args:t,numSubscribers:1,journal:n,componentPath:r};this.querySet.set(a,o),this.queryIdToToken.set(e,a);let s=this.querySetVersion,c=this.querySetVersion+1,l={type:`Add`,queryId:e,udfPath:i,args:[w(t)],journal:n,componentPath:r};return this.paused?this.pendingQuerySetModifications.set(e,l):this.querySetVersion=c,{queryToken:a,modification:{type:`ModifyQuerySet`,baseVersion:s,newVersion:c,modifications:[l]},unsubscribe:()=>this.removeSubscriber(a)}}}transition(e){for(let t of e.modifications)switch(t.type){case`QueryUpdated`:case`QueryFailed`:{this.outstandingQueriesOlderThanRestart.delete(t.queryId);let e=t.journal;if(e!==void 0){let n=this.queryIdToToken.get(t.queryId);n!==void 0&&(this.querySet.get(n).journal=e)}break}case`QueryRemoved`:this.outstandingQueriesOlderThanRestart.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}}queryId(e,t){let n=j(A(e),t),r=this.querySet.get(n);return r===void 0?null:r.id}isCurrentOrNewerAuthVersion(e){return e>=this.identityVersion}getAuth(){return this.auth}setAuth(e){this.auth={tokenType:`User`,value:e};let t=this.identityVersion;return this.paused||(this.identityVersion=t+1),{type:`Authenticate`,baseVersion:t,...this.auth}}setAdminAuth(e,t){let n={tokenType:`Admin`,value:e,impersonating:t};this.auth=n;let r=this.identityVersion;return this.paused||(this.identityVersion=r+1),{type:`Authenticate`,baseVersion:r,...n}}clearAuth(){this.auth=void 0,this.markAuthCompletion();let e=this.identityVersion;return this.paused||(this.identityVersion=e+1),{type:`Authenticate`,tokenType:`None`,baseVersion:e}}hasAuth(){return!!this.auth}isNewAuth(e){return this.auth?.value!==e}queryPath(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).canonicalizedUdfPath:null}queryArgs(e){let t=this.queryIdToToken.get(e);return t?this.querySet.get(t).args:null}queryToken(e){return this.queryIdToToken.get(e)??null}queryJournal(e){return this.querySet.get(e)?.journal}restart(){this.unpause(),this.outstandingQueriesOlderThanRestart.clear();let e=[];for(let t of this.querySet.values()){let n={type:`Add`,queryId:t.id,udfPath:t.canonicalizedUdfPath,args:[w(t.args)],journal:t.journal,componentPath:t.componentPath};e.push(n),this.outstandingQueriesOlderThanRestart.add(t.id)}this.querySetVersion=1;let t={type:`ModifyQuerySet`,baseVersion:0,newVersion:1,modifications:e};if(!this.auth)return this.identityVersion=0,[t,void 0];this.outstandingAuthOlderThanRestart=!0;let n={type:`Authenticate`,baseVersion:0,...this.auth};return this.identityVersion=1,[t,n]}pause(){this.paused=!0}resume(){let e=this.pendingQuerySetModifications.size>0?{type:`ModifyQuerySet`,baseVersion:this.querySetVersion,newVersion:++this.querySetVersion,modifications:Array.from(this.pendingQuerySetModifications.values())}:void 0,t=this.auth===void 0?void 0:{type:`Authenticate`,baseVersion:this.identityVersion++,...this.auth};return this.unpause(),[e,t]}unpause(){this.paused=!1,this.pendingQuerySetModifications.clear()}removeSubscriber(e){let t=this.querySet.get(e);if(t.numSubscribers>1)return--t.numSubscribers,null;{this.querySet.delete(e),this.queryIdToToken.delete(t.id),this.outstandingQueriesOlderThanRestart.delete(t.id);let n=this.querySetVersion,r=this.querySetVersion+1,i={type:`Remove`,queryId:t.id};return this.paused?this.pendingQuerySetModifications.has(t.id)?this.pendingQuerySetModifications.delete(t.id):this.pendingQuerySetModifications.set(t.id,i):this.querySetVersion=r,{type:`ModifyQuerySet`,baseVersion:n,newVersion:r,modifications:[i]}}}},Me=Object.defineProperty,Ne=(e,t,n)=>t in e?Me(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pe=(e,t,n)=>Ne(e,typeof t==`symbol`?t:t+``,n),Fe=class{constructor(e,t){this.logger=e,this.markConnectionStateDirty=t,Pe(this,`inflightRequests`),Pe(this,`requestsOlderThanRestart`),Pe(this,`inflightMutationsCount`,0),Pe(this,`inflightActionsCount`,0),this.inflightRequests=new Map,this.requestsOlderThanRestart=new Set}request(e,t){let n=new Promise(n=>{let r=t?`Requested`:`NotSent`;this.inflightRequests.set(e.requestId,{message:e,status:{status:r,requestedAt:new Date,onResult:n}}),e.type===`Mutation`?this.inflightMutationsCount++:e.type===`Action`&&this.inflightActionsCount++});return this.markConnectionStateDirty(),n}onResponse(e){let t=this.inflightRequests.get(e.requestId);if(t===void 0||t.status.status===`Completed`)return null;let n=t.message.type===`Mutation`?`mutation`:`action`,r=t.message.udfPath;for(let t of e.logLines)Oe(this.logger,`info`,n,r,t);let i=t.status,a,o;if(e.success)a={success:!0,logLines:e.logLines,value:S(e.result)},o=()=>i.onResult(a);else{let t=e.result,{errorData:s}=e;Oe(this.logger,`error`,n,r,t),a={success:!1,errorMessage:t,errorData:s===void 0?void 0:S(s),logLines:e.logLines},o=()=>i.onResult(a)}return e.type===`ActionResponse`||!e.success?(o(),this.inflightRequests.delete(e.requestId),this.requestsOlderThanRestart.delete(e.requestId),t.message.type===`Action`?this.inflightActionsCount--:t.message.type===`Mutation`&&this.inflightMutationsCount--,this.markConnectionStateDirty(),{requestId:e.requestId,result:a}):(t.status={status:`Completed`,result:a,ts:e.ts,onResolve:o},null)}removeCompleted(e){let t=new Map;for(let[n,r]of this.inflightRequests.entries()){let i=r.status;i.status===`Completed`&&i.ts.lessThanOrEqual(e)&&(i.onResolve(),t.set(n,i.result),r.message.type===`Mutation`?this.inflightMutationsCount--:r.message.type===`Action`&&this.inflightActionsCount--,this.inflightRequests.delete(n),this.requestsOlderThanRestart.delete(n))}return t.size>0&&this.markConnectionStateDirty(),t}restart(){this.requestsOlderThanRestart=new Set(this.inflightRequests.keys());let e=[];for(let[t,n]of this.inflightRequests){if(n.status.status===`NotSent`){n.status.status=`Requested`,e.push(n.message);continue}if(n.message.type===`Mutation`)e.push(n.message);else if(n.message.type===`Action`){if(this.inflightRequests.delete(t),this.requestsOlderThanRestart.delete(t),this.inflightActionsCount--,n.status.status===`Completed`)throw Error(`Action should never be in 'Completed' state`);n.status.onResult({success:!1,errorMessage:`Connection lost while action was in flight`,logLines:[]})}}return this.markConnectionStateDirty(),e}resume(){let e=[];for(let[,t]of this.inflightRequests)if(t.status.status===`NotSent`){t.status.status=`Requested`,e.push(t.message);continue}return e}hasIncompleteRequests(){for(let e of this.inflightRequests.values())if(e.status.status===`Requested`)return!0;return!1}hasInflightRequests(){return this.inflightRequests.size>0}hasSyncedPastLastReconnect(){return this.requestsOlderThanRestart.size===0}timeOfOldestInflightRequest(){if(this.inflightRequests.size===0)return null;let e=Date.now();for(let t of this.inflightRequests.values())t.status.status!==`Completed`&&t.status.requestedAt.getTime()<e&&(e=t.status.requestedAt.getTime());return new Date(e)}inflightMutations(){return this.inflightMutationsCount}inflightActions(){return this.inflightActionsCount}},N=Symbol.for(`functionName`),Ie=Symbol.for(`toReferencePath`);function Le(e){return e[Ie]??null}function Re(e){return e.startsWith(`function://`)}function ze(e){let t;if(typeof e==`string`)t=Re(e)?{functionHandle:e}:{name:e};else if(e[N])t={name:e[N]};else{let n=Le(e);if(!n)throw Error(`${e} is not a functionReference`);t={reference:n}}return t}function P(e){let t=ze(e);if(t.name===void 0)throw t.functionHandle===void 0?t.reference===void 0?Error(`Expected function reference like "api.file.func" or "internal.file.func", but received ${JSON.stringify(t)}`):Error(`Expected function reference in the current component like "api.file.func" or "internal.file.func", but received reference ${t.reference}`):Error(`Expected function reference like "api.file.func" or "internal.file.func", but received function handle ${t.functionHandle}`);if(typeof e==`string`)return e;let n=e[N];if(!n)throw Error(`${e} is not a functionReference`);return n}function Be(e){return{[N]:e}}function Ve(e=[]){return new Proxy({},{get(t,n){if(typeof n==`string`)return Ve([...e,n]);if(n===N){if(e.length<2){let t=[`api`,...e].join(`.`);throw Error(`API path is expected to be of the form \`api.moduleName.functionName\`. Found: \`${t}\``)}let t=e.slice(0,-1).join(`/`),n=e[e.length-1];return n==="default"?t:t+`:`+n}else if(n===Symbol.toStringTag)return`FunctionReference`;else return}})}var He=Ve(),Ue=Object.defineProperty,Eee=(e,t,n)=>t in e?Ue(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,We=(e,t,n)=>Eee(e,typeof t==`symbol`?t:t+``,n),Ge=class e{constructor(e){We(this,`queryResults`),We(this,`modifiedQueries`),this.queryResults=e,this.modifiedQueries=[]}getQuery(t,...n){let r=v(n[0]),i=P(t),a=this.queryResults.get(j(i,r));if(a!==void 0)return e.queryValue(a.result)}getAllQueries(t){let n=[],r=P(t);for(let t of this.queryResults.values())t.udfPath===A(r)&&n.push({args:t.args,value:e.queryValue(t.result)});return n}setQuery(e,t,n){let r=v(t),i=P(e),a=j(i,r),o;o=n===void 0?void 0:{success:!0,value:n,logLines:[]};let s={udfPath:i,args:r,result:o};this.queryResults.set(a,s),this.modifiedQueries.push(a)}static queryValue(e){if(e!==void 0&&e.success)return e.value}},Dee=class{constructor(){We(this,`queryResults`),We(this,`optimisticUpdates`),this.queryResults=new Map,this.optimisticUpdates=[]}ingestQueryResultsFromServer(e,t){this.optimisticUpdates=this.optimisticUpdates.filter(e=>!t.has(e.mutationId));let n=this.queryResults;this.queryResults=new Map(e);let r=new Ge(this.queryResults);for(let e of this.optimisticUpdates)e.update(r);let i=[];for(let[e,t]of this.queryResults){let r=n.get(e);(r===void 0||r.result!==t.result)&&i.push(e)}return i}applyOptimisticUpdate(e,t){this.optimisticUpdates.push({update:e,mutationId:t});let n=new Ge(this.queryResults);return e(n),n.modifiedQueries}rawQueryResult(e){let t=this.queryResults.get(e);if(t!==void 0)return t.result}queryResult(e){let t=this.queryResults.get(e);if(t===void 0)return;let n=t.result;if(n!==void 0){if(n.success)return n.value;throw n.errorData===void 0?Error(k(`query`,t.udfPath,n)):ke(n,new xe(k(`query`,t.udfPath,n)))}}hasQueryResult(e){return this.queryResults.get(e)!==void 0}queryLogs(e){return this.queryResults.get(e)?.result?.logLines}},Oee=Object.defineProperty,kee=(e,t,n)=>t in e?Oee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ke=(e,t,n)=>kee(e,typeof t==`symbol`?t:t+``,n),F=class e{constructor(e,t){Ke(this,`low`),Ke(this,`high`),Ke(this,`__isUnsignedLong__`),this.low=e|0,this.high=t|0,this.__isUnsignedLong__=!0}static isLong(e){return(e&&e.__isUnsignedLong__)===!0}static fromBytesLE(t){return new e(t[0]|t[1]<<8|t[2]<<16|t[3]<<24,t[4]|t[5]<<8|t[6]<<16|t[7]<<24)}toBytesLE(){let e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]}static fromNumber(t){return isNaN(t)||t<0?Aee:t>=jee?Mee:new e(t%I|0,t/I|0)}toString(){return(BigInt(this.high)*BigInt(I)+BigInt(this.low)).toString()}equals(t){return e.isLong(t)||(t=e.fromValue(t)),this.high>>>31==1&&t.high>>>31==1?!1:this.high===t.high&&this.low===t.low}notEquals(e){return!this.equals(e)}comp(t){return e.isLong(t)||(t=e.fromValue(t)),this.equals(t)?0:t.high>>>0>this.high>>>0||t.high===this.high&&t.low>>>0>this.low>>>0?-1:1}lessThanOrEqual(e){return this.comp(e)<=0}static fromValue(t){return typeof t==`number`?e.fromNumber(t):new e(t.low,t.high)}},Aee=new F(0,0),qe=65536,I=qe*qe,jee=I*I,Mee=new F(-1,-1),Nee=Object.defineProperty,Pee=(e,t,n)=>t in e?Nee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Je=(e,t,n)=>Pee(e,typeof t==`symbol`?t:t+``,n),Ye=class{constructor(e,t){Je(this,`version`),Je(this,`remoteQuerySet`),Je(this,`queryPath`),Je(this,`logger`),this.version={querySet:0,ts:F.fromNumber(0),identity:0},this.remoteQuerySet=new Map,this.queryPath=e,this.logger=t}transition(e){let t=e.startVersion;if(this.version.querySet!==t.querySet||this.version.ts.notEquals(t.ts)||this.version.identity!==t.identity)throw Error(`Invalid start version: ${t.ts.toString()}:${t.querySet}:${t.identity}, transitioning from ${this.version.ts.toString()}:${this.version.querySet}:${this.version.identity}`);for(let t of e.modifications)switch(t.type){case`QueryUpdated`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Oe(this.logger,`info`,`query`,e,n);let n=S(t.value??null);this.remoteQuerySet.set(t.queryId,{success:!0,value:n,logLines:t.logLines});break}case`QueryFailed`:{let e=this.queryPath(t.queryId);if(e)for(let n of t.logLines)Oe(this.logger,`info`,`query`,e,n);let{errorData:n}=t;this.remoteQuerySet.set(t.queryId,{success:!1,errorMessage:t.errorMessage,errorData:n===void 0?void 0:S(n),logLines:t.logLines});break}case`QueryRemoved`:this.remoteQuerySet.delete(t.queryId);break;default:throw Error(`Invalid modification ${t.type}`)}this.version=e.endVersion}remoteQueryResults(){return this.remoteQuerySet}timestamp(){return this.version.ts}};function Xe(e){let t=m(e);return F.fromBytesLE(Array.from(t))}function Fee(e){return _(new Uint8Array(e.toBytesLE()))}function Ze(e){switch(e.type){case`FatalError`:case`AuthError`:case`ActionResponse`:case`TransitionChunk`:case`Ping`:return{...e};case`MutationResponse`:return e.success?{...e,ts:Xe(e.ts)}:{...e};case`Transition`:return{...e,startVersion:{...e.startVersion,ts:Xe(e.startVersion.ts)},endVersion:{...e.endVersion,ts:Xe(e.endVersion.ts)}};default:}}function Iee(e){switch(e.type){case`Authenticate`:case`ModifyQuerySet`:case`Mutation`:case`Action`:case`Event`:return{...e};case`Connect`:return e.maxObservedTimestamp===void 0?{...e,maxObservedTimestamp:void 0}:{...e,maxObservedTimestamp:Fee(e.maxObservedTimestamp)};default:}}var Lee=Object.defineProperty,Ree=(e,t,n)=>t in e?Lee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>Ree(e,typeof t==`symbol`?t:t+``,n),zee=1e3,Bee=1001,Vee=1005,Hee=4040,Qe;function R(){return Qe===void 0&&(Qe=Date.now()),typeof performance>`u`||!performance.now?Date.now():Math.round(Qe+performance.now())}function $e(){return`t=${Math.round((R()-Qe)/100)/10}s`}var et={InternalServerError:{timeout:1e3},SubscriptionsWorkerFullError:{timeout:3e3},TooManyConcurrentRequests:{timeout:3e3},CommitterFullError:{timeout:3e3},AwsTooManyRequestsException:{timeout:3e3},ExecuteFullError:{timeout:3e3},SystemTimeoutError:{timeout:3e3},ExpiredInQueue:{timeout:3e3},VectorIndexesUnavailable:{timeout:1e3},SearchIndexesUnavailable:{timeout:1e3},TableSummariesUnavailable:{timeout:1e3},VectorIndexTooLarge:{timeout:3e3},SearchIndexTooLarge:{timeout:3e3},TooManyWritesInTimePeriod:{timeout:3e3}};function Uee(e){if(e===void 0)return`Unknown`;for(let t of Object.keys(et))if(e.startsWith(t))return t;return`Unknown`}var Wee=class{constructor(e,t,n,r,i,a){this.markConnectionStateDirty=i,this.debug=a,L(this,`socket`),L(this,`connectionCount`),L(this,`_hasEverConnected`,!1),L(this,`lastCloseReason`),L(this,`transitionChunkBuffer`,null),L(this,`defaultInitialBackoff`),L(this,`maxBackoff`),L(this,`retries`),L(this,`serverInactivityThreshold`),L(this,`reconnectDueToServerInactivityTimeout`),L(this,`scheduledReconnect`,null),L(this,`networkOnlineHandler`,null),L(this,`pendingNetworkRecoveryInfo`,null),L(this,`uri`),L(this,`onOpen`),L(this,`onResume`),L(this,`onMessage`),L(this,`webSocketConstructor`),L(this,`logger`),L(this,`onServerDisconnectError`),this.webSocketConstructor=n,this.socket={state:`disconnected`},this.connectionCount=0,this.lastCloseReason=`InitialConnect`,this.defaultInitialBackoff=1e3,this.maxBackoff=16e3,this.retries=0,this.serverInactivityThreshold=6e4,this.reconnectDueToServerInactivityTimeout=null,this.uri=e,this.onOpen=t.onOpen,this.onResume=t.onResume,this.onMessage=t.onMessage,this.onServerDisconnectError=t.onServerDisconnectError,this.logger=r,this.setupNetworkListener(),this.connect()}setSocketState(e){this.socket=e,this._logVerbose(`socket state changed: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}`),this.markConnectionStateDirty()}setupNetworkListener(){typeof window>`u`||typeof window.addEventListener!=`function`||this.networkOnlineHandler===null&&(this.networkOnlineHandler=()=>{this._logVerbose(`network online event detected`),this.tryReconnectImmediately()},window.addEventListener(`online`,this.networkOnlineHandler),this._logVerbose(`network online event listener registered`))}cleanupNetworkListener(){this.networkOnlineHandler&&typeof window<`u`&&typeof window.removeEventListener==`function`&&(window.removeEventListener(`online`,this.networkOnlineHandler),this.networkOnlineHandler=null,this._logVerbose(`network online event listener removed`))}assembleTransition(e){if(e.partNumber<0||e.partNumber>=e.totalParts||e.totalParts===0||this.transitionChunkBuffer&&(this.transitionChunkBuffer.totalParts!==e.totalParts||this.transitionChunkBuffer.transitionId!==e.transitionId))throw this.transitionChunkBuffer=null,Error(`Invalid TransitionChunk`);if(this.transitionChunkBuffer===null&&(this.transitionChunkBuffer={chunks:[],totalParts:e.totalParts,transitionId:e.transitionId}),e.partNumber!==this.transitionChunkBuffer.chunks.length){let t=this.transitionChunkBuffer.chunks.length;throw this.transitionChunkBuffer=null,Error(`TransitionChunk received out of order: expected part ${t}, got ${e.partNumber}`)}if(this.transitionChunkBuffer.chunks.push(e.chunk),this.transitionChunkBuffer.chunks.length===e.totalParts){let e=this.transitionChunkBuffer.chunks.join(``);this.transitionChunkBuffer=null;let t=Ze(JSON.parse(e));if(t.type!==`Transition`)throw Error(`Expected Transition, got ${t.type} after assembling chunks`);return t}return null}connect(){if(this.socket.state===`terminated`)return;if(this.socket.state!==`disconnected`&&this.socket.state!==`stopped`)throw Error(`Didn't start connection from disconnected state: `+this.socket.state);let e=new this.webSocketConstructor(this.uri);this._logVerbose(`constructed WebSocket`),this.setSocketState({state:`connecting`,ws:e,paused:`no`}),this.resetServerInactivityTimeout(),e.onopen=()=>{if(this.logger.logVerbose(`begin ws.onopen`),this.socket.state!==`connecting`)throw Error(`onopen called with socket not in connecting state`);if(this.setSocketState({state:`ready`,ws:e,paused:this.socket.paused===`yes`?`uninitialized`:`no`}),this.resetServerInactivityTimeout(),this.socket.paused===`no`&&(this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:R()})),this.lastCloseReason!==`InitialConnect`&&(this.lastCloseReason?this.logger.log(`WebSocket reconnected at`,$e(),`after disconnect due to`,this.lastCloseReason):this.logger.log(`WebSocket reconnected at`,$e())),this.connectionCount+=1,this.lastCloseReason=null,this.pendingNetworkRecoveryInfo!==null){let{timeSavedMs:e}=this.pendingNetworkRecoveryInfo;this.pendingNetworkRecoveryInfo=null,this.sendMessage({type:`Event`,eventType:`NetworkRecoveryReconnect`,event:{timeSavedMs:e}}),this.logger.log(`Network recovery reconnect saved ~${Math.round(e/1e3)}s of waiting`)}},e.onerror=e=>{this.transitionChunkBuffer=null;let t=e.message;t&&this.logger.log(`WebSocket error message: ${t}`)},e.onmessage=e=>{this.resetServerInactivityTimeout();let t=e.data.length,n=Ze(JSON.parse(e.data));if(this._logVerbose(`received ws message with type ${n.type}`),n.type!==`Ping`){if(n.type===`TransitionChunk`){let e=this.assembleTransition(n);if(!e)return;n=e,this._logVerbose(`assembled full ws message of type ${n.type}`)}this.transitionChunkBuffer!==null&&(this.transitionChunkBuffer=null,this.logger.log(`Received unexpected ${n.type} while buffering TransitionChunks`)),n.type===`Transition`&&this.reportLargeTransition({messageLength:t,transition:n}),this.onMessage(n).hasSyncedPastLastReconnect&&(this.retries=0,this.markConnectionStateDirty())}},e.onclose=e=>{if(this._logVerbose(`begin ws.onclose`),this.transitionChunkBuffer=null,this.lastCloseReason===null&&(this.lastCloseReason=e.reason||`closed with code ${e.code}`),e.code!==zee&&e.code!==Bee&&e.code!==Vee&&e.code!==Hee){let t=`WebSocket closed with code ${e.code}`;e.reason&&(t+=`: ${e.reason}`),this.logger.log(t),this.onServerDisconnectError&&e.reason&&this.onServerDisconnectError(t)}let t=Uee(e.reason);this.scheduleReconnect(t)}}socketState(){return this.socket.state}sendMessage(e){let t={type:e.type,...e.type===`Authenticate`&&e.tokenType===`User`?{value:`...${e.value.slice(-7)}`}:{}};if(this.socket.state===`ready`&&this.socket.paused===`no`){let n=Iee(e),r=JSON.stringify(n),i=!1;try{this.socket.ws.send(r),i=!0}catch(e){this.logger.log(`Failed to send message on WebSocket, reconnecting: ${e}`),this.closeAndReconnect(`FailedToSendMessage`)}return this._logVerbose(`${i?`sent`:`failed to send`} message with type ${e.type}: ${JSON.stringify(t)}`),!0}return this._logVerbose(`message not sent (socket state: ${this.socket.state}, paused: ${`paused`in this.socket?this.socket.paused:void 0}): ${JSON.stringify(t)}`),!1}resetServerInactivityTimeout(){this.socket.state!==`terminated`&&(this.reconnectDueToServerInactivityTimeout!==null&&(clearTimeout(this.reconnectDueToServerInactivityTimeout),this.reconnectDueToServerInactivityTimeout=null),this.reconnectDueToServerInactivityTimeout=setTimeout(()=>{this.closeAndReconnect(`InactiveServer`)},this.serverInactivityThreshold))}scheduleReconnect(e){this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.socket={state:`disconnected`};let t=this.nextBackoff(e);this.markConnectionStateDirty(),this.logger.log(`Attempting reconnect in ${Math.round(t)}ms`);let n=R(),r=setTimeout(()=>{this.scheduledReconnect?.timeout===r&&(this.scheduledReconnect=null,this.connect())},t);this.scheduledReconnect={timeout:r,scheduledAt:n,backoffMs:t}}closeAndReconnect(e){switch(this._logVerbose(`begin closeAndReconnect with reason ${e}`),this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return;case`connecting`:case`ready`:this.lastCloseReason=e,this.close(),this.scheduleReconnect(`client`);return;default:this.socket}}close(){switch(this.transitionChunkBuffer=null,this.socket.state){case`disconnected`:case`terminated`:case`stopped`:return Promise.resolve();case`connecting`:{let e=this.socket.ws;return e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)},new Promise(t=>{e.onclose=()=>{this._logVerbose(`Closed after connecting`),t()},e.onopen=()=>{this._logVerbose(`Opened after connecting`),e.close()}})}case`ready`:{this._logVerbose(`ws.close called`);let e=this.socket.ws;e.onmessage=e=>{this._logVerbose(`Ignoring message received after close`)};let t=new Promise(t=>{e.onclose=()=>{t()}});return e.close(),t}default:return this.socket,Promise.resolve()}}terminate(){switch(this.reconnectDueToServerInactivityTimeout&&clearTimeout(this.reconnectDueToServerInactivityTimeout),this.scheduledReconnect&&=(clearTimeout(this.scheduledReconnect.timeout),null),this.cleanupNetworkListener(),this.socket.state){case`terminated`:case`stopped`:case`disconnected`:case`connecting`:case`ready`:{let e=this.close();return this.setSocketState({state:`terminated`}),e}default:throw this.socket,Error(`Invalid websocket state: ${this.socket.state}`)}}stop(){switch(this.socket.state){case`terminated`:return Promise.resolve();case`connecting`:case`stopped`:case`disconnected`:case`ready`:{this.cleanupNetworkListener();let e=this.close();return this.socket={state:`stopped`},e}default:return this.socket,Promise.resolve()}}tryRestart(){switch(this.socket.state){case`stopped`:break;case`terminated`:case`connecting`:case`ready`:case`disconnected`:this.logger.logVerbose(`Restart called without stopping first`);return;default:this.socket}this.setupNetworkListener(),this.connect()}pause(){switch(this.socket.state){case`disconnected`:case`stopped`:case`terminated`:return;case`connecting`:case`ready`:this.socket={...this.socket,paused:`yes`};return;default:this.socket;return}}tryReconnectImmediately(){if(this._logVerbose(`tryReconnectImmediately called`),this.socket.state!==`disconnected`){this._logVerbose(`tryReconnectImmediately called but socket state is ${this.socket.state}, no action taken`);return}let e=null;if(this.scheduledReconnect){let t=R()-this.scheduledReconnect.scheduledAt;e=Math.max(0,this.scheduledReconnect.backoffMs-t),this._logVerbose(`would have waited ${Math.round(e)}ms more (backoff was ${Math.round(this.scheduledReconnect.backoffMs)}ms, elapsed ${Math.round(t)}ms)`),clearTimeout(this.scheduledReconnect.timeout),this.scheduledReconnect=null,this._logVerbose(`canceled scheduled reconnect`)}this.logger.log(`Network recovery detected, reconnecting immediately`),this.pendingNetworkRecoveryInfo=e===null?null:{timeSavedMs:e},this.connect()}resume(){switch(this.socket.state){case`connecting`:this.socket={...this.socket,paused:`no`};return;case`ready`:this.socket.paused===`uninitialized`?(this.socket={...this.socket,paused:`no`},this._hasEverConnected=!0,this.onOpen({connectionCount:this.connectionCount,lastCloseReason:this.lastCloseReason,clientTs:R()})):this.socket.paused===`yes`&&(this.socket={...this.socket,paused:`no`},this.onResume());return;case`terminated`:case`stopped`:case`disconnected`:return;default:this.socket}this.connect()}connectionState(){return{isConnected:this.socket.state===`ready`,hasEverConnected:this._hasEverConnected,connectionCount:this.connectionCount,connectionRetries:this.retries}}_logVerbose(e){this.logger.logVerbose(e)}nextBackoff(e){let t=(e===`client`?100:e===`Unknown`?this.defaultInitialBackoff:et[e].timeout)*2**this.retries;this.retries+=1;let n=Math.min(t,this.maxBackoff);return n+n*(Math.random()-.5)}reportLargeTransition({transition:e,messageLength:t}){if(e.clientClockSkew===void 0||e.serverTs===void 0)return;let n=R()-e.clientClockSkew-e.serverTs/1e6,r=`${Math.round(n)}ms`,i=`${Math.round(t/1e4)/100}MB`,a=t/(n/1e3),o=`${Math.round(a/1e4)/100}MB per second`;this._logVerbose(`received ${i} transition in ${r} at ${o}`),t>2e7?this.logger.log(`received query results totaling more that 20MB (${i}) which will take a long time to download on slower connections`):n>2e4&&this.logger.log(`received query results totaling ${i} which took more than 20s to arrive (${r})`),this.debug&&this.sendMessage({type:`Event`,eventType:`ClientReceivedTransition`,event:{transitionTransitTime:n,messageLength:t}})}};function Gee(){return Kee()}function Kee(){return`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e===`x`?t:t&3|8).toString(16)})}var z=class extends Error{};z.prototype.name=`InvalidTokenError`;function qee(e){return decodeURIComponent(atob(e).replace(/(.)/g,(e,t)=>{let n=t.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n=`0`+n),`%`+n}))}function Jee(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);switch(t.length%4){case 0:break;case 2:t+=`==`;break;case 3:t+=`=`;break;default:throw Error(`base64 string is not of the correct length`)}try{return qee(t)}catch{return atob(t)}}function tt(e,t){if(typeof e!=`string`)throw new z(`Invalid token specified: must be a string`);t||={};let n=t.header===!0?0:1,r=e.split(`.`)[n];if(typeof r!=`string`)throw new z(`Invalid token specified: missing part #${n+1}`);let i;try{i=Jee(r)}catch(e){throw new z(`Invalid token specified: invalid base64 for part #${n+1} (${e.message})`)}try{return JSON.parse(i)}catch(e){throw new z(`Invalid token specified: invalid json for part #${n+1} (${e.message})`)}}var Yee=Object.defineProperty,Xee=(e,t,n)=>t in e?Yee(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t,n)=>Xee(e,typeof t==`symbol`?t:t+``,n),Zee=480*60*60*1e3,nt=2,Qee=class{constructor(e,t,n){B(this,`authState`,{state:`noAuth`}),B(this,`configVersion`,0),B(this,`syncState`),B(this,`authenticate`),B(this,`stopSocket`),B(this,`tryRestartSocket`),B(this,`pauseSocket`),B(this,`resumeSocket`),B(this,`clearAuth`),B(this,`logger`),B(this,`refreshTokenLeewaySeconds`),B(this,`lastRefreshChange`),B(this,`tokenConfirmationAttempts`,0),this.syncState=e,this.authenticate=t.authenticate,this.stopSocket=t.stopSocket,this.tryRestartSocket=t.tryRestartSocket,this.pauseSocket=t.pauseSocket,this.resumeSocket=t.resumeSocket,this.clearAuth=t.clearAuth,this.logger=n.logger,this.refreshTokenLeewaySeconds=n.refreshTokenLeewaySeconds,this.lastRefreshChange=!1}notifyRefreshChange(e){this.authState.state!==`noAuth`&&this.authState.state!==`initialRefetch`&&this.authState.config.onRefreshChange&&this.lastRefreshChange!==e&&(this.lastRefreshChange=e,this.authState.config.onRefreshChange(e))}async setConfig(e,t,n){this.resetAuthState(),this._logVerbose(`pausing WS for auth token fetch`),this.pauseSocket();let r=await this.fetchTokenAndGuardAgainstRace(e,{forceRefreshToken:!1});if(r.isFromOutdatedConfig)return;let i={fetchToken:e,onAuthChange:t,onRefreshChange:n};r.value?(this.setAuthState({state:`waitingForServerConfirmationOfCachedToken`,config:i,hasRetried:!1}),this.authenticate(r.value)):(this.setAuthState({state:`initialRefetch`,config:i}),await this.refetchToken()),this._logVerbose(`resuming WS after auth token fetch`),this.resumeSocket()}onTransition(e){if(this.syncState.isCurrentOrNewerAuthVersion(e.endVersion.identity)&&!(e.endVersion.identity<=e.startVersion.identity)){if(this._logVerbose(`auth state is ${this.authState.state} when handling transition`),this.syncState.markAuthCompletion(),this.authState.state===`waitingForServerConfirmationOfCachedToken`){this._logVerbose(`server confirmed auth token is valid`),this.refetchToken(),this.authState.config.onAuthChange(!0);return}this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this._logVerbose(`server confirmed new auth token is valid`),this.notifyRefreshChange(!1),this.scheduleTokenRefetch(this.authState.token),this.tokenConfirmationAttempts=0,this.authState.hadAuth||this.authState.config.onAuthChange(!0))}}onAuthError(e){if(e.authUpdateAttempted===!1&&(this.authState.state===`waitingForServerConfirmationOfFreshToken`||this.authState.state===`waitingForServerConfirmationOfCachedToken`)){this._logVerbose(`ignoring non-auth token expired error`);return}let{baseVersion:t}=e;if(!this.syncState.isCurrentOrNewerAuthVersion(t+1)){this._logVerbose(`ignoring auth error for previous auth attempt`);return}this.tryToReauthenticate(e)}async tryToReauthenticate(e){if(this._logVerbose(`attempting to reauthenticate: ${e.error}`),this.authState.state===`noAuth`||this.authState.state===`waitingForServerConfirmationOfFreshToken`&&this.tokenConfirmationAttempts>=nt){this.logger.error(`Failed to authenticate: "${e.error}", check your server auth config`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.authState.state!==`noAuth`&&this.setAndReportAuthFailed(this.authState.config.onAuthChange);return}if(this.authState.state===`waitingForServerConfirmationOfFreshToken`&&(this.tokenConfirmationAttempts++,this._logVerbose(`retrying reauthentication, ${nt-this.tokenConfirmationAttempts} attempts remaining`)),this.notifyRefreshChange(!0),await this.stopSocket(),this.authState.state===`noAuth`)return;let t=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});t.isFromOutdatedConfig||(t.value&&this.syncState.isNewAuth(t.value)?(this.authenticate(t.value),this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,config:this.authState.config,token:t.value,hadAuth:this.authState.state===`notRefetching`||this.authState.state===`waitingForScheduledRefetch`})):(this._logVerbose(`reauthentication failed, could not fetch a new token`),this.syncState.hasAuth()&&this.syncState.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this.tryRestartSocket())}async refetchToken(){if(this.authState.state===`noAuth`)return;this._logVerbose(`refetching auth token`);let e=await this.fetchTokenAndGuardAgainstRace(this.authState.config.fetchToken,{forceRefreshToken:!0});e.isFromOutdatedConfig||(e.value?this.syncState.isNewAuth(e.value)?(this.setAuthState({state:`waitingForServerConfirmationOfFreshToken`,hadAuth:this.syncState.hasAuth(),token:e.value,config:this.authState.config}),this.authenticate(e.value)):this.setAuthState({state:`notRefetching`,config:this.authState.config}):(this._logVerbose(`refetching token failed`),this.syncState.hasAuth()&&this.clearAuth(),this.setAndReportAuthFailed(this.authState.config.onAuthChange)),this._logVerbose(`restarting WS after auth token fetch (if currently stopped)`),this.tryRestartSocket())}scheduleTokenRefetch(e){if(this.authState.state===`noAuth`)return;let t=this.decodeToken(e);if(!t){this.logger.error(`Auth token is not a valid JWT, cannot refetch the token`);return}let{iat:n,exp:r}=t;if(!n||!r){this.logger.error(`Auth token does not have required fields, cannot refetch the token`);return}let i=r-n;if(i<=2){this.logger.error(`Auth token does not live long enough, cannot refetch the token`);return}let a=Math.min(Zee,(i-this.refreshTokenLeewaySeconds)*1e3);a<=0&&(this.logger.warn(`Refetching auth token immediately, configured leeway ${this.refreshTokenLeewaySeconds}s is larger than the token's lifetime ${i}s`),a=0);let o=setTimeout(()=>{this._logVerbose(`running scheduled token refetch`),this.refetchToken()},a);this.setAuthState({state:`waitingForScheduledRefetch`,refetchTokenTimeoutId:o,config:this.authState.config}),this._logVerbose(`scheduled preemptive auth token refetching in ${a}ms`)}async fetchTokenAndGuardAgainstRace(e,t){let n=++this.configVersion;this._logVerbose(`fetching token with config version ${n}`);let r=await e(t);return this.configVersion===n?{isFromOutdatedConfig:!1,value:r}:(this._logVerbose(`stale config version, expected ${n}, got ${this.configVersion}`),{isFromOutdatedConfig:!0})}stop(){this.resetAuthState(),this.configVersion++,this._logVerbose(`config version bumped to ${this.configVersion}`)}setAndReportAuthFailed(e){e(!1),this.resetAuthState()}resetAuthState(){this.notifyRefreshChange(!1),this.setAuthState({state:`noAuth`})}setAuthState(e){let t=e.state===`waitingForServerConfirmationOfFreshToken`?{hadAuth:e.hadAuth,state:e.state,token:`...${e.token.slice(-7)}`}:{state:e.state};switch(this._logVerbose(`setting auth state to ${JSON.stringify(t)}`),e.state){case`waitingForScheduledRefetch`:case`notRefetching`:case`noAuth`:this.tokenConfirmationAttempts=0;break;case`waitingForServerConfirmationOfFreshToken`:case`waitingForServerConfirmationOfCachedToken`:case`initialRefetch`:break;default:}this.authState.state===`waitingForScheduledRefetch`&&clearTimeout(this.authState.refetchTokenTimeoutId),this.authState=e}decodeToken(e){try{return tt(e)}catch(e){return this._logVerbose(`Error decoding token: ${e instanceof Error?e.message:`Unknown error`}`),null}}_logVerbose(e){this.logger.logVerbose(`${e} [v${this.configVersion}]`)}},$ee=[`convexClientConstructed`,`convexWebSocketOpen`,`convexFirstMessageReceived`];function ete(e,t){let n={sessionId:t};typeof performance>`u`||!performance.mark||performance.mark(e,{detail:n})}function tte(e){let t=e.name.slice(6);return t=t.charAt(0).toLowerCase()+t.slice(1),{name:t,startTime:e.startTime}}function nte(e){if(typeof performance>`u`||!performance.getEntriesByName)return[];let t=[];for(let n of $ee){let r=performance.getEntriesByName(n).filter(e=>e.entryType===`mark`).filter(t=>t.detail.sessionId===e);t.push(...r)}return t.map(tte)}var rte=Object.defineProperty,ite=(e,t,n)=>t in e?rte(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,V=(e,t,n)=>ite(e,typeof t==`symbol`?t:t+``,n),ate=class{constructor(e,t,n){if(V(this,`address`),V(this,`state`),V(this,`requestManager`),V(this,`webSocketManager`),V(this,`authenticationManager`),V(this,`remoteQuerySet`),V(this,`optimisticQueryResults`),V(this,`_transitionHandlerCounter`,0),V(this,`_nextRequestId`),V(this,`_onTransitionFns`,new Map),V(this,`_sessionId`),V(this,`firstMessageReceived`,!1),V(this,`debug`),V(this,`logger`),V(this,`maxObservedTimestamp`),V(this,`connectionStateSubscribers`,new Map),V(this,`nextConnectionStateSubscriberId`,0),V(this,`_lastPublishedConnectionState`),V(this,`markConnectionStateDirty`,()=>{Promise.resolve().then(()=>{let e=this.connectionState();if(JSON.stringify(e)!==JSON.stringify(this._lastPublishedConnectionState)){this._lastPublishedConnectionState=e;for(let t of this.connectionStateSubscribers.values())t(e)}})}),V(this,`mark`,e=>{this.debug&&ete(e,this.sessionId)}),typeof e==`object`)throw Error(`Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.`);n?.skipConvexDeploymentUrlCheck!==!0&&ee(e),n={...n};let r=n.authRefreshTokenLeewaySeconds??10,i=n.webSocketConstructor;if(!i&&typeof WebSocket>`u`)throw Error(`No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient`);i||=WebSocket,this.debug=n.reportDebugInfoToConvex??!1,this.address=e,this.logger=n.logger===!1?De({verbose:n.verbose??!1}):n.logger!==!0&&n.logger?n.logger:Ee({verbose:n.verbose??!1});let a=e.search(`://`);if(a===-1)throw Error(`Provided address was not an absolute URL.`);let o=e.substring(a+3),s=e.substring(0,a),c;if(s===`http`)c=`ws`;else if(s===`https`)c=`wss`;else throw Error(`Unknown parent protocol ${s}`);let l=`${c}://${o}/api/${Se}/sync`;this.state=new je,this.remoteQuerySet=new Ye(e=>this.state.queryPath(e),this.logger),this.requestManager=new Fe(this.logger,this.markConnectionStateDirty);let u=()=>{this.webSocketManager.pause(),this.state.pause()};this.authenticationManager=new Qee(this.state,{authenticate:e=>{let t=this.state.setAuth(e);return this.webSocketManager.sendMessage(t),t.baseVersion},stopSocket:()=>this.webSocketManager.stop(),tryRestartSocket:()=>this.webSocketManager.tryRestart(),pauseSocket:u,resumeSocket:()=>this.webSocketManager.resume(),clearAuth:()=>{this.clearAuth()}},{logger:this.logger,refreshTokenLeewaySeconds:r}),this.optimisticQueryResults=new Dee,this.addOnTransitionHandler(e=>{t(e.queries.map(e=>e.token))}),this._nextRequestId=0,this._sessionId=Gee();let{unsavedChangesWarning:d}=n;if(typeof window>`u`||window.addEventListener===void 0){if(d===!0)throw Error(`unsavedChangesWarning requested, but window.addEventListener not found! Remove {unsavedChangesWarning: true} from Convex client options.`)}else d!==!1&&window.addEventListener(`beforeunload`,e=>{if(this.requestManager.hasIncompleteRequests()){e.preventDefault();let t=`Are you sure you want to leave? Your changes may not be saved.`;return(e||window.event).returnValue=t,t}});this.webSocketManager=new Wee(l,{onOpen:e=>{this.mark(`convexWebSocketOpen`),this.webSocketManager.sendMessage({...e,type:`Connect`,sessionId:this._sessionId,maxObservedTimestamp:this.maxObservedTimestamp}),this.remoteQuerySet=new Ye(e=>this.state.queryPath(e),this.logger);let[t,n]=this.state.restart();n&&this.webSocketManager.sendMessage(n),this.webSocketManager.sendMessage(t);for(let e of this.requestManager.restart())this.webSocketManager.sendMessage(e)},onResume:()=>{let[e,t]=this.state.resume();t&&this.webSocketManager.sendMessage(t),e&&this.webSocketManager.sendMessage(e);for(let e of this.requestManager.resume())this.webSocketManager.sendMessage(e)},onMessage:e=>{switch(this.firstMessageReceived||(this.firstMessageReceived=!0,this.mark(`convexFirstMessageReceived`),this.reportMarks()),e.type){case`Transition`:{this.observedTimestamp(e.endVersion.ts),this.authenticationManager.onTransition(e),this.remoteQuerySet.transition(e),this.state.transition(e);let t=this.requestManager.removeCompleted(this.remoteQuerySet.timestamp());this.notifyOnQueryResultChanges(t);break}case`MutationResponse`:{e.success&&this.observedTimestamp(e.ts);let t=this.requestManager.onResponse(e);t!==null&&this.notifyOnQueryResultChanges(new Map([[t.requestId,t.result]]));break}case`ActionResponse`:this.requestManager.onResponse(e);break;case`AuthError`:this.authenticationManager.onAuthError(e);break;case`FatalError`:{let t=Cee(this.logger,e.error);throw this.webSocketManager.terminate(),t}default:}return{hasSyncedPastLastReconnect:this.hasSyncedPastLastReconnect()}},onServerDisconnectError:n.onServerDisconnectError},i,this.logger,this.markConnectionStateDirty,this.debug),this.mark(`convexClientConstructed`),n.expectAuth&&u()}hasSyncedPastLastReconnect(){return this.requestManager.hasSyncedPastLastReconnect()&&this.state.hasSyncedPastLastReconnect()}observedTimestamp(e){(this.maxObservedTimestamp===void 0||this.maxObservedTimestamp.lessThanOrEqual(e))&&(this.maxObservedTimestamp=e)}getMaxObservedTimestamp(){return this.maxObservedTimestamp}notifyOnQueryResultChanges(e){let t=this.remoteQuerySet.remoteQueryResults(),n=new Map;for(let[e,r]of t){let t=this.state.queryToken(e);if(t!==null){let i={result:r,udfPath:this.state.queryPath(e),args:this.state.queryArgs(e)};n.set(t,i)}}let r=this.optimisticQueryResults.ingestQueryResultsFromServer(n,new Set(e.keys()));this.handleTransition({queries:r.map(e=>({token:e,modification:{kind:`Updated`,result:this.optimisticQueryResults.rawQueryResult(e)}})),reflectedMutations:Array.from(e).map(([e,t])=>({requestId:e,result:t})),timestamp:this.remoteQuerySet.timestamp()})}handleTransition(e){for(let t of this._onTransitionFns.values())t(e)}addOnTransitionHandler(e){let t=this._transitionHandlerCounter++;return this._onTransitionFns.set(t,e),()=>this._onTransitionFns.delete(t)}getCurrentAuthClaims(){let e=this.state.getAuth(),t={};if(e&&e.tokenType===`User`)try{t=e?tt(e.value):{}}catch{t={}}else return;return{token:e.value,decoded:t}}setAuth(e,t,n){this.authenticationManager.setConfig(e,t,n)}hasAuth(){return this.state.hasAuth()}setAdminAuth(e,t){let n=this.state.setAdminAuth(e,t);this.webSocketManager.sendMessage(n)}clearAuth(){let e=this.state.clearAuth();this.webSocketManager.sendMessage(e)}subscribe(e,t,n){let r=v(t),{modification:i,queryToken:a,unsubscribe:o}=this.state.subscribe(e,r,n?.journal,n?.componentPath);return i!==null&&this.webSocketManager.sendMessage(i),{queryToken:a,unsubscribe:()=>{let e=o();e&&this.webSocketManager.sendMessage(e)}}}localQueryResult(e,t){let n=j(e,v(t));return this.optimisticQueryResults.queryResult(n)}localQueryResultByToken(e){return this.optimisticQueryResults.queryResult(e)}hasLocalQueryResultByToken(e){return this.optimisticQueryResults.hasQueryResult(e)}localQueryLogs(e,t){let n=j(e,v(t));return this.optimisticQueryResults.queryLogs(n)}queryJournal(e,t){let n=j(e,v(t));return this.state.queryJournal(n)}connectionState(){let e=this.webSocketManager.connectionState();return{hasInflightRequests:this.requestManager.hasInflightRequests(),isWebSocketConnected:e.isConnected,hasEverConnected:e.hasEverConnected,connectionCount:e.connectionCount,connectionRetries:e.connectionRetries,timeOfOldestInflightRequest:this.requestManager.timeOfOldestInflightRequest(),inflightMutations:this.requestManager.inflightMutations(),inflightActions:this.requestManager.inflightActions()}}subscribeToConnectionState(e){let t=this.nextConnectionStateSubscriberId++;return this.connectionStateSubscribers.set(t,e),()=>{this.connectionStateSubscribers.delete(t)}}async mutation(e,t,n){let r=await this.mutationInternal(e,t,n);if(!r.success)throw r.errorData===void 0?Error(k(`mutation`,e,r)):ke(r,new xe(k(`mutation`,e,r)));return r.value}async mutationInternal(e,t,n,r){let{mutationPromise:i}=this.enqueueMutation(e,t,n,r);return i}enqueueMutation(e,t,n,r){let i=v(t);this.tryReportLongDisconnect();let a=this.nextRequestId;if(this._nextRequestId++,n!==void 0){let e=n.optimisticUpdate;if(e!==void 0){let t=this.optimisticQueryResults.applyOptimisticUpdate(t=>{e(t,i)instanceof Promise&&this.logger.warn(`Optimistic update handler returned a Promise. Optimistic updates should be synchronous.`)},a).map(e=>{let t=this.localQueryResultByToken(e);return{token:e,modification:{kind:`Updated`,result:t===void 0?void 0:{success:!0,value:t,logLines:[]}}}});this.handleTransition({queries:t,reflectedMutations:[],timestamp:this.remoteQuerySet.timestamp()})}}let o={type:`Mutation`,requestId:a,udfPath:e,componentPath:r,args:[w(i)]},s=this.webSocketManager.sendMessage(o);return{requestId:a,mutationPromise:this.requestManager.request(o,s)}}async action(e,t){let n=await this.actionInternal(e,t);if(!n.success)throw n.errorData===void 0?Error(k(`action`,e,n)):ke(n,new xe(k(`action`,e,n)));return n.value}async actionInternal(e,t,n){let r=v(t),i=this.nextRequestId;this._nextRequestId++,this.tryReportLongDisconnect();let a={type:`Action`,requestId:i,udfPath:e,componentPath:n,args:[w(r)]},o=this.webSocketManager.sendMessage(a);return this.requestManager.request(a,o)}async close(){return this.authenticationManager.stop(),this.webSocketManager.terminate()}get url(){return this.address}get nextRequestId(){return this._nextRequestId}get sessionId(){return this._sessionId}reportMarks(){if(this.debug){let e=nte(this.sessionId);this.webSocketManager.sendMessage({type:`Event`,eventType:`ClientConnect`,event:e})}}tryReportLongDisconnect(){if(!this.debug)return;let e=this.connectionState().timeOfOldestInflightRequest;if(e===null||Date.now()-e.getTime()<=60*1e3)return;let t=`${this.address}/api/debug_event`;fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`,"Convex-Client":`npm-${Se}`},body:JSON.stringify({event:`LongWebsocketDisconnect`})}).then(e=>{e.ok||this.logger.warn(`Analytics request failed with response:`,e.body)}).catch(e=>{this.logger.warn(`Analytics response failed with error:`,e)})}};function rt(e){if(typeof e!=`object`||!e||!Array.isArray(e.page)||typeof e.isDone!=`boolean`||typeof e.continueCursor!=`string`)throw Error(`Not a valid paginated query result: ${e?.toString()}`);return e}var ote=Object.defineProperty,ste=(e,t,n)=>t in e?ote(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,it=(e,t,n)=>ste(e,typeof t==`symbol`?t:t+``,n),cte=class{constructor(e,t){this.client=e,this.onTransition=t,it(this,`paginatedQuerySet`,new Map),it(this,`lastTransitionTs`),this.lastTransitionTs=F.fromNumber(0),this.client.addOnTransitionHandler(e=>this.onBaseTransition(e))}subscribe(e,t,n){let r=A(e),i=Ae(r,t,n),a=()=>this.removePaginatedQuerySubscriber(i),o=this.paginatedQuerySet.get(i);return o?(o.numSubscribers+=1,{paginatedQueryToken:i,unsubscribe:a}):(this.paginatedQuerySet.set(i,{token:i,canonicalizedUdfPath:r,args:t,numSubscribers:1,options:{initialNumItems:n.initialNumItems},nextPageKey:0,pageKeys:[],pageKeyToQuery:new Map,ongoingSplits:new Map,skip:!1,id:n.id}),this.addPageToPaginatedQuery(i,null,n.initialNumItems),{paginatedQueryToken:i,unsubscribe:a})}localQueryResult(e,t,n){let r=Ae(A(e),t,n);return this.localQueryResultByToken(r)}localQueryResultByToken(e){let t=this.paginatedQuerySet.get(e);if(!t)return;let n=this.activePageQueryTokens(t);if(n.length===0)return{results:[],status:`LoadingFirstPage`,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)};let r=[],i=!1,a=!1;for(let e of n){let t=this.client.localQueryResultByToken(e);if(t===void 0){i=!0,a=!1;continue}let n=rt(t);r=r.concat(n.page),a=!!n.isDone}let o;return o=i?r.length===0?`LoadingFirstPage`:`LoadingMore`:a?`Exhausted`:`CanLoadMore`,{results:r,status:o,loadMore:t=>this.loadMoreOfPaginatedQuery(e,t)}}onBaseTransition(e){let t=e.queries.map(e=>e.token),n=this.queriesContainingTokens(t),r=[];n.length>0&&(this.processPaginatedQuerySplits(n,e=>this.client.localQueryResultByToken(e)),r=n.map(e=>({token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}})));let i={...e,paginatedQueries:r};this.onTransition(i)}loadMoreOfPaginatedQuery(e,t){this.mustGetPaginatedQuery(e);let n=this.queryTokenForLastPageOfPaginatedQuery(e),r=this.client.localQueryResultByToken(n);if(!r)return!1;let i=rt(r);if(i.isDone)return!1;this.addPageToPaginatedQuery(e,i.continueCursor,t);let a={timestamp:this.lastTransitionTs,reflectedMutations:[],queries:[],paginatedQueries:[{token:e,modification:{kind:`Updated`,result:this.localQueryResultByToken(e)}}]};return this.onTransition(a),!0}queriesContainingTokens(e){if(e.length===0)return[];let t=[],n=new Set(e);for(let[e,r]of this.paginatedQuerySet)for(let i of this.allQueryTokens(r))if(n.has(i)){t.push(e);break}return t}processPaginatedQuerySplits(e,t){for(let n of e){let e=this.mustGetPaginatedQuery(n),{ongoingSplits:r,pageKeyToQuery:i,pageKeys:a}=e;for(let[n,[a,o]]of r)t(i.get(a).queryToken)!==void 0&&t(i.get(o).queryToken)!==void 0&&this.completePaginatedQuerySplit(e,n,a,o);for(let n of a){if(r.has(n))continue;let a=i.get(n).queryToken,o=t(a);if(!o)continue;let s=rt(o);s.splitCursor&&(s.pageStatus===`SplitRecommended`||s.pageStatus===`SplitRequired`||s.page.length>e.options.initialNumItems*2)&&this.splitPaginatedQueryPage(e,n,s.splitCursor,s.continueCursor)}}}splitPaginatedQueryPage(e,t,n,r){let i=e.nextPageKey++,a=e.nextPageKey++,o={cursor:r,numItems:e.options.initialNumItems,id:e.id},s=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:null,endCursor:n}});e.pageKeyToQuery.set(i,s);let c=this.client.subscribe(e.canonicalizedUdfPath,{...e.args,paginationOpts:{...o,cursor:n,endCursor:r}});e.pageKeyToQuery.set(a,c),e.ongoingSplits.set(t,[i,a])}addPageToPaginatedQuery(e,t,n){let r=this.mustGetPaginatedQuery(e),i=r.nextPageKey++,a={cursor:t,numItems:n,id:r.id},o={...r.args,paginationOpts:a},s=this.client.subscribe(r.canonicalizedUdfPath,o);return r.pageKeys.push(i),r.pageKeyToQuery.set(i,s),s}removePaginatedQuerySubscriber(e){let t=this.paginatedQuerySet.get(e);if(t&&(--t.numSubscribers,!(t.numSubscribers>0))){for(let e of t.pageKeyToQuery.values())e.unsubscribe();this.paginatedQuerySet.delete(e)}}completePaginatedQuerySplit(e,t,n,r){let i=e.pageKeyToQuery.get(t);e.pageKeyToQuery.delete(t);let a=e.pageKeys.indexOf(t);e.pageKeys.splice(a,1,n,r),e.ongoingSplits.delete(t),i.unsubscribe()}activePageQueryTokens(e){return e.pageKeys.map(t=>e.pageKeyToQuery.get(t).queryToken)}allQueryTokens(e){return Array.from(e.pageKeyToQuery.values()).map(e=>e.queryToken)}queryTokenForLastPageOfPaginatedQuery(e){let t=this.mustGetPaginatedQuery(e),n=t.pageKeys[t.pageKeys.length-1];if(n===void 0)throw Error(`No pages for paginated query ${e}`);return t.pageKeyToQuery.get(n).queryToken}mustGetPaginatedQuery(e){let t=this.paginatedQuerySet.get(e);if(!t)throw Error(`paginated query no longer exists for token `+e);return t}};function lte({getCurrentValue:e,subscribe:t}){let[n,r]=(0,T.useState)(()=>({getCurrentValue:e,subscribe:t,value:e()})),i=n.value;return(n.getCurrentValue!==e||n.subscribe!==t)&&(i=e(),r({getCurrentValue:e,subscribe:t,value:i})),(0,T.useEffect)(()=>{let n=!1,i=()=>{n||r(n=>{if(n.getCurrentValue!==e||n.subscribe!==t)return n;let r=e();return n.value===r?n:{...n,value:r}})},a=t(i);return i(),()=>{n=!0,a()}},[e,t]),i}var ute=Object.defineProperty,dte=(e,t,n)=>t in e?ute(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,H=(e,t,n)=>dte(e,typeof t==`symbol`?t:t+``,n),fte=5e3;if(T.default===void 0)throw Error(`Required dependency 'react' not found`);function at(e,t,n){function r(r){return yte(r),t.mutation(e,r,{optimisticUpdate:n})}return r.withOptimisticUpdate=function(r){if(n!==void 0)throw Error(`Already specified optimistic update for mutation ${P(e)}`);return at(e,t,r)},r}function pte(e,t){return function(n){return t.action(e,n)}}var mte=class{constructor(e,t){if(H(this,`address`),H(this,`cachedSync`),H(this,`cachedPaginatedQueryClient`),H(this,`listeners`),H(this,`options`),H(this,`closed`,!1),H(this,`_logger`),H(this,`adminAuth`),H(this,`fakeUserIdentity`),e===void 0)throw Error(`No address provided to ConvexReactClient.
|
|
3
|
-
If trying to deploy to production, make sure to follow all the instructions found at https://docs.convex.dev/production/hosting/
|
|
4
|
-
If running locally, make sure to run \`convex dev\` and ensure the .env.local file is populated.`);if(typeof e!=`string`)throw Error(`ConvexReactClient requires a URL like 'https://happy-otter-123.convex.cloud', received something of type ${typeof e} instead.`);if(!e.includes(`://`))throw Error(`Provided address was not an absolute URL.`);this.address=e,this.listeners=new Map,this._logger=t?.logger===!1?De({verbose:t?.verbose??!1}):t?.logger!==!0&&t?.logger?t.logger:Ee({verbose:t?.verbose??!1}),this.options={...t,logger:this._logger}}get url(){return this.address}get sync(){if(this.closed)throw Error(`ConvexReactClient has already been closed.`);return this.cachedSync?this.cachedSync:(this.cachedSync=new ate(this.address,()=>{},this.options),this.adminAuth&&this.cachedSync.setAdminAuth(this.adminAuth,this.fakeUserIdentity),this.cachedPaginatedQueryClient=new cte(this.cachedSync,e=>this.handleTransition(e)),this.cachedSync)}get paginatedQueryClient(){if(this.sync,this.cachedPaginatedQueryClient)return this.cachedPaginatedQueryClient;throw Error(`Should already be instantiated`)}setAuth(e,t,n){if(typeof e==`string`)throw Error(`Passing a string to ConvexReactClient.setAuth is no longer supported, please upgrade to passing in an async function to handle reauthentication.`);this.sync.setAuth(e,t??(()=>{}),n)}clearAuth(){this.sync.clearAuth()}setAdminAuth(e,t){if(this.adminAuth=e,this.fakeUserIdentity=t,this.closed)throw Error(`ConvexReactClient has already been closed.`);this.cachedSync&&this.sync.setAdminAuth(e,t)}watchQuery(e,...t){let[n,r]=t,i=P(e);return{onUpdate:e=>{let{queryToken:t,unsubscribe:a}=this.sync.subscribe(i,n,r),o=this.listeners.get(t);return o===void 0?this.listeners.set(t,new Set([e])):o.add(e),()=>{if(this.closed)return;let n=this.listeners.get(t);n.delete(e),n.size===0&&this.listeners.delete(t),a()}},localQueryResult:()=>{if(this.cachedSync)return this.cachedSync.localQueryResult(i,n)},localQueryLogs:()=>{if(this.cachedSync)return this.cachedSync.localQueryLogs(i,n)},journal:()=>{if(this.cachedSync)return this.cachedSync.queryJournal(i,n)}}}prewarmQuery(e){let t=e.extendSubscriptionFor??fte,n=this.watchQuery(e.query,e.args||{}).onUpdate(()=>{});setTimeout(n,t)}watchPaginatedQuery(e,t,n){let r=P(e);return{onUpdate:e=>{let{paginatedQueryToken:i,unsubscribe:a}=this.paginatedQueryClient.subscribe(r,t||{},n),o=this.listeners.get(i);return o===void 0?this.listeners.set(i,new Set([e])):o.add(e),()=>{if(this.closed)return;let t=this.listeners.get(i);t.delete(e),t.size===0&&this.listeners.delete(i),a()}},localQueryResult:()=>this.paginatedQueryClient.localQueryResult(r,t,n)}}mutation(e,...t){let[n,r]=t,i=P(e);return this.sync.mutation(i,n,r)}action(e,...t){let n=P(e);return this.sync.action(n,...t)}query(e,...t){let n=this.watchQuery(e,...t),r=n.localQueryResult();return r===void 0?new Promise((e,t)=>{let r=n.onUpdate(()=>{r();try{e(n.localQueryResult())}catch(e){t(e)}})}):Promise.resolve(r)}connectionState(){return this.sync.connectionState()}subscribeToConnectionState(e){return this.sync.subscribeToConnectionState(e)}get logger(){return this._logger}async close(){if(this.closed=!0,this.listeners=new Map,this.cachedPaginatedQueryClient&&=void 0,this.cachedSync){let e=this.cachedSync;this.cachedSync=void 0,await e.close()}}handleTransition(e){let t=e.queries.map(e=>e.token),n=e.paginatedQueries.map(e=>e.token);this.transition([...t,...n])}transition(e){for(let t of e){let e=this.listeners.get(t);if(e)for(let t of e)t()}}},ot=T.createContext(void 0);function st(){return(0,T.useContext)(ot)}var hte=({client:e,children:t})=>T.createElement(ot.Provider,{value:e},t);function gte(e,...t){let n=t[0]===`skip`,r=t[0]===`skip`?{}:v(t[0]),i=typeof e==`string`?Be(e):e,a=P(i),o=dt((0,T.useMemo)(()=>n?{}:{query:{query:i,args:r}},[JSON.stringify(w(r)),a,n])).query;if(o instanceof Error)throw o;return o}function _te(e){let t=typeof e==`string`?Be(e):e,n=(0,T.useContext)(ot);if(n===void 0)throw Error("Could not find Convex client! `useMutation` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,T.useMemo)(()=>at(t,n),[n,P(t)])}function vte(e){let t=(0,T.useContext)(ot),n=typeof e==`string`?Be(e):e;if(t===void 0)throw Error("Could not find Convex client! `useAction` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return(0,T.useMemo)(()=>pte(n,t),[t,P(n)])}function yte(e){if(typeof e==`object`&&e&&`bubbles`in e&&`persist`in e&&`isDefaultPrevented`in e)throw Error("Convex function called with SyntheticEvent object. Did you use a Convex function as an event handler directly? Event handlers like onClick receive an event object as their first argument. These SyntheticEvent objects are not valid Convex values. Try wrapping the function like `const handler = () => myMutation();` and using `handler` in the event handler.")}var bte=Object.defineProperty,ct=(e,t,n)=>t in e?bte(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,lt=(e,t,n)=>ct(e,typeof t==`symbol`?t:t+``,n),ut=class{constructor(e){lt(this,`createWatch`),lt(this,`queries`),lt(this,`listeners`),this.createWatch=e,this.queries={},this.listeners=new Set}setQueries(e){for(let t of Object.keys(e)){let{query:n,args:r,paginationOptions:i}=e[t];if(P(n),this.queries[t]===void 0)this.addQuery(t,n,r,i?{paginationOptions:i}:{});else{let e=this.queries[t];(P(n)!==P(e.query)||JSON.stringify(w(r))!==JSON.stringify(w(e.args))||JSON.stringify(i)!==JSON.stringify(e.paginationOptions))&&(this.removeQuery(t),this.addQuery(t,n,r,i?{paginationOptions:i}:{}))}}for(let t of Object.keys(this.queries))e[t]===void 0&&this.removeQuery(t)}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}getLocalResults(e){let t={};for(let n of Object.keys(e)){let{query:r,args:i}=e[n],a=e[n].paginationOptions;P(r);let o=this.createWatch(r,i,a?{paginationOptions:a}:{}),s;try{s=o.localQueryResult()}catch(e){if(e instanceof Error)s=e;else throw e}t[n]=s}return t}setCreateWatch(e){this.createWatch=e;for(let e of Object.keys(this.queries)){let{query:t,args:n,watch:r,paginationOptions:i}=this.queries[e],a=`journal`in r?r.journal():void 0;this.removeQuery(e),this.addQuery(e,t,n,{...a?{journal:a}:[],...i?{paginationOptions:i}:{}})}}destroy(){for(let e of Object.keys(this.queries))this.removeQuery(e);this.listeners=new Set}addQuery(e,t,n,{paginationOptions:r,journal:i}){if(this.queries[e]!==void 0)throw Error(`Tried to add a new query with identifier ${e} when it already exists.`);let a=this.createWatch(t,n,{...i?{journal:i}:[],...r?{paginationOptions:r}:{}}),o=a.onUpdate(()=>this.notifyListeners());this.queries[e]={query:t,args:n,watch:a,unsubscribe:o,...r?{paginationOptions:r}:{}}}removeQuery(e){let t=this.queries[e];if(t===void 0)throw Error(`No query found with identifier ${e}.`);t.unsubscribe(),delete this.queries[e]}notifyListeners(){for(let e of this.listeners)e()}};function dt(e){let t=st();if(t===void 0)throw Error("Could not find Convex client! `useQuery` must be used in the React component tree under `ConvexProvider`. Did you forget it? See https://docs.convex.dev/quick-start#set-up-convex-in-your-react-app");return ft(e,(0,T.useMemo)(()=>(e,n,{journal:r,paginationOptions:i})=>i?t.watchPaginatedQuery(e,n,i):t.watchQuery(e,n,r?{journal:r}:{}),[t]))}function ft(e,t){let[n]=(0,T.useState)(()=>new ut(t));return n.createWatch!==t&&n.setCreateWatch(t),(0,T.useEffect)(()=>()=>n.destroy(),[n]),lte((0,T.useMemo)(()=>({getCurrentValue:()=>n.getLocalResults(e),subscribe:t=>(n.setQueries(e),n.subscribe(t))}),[n,e]))}var pt={},mt=[`fr`,`en`],ht=`PARAGLIDE_LOCALE`,gt=[`localStorage`,`baseLocale`],_t=[],vt,yt;function bt(e){if(_t.length===0)return;let t=typeof e==`string`?e:e.href;if(vt===t)return yt;let n=new URL(t,`http://dummy.com`),r;for(let e of _t)if(new pt(e.match,n.href).exec(n.href)){r=e;break}return vt=t,yt=r,r}function xt(e){let t=bt(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:gt}var St=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var Ct=!1,U=()=>{if(St){let e=St?.getStore()?.locale;if(e)return e}let e=gt;typeof window<`u`&&window.location?.href&&(e=xt(window.location.href));let t=wt(e,typeof window<`u`?window.location?.href:void 0);if(t)return Ct||(Ct=!0,Et(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found`)};function wt(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`fr`;else if(t===`localStorage`)n=localStorage.getItem(`PARAGLIDE_LOCALE`)??void 0;else if(At(t)&&kt.has(t)){let e=kt.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return Ot(t)}}let e=Dt(n);if(e)return e}}var Tt=e=>{e?window.location.href=e:window.location.reload()},Et=(e,t)=>{let n={reload:!0,...t},r;try{r=U()}catch{}let i=[],a=gt;typeof window<`u`&&window.location?.href&&(a=xt(window.location.href));for(let t of a)if(t===`baseLocale`)continue;else if(t===`localStorage`&&typeof window<`u`)localStorage.setItem(ht,e);else if(At(t)&&kt.has(t)){let n=kt.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&Tt(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()};function Dt(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of mt)if(e.toLowerCase()===t)return e}function Ot(e){let t=Dt(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${mt.join(`, `)}`)}var kt=new Map;function At(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}var jt=e=>`Fichier trop volumineux (${e?.size} Mo, max ${e?.max} Mo). Réduisez-le (p. ex. compressez les images) et réessayez.`,Mt=e=>`File too large (${e?.size} MB, max ${e?.max} MB). Reduce it (e.g. compress images) and try again.`,Nt=((e,t={})=>(t.locale??U())===`fr`?jt(e):Mt(e)),Pt=()=>`Chargement…`,Ft=()=>`Loading…`,It=((e={},t={})=>(t.locale??U())===`fr`?Pt(e):Ft(e)),Lt=()=>`Thème`,Rt=()=>`Theme`,zt=((e={},t={})=>(t.locale??U())===`fr`?Lt(e):Rt(e)),Bt=()=>`Clair`,Vt=()=>`Light`,Ht=((e={},t={})=>(t.locale??U())===`fr`?Bt(e):Vt(e)),Ut=()=>`Sombre`,Wt=()=>`Dark`,Gt=((e={},t={})=>(t.locale??U())===`fr`?Ut(e):Wt(e)),Kt=()=>`Système`,qt=()=>`System`,Jt=((e={},t={})=>(t.locale??U())===`fr`?Kt(e):qt(e)),Yt=()=>`Défaut de l’app`,Xt=()=>`App default`,Zt=((e={},t={})=>(t.locale??U())===`fr`?Yt(e):Xt(e)),Qt=()=>`Se déconnecter`,$t=()=>`Sign out`,en=((e={},t={})=>(t.locale??U())===`fr`?Qt(e):$t(e)),tn=()=>`Préférences`,nn=()=>`Preferences`,rn=((e={},t={})=>(t.locale??U())===`fr`?tn(e):nn(e)),an=()=>`Nom affiché`,on=()=>`Display name`,sn=((e={},t={})=>(t.locale??U())===`fr`?an(e):on(e)),cn=()=>`Le nom et prénom affichés dans la liste des utilisateurs et le menu de compte. Vous pouvez le modifier à tout moment.`,ln=()=>`The name shown in the user list and the account menu. You can change it at any time.`,un=((e={},t={})=>(t.locale??U())===`fr`?cn(e):ln(e)),dn=()=>`Votre nom et prénom`,fn=()=>`Your name`,pn=((e={},t={})=>(t.locale??U())===`fr`?dn(e):fn(e)),mn=()=>`Laissez vide pour n’afficher que votre email.`,hn=()=>`Leave empty to show only your email.`,gn=((e={},t={})=>(t.locale??U())===`fr`?mn(e):hn(e)),_n=()=>`Nom affiché mis à jour.`,vn=()=>`Display name updated.`,yn=((e={},t={})=>(t.locale??U())===`fr`?_n(e):vn(e)),bn=()=>`Échec de la mise à jour du nom`,xn=()=>`Failed to update the name`,Sn=((e={},t={})=>(t.locale??U())===`fr`?bn(e):xn(e)),Cn=()=>`Langue`,wn=()=>`Language`,Tn=((e={},t={})=>(t.locale??U())===`fr`?Cn(e):wn(e)),En=()=>`Choisissez la langue de l’interface. « Défaut de l’app » suit le réglage de l’administrateur.`,Dn=()=>`Choose the interface language. “App default” follows the administrator setting.`,On=((e={},t={})=>(t.locale??U())===`fr`?En(e):Dn(e)),kn=()=>`Le changement de langue recharge la page une fois.`,An=()=>`Changing the language reloads the page once.`,jn=((e={},t={})=>(t.locale??U())===`fr`?kn(e):An(e)),Mn=()=>`Interface`,Nn=()=>`Interface`,Pn=((e={},t={})=>(t.locale??U())===`fr`?Mn(e):Nn(e)),Fn=()=>`Activez ou masquez des éléments d’interface. Les options grisées sont verrouillées par l’administrateur.`,In=()=>`Enable or hide interface elements. Greyed options are locked by the administrator.`,Ln=((e={},t={})=>(t.locale??U())===`fr`?Fn(e):In(e)),Rn=()=>`Fichiers`,zn=()=>`Files`,Bn=((e={},t={})=>(t.locale??U())===`fr`?Rn(e):zn(e)),Vn=()=>`Tous les fichiers échangés dans vos conversations (envoyés et reçus).`,Hn=()=>`Every file exchanged across your conversations (sent and received).`,Un=((e={},t={})=>(t.locale??U())===`fr`?Vn(e):Hn(e)),Wn=()=>`Sens`,Gn=()=>`Direction`,Kn=((e={},t={})=>(t.locale??U())===`fr`?Wn(e):Gn(e)),qn=()=>`Tous les sens`,Jn=()=>`All directions`,Yn=((e={},t={})=>(t.locale??U())===`fr`?qn(e):Jn(e)),Xn=()=>`Envoyé`,Zn=()=>`Sent`,Qn=((e={},t={})=>(t.locale??U())===`fr`?Xn(e):Zn(e)),$n=()=>`Reçu`,er=()=>`Received`,tr=((e={},t={})=>(t.locale??U())===`fr`?$n(e):er(e)),nr=()=>`Conversation`,rr=()=>`Conversation`,ir=((e={},t={})=>(t.locale??U())===`fr`?nr(e):rr(e)),ar=()=>`Toutes les conversations`,or=()=>`All conversations`,sr=((e={},t={})=>(t.locale??U())===`fr`?ar(e):or(e)),cr=()=>`Bridge`,lr=()=>`Bridge`,ur=((e={},t={})=>(t.locale??U())===`fr`?cr(e):lr(e)),dr=()=>`Tous les bridges`,fr=()=>`All bridges`,pr=((e={},t={})=>(t.locale??U())===`fr`?dr(e):fr(e)),mr=()=>`Type`,hr=()=>`Type`,gr=((e={},t={})=>(t.locale??U())===`fr`?mr(e):hr(e)),_r=()=>`Tous les types`,vr=()=>`All types`,yr=((e={},t={})=>(t.locale??U())===`fr`?_r(e):vr(e)),br=()=>`Image`,xr=()=>`Image`,Sr=((e={},t={})=>(t.locale??U())===`fr`?br(e):xr(e)),Cr=()=>`Audio`,wr=()=>`Audio`,Tr=((e={},t={})=>(t.locale??U())===`fr`?Cr(e):wr(e)),Er=()=>`Vidéo`,Dr=()=>`Video`,Or=((e={},t={})=>(t.locale??U())===`fr`?Er(e):Dr(e)),kr=()=>`PDF`,Ar=()=>`PDF`,jr=((e={},t={})=>(t.locale??U())===`fr`?kr(e):Ar(e)),Mr=()=>`Document`,Nr=()=>`Document`,Pr=((e={},t={})=>(t.locale??U())===`fr`?Mr(e):Nr(e)),Fr=()=>`Archive`,Ir=()=>`Archive`,Lr=((e={},t={})=>(t.locale??U())===`fr`?Fr(e):Ir(e)),Rr=()=>`Autre`,zr=()=>`Other`,Br=((e={},t={})=>(t.locale??U())===`fr`?Rr(e):zr(e)),Vr=()=>`Nom`,Hr=()=>`Name`,Ur=((e={},t={})=>(t.locale??U())===`fr`?Vr(e):Hr(e)),Wr=()=>`Type`,Gr=()=>`Type`,Kr=((e={},t={})=>(t.locale??U())===`fr`?Wr(e):Gr(e)),qr=()=>`Sens`,Jr=()=>`Direction`,Yr=((e={},t={})=>(t.locale??U())===`fr`?qr(e):Jr(e)),Xr=()=>`Conversation`,Zr=()=>`Conversation`,Qr=((e={},t={})=>(t.locale??U())===`fr`?Xr(e):Zr(e)),$r=()=>`Date`,ei=()=>`Date`,ti=((e={},t={})=>(t.locale??U())===`fr`?$r(e):ei(e)),ni=()=>`Action`,ri=()=>`Action`,ii=((e={},t={})=>(t.locale??U())===`fr`?ni(e):ri(e)),ai=()=>`Télécharger`,oi=()=>`Download`,si=((e={},t={})=>(t.locale??U())===`fr`?ai(e):oi(e)),ci=()=>`Réinitialiser`,li=()=>`Reset`,ui=((e={},t={})=>(t.locale??U())===`fr`?ci(e):li(e)),di=()=>`Actions`,fi=()=>`Actions`,pi=((e={},t={})=>(t.locale??U())===`fr`?di(e):fi(e)),mi=()=>`Supprimer`,hi=()=>`Delete`,gi=((e={},t={})=>(t.locale??U())===`fr`?mi(e):hi(e)),_i=()=>`Fichier supprimé`,vi=()=>`File removed`,yi=((e={},t={})=>(t.locale??U())===`fr`?_i(e):vi(e)),bi=()=>`Échec de la suppression du fichier`,xi=()=>`Could not remove the file`,Si=((e={},t={})=>(t.locale??U())===`fr`?bi(e):xi(e)),Ci=()=>`Supprimer ce fichier ?`,wi=()=>`Remove this file?`,Ti=((e={},t={})=>(t.locale??U())===`fr`?Ci(e):wi(e)),Ei=()=>`Il sera retiré de vos fichiers. La conversation où il a été échangé n'est pas modifiée.`,Di=()=>`It will be removed from your files. The conversation where it was exchanged is unchanged.`,Oi=((e={},t={})=>(t.locale??U())===`fr`?Ei(e):Di(e)),ki=()=>`Indisponible`,Ai=()=>`Unavailable`,ji=((e={},t={})=>(t.locale??U())===`fr`?ki(e):Ai(e)),Mi=()=>`Aucun fichier pour le moment.`,Ni=()=>`No files yet.`,Pi=((e={},t={})=>(t.locale??U())===`fr`?Mi(e):Ni(e)),Fi=()=>`Aucun fichier ne correspond aux filtres.`,Ii=()=>`No files match the filters.`,Li=((e={},t={})=>(t.locale??U())===`fr`?Fi(e):Ii(e)),Ri=e=>`Affichage des ${e?.cap} fichiers les plus récents.`,zi=e=>`Showing the ${e?.cap} most recent files.`,Bi=((e,t={})=>(t.locale??U())===`fr`?Ri(e):zi(e)),Vi=()=>`Apparence`,Hi=()=>`Appearance`,Ui=((e={},t={})=>(t.locale??U())===`fr`?Vi(e):Hi(e)),Wi=()=>`Thème par défaut de l’application`,Gi=()=>`Default app theme`,Ki=((e={},t={})=>(t.locale??U())===`fr`?Wi(e):Gi(e)),qi=()=>`Appliqué aux utilisateurs sans préférence personnelle.`,Ji=()=>`Applied to users without a personal preference.`,Yi=((e={},t={})=>(t.locale??U())===`fr`?qi(e):Ji(e)),Xi=()=>`Langue par défaut de l’application`,Zi=()=>`Default app language`,Qi=((e={},t={})=>(t.locale??U())===`fr`?Xi(e):Zi(e)),$i=()=>`Langue des nouveaux utilisateurs qui n’ont pas encore choisi la leur.`,ea=()=>`Language for new users who haven’t picked their own yet.`,ta=((e={},t={})=>(t.locale??U())===`fr`?$i(e):ea(e)),na=()=>`Si vous n’avez pas défini votre propre langue, changer ce défaut rechargera votre vue.`,ra=()=>`If you haven’t set your own language, changing this default will reload your view.`,ia=((e={},t={})=>(t.locale??U())===`fr`?na(e):ra(e)),aa=()=>`Référence des composants (design)`,oa=()=>`Component reference (design)`,sa=((e={},t={})=>(t.locale??U())===`fr`?aa(e):oa(e)),ca=()=>`Administration de l’apparence`,la=()=>`Appearance administration`,ua=((e={},t={})=>(t.locale??U())===`fr`?ca(e):la(e)),da=()=>`Réservé aux administrateurs. S’applique à toute l’organisation.`,fa=()=>`Admins only. Applies to the whole organization.`,pa=((e={},t={})=>(t.locale??U())===`fr`?da(e):fa(e)),ma=()=>`Ma charte graphique`,ha=()=>`My graphic chart`,ga=((e={},t={})=>(t.locale??U())===`fr`?ma(e):ha(e)),_a=()=>`Choisissez la palette appliquée à votre interface, en clair comme en sombre.`,va=()=>`Pick the palette applied to your interface, in light and dark.`,ya=((e={},t={})=>(t.locale??U())===`fr`?_a(e):va(e)),ba=()=>`Défaut de l’application`,xa=()=>`Application default`,Sa=((e={},t={})=>(t.locale??U())===`fr`?ba(e):xa(e)),Ca=()=>`Suit le défaut de l’application.`,wa=()=>`Follows the application default.`,Ta=((e={},t={})=>(t.locale??U())===`fr`?Ca(e):wa(e)),Ea=()=>`Commune`,Da=()=>`Common`,Oa=((e={},t={})=>(t.locale??U())===`fr`?Ea(e):Da(e)),ka=()=>`La vôtre`,Aa=()=>`Yours`,ja=((e={},t={})=>(t.locale??U())===`fr`?ka(e):Aa(e)),Ma=e=>`Via le groupe ${e?.group}`,Na=e=>`Via group ${e?.group}`,Pa=((e,t={})=>(t.locale??U())===`fr`?Ma(e):Na(e)),Fa=()=>`Aucune charte disponible pour le moment.`,Ia=()=>`No chart available yet.`,La=((e={},t={})=>(t.locale??U())===`fr`?Fa(e):Ia(e)),Ra=()=>`Charte par défaut de l’application`,za=()=>`Application default chart`,Ba=((e={},t={})=>(t.locale??U())===`fr`?Ra(e):za(e)),Va=()=>`Appliquée aux utilisateurs sans charte personnelle.`,Ha=()=>`Applied to users without a personal chart.`,Ua=((e={},t={})=>(t.locale??U())===`fr`?Va(e):Ha(e)),Wa=()=>`Pools de chartes par groupe`,Ga=()=>`Group chart pools`,Ka=((e={},t={})=>(t.locale??U())===`fr`?Wa(e):Ga(e)),qa=()=>`Définissez le pool de chaque charte : les groupes qui PEUVENT la proposer. Un gestionnaire de groupe choisit ensuite dans son pool (onglet Groupes). Une charte reste commune tant qu’aucun groupe ne l’a sélectionnée.`,Ja=()=>`Define each chart's pool: the groups that MAY offer it. A group manager then selects from its pool (Groups tab). A chart stays common until a group actually selects it.`,Ya=((e={},t={})=>(t.locale??U())===`fr`?qa(e):Ja(e)),Xa=()=>`Charte par domaine`,Za=()=>`Chart by domain`,Qa=((e={},t={})=>(t.locale??U())===`fr`?Xa(e):Za(e)),$a=()=>`Associez un domaine à une charte publique (intégrée ou commune) : elle devient la charte par défaut sur cet hôte, page de connexion comprise.`,eo=()=>`Map a domain to a public chart (builtin or common): it becomes the default chart on that host, including the login page.`,to=((e={},t={})=>(t.locale??U())===`fr`?$a(e):eo(e)),no=()=>`Commune`,ro=()=>`Common`,io=((e={},t={})=>(t.locale??U())===`fr`?no(e):ro(e)),ao=()=>`Restreinte`,oo=()=>`Restricted`,so=((e={},t={})=>(t.locale??U())===`fr`?ao(e):oo(e)),co=()=>`Défaut`,lo=()=>`Default`,uo=((e={},t={})=>(t.locale??U())===`fr`?co(e):lo(e)),fo=()=>`Aucun groupe à associer.`,po=()=>`No group to attach.`,mo=((e={},t={})=>(t.locale??U())===`fr`?fo(e):po(e)),ho=()=>`Disponible aux groupes (pool)`,go=()=>`Available to groups (pool)`,_o=((e={},t={})=>(t.locale??U())===`fr`?ho(e):go(e)),vo=()=>`Ajouter au pool d'un groupe…`,yo=()=>`Add to a group's pool…`,bo=((e={},t={})=>(t.locale??U())===`fr`?vo(e):yo(e)),xo=e=>`Retirer ${e?.group} du pool`,So=e=>`Remove ${e?.group} from the pool`,Co=((e,t={})=>(t.locale??U())===`fr`?xo(e):So(e)),wo=()=>`Importer une charte`,To=()=>`Import a chart`,Eo=((e={},t={})=>(t.locale??U())===`fr`?wo(e):To(e)),Do=()=>`Collez le JSON d’une charte (ou choisissez un fichier .json) pour créer votre charte personnelle. Les couleurs doivent être au format oklch ; les valeurs sont validées et nettoyées côté serveur.`,Oo=()=>`Paste a chart's JSON (or pick a .json file) to create your personal chart. Colors must be in oklch format; values are validated and sanitized server-side.`,ko=((e={},t={})=>(t.locale??U())===`fr`?Do(e):Oo(e)),Ao=()=>`Nom de la charte`,jo=()=>`Chart name`,Mo=((e={},t={})=>(t.locale??U())===`fr`?Ao(e):jo(e)),No=()=>`Ma charte`,Po=()=>`My chart`,Fo=((e={},t={})=>(t.locale??U())===`fr`?No(e):Po(e)),Io=()=>`JSON des tokens`,Lo=()=>`Tokens JSON`,Ro=((e={},t={})=>(t.locale??U())===`fr`?Io(e):Lo(e)),zo=()=>`Collez ici le JSON des tokens (colors.light / colors.dark en oklch, radius, fontSans, fontMono)…`,Bo=()=>`Paste the tokens JSON here (colors.light / colors.dark in oklch, radius, fontSans, fontMono)…`,Vo=((e={},t={})=>(t.locale??U())===`fr`?zo(e):Bo(e)),Ho=()=>`Charger un fichier .json`,Uo=()=>`Load a .json file`,Wo=((e={},t={})=>(t.locale??U())===`fr`?Ho(e):Uo(e)),Go=()=>`Importer`,Ko=()=>`Import`,qo=((e={},t={})=>(t.locale??U())===`fr`?Go(e):Ko(e)),Jo=()=>`JSON invalide : impossible d’analyser le contenu.`,Yo=()=>`Invalid JSON: could not parse the content.`,Xo=((e={},t={})=>(t.locale??U())===`fr`?Jo(e):Yo(e)),Zo=()=>`Charte importée.`,Qo=()=>`Chart imported.`,$o=((e={},t={})=>(t.locale??U())===`fr`?Zo(e):Qo(e)),es=()=>`Indiquez un nom de charte.`,ts=()=>`Please provide a chart name.`,ns=((e={},t={})=>(t.locale??U())===`fr`?es(e):ts(e)),rs=()=>`Mes chartes`,is=()=>`My charts`,as=((e={},t={})=>(t.locale??U())===`fr`?rs(e):is(e)),os=()=>`Les chartes que vous avez importées. Vous pouvez les renommer, modifier leurs tokens, les associer à vos groupes ou les supprimer.`,ss=()=>`The charts you have imported. You can rename them, edit their tokens, associate them with your groups, or delete them.`,cs=((e={},t={})=>(t.locale??U())===`fr`?os(e):ss(e)),ls=()=>`Vous n’avez pas encore importé de charte.`,us=()=>`You haven't imported any chart yet.`,ds=((e={},t={})=>(t.locale??U())===`fr`?ls(e):us(e)),fs=()=>`Modifier`,ps=()=>`Edit`,ms=((e={},t={})=>(t.locale??U())===`fr`?fs(e):ps(e)),hs=()=>`Supprimer`,gs=()=>`Delete`,_s=((e={},t={})=>(t.locale??U())===`fr`?hs(e):gs(e)),vs=()=>`Logo de marque`,ys=()=>`Brand logo`,bs=((e={},t={})=>(t.locale??U())===`fr`?vs(e):ys(e)),xs=()=>`Mode clair`,Ss=()=>`Light mode`,Cs=((e={},t={})=>(t.locale??U())===`fr`?xs(e):Ss(e)),ws=()=>`Mode sombre`,Ts=()=>`Dark mode`,Es=((e={},t={})=>(t.locale??U())===`fr`?ws(e):Ts(e)),Ds=()=>`Téléverser`,Os=()=>`Upload`,ks=((e={},t={})=>(t.locale??U())===`fr`?Ds(e):Os(e)),As=()=>`Remplacer`,js=()=>`Replace`,Ms=((e={},t={})=>(t.locale??U())===`fr`?As(e):js(e)),Ns=()=>`Retirer`,Ps=()=>`Remove`,Fs=((e={},t={})=>(t.locale??U())===`fr`?Ns(e):Ps(e)),Is=()=>`Générer depuis l’autre mode`,Ls=()=>`Generate from the other mode`,Rs=((e={},t={})=>(t.locale??U())===`fr`?Is(e):Ls(e)),zs=()=>`Traitement…`,Bs=()=>`Processing…`,Vs=((e={},t={})=>(t.locale??U())===`fr`?zs(e):Bs(e)),Hs=()=>`Le fichier doit être une image.`,Us=()=>`The file must be an image.`,Ws=((e={},t={})=>(t.locale??U())===`fr`?Hs(e):Us(e)),Gs=()=>`Image trop volumineuse (max 12 Mo).`,Ks=()=>`Image too large (max 12 MB).`,qs=((e={},t={})=>(t.locale??U())===`fr`?Gs(e):Ks(e)),Js=()=>`Format d’image non pris en charge.`,Ys=()=>`Unsupported image format.`,Xs=((e={},t={})=>(t.locale??U())===`fr`?Js(e):Ys(e)),Zs=()=>`Traitement de l’image impossible.`,Qs=()=>`Could not process the image.`,$s=((e={},t={})=>(t.locale??U())===`fr`?Zs(e):Qs(e)),ec=()=>`Encodage de l’image impossible.`,tc=()=>`Could not encode the image.`,nc=((e={},t={})=>(t.locale??U())===`fr`?ec(e):tc(e)),rc=()=>`Domaines (admin)`,ic=()=>`Domains (admin)`,ac=((e={},t={})=>(t.locale??U())===`fr`?rc(e):ic(e)),oc=()=>`Quand Atrium est ouvert sur ce domaine, cette charte s’applique par défaut (page de connexion incluse). Ex. chat.acme.com ou *.acme.com.`,sc=()=>`When Atrium is opened on this domain, this chart applies by default (including the login page). E.g. chat.acme.com or *.acme.com.`,cc=((e={},t={})=>(t.locale??U())===`fr`?oc(e):sc(e)),lc=()=>`chat.acme.com ou *.acme.com`,uc=()=>`chat.acme.com or *.acme.com`,dc=((e={},t={})=>(t.locale??U())===`fr`?lc(e):uc(e)),fc=()=>`Ajouter`,pc=()=>`Add`,mc=((e={},t={})=>(t.locale??U())===`fr`?fc(e):pc(e)),hc=()=>`Aucun domaine.`,gc=()=>`No domain.`,_c=((e={},t={})=>(t.locale??U())===`fr`?hc(e):gc(e)),vc=e=>`Retirer ${e?.domain}`,yc=e=>`Remove ${e?.domain}`,bc=((e,t={})=>(t.locale??U())===`fr`?vc(e):yc(e)),xc=()=>`Enregistrer`,Sc=()=>`Save`,Cc=((e={},t={})=>(t.locale??U())===`fr`?xc(e):Sc(e)),wc=()=>`Annuler`,Tc=()=>`Cancel`,Ec=((e={},t={})=>(t.locale??U())===`fr`?wc(e):Tc(e)),Dc=()=>`Nom`,Oc=()=>`Name`,kc=((e={},t={})=>(t.locale??U())===`fr`?Dc(e):Oc(e)),Ac=()=>`Tokens (JSON)`,jc=()=>`Tokens (JSON)`,Mc=((e={},t={})=>(t.locale??U())===`fr`?Ac(e):jc(e)),Nc=()=>`Supprimer définitivement cette charte ?`,Pc=()=>`Permanently delete this chart?`,Fc=((e={},t={})=>(t.locale??U())===`fr`?Nc(e):Pc(e)),Ic=()=>`Chartes personnalisées`,Lc=()=>`Custom charts`,Rc=((e={},t={})=>(t.locale??U())===`fr`?Ic(e):Lc(e)),zc=()=>`Gérez les chartes importées par les utilisateurs : promouvoir en commune (offerte à tous) ou supprimer.`,Bc=()=>`Manage charts imported by users: promote to common (offered to everyone) or delete.`,Vc=((e={},t={})=>(t.locale??U())===`fr`?zc(e):Bc(e)),Hc=e=>`Propriétaire : ${e?.owner}`,Uc=e=>`Owner: ${e?.owner}`,Wc=((e,t={})=>(t.locale??U())===`fr`?Hc(e):Uc(e)),Gc=()=>`Personnelle`,Kc=()=>`Personal`,qc=((e={},t={})=>(t.locale??U())===`fr`?Gc(e):Kc(e)),Jc=()=>`Commune`,Yc=()=>`Common`,Xc=((e={},t={})=>(t.locale??U())===`fr`?Jc(e):Yc(e)),Zc=()=>`Promouvoir en commune`,Qc=()=>`Promote to common`,$c=((e={},t={})=>(t.locale??U())===`fr`?Zc(e):Qc(e)),el=()=>`Supprimer`,tl=()=>`Delete`,nl=((e={},t={})=>(t.locale??U())===`fr`?el(e):tl(e)),rl=()=>`Aucune charte personnalisée pour le moment.`,il=()=>`No custom chart yet.`,al=((e={},t={})=>(t.locale??U())===`fr`?rl(e):il(e)),ol=()=>`Messages`,sl=()=>`Messages`,cl=((e={},t={})=>(t.locale??U())===`fr`?ol(e):sl(e)),ll=()=>`Composeur`,ul=()=>`Composer`,dl=((e={},t={})=>(t.locale??U())===`fr`?ll(e):ul(e)),fl=()=>`Barre latérale`,pl=()=>`Sidebar`,ml=((e={},t={})=>(t.locale??U())===`fr`?fl(e):pl(e)),hl=()=>`Autre`,gl=()=>`Other`,_l=((e={},t={})=>(t.locale??U())===`fr`?hl(e):gl(e)),vl=()=>`Vue source des messages`,yl=()=>`Message source view`,bl=((e={},t={})=>(t.locale??U())===`fr`?vl(e):yl(e)),xl=()=>`Le bouton </> qui montre le texte brut exact d’un message.`,Sl=()=>`The </> button that shows a message’s exact raw text.`,Cl=((e={},t={})=>(t.locale??U())===`fr`?xl(e):Sl(e)),wl=()=>`Signaler un problème`,Tl=()=>`Report a problem`,El=((e={},t={})=>(t.locale??U())===`fr`?wl(e):Tl(e)),Dl=()=>`Le drapeau qui envoie un signalement (feedback) sur un message.`,Ol=()=>`The flag that sends feedback about a message.`,kl=((e={},t={})=>(t.locale??U())===`fr`?Dl(e):Ol(e)),Al=()=>`Copier les réponses de l’IA`,jl=()=>`Copy AI replies`,Ml=((e={},t={})=>(t.locale??U())===`fr`?Al(e):jl(e)),Nl=()=>`Copier vos messages`,Pl=()=>`Copy your messages`,Fl=((e={},t={})=>(t.locale??U())===`fr`?Nl(e):Pl(e)),Il=()=>`Supprimer un message`,Ll=()=>`Delete a message`,Rl=((e={},t={})=>(t.locale??U())===`fr`?Il(e):Ll(e)),zl=()=>`Activité des outils`,Bl=()=>`Tool activity`,Vl=((e={},t={})=>(t.locale??U())===`fr`?zl(e):Bl(e)),Hl=()=>`Affiche l’activité des outils et les sources dans la conversation (vue d’analyse, avec détail dépliable). Désactivé : vue épurée centrée sur le contenu — le signal « traitement en cours » reste visible.`,Ul=()=>`Shows tool activity and sources in the conversation (analysis view, with expandable detail). Off: a clean, content-focused view — the “processing in progress” signal stays visible.`,Wl=((e={},t={})=>(t.locale??U())===`fr`?Hl(e):Ul(e)),Gl=()=>`Saisie vocale (micro)`,Kl=()=>`Voice input (mic)`,ql=((e={},t={})=>(t.locale??U())===`fr`?Gl(e):Kl(e)),Jl=()=>`Le bouton micro dans le composeur.`,Yl=()=>`The mic button in the composer.`,Xl=((e={},t={})=>(t.locale??U())===`fr`?Jl(e):Yl(e)),Zl=()=>`Jauge d'utilisation de l'abonnement`,Ql=()=>`Subscription usage gauge`,$l=((e={},t={})=>(t.locale??U())===`fr`?Zl(e):Ql(e)),eu=()=>`Affiche dans l'en-tête du chat le quota restant de l'abonnement du fournisseur (fenêtre la plus contrainte), pour comprendre les ralentissements ou refus.`,tu=()=>`Shows the provider plan's remaining quota (most constrained window) in the chat header, explaining slowdowns or refusals.`,nu=((e={},t={})=>(t.locale??U())===`fr`?eu(e):tu(e)),ru=()=>`Âge des conversations`,iu=()=>`Conversation age`,au=((e={},t={})=>(t.locale??U())===`fr`?ru(e):iu(e)),ou=()=>`Afficher l’ancienneté de chaque conversation (ex. « 3j », « 2sem ») dans la liste à gauche.`,su=()=>`Show each conversation’s age (e.g. “3d”, “2w”) in the left list.`,cu=((e={},t={})=>(t.locale??U())===`fr`?ou(e):su(e)),lu=()=>`Bridge des conversations`,uu=()=>`Conversation bridge`,du=((e={},t={})=>(t.locale??U())===`fr`?lu(e):uu(e)),fu=()=>`Marquer le bridge (OpenClaw / Hermes) de chaque conversation dans la liste à gauche. Apparaît uniquement si vos conversations utilisent plusieurs bridges.`,pu=()=>`Tag each conversation’s bridge (OpenClaw / Hermes) in the left list. Shown only if your conversations use more than one bridge.`,mu=((e={},t={})=>(t.locale??U())===`fr`?fu(e):pu(e)),hu=()=>`Filtrer les préférences…`,gu=()=>`Filter preferences…`,_u=((e={},t={})=>(t.locale??U())===`fr`?hu(e):gu(e)),vu=()=>`Aucune préférence ne correspond.`,yu=()=>`No preference matches.`,bu=((e={},t={})=>(t.locale??U())===`fr`?vu(e):yu(e)),xu=()=>`Non activé`,Su=()=>`Not enabled`,Cu=((e={},t={})=>(t.locale??U())===`fr`?xu(e):Su(e)),wu=()=>`défaut`,Tu=()=>`default`,Eu=((e={},t={})=>(t.locale??U())===`fr`?wu(e):Tu(e)),Du=()=>`Réinitialiser`,Ou=()=>`Reset`,ku=((e={},t={})=>(t.locale??U())===`fr`?Du(e):Ou(e)),Au=()=>`Gérer les défauts et verrous`,ju=()=>`Manage defaults and locks`,Mu=((e={},t={})=>(t.locale??U())===`fr`?Au(e):ju(e)),Nu=()=>`Défaut admin`,Pu=()=>`Admin default`,Fu=((e={},t={})=>(t.locale??U())===`fr`?Nu(e):Pu(e)),Iu=()=>`Fonctionnalité activée (système)`,Lu=()=>`Feature enabled (system)`,Ru=((e={},t={})=>(t.locale??U())===`fr`?Iu(e):Lu(e)),zu=()=>`Configurez l’interface : activez les fonctionnalités système et définissez les valeurs par défaut héritées par les utilisateurs (chacun peut ensuite les redéfinir dans ses propres préférences).`,Bu=()=>`Configure the interface: enable system features and set the defaults users inherit (each can then override them in their own preferences).`,Vu=((e={},t={})=>(t.locale??U())===`fr`?zu(e):Bu(e)),Hu=()=>`Une fonctionnalité non activée ici ne peut pas être activée par les utilisateurs (option grisée).`,Uu=()=>`A feature not enabled here cannot be turned on by users (greyed out).`,Wu=((e={},t={})=>(t.locale??U())===`fr`?Hu(e):Uu(e)),Gu=()=>`Active le pipeline vocal. Tant que c’est désactivé, l’option reste grisée et non activable par les utilisateurs.`,Ku=()=>`Enables the voice pipeline. While off, the option stays greyed and users can’t turn it on.`,qu=((e={},t={})=>(t.locale??U())===`fr`?Gu(e):Ku(e)),Ju=()=>`« Hérité » = la valeur intégrée par défaut de l’application.`,Yu=()=>`“Inherited” = the app’s built-in default value.`,Xu=((e={},t={})=>(t.locale??U())===`fr`?Ju(e):Yu(e)),Zu=()=>`Activé`,Qu=()=>`On`,$u=((e={},t={})=>(t.locale??U())===`fr`?Zu(e):Qu(e)),ed=()=>`Désactivé`,td=()=>`Off`,nd=((e={},t={})=>(t.locale??U())===`fr`?ed(e):td(e)),rd=()=>`Hérité`,id=()=>`Inherited`,ad=((e={},t={})=>(t.locale??U())===`fr`?rd(e):id(e)),od=()=>`Comptes de service pour les agents OpenClaw (auth par clé API). Le texte en clair d’une clé n’est affiché qu’une seule fois à sa création — il n’est jamais stocké ni récupérable ensuite.`,sd=()=>`Service accounts for OpenClaw agents (API key auth). A key's plaintext is shown only once at creation — it is never stored nor retrievable afterwards.`,cd=((e={},t={})=>(t.locale??U())===`fr`?od(e):sd(e)),ld=()=>`Rechercher un compte`,ud=()=>`Search an account`,dd=((e={},t={})=>(t.locale??U())===`fr`?ld(e):ud(e)),fd=()=>`Rôle`,pd=()=>`Role`,md=((e={},t={})=>(t.locale??U())===`fr`?fd(e):pd(e)),hd=()=>`Tous les rôles`,gd=()=>`All roles`,_d=((e={},t={})=>(t.locale??U())===`fr`?hd(e):gd(e)),vd=()=>`Tous les statuts`,yd=()=>`All statuses`,bd=((e={},t={})=>(t.locale??U())===`fr`?vd(e):yd(e)),xd=()=>`actif`,Sd=()=>`active`,Cd=((e={},t={})=>(t.locale??U())===`fr`?xd(e):Sd(e)),wd=()=>`désactivé`,Td=()=>`disabled`,Ed=((e={},t={})=>(t.locale??U())===`fr`?wd(e):Td(e)),Dd=()=>`Comptes de service`,Od=()=>`Service accounts`,kd=((e={},t={})=>(t.locale??U())===`fr`?Dd(e):Od(e)),Ad=()=>`Ajouter un compte`,jd=()=>`Add an account`,Md=((e={},t={})=>(t.locale??U())===`fr`?Ad(e):jd(e)),Nd=()=>`Aucun compte de service.`,Pd=()=>`No service account.`,Fd=((e={},t={})=>(t.locale??U())===`fr`?Nd(e):Pd(e)),Id=()=>`Générer une clé API`,Ld=()=>`Generate an API key`,Rd=((e={},t={})=>(t.locale??U())===`fr`?Id(e):Ld(e)),zd=()=>`Masquer les clés`,Bd=()=>`Hide keys`,Vd=((e={},t={})=>(t.locale??U())===`fr`?zd(e):Bd(e)),Hd=()=>`Afficher les clés`,Ud=()=>`Show keys`,Wd=((e={},t={})=>(t.locale??U())===`fr`?Hd(e):Ud(e)),Gd=()=>`Modifier`,Kd=()=>`Edit`,qd=((e={},t={})=>(t.locale??U())===`fr`?Gd(e):Kd(e)),Jd=()=>`Supprimer le compte`,Yd=()=>`Delete account`,Xd=((e={},t={})=>(t.locale??U())===`fr`?Jd(e):Yd(e)),Zd=()=>`Replier`,Qd=()=>`Collapse`,$d=((e={},t={})=>(t.locale??U())===`fr`?Zd(e):Qd(e)),ef=()=>`Déplier`,tf=()=>`Expand`,nf=((e={},t={})=>(t.locale??U())===`fr`?ef(e):tf(e)),rf=()=>`Nom`,af=()=>`Name`,of=((e={},t={})=>(t.locale??U())===`fr`?rf(e):af(e)),sf=()=>`Rôle`,cf=()=>`Role`,lf=((e={},t={})=>(t.locale??U())===`fr`?sf(e):cf(e)),uf=()=>`Statut`,df=()=>`Status`,ff=((e={},t={})=>(t.locale??U())===`fr`?uf(e):df(e)),pf=()=>`Expiration de la prochaine clé`,mf=()=>`Next key expiry`,hf=((e={},t={})=>(t.locale??U())===`fr`?pf(e):mf(e)),gf=()=>`Clés`,_f=()=>`Keys`,vf=((e={},t={})=>(t.locale??U())===`fr`?gf(e):_f(e)),yf=()=>`génération…`,bf=()=>`generating…`,xf=((e={},t={})=>(t.locale??U())===`fr`?yf(e):bf(e)),Sf=e=>`${e?.count} active(s)`,Cf=e=>`${e?.count} active`,wf=((e,t={})=>(t.locale??U())===`fr`?Sf(e):Cf(e)),Tf=()=>`Modifier le compte de service`,Ef=()=>`Edit service account`,Df=((e={},t={})=>(t.locale??U())===`fr`?Tf(e):Ef(e)),Of=()=>`Modifier le nom, le rôle et la description.`,kf=()=>`Update the name, role and description.`,Af=((e={},t={})=>(t.locale??U())===`fr`?Of(e):kf(e)),jf=()=>`Enregistrer`,Mf=()=>`Save`,Nf=((e={},t={})=>(t.locale??U())===`fr`?jf(e):Mf(e)),Pf=()=>`Nouveau compte de service`,Ff=()=>`New service account`,If=((e={},t={})=>(t.locale??U())===`fr`?Pf(e):Ff(e)),Lf=()=>`Principal authentifié par clé API (jamais un humain).`,Rf=()=>`Principal authenticated by API key (never a human).`,zf=((e={},t={})=>(t.locale??U())===`fr`?Lf(e):Rf(e)),Bf=()=>`Ajouter`,Vf=()=>`Add`,Hf=((e={},t={})=>(t.locale??U())===`fr`?Bf(e):Vf(e)),Uf=()=>`Nom`,Wf=()=>`Name`,Gf=((e={},t={})=>(t.locale??U())===`fr`?Uf(e):Wf(e)),Kf=()=>`Rôle`,qf=()=>`Role`,Jf=((e={},t={})=>(t.locale??U())===`fr`?Kf(e):qf(e)),Yf=()=>`Choisir un rôle`,Xf=()=>`Choose a role`,Zf=((e={},t={})=>(t.locale??U())===`fr`?Yf(e):Xf(e)),Qf=()=>`Description (optionnel)`,$f=()=>`Description (optional)`,ep=((e={},t={})=>(t.locale??U())===`fr`?Qf(e):$f(e)),tp=()=>`Échec de la création du compte`,np=()=>`Failed to create the account`,rp=((e={},t={})=>(t.locale??U())===`fr`?tp(e):np(e)),ip=()=>`Échec de la modification du compte`,ap=()=>`Failed to update the account`,op=((e={},t={})=>(t.locale??U())===`fr`?ip(e):ap(e)),sp=()=>`Compte de service mis à jour.`,cp=()=>`Service account updated.`,lp=((e={},t={})=>(t.locale??U())===`fr`?sp(e):cp(e)),up=()=>`Échec de la génération de la clé`,dp=()=>`Failed to generate the key`,fp=((e={},t={})=>(t.locale??U())===`fr`?up(e):dp(e)),pp=()=>`Supprimer ce compte de service ?`,mp=()=>`Delete this service account?`,hp=((e={},t={})=>(t.locale??U())===`fr`?pp(e):mp(e)),gp=()=>`Le compte`,_p=()=>`The account`,vp=((e={},t={})=>(t.locale??U())===`fr`?gp(e):_p(e)),yp=()=>`et`,bp=()=>`and`,xp=((e={},t={})=>(t.locale??U())===`fr`?yp(e):bp(e)),Sp=()=>`toutes ses clés API`,Cp=()=>`all its API keys`,wp=((e={},t={})=>(t.locale??U())===`fr`?Sp(e):Cp(e)),Tp=()=>`seront supprimés définitivement. Cette action est irréversible. Tapez le nom du compte pour confirmer.`,Ep=()=>`will be permanently deleted. This action is irreversible. Type the account name to confirm.`,Dp=((e={},t={})=>(t.locale??U())===`fr`?Tp(e):Ep(e)),Op=()=>`Supprimer`,kp=()=>`Delete`,Ap=((e={},t={})=>(t.locale??U())===`fr`?Op(e):kp(e)),jp=()=>`Compte de service supprimé`,Mp=()=>`Service account deleted`,Np=((e={},t={})=>(t.locale??U())===`fr`?jp(e):Mp(e)),Pp=()=>`Échec de la suppression du compte`,Fp=()=>`Failed to delete the account`,Ip=((e={},t={})=>(t.locale??U())===`fr`?Pp(e):Fp(e)),Lp=()=>`Révoquer cette clé API ?`,Rp=()=>`Revoke this API key?`,zp=((e={},t={})=>(t.locale??U())===`fr`?Lp(e):Rp(e)),Bp=()=>`La clé`,Vp=()=>`The key`,Hp=((e={},t={})=>(t.locale??U())===`fr`?Bp(e):Vp(e)),Up=()=>`sera désactivée immédiatement et ne pourra plus authentifier de requêtes. Cette action est irréversible.`,Wp=()=>`will be disabled immediately and will no longer be able to authenticate requests. This action is irreversible.`,Gp=((e={},t={})=>(t.locale??U())===`fr`?Up(e):Wp(e)),Kp=()=>`Révoquer`,qp=()=>`Revoke`,Jp=((e={},t={})=>(t.locale??U())===`fr`?Kp(e):qp(e)),Yp=()=>`Échec de la révocation`,Xp=()=>`Failed to revoke`,Zp=((e={},t={})=>(t.locale??U())===`fr`?Yp(e):Xp(e)),Qp=()=>`Clés de`,$p=()=>`Keys of`,em=((e={},t={})=>(t.locale??U())===`fr`?Qp(e):$p(e)),tm=()=>`Aucune clé pour ce compte.`,nm=()=>`No key for this account.`,rm=((e={},t={})=>(t.locale??U())===`fr`?tm(e):nm(e)),im=()=>`Clé`,am=()=>`Key`,om=((e={},t={})=>(t.locale??U())===`fr`?im(e):am(e)),sm=()=>`Rôle`,cm=()=>`Role`,lm=((e={},t={})=>(t.locale??U())===`fr`?sm(e):cm(e)),um=()=>`Créée`,dm=()=>`Created`,fm=((e={},t={})=>(t.locale??U())===`fr`?um(e):dm(e)),pm=()=>`Dernier usage`,mm=()=>`Last used`,hm=((e={},t={})=>(t.locale??U())===`fr`?pm(e):mm(e)),gm=()=>`Expiration`,_m=()=>`Expiry`,vm=((e={},t={})=>(t.locale??U())===`fr`?gm(e):_m(e)),ym=()=>`Statut`,bm=()=>`Status`,xm=((e={},t={})=>(t.locale??U())===`fr`?ym(e):bm(e)),Sm=()=>`Révocation…`,Cm=()=>`Revoking…`,wm=((e={},t={})=>(t.locale??U())===`fr`?Sm(e):Cm(e)),Tm=()=>`Révoquer`,Em=()=>`Revoke`,Dm=((e={},t={})=>(t.locale??U())===`fr`?Tm(e):Em(e)),Om=()=>`Clé API créée`,km=()=>`API key created`,Am=((e={},t={})=>(t.locale??U())===`fr`?Om(e):km(e)),jm=e=>`Pour le compte « ${e?.name} ». Copiez-la maintenant.`,Mm=e=>`For the account « ${e?.name} ». Copy it now.`,Nm=((e,t={})=>(t.locale??U())===`fr`?jm(e):Mm(e)),Pm=()=>`Stockez cette clé en lieu sûr. Vous ne la reverrez plus jamais. Pour la remplacer, il faudra la révoquer et en générer une nouvelle.`,Fm=()=>`Store this key in a safe place. You will never see it again. To replace it, you will have to revoke it and generate a new one.`,Im=((e={},t={})=>(t.locale??U())===`fr`?Pm(e):Fm(e)),Lm=()=>`Copier la clé`,Rm=()=>`Copy the key`,zm=((e={},t={})=>(t.locale??U())===`fr`?Lm(e):Rm(e)),Bm=()=>`Copié`,Vm=()=>`Copied`,Hm=((e={},t={})=>(t.locale??U())===`fr`?Bm(e):Vm(e)),Um=()=>`Copier`,Wm=()=>`Copy`,Gm=((e={},t={})=>(t.locale??U())===`fr`?Um(e):Wm(e)),Km=()=>`J’ai copié la clé`,qm=()=>`I have copied the key`,Jm=((e={},t={})=>(t.locale??U())===`fr`?Km(e):qm(e)),Ym=()=>`Jamais`,Xm=()=>`Never`,Zm=((e={},t={})=>(t.locale??U())===`fr`?Ym(e):Xm(e)),Qm=()=>`30 jours`,$m=()=>`30 days`,eh=((e={},t={})=>(t.locale??U())===`fr`?Qm(e):$m(e)),th=()=>`90 jours`,nh=()=>`90 days`,rh=((e={},t={})=>(t.locale??U())===`fr`?th(e):nh(e)),ih=()=>`Jamais`,ah=()=>`Never`,oh=((e={},t={})=>(t.locale??U())===`fr`?ih(e):ah(e)),sh=()=>`révoquée`,ch=()=>`revoked`,lh=((e={},t={})=>(t.locale??U())===`fr`?sh(e):ch(e)),uh=()=>`expirée`,dh=()=>`expired`,fh=((e={},t={})=>(t.locale??U())===`fr`?uh(e):dh(e)),ph=()=>`active`,mh=()=>`active`,hh=((e={},t={})=>(t.locale??U())===`fr`?ph(e):mh(e)),gh=()=>`Sélectionnez ou créez une conversation pour commencer.`,_h=()=>`Select or create a chat to begin.`,vh=((e={},t={})=>(t.locale??U())===`fr`?gh(e):_h(e)),yh=()=>`Conversation introuvable`,bh=()=>`Conversation not found`,xh=((e={},t={})=>(t.locale??U())===`fr`?yh(e):bh(e)),Sh=()=>`Ce lien ne correspond à aucune conversation. Elle a peut-être été supprimée, ou l’adresse est incomplète.`,Ch=()=>`This link does not match any conversation. It may have been deleted, or the address is incomplete.`,wh=((e={},t={})=>(t.locale??U())===`fr`?Sh(e):Ch(e)),Th=()=>`Nouvelle conversation`,Eh=()=>`New conversation`,Dh=((e={},t={})=>(t.locale??U())===`fr`?Th(e):Eh(e)),Oh=()=>`Derniers messages`,kh=()=>`Latest messages`,Ah=((e={},t={})=>(t.locale??U())===`fr`?Oh(e):kh(e)),jh=()=>`La passerelle de cet agent ne répond plus. Un traitement en cours risque d’expirer et un nouvel envoi échouera probablement — réessayez quand elle sera rétablie.`,Mh=()=>`This agent's gateway is not responding. An in-flight turn may time out and a new send will likely fail — retry once it is back.`,Nh=((e={},t={})=>(t.locale??U())===`fr`?jh(e):Mh(e)),Ph=()=>`Le service de chat est momentanément indisponible. L’envoi de message est suspendu — réessayez dans un instant. Si cela persiste, contactez votre administrateur.`,Fh=()=>`The chat service is temporarily unavailable. Sending messages is suspended — try again in a moment. If this persists, contact your administrator.`,Ih=((e={},t={})=>(t.locale??U())===`fr`?Ph(e):Fh(e)),Lh=()=>`Ce chat est en lecture seule : l’agent associé ne t’est plus disponible (ton accès aux agents a été modifié). Démarre un nouveau chat avec un agent disponible.`,Rh=()=>`This chat is read-only: its agent is no longer available to you (your agent access was changed). Start a new chat with an available agent.`,zh=((e={},t={})=>(t.locale??U())===`fr`?Lh(e):Rh(e)),Bh=()=>`Réponse reçue.`,Vh=()=>`Reply received.`,Hh=((e={},t={})=>(t.locale??U())===`fr`?Bh(e):Vh(e)),Uh=()=>`Comment puis-je aider ?`,Wh=()=>`How can I help?`,Gh=((e={},t={})=>(t.locale??U())===`fr`?Uh(e):Wh(e)),Kh=()=>`Conversation`,qh=()=>`Conversation`,Jh=((e={},t={})=>(t.locale??U())===`fr`?Kh(e):qh(e)),Yh=e=>`Instance : ${e?.instance}`,Xh=e=>`Instance: ${e?.instance}`,Zh=((e,t={})=>(t.locale??U())===`fr`?Yh(e):Xh(e)),Qh=e=>`Répondu par ${e?.name}`,$h=e=>`Answered by ${e?.name}`,eg=((e,t={})=>(t.locale??U())===`fr`?Qh(e):$h(e)),tg=()=>`Agent`,ng=()=>`Agent`,rg=((e={},t={})=>(t.locale??U())===`fr`?tg(e):ng(e)),ig=()=>`Choisir l'agent du prochain message`,ag=()=>`Choose the agent for the next message`,og=((e={},t={})=>(t.locale??U())===`fr`?ig(e):ag(e)),sg=()=>`Choisir l'agent du prochain message`,cg=()=>`Choose the agent for the next message`,lg=((e={},t={})=>(t.locale??U())===`fr`?sg(e):cg(e)),ug=()=>`L'agent de cette conversation est défini avec le premier message ; choisissez un autre agent à partir du deuxième message.`,dg=()=>`This conversation's agent is set with the first message; choose a different agent from the second message onward.`,fg=((e={},t={})=>(t.locale??U())===`fr`?ug(e):dg(e)),pg=()=>`Modèle`,mg=()=>`Model`,hg=((e={},t={})=>(t.locale??U())===`fr`?pg(e):mg(e)),gg=e=>`Modèle · ${e?.provider}`,_g=e=>`Model · ${e?.provider}`,vg=((e,t={})=>(t.locale??U())===`fr`?gg(e):_g(e)),yg=()=>`Niveau de réflexion hérité de l’agent`,bg=()=>`Thinking level inherited from the agent`,xg=((e={},t={})=>(t.locale??U())===`fr`?yg(e):bg(e)),Sg=()=>`Niveau de réflexion (spécifique à ce chat)`,Cg=()=>`Thinking level (specific to this chat)`,wg=((e={},t={})=>(t.locale??U())===`fr`?Sg(e):Cg(e)),Tg=()=>`Réflexion`,Eg=()=>`Thinking`,Dg=((e={},t={})=>(t.locale??U())===`fr`?Tg(e):Eg(e)),Og=()=>`héritée`,kg=()=>`inherited`,Ag=((e={},t={})=>(t.locale??U())===`fr`?Og(e):kg(e)),jg=e=>`Contexte utilisé : ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Mg=e=>`Context used: ${e?.pct}% (${e?.used} / ${e?.total} tokens)`,Ng=((e,t={})=>(t.locale??U())===`fr`?jg(e):Mg(e)),Pg=e=>`Abonnement ${e?.pct}%`,Fg=e=>`Plan ${e?.pct}%`,Ig=((e,t={})=>(t.locale??U())===`fr`?Pg(e):Fg(e)),Lg=e=>`Utilisation de l'abonnement du fournisseur — fenêtres de quota : ${e?.detail}`,Rg=e=>`Provider subscription usage — quota windows: ${e?.detail}`,zg=((e,t={})=>(t.locale??U())===`fr`?Lg(e):Rg(e)),Bg=()=>`j`,Vg=()=>`d`,Hg=((e={},t={})=>(t.locale??U())===`fr`?Bg(e):Vg(e)),Ug=()=>`Contexte`,Wg=()=>`Context`,Gg=((e={},t={})=>(t.locale??U())===`fr`?Ug(e):Wg(e)),Kg=()=>`Exporter la conversation`,qg=()=>`Export the conversation`,Jg=((e={},t={})=>(t.locale??U())===`fr`?Kg(e):qg(e)),Yg=()=>`Exporter`,Xg=()=>`Export`,Zg=((e={},t={})=>(t.locale??U())===`fr`?Yg(e):Xg(e)),Qg=()=>`Markdown (.md)`,$g=()=>`Markdown (.md)`,e_=((e={},t={})=>(t.locale??U())===`fr`?Qg(e):$g(e)),t_=()=>`JSON (.json)`,n_=()=>`JSON (.json)`,r_=((e={},t={})=>(t.locale??U())===`fr`?t_(e):n_(e)),i_=()=>`Réglages avancés (réflexion, modèle)`,a_=()=>`Advanced settings (thinking, model)`,o_=((e={},t={})=>(t.locale??U())===`fr`?i_(e):a_(e)),s_=()=>`Avancé`,c_=()=>`Advanced`,l_=((e={},t={})=>(t.locale??U())===`fr`?s_(e):c_(e)),u_=()=>`Supprimer et régénérer cette réponse ?`,d_=()=>`Delete and regenerate this reply?`,f_=((e={},t={})=>(t.locale??U())===`fr`?u_(e):d_(e)),p_=()=>`Cette réponse sera supprimée, puis régénérée à partir de votre dernier message.`,m_=()=>`This reply will be deleted, then regenerated from your last message.`,h_=((e={},t={})=>(t.locale??U())===`fr`?p_(e):m_(e)),g_=()=>`Régénérer`,__=()=>`Regenerate`,v_=((e={},t={})=>(t.locale??U())===`fr`?g_(e):__(e)),y_=()=>`Annuler`,b_=()=>`Cancel`,x_=((e={},t={})=>(t.locale??U())===`fr`?y_(e):b_(e)),S_=()=>`Supprimer ce message et les suivants ?`,C_=()=>`Delete this message and the following ones?`,w_=((e={},t={})=>(t.locale??U())===`fr`?S_(e):C_(e)),T_=()=>`Ce message et tous les messages qui le suivent seront supprimés de la conversation. Cette action est irréversible.`,E_=()=>`This message and all messages following it will be deleted from the conversation. This action is irreversible.`,D_=((e={},t={})=>(t.locale??U())===`fr`?T_(e):E_(e)),O_=()=>`Supprimer`,k_=()=>`Delete`,A_=((e={},t={})=>(t.locale??U())===`fr`?O_(e):k_(e)),j_=()=>`Supprimer et régénérer la réponse`,M_=()=>`Delete and regenerate the reply`,N_=((e={},t={})=>(t.locale??U())===`fr`?j_(e):M_(e)),P_=()=>`Supprimer ce message et les suivants`,F_=()=>`Delete this message and the following ones`,I_=((e={},t={})=>(t.locale??U())===`fr`?P_(e):F_(e)),L_=()=>`Supprimer le message`,R_=()=>`Delete the message`,z_=((e={},t={})=>(t.locale??U())===`fr`?L_(e):R_(e)),B_=()=>`La suppression a échoué`,V_=()=>`Delete failed`,H_=((e={},t={})=>(t.locale??U())===`fr`?B_(e):V_(e)),U_=()=>`Sources`,W_=()=>`Sources`,G_=((e={},t={})=>(t.locale??U())===`fr`?U_(e):W_(e)),K_=()=>`1 souvenir`,q_=()=>`1 memory`,J_=((e={},t={})=>(t.locale??U())===`fr`?K_(e):q_(e)),Y_=e=>`${e?.count} souvenirs`,X_=e=>`${e?.count} memories`,Z_=((e,t={})=>(t.locale??U())===`fr`?Y_(e):X_(e)),Q_=()=>`1 document`,$_=()=>`1 document`,ev=((e={},t={})=>(t.locale??U())===`fr`?Q_(e):$_(e)),tv=e=>`${e?.count} documents`,nv=e=>`${e?.count} documents`,rv=((e,t={})=>(t.locale??U())===`fr`?tv(e):nv(e)),iv=()=>`Mémoire conversationnelle`,av=()=>`Conversational memory`,ov=((e={},t={})=>(t.locale??U())===`fr`?iv(e):av(e)),sv=()=>`Documents`,cv=()=>`Documents`,lv=((e={},t={})=>(t.locale??U())===`fr`?sv(e):cv(e)),uv=()=>`Contexte`,dv=()=>`Context`,fv=((e={},t={})=>(t.locale??U())===`fr`?uv(e):dv(e)),pv=()=>`1 contexte`,mv=()=>`1 context`,hv=((e={},t={})=>(t.locale??U())===`fr`?pv(e):mv(e)),gv=e=>`${e?.count} contextes`,_v=e=>`${e?.count} contexts`,vv=((e,t={})=>(t.locale??U())===`fr`?gv(e):_v(e)),yv=()=>`Contexte du graphe de connaissances`,bv=()=>`Knowledge-graph context`,xv=((e={},t={})=>(t.locale??U())===`fr`?yv(e):bv(e)),Sv=e=>`score ${e?.score}`,Cv=e=>`score ${e?.score}`,wv=((e,t={})=>(t.locale??U())===`fr`?Sv(e):Cv(e)),Tv=()=>`(sans titre)`,Ev=()=>`(untitled)`,Dv=((e={},t={})=>(t.locale??U())===`fr`?Tv(e):Ev(e)),Ov=()=>`Sources de la réponse`,kv=()=>`Sources of the reply`,Av=((e={},t={})=>(t.locale??U())===`fr`?Ov(e):kv(e)),jv=()=>`Voir les sources de la réponse`,Mv=()=>`View the sources of the reply`,Nv=((e={},t={})=>(t.locale??U())===`fr`?jv(e):Mv(e)),Pv=()=>`Rechercher dans les sources…`,Fv=()=>`Search the sources…`,Iv=((e={},t={})=>(t.locale??U())===`fr`?Pv(e):Fv(e)),Lv=()=>`Aucune source ne correspond à votre recherche.`,Rv=()=>`No source matches your search.`,zv=((e={},t={})=>(t.locale??U())===`fr`?Lv(e):Rv(e)),Bv=()=>`Tout sélectionner`,Vv=()=>`Select all`,Hv=((e={},t={})=>(t.locale??U())===`fr`?Bv(e):Vv(e)),Uv=e=>`${e?.count} document(s) sélectionné(s)`,Wv=e=>`${e?.count} document(s) selected`,Gv=((e,t={})=>(t.locale??U())===`fr`?Uv(e):Wv(e)),Kv=()=>`Joindre les documents`,qv=()=>`Attach the documents`,Jv=((e={},t={})=>(t.locale??U())===`fr`?Kv(e):qv(e)),Yv=()=>`Récupère les fichiers sources des documents cochés en liens téléchargeables (slot « Source d'origine »).`,Xv=()=>`Fetches the checked documents' source files as downloadable links (the "Original source" slot).`,Zv=((e={},t={})=>(t.locale??U())===`fr`?Yv(e):Xv(e)),Qv=e=>`${e?.count} document(s) joint(s) téléchargeable(s) — ouvrir le panneau Sources`,$v=e=>`${e?.count} attached document(s) available for download — open the Sources panel`,ey=((e,t={})=>(t.locale??U())===`fr`?Qv(e):$v(e)),ty=()=>`Source d'origine`,ny=()=>`Original source`,ry=((e={},t={})=>(t.locale??U())===`fr`?ty(e):ny(e)),iy=()=>`Aucun agent documentaire configuré`,ay=()=>`No documentary agent configured`,oy=((e={},t={})=>(t.locale??U())===`fr`?iy(e):ay(e)),sy=()=>`Récupération des documents en cours…`,cy=()=>`Fetching the documents…`,ly=((e={},t={})=>(t.locale??U())===`fr`?sy(e):cy(e)),uy=()=>`Récupération des documents lancée — voir le panneau Sources`,dy=()=>`Document fetch started — see the Sources panel`,fy=((e={},t={})=>(t.locale??U())===`fr`?uy(e):dy(e)),py=()=>`Impossible de lancer la récupération des documents`,my=()=>`Could not start the document fetch`,hy=((e={},t={})=>(t.locale??U())===`fr`?py(e):my(e)),gy=()=>`Récupération…`,_y=()=>`Fetching…`,vy=((e={},t={})=>(t.locale??U())===`fr`?gy(e):_y(e)),yy=()=>`Télécharger la source`,by=()=>`Download the source`,xy=((e={},t={})=>(t.locale??U())===`fr`?yy(e):by(e)),Sy=()=>`Source introuvable`,Cy=()=>`Source not found`,wy=((e={},t={})=>(t.locale??U())===`fr`?Sy(e):Cy(e)),Ty=()=>`Voir plus`,Ey=()=>`Show more`,Dy=((e={},t={})=>(t.locale??U())===`fr`?Ty(e):Ey(e)),Oy=()=>`Voir moins`,ky=()=>`Show less`,Ay=((e={},t={})=>(t.locale??U())===`fr`?Oy(e):ky(e)),jy=()=>`Fermer le panneau des sources`,My=()=>`Close the sources panel`,Ny=((e={},t={})=>(t.locale??U())===`fr`?jy(e):My(e)),Py=()=>`Redimensionner le panneau des sources`,Fy=()=>`Resize the sources panel`,Iy=((e={},t={})=>(t.locale??U())===`fr`?Py(e):Fy(e)),Ly=e=>`Source · texte brut exact · ${e?.count} caractère`,Ry=e=>`Source · exact raw text · ${e?.count} character`,zy=((e,t={})=>(t.locale??U())===`fr`?Ly(e):Ry(e)),By=e=>`Source · texte brut exact · ${e?.count} caractères`,Vy=e=>`Source · exact raw text · ${e?.count} characters`,Hy=((e,t={})=>(t.locale??U())===`fr`?By(e):Vy(e)),Uy=()=>`Copier la source exacte`,Wy=()=>`Copy the exact source`,Gy=((e={},t={})=>(t.locale??U())===`fr`?Uy(e):Wy(e)),Ky=()=>`(aucun texte)`,qy=()=>`(no text)`,Jy=((e={},t={})=>(t.locale??U())===`fr`?Ky(e):qy(e)),Yy=()=>`Afficher le message rendu`,Xy=()=>`Show the rendered message`,Zy=((e={},t={})=>(t.locale??U())===`fr`?Yy(e):Xy(e)),Qy=()=>`Afficher la source (texte brut exact)`,$y=()=>`Show the source (exact raw text)`,eb=((e={},t={})=>(t.locale??U())===`fr`?Qy(e):$y(e)),tb=()=>`Afficher la source du message`,nb=()=>`Show the message source`,rb=((e={},t={})=>(t.locale??U())===`fr`?tb(e):nb(e)),ib=()=>`Copier le message`,ab=()=>`Copy the message`,ob=((e={},t={})=>(t.locale??U())===`fr`?ib(e):ab(e)),sb=()=>`Envoi…`,cb=()=>`Sending…`,lb=((e={},t={})=>(t.locale??U())===`fr`?sb(e):cb(e)),ub=()=>`En attente`,db=()=>`Queued`,fb=((e={},t={})=>(t.locale??U())===`fr`?ub(e):db(e)),pb=e=>`${e?.name} traite votre message…`,mb=e=>`${e?.name} is processing your message…`,hb=((e,t={})=>(t.locale??U())===`fr`?pb(e):mb(e)),gb=e=>`L'agent ${e?.name} traite votre message…`,_b=e=>`The agent ${e?.name} is processing your message…`,vb=((e,t={})=>(t.locale??U())===`fr`?gb(e):_b(e)),yb=()=>`Copier la réponse`,bb=()=>`Copy the reply`,xb=((e={},t={})=>(t.locale??U())===`fr`?yb(e):bb(e)),Sb=()=>`Chat indisponible…`,Cb=()=>`Chat unavailable…`,wb=((e={},t={})=>(t.locale??U())===`fr`?Sb(e):Cb(e)),Tb=e=>`Message ${e?.name}…`,Eb=e=>`Message ${e?.name}…`,Db=((e,t={})=>(t.locale??U())===`fr`?Tb(e):Eb(e)),Ob=()=>`Joindre un fichier`,kb=()=>`Attach a file`,Ab=((e={},t={})=>(t.locale??U())===`fr`?Ob(e):kb(e)),jb=()=>`échec`,Mb=()=>`failed`,Nb=((e={},t={})=>(t.locale??U())===`fr`?jb(e):Mb(e)),Pb=e=>`Téléversement du fichier… ${e?.percent}%`,Fb=e=>`Uploading file… ${e?.percent}%`,Ib=((e,t={})=>(t.locale??U())===`fr`?Pb(e):Fb(e)),Lb=e=>`Téléversement de ${e?.count} fichiers… ${e?.percent}%`,Rb=e=>`Uploading ${e?.count} files… ${e?.percent}%`,zb=((e,t={})=>(t.locale??U())===`fr`?Lb(e):Rb(e)),Bb=()=>`Retirer la pièce jointe`,Vb=()=>`Remove attachment`,Hb=((e={},t={})=>(t.locale??U())===`fr`?Bb(e):Vb(e)),Ub=()=>`Afficher le contenu de la pièce jointe`,Wb=()=>`View attachment content`,Gb=((e={},t={})=>(t.locale??U())===`fr`?Ub(e):Wb(e)),Kb=()=>`Chargement de la conversation…`,qb=()=>`Loading the conversation…`,Jb=((e={},t={})=>(t.locale??U())===`fr`?Kb(e):qb(e)),Yb=()=>`— aperçu tronqué (le fichier complet sera bien envoyé) —`,Xb=()=>`— preview truncated (the full file will still be sent) —`,Zb=((e={},t={})=>(t.locale??U())===`fr`?Yb(e):Xb(e)),Qb=()=>`Masquer l'activité des outils et revenir à la vue épurée`,$b=()=>`Hide tool activity and return to the clean view`,ex=((e={},t={})=>(t.locale??U())===`fr`?Qb(e):$b(e)),tx=()=>`Afficher l'activité des outils (traitements réalisés et en cours)`,nx=()=>`Show tool activity (completed and in-progress processing)`,rx=((e={},t={})=>(t.locale??U())===`fr`?tx(e):nx(e)),ix=()=>`Outils`,ax=()=>`Tools`,ox=((e={},t={})=>(t.locale??U())===`fr`?ix(e):ax(e)),sx=e=>`${e?.count} appel d'outil`,cx=e=>`${e?.count} tool call`,lx=((e,t={})=>(t.locale??U())===`fr`?sx(e):cx(e)),ux=e=>`${e?.count} appels d'outils`,dx=e=>`${e?.count} tool calls`,fx=((e,t={})=>(t.locale??U())===`fr`?ux(e):dx(e)),px=()=>`Terminé`,mx=()=>`Done`,hx=((e={},t={})=>(t.locale??U())===`fr`?px(e):mx(e)),gx=()=>`Échec`,_x=()=>`Failed`,vx=((e={},t={})=>(t.locale??U())===`fr`?gx(e):_x(e)),yx=e=>`exit ${e?.code}`,bx=e=>`exit ${e?.code}`,xx=((e,t={})=>(t.locale??U())===`fr`?yx(e):bx(e)),Sx=e=>`${e?.ms} ms`,Cx=e=>`${e?.ms} ms`,wx=((e,t={})=>(t.locale??U())===`fr`?Sx(e):Cx(e)),Tx=()=>`Sortie non transmise par la passerelle`,Ex=()=>`Output not transmitted by the gateway`,Dx=((e={},t={})=>(t.locale??U())===`fr`?Tx(e):Ex(e)),Ox=e=>`Contenu volumineux (${e?.size} Ko) — non affiché ici pour alléger le chargement.`,kx=e=>`Large content (${e?.size} KB) — not shown here to keep loading fast.`,Ax=((e,t={})=>(t.locale??U())===`fr`?Ox(e):kx(e)),jx=()=>`Latence de livraison`,Mx=()=>`Delivery latency`,Nx=((e={},t={})=>(t.locale??U())===`fr`?jx(e):Mx(e)),Px=()=>`Mesure le pipeline bridge → Convex → frontend par delta (horodatages seuls, sans contenu).`,Fx=()=>`Measures the bridge → Convex → frontend pipeline per delta (timestamps only, no content).`,Ix=((e={},t={})=>(t.locale??U())===`fr`?Px(e):Fx(e)),Lx=()=>`Démarrer l'enregistrement`,Rx=()=>`Start recording`,zx=((e={},t={})=>(t.locale??U())===`fr`?Lx(e):Rx(e)),Bx=()=>`Arrêter l'enregistrement`,Vx=()=>`Stop recording`,Hx=((e={},t={})=>(t.locale??U())===`fr`?Bx(e):Vx(e)),Ux=()=>`Enregistrement actif`,Wx=()=>`Recording`,Gx=((e={},t={})=>(t.locale??U())===`fr`?Ux(e):Wx(e)),Kx=e=>`depuis ${e?.time}`,qx=e=>`since ${e?.time}`,Jx=((e,t={})=>(t.locale??U())===`fr`?Kx(e):qx(e)),Yx=()=>`Aucun échantillon pour cette session.`,Xx=()=>`No samples for this session yet.`,Zx=((e={},t={})=>(t.locale??U())===`fr`?Yx(e):Xx(e)),Qx=()=>`Afficher les enregistrements`,$x=()=>`Show recordings`,eS=((e={},t={})=>(t.locale??U())===`fr`?Qx(e):$x(e)),tS=()=>`Masquer les enregistrements`,nS=()=>`Hide recordings`,rS=((e={},t={})=>(t.locale??U())===`fr`?tS(e):nS(e)),iS=()=>`Enregistrements`,aS=()=>`Recordings`,oS=((e={},t={})=>(t.locale??U())===`fr`?iS(e):aS(e)),sS=()=>`Rechercher (démarré par)…`,cS=()=>`Search (started by)…`,lS=((e={},t={})=>(t.locale??U())===`fr`?sS(e):cS(e)),uS=()=>`Tous`,dS=()=>`All`,fS=((e={},t={})=>(t.locale??U())===`fr`?uS(e):dS(e)),pS=()=>`Actif`,mS=()=>`Active`,hS=((e={},t={})=>(t.locale??U())===`fr`?pS(e):mS(e)),gS=()=>`Terminé`,_S=()=>`Stopped`,vS=((e={},t={})=>(t.locale??U())===`fr`?gS(e):_S(e)),yS=()=>`Début`,bS=()=>`Start`,xS=((e={},t={})=>(t.locale??U())===`fr`?yS(e):bS(e)),SS=()=>`Fin`,CS=()=>`End`,wS=((e={},t={})=>(t.locale??U())===`fr`?SS(e):CS(e)),TS=()=>`Échantillons`,ES=()=>`Samples`,DS=((e={},t={})=>(t.locale??U())===`fr`?TS(e):ES(e)),OS=()=>`Démarré par`,kS=()=>`Started by`,AS=((e={},t={})=>(t.locale??U())===`fr`?OS(e):kS(e)),jS=()=>`Statut`,MS=()=>`Status`,NS=((e={},t={})=>(t.locale??U())===`fr`?jS(e):MS(e)),PS=()=>`Admin`,FS=()=>`Admin`,IS=((e={},t={})=>(t.locale??U())===`fr`?PS(e):FS(e)),LS=()=>`Agent`,RS=()=>`Agent`,zS=((e={},t={})=>(t.locale??U())===`fr`?LS(e):RS(e)),BS=()=>`Voir le détail`,VS=()=>`View detail`,HS=((e={},t={})=>(t.locale??U())===`fr`?BS(e):VS(e)),US=()=>`Masquer le détail`,WS=()=>`Hide detail`,GS=((e={},t={})=>(t.locale??U())===`fr`?US(e):WS(e)),KS=()=>`Supprimer`,qS=()=>`Delete`,JS=((e={},t={})=>(t.locale??U())===`fr`?KS(e):qS(e)),YS=()=>`Chargement…`,XS=()=>`Loading…`,ZS=((e={},t={})=>(t.locale??U())===`fr`?YS(e):XS(e)),QS=()=>`Évolution (p50 par enregistrement)`,$S=()=>`Evolution (p50 per recording)`,eC=((e={},t={})=>(t.locale??U())===`fr`?QS(e):$S(e)),tC=()=>`ms`,nC=()=>`ms`,rC=((e={},t={})=>(t.locale??U())===`fr`?tC(e):nC(e)),iC=()=>`Latence de livraison (p50) au fil des enregistrements.`,aC=()=>`Delivery latency (p50) across recordings.`,oC=((e={},t={})=>(t.locale??U())===`fr`?iC(e):aC(e)),sC=()=>`Pas assez d’enregistrements pour tracer une tendance.`,cC=()=>`Not enough recordings to plot a trend.`,lC=((e={},t={})=>(t.locale??U())===`fr`?sC(e):cC(e)),uC=()=>`Monitoring latence`,dC=()=>`Latency monitoring`,fC=((e={},t={})=>(t.locale??U())===`fr`?uC(e):dC(e)),pC=()=>`Traces d’activité`,mC=()=>`Activity traces`,hC=((e={},t={})=>(t.locale??U())===`fr`?pC(e):mC(e)),gC=()=>`Segment`,_C=()=>`Segment`,vC=((e={},t={})=>(t.locale??U())===`fr`?gC(e):_C(e)),yC=()=>`Échantillons`,bC=()=>`Samples`,xC=((e={},t={})=>(t.locale??U())===`fr`?yC(e):bC(e)),SC=()=>`p50 / p95 / max (ms)`,CC=()=>`p50 / p95 / max (ms)`,wC=((e={},t={})=>(t.locale??U())===`fr`?SC(e):CC(e)),TC=()=>`Bridge interne`,EC=()=>`Bridge internal`,DC=((e={},t={})=>(t.locale??U())===`fr`?TC(e):EC(e)),OC=()=>`A — bridge → Convex`,kC=()=>`A — bridge → Convex`,AC=((e={},t={})=>(t.locale??U())===`fr`?OC(e):kC(e)),jC=()=>`C — Convex → frontend`,MC=()=>`C — Convex → frontend`,NC=((e={},t={})=>(t.locale??U())===`fr`?jC(e):MC(e)),PC=()=>`B (exéc. Convex) : via la télémétrie Convex (non mesurable in-app).`,FC=()=>`B (Convex exec): from Convex telemetry (not measurable in-app).`,IC=((e={},t={})=>(t.locale??U())===`fr`?PC(e):FC(e)),LC=()=>`C est échantillonné au rythme d'affichage du navigateur (≤ A).`,RC=()=>`C is sampled at the browser render rate (≤ A).`,zC=((e={},t={})=>(t.locale??U())===`fr`?LC(e):RC(e)),BC=()=>`Rapport plafonné : les stats ne couvrent que les premières lignes de la fenêtre.`,VC=()=>`Report capped: stats cover only the first rows of the window.`,HC=((e={},t={})=>(t.locale??U())===`fr`?BC(e):VC(e)),UC=()=>`Copier`,WC=()=>`Copy`,GC=((e={},t={})=>(t.locale??U())===`fr`?UC(e):WC(e)),KC=()=>`Copié`,qC=()=>`Copied`,JC=((e={},t={})=>(t.locale??U())===`fr`?KC(e):qC(e)),YC=()=>`Aucune session enregistrée.`,XC=()=>`No recorded sessions yet.`,ZC=((e={},t={})=>(t.locale??U())===`fr`?YC(e):XC(e)),QC=()=>`deltas`,$C=()=>`deltas`,ew=((e={},t={})=>(t.locale??U())===`fr`?QC(e):$C(e)),tw=()=>`en cours`,nw=()=>`running`,rw=((e={},t={})=>(t.locale??U())===`fr`?tw(e):nw(e)),iw=()=>`terminé`,aw=()=>`done`,ow=((e={},t={})=>(t.locale??U())===`fr`?iw(e):aw(e)),sw=()=>`Afficher le détail des appels d'outils`,cw=()=>`Show tool call details`,lw=((e={},t={})=>(t.locale??U())===`fr`?sw(e):cw(e)),uw=()=>`Masquer le détail des appels d'outils`,dw=()=>`Hide tool call details`,fw=((e={},t={})=>(t.locale??U())===`fr`?uw(e):dw(e)),pw=()=>`Dictée vocale — bientôt disponible`,mw=()=>`Voice dictation — coming soon`,hw=((e={},t={})=>(t.locale??U())===`fr`?pw(e):mw(e)),gw=()=>`Dictée vocale (bientôt disponible)`,_w=()=>`Voice dictation (coming soon)`,vw=((e={},t={})=>(t.locale??U())===`fr`?gw(e):_w(e)),yw=()=>`Envoi indisponible (service de chat hors ligne)`,bw=()=>`Sending unavailable (chat service offline)`,xw=((e={},t={})=>(t.locale??U())===`fr`?yw(e):bw(e)),Sw=()=>`Envoyer`,Cw=()=>`Send`,ww=((e={},t={})=>(t.locale??U())===`fr`?Sw(e):Cw(e)),Tw=()=>`Arrêter la réponse en cours`,Ew=()=>`Stop the current reply`,Dw=((e={},t={})=>(t.locale??U())===`fr`?Tw(e):Ew(e)),Ow=()=>`Arrêter la réponse (conserve le texte déjà reçu)`,kw=()=>`Stop the reply (keeps the text received so far)`,Aw=((e={},t={})=>(t.locale??U())===`fr`?Ow(e):kw(e)),jw=()=>`L'arrêt du tour a échoué.`,Mw=()=>`Stopping the turn failed.`,Nw=((e={},t={})=>(t.locale??U())===`fr`?jw(e):Mw(e)),Pw=()=>`La réponse démarre encore — réessayez d'arrêter dans un instant.`,Fw=()=>`The reply is still starting — try stopping again in a moment.`,Iw=((e={},t={})=>(t.locale??U())===`fr`?Pw(e):Fw(e)),Lw=()=>`Réponse en cours…`,Rw=()=>`Response in progress…`,zw=((e={},t={})=>(t.locale??U())===`fr`?Lw(e):Rw(e)),Bw=()=>`Mettre en file (envoyé après la réponse en cours)`,Vw=()=>`Queue (sent after the current reply)`,Hw=((e={},t={})=>(t.locale??U())===`fr`?Bw(e):Vw(e)),Uw=()=>`Envoyer après la réponse en cours`,Ww=()=>`Send after the current reply`,Gw=((e={},t={})=>(t.locale??U())===`fr`?Uw(e):Ww(e)),Kw=()=>`En attente du sous-agent…`,qw=()=>`Waiting for the sub-agent…`,Jw=((e={},t={})=>(t.locale??U())===`fr`?Kw(e):qw(e)),Yw=()=>`Mettre en file (envoyé après la fin du sous-agent)`,Xw=()=>`Queue (sent after the sub-agent finishes)`,Zw=((e={},t={})=>(t.locale??U())===`fr`?Yw(e):Xw(e)),Qw=()=>`Envoyer après la fin du sous-agent`,$w=()=>`Send after the sub-agent finishes`,eT=((e={},t={})=>(t.locale??U())===`fr`?Qw(e):$w(e)),tT=()=>`Trop de messages en attente. Patientez la fin de la réponse en cours.`,nT=()=>`Too many messages waiting. Wait for the current reply to finish.`,rT=((e={},t={})=>(t.locale??U())===`fr`?tT(e):nT(e)),iT=()=>`Impossible de mettre le message en file. Réessayez.`,aT=()=>`Could not queue the message. Try again.`,oT=((e={},t={})=>(t.locale??U())===`fr`?iT(e):aT(e)),sT=()=>`Chargement…`,cT=()=>`Loading…`,lT=((e={},t={})=>(t.locale??U())===`fr`?sT(e):cT(e)),uT=()=>`Configuration des intégrations.`,dT=()=>`Integrations configuration.`,fT=((e={},t={})=>(t.locale??U())===`fr`?uT(e):dT(e)),pT=()=>`Aucune clé API ici`,mT=()=>`No API key here`,hT=((e={},t={})=>(t.locale??U())===`fr`?pT(e):mT(e)),gT=()=>`— elles vivent dans l'environnement du déploiement ; un champ vide retombe sur la variable d'environnement puis le défaut. L'indicateur « configuré » reflète la présence de la clé côté serveur.`,_T=()=>`— they live in the deployment environment; an empty field falls back to the environment variable then the default. The "configured" indicator reflects the presence of the key on the server side.`,vT=((e={},t={})=>(t.locale??U())===`fr`?gT(e):_T(e)),yT=()=>`actif`,bT=()=>`active`,xT=((e={},t={})=>(t.locale??U())===`fr`?yT(e):bT(e)),ST=()=>`en pause`,CT=()=>`paused`,wT=((e={},t={})=>(t.locale??U())===`fr`?ST(e):CT(e)),TT=()=>`clé manquante (env)`,ET=()=>`key missing (env)`,DT=((e={},t={})=>(t.locale??U())===`fr`?TT(e):ET(e)),OT=()=>`appliqué par le bridge (à venir)`,kT=()=>`applied by the bridge (coming soon)`,AT=((e={},t={})=>(t.locale??U())===`fr`?OT(e):kT(e)),jT=()=>`Export des traces. Clés : LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,MT=()=>`Trace export. Keys: LANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY (env).`,NT=((e={},t={})=>(t.locale??U())===`fr`?jT(e):MT(e)),PT=()=>`Export des traces. Clé : OPIK_API_KEY (env).`,FT=()=>`Trace export. Key: OPIK_API_KEY (env).`,IT=((e={},t={})=>(t.locale??U())===`fr`?PT(e):FT(e)),LT=()=>`Host`,RT=()=>`Host`,zT=((e={},t={})=>(t.locale??U())===`fr`?LT(e):RT(e)),BT=()=>`Base URL`,VT=()=>`Base URL`,HT=((e={},t={})=>(t.locale??U())===`fr`?BT(e):VT(e)),UT=()=>`Workspace`,WT=()=>`Workspace`,GT=((e={},t={})=>(t.locale??U())===`fr`?UT(e):WT(e)),KT=()=>`(défaut serveur)`,qT=()=>`(server default)`,JT=((e={},t={})=>(t.locale??U())===`fr`?KT(e):qT(e)),YT=()=>`Activé (expédition des traces)`,XT=()=>`Enabled (trace shipping)`,ZT=((e={},t={})=>(t.locale??U())===`fr`?YT(e):XT(e)),QT=()=>`Synthèse vocale (TTS)`,$T=()=>`Text-to-speech (TTS)`,eE=((e={},t={})=>(t.locale??U())===`fr`?QT(e):$T(e)),tE=()=>`Lecture audio des réponses. Clé du provider via env (ex. OPENAI_API_KEY, ELEVENLABS_API_KEY).`,nE=()=>`Audio playback of replies. Provider key via env (e.g. OPENAI_API_KEY, ELEVENLABS_API_KEY).`,rE=((e={},t={})=>(t.locale??U())===`fr`?tE(e):nE(e)),iE=()=>`Mode auto`,aE=()=>`Auto mode`,oE=((e={},t={})=>(t.locale??U())===`fr`?iE(e):aE(e)),sE=()=>`Désactivé`,cE=()=>`Disabled`,lE=((e={},t={})=>(t.locale??U())===`fr`?sE(e):cE(e)),uE=()=>`Toujours`,dE=()=>`Always`,fE=((e={},t={})=>(t.locale??U())===`fr`?uE(e):dE(e)),pE=()=>`Après un message vocal`,mE=()=>`After a voice message`,hE=((e={},t={})=>(t.locale??U())===`fr`?pE(e):mE(e)),gE=()=>`Sur directive [[tts:…]]`,_E=()=>`On [[tts:…]] directive`,vE=((e={},t={})=>(t.locale??U())===`fr`?gE(e):_E(e)),yE=()=>`Provider`,bE=()=>`Provider`,xE=((e={},t={})=>(t.locale??U())===`fr`?yE(e):bE(e)),SE=()=>`Microsoft (sans clé)`,CE=()=>`Microsoft (no key)`,wE=((e={},t={})=>(t.locale??U())===`fr`?SE(e):CE(e)),TE=()=>`Modèle`,EE=()=>`Model`,DE=((e={},t={})=>(t.locale??U())===`fr`?TE(e):EE(e)),OE=()=>`Voix`,kE=()=>`Voice`,AE=((e={},t={})=>(t.locale??U())===`fr`?OE(e):kE(e)),jE=()=>`speakerVoiceId / nom de voix`,ME=()=>`speakerVoiceId / voice name`,NE=((e={},t={})=>(t.locale??U())===`fr`?jE(e):ME(e)),PE=()=>`Mode conversation (Talk / STS)`,FE=()=>`Conversation mode (Talk / STS)`,IE=((e={},t={})=>(t.locale??U())===`fr`?PE(e):FE(e)),LE=()=>`OpenAI realtime : OPENAI_API_KEY présent (env). Le navigateur recevra un jeton éphémère minté côté serveur — jamais la clé brute.`,RE=()=>`OpenAI realtime: OPENAI_API_KEY present (env). The browser will receive an ephemeral token minted server-side — never the raw key.`,zE=((e={},t={})=>(t.locale??U())===`fr`?LE(e):RE(e)),BE=()=>`OpenAI realtime : OPENAI_API_KEY ABSENT (env). À définir côté déploiement pour activer gpt-realtime.`,VE=()=>`OpenAI realtime: OPENAI_API_KEY ABSENT (env). To be set on the deployment side to enable gpt-realtime.`,HE=((e={},t={})=>(t.locale??U())===`fr`?BE(e):VE(e)),UE=()=>`Activer le mode conversation`,WE=()=>`Enable conversation mode`,GE=((e={},t={})=>(t.locale??U())===`fr`?UE(e):WE(e)),KE=()=>`Provider realtime`,qE=()=>`Realtime provider`,JE=((e={},t={})=>(t.locale??U())===`fr`?KE(e):qE(e)),YE=()=>`Modèle realtime`,XE=()=>`Realtime model`,ZE=((e={},t={})=>(t.locale??U())===`fr`?YE(e):XE(e)),QE=()=>`Transport`,$E=()=>`Transport`,eD=((e={},t={})=>(t.locale??U())===`fr`?QE(e):$E(e)),tD=()=>`WebRTC (navigateur)`,nD=()=>`WebRTC (browser)`,rD=((e={},t={})=>(t.locale??U())===`fr`?tD(e):nD(e)),iD=()=>`Locale`,aD=()=>`Locale`,oD=((e={},t={})=>(t.locale??U())===`fr`?iD(e):aD(e)),sD=()=>`Interrompre la lecture quand l'utilisateur parle`,cD=()=>`Interrupt playback when the user speaks`,lD=((e={},t={})=>(t.locale??U())===`fr`?sD(e):cD(e)),uD=()=>`Voice wake (mot d'activation)`,dD=()=>`Voice wake (wake word)`,fD=((e={},t={})=>(t.locale??U())===`fr`?uD(e):dD(e)),pD=()=>`non câblable dans le navigateur`,mD=()=>`not wireable in the browser`,hD=((e={},t={})=>(t.locale??U())===`fr`?pD(e):mD(e)),gD=()=>`OpenClaw gère le voice-wake côté Gateway avec détection native macOS/iOS (Android = micro manuel) ; le navigateur n'est pas une plateforme supportée. Le câbler dans ce webchat nécessiterait un moteur wake-word côté client (type Porcupine) que nous bâtirions — hors de OpenClaw. Configuration des déclencheurs : RPC gateway`,_D=()=>`OpenClaw handles voice-wake on the Gateway side with native macOS/iOS detection (Android = manual mic); the browser is not a supported platform. Wiring it into this webchat would require a client-side wake-word engine (Porcupine-style) that we would build — outside OpenClaw. Trigger configuration: gateway RPC`,vD=((e={},t={})=>(t.locale??U())===`fr`?gD(e):_D(e)),yD=()=>`Curseurs d'expédition`,bD=()=>`Shipping cursors`,xD=((e={},t={})=>(t.locale??U())===`fr`?yD(e):bD(e)),SD=()=>`Aucun curseur — aucune trace n'a encore été expédiée.`,CD=()=>`No cursor — no trace has been shipped yet.`,wD=((e={},t={})=>(t.locale??U())===`fr`?SD(e):CD(e)),TD=()=>`Vendeur`,ED=()=>`Vendor`,DD=((e={},t={})=>(t.locale??U())===`fr`?TD(e):ED(e)),OD=()=>`Dernier envoi`,kD=()=>`Last send`,AD=((e={},t={})=>(t.locale??U())===`fr`?OD(e):kD(e)),jD=()=>`Échecs consécutifs`,MD=()=>`Consecutive failures`,ND=((e={},t={})=>(t.locale??U())===`fr`?jD(e):MD(e)),PD=()=>`Dernier statut HTTP`,FD=()=>`Last HTTP status`,ID=((e={},t={})=>(t.locale??U())===`fr`?PD(e):FD(e)),LD=()=>`Dernière erreur`,RD=()=>`Last error`,zD=((e={},t={})=>(t.locale??U())===`fr`?LD(e):RD(e)),BD=()=>`Mots modifiés / altérés`,VD=()=>`Modified / altered words`,HD=((e={},t={})=>(t.locale??U())===`fr`?BD(e):VD(e)),UD=()=>`Réponse incorrecte`,WD=()=>`Incorrect answer`,GD=((e={},t={})=>(t.locale??U())===`fr`?UD(e):WD(e)),KD=()=>`Incohérence`,qD=()=>`Inconsistency`,JD=((e={},t={})=>(t.locale??U())===`fr`?KD(e):qD(e)),YD=()=>`Formatage`,XD=()=>`Formatting`,ZD=((e={},t={})=>(t.locale??U())===`fr`?YD(e):XD(e)),QD=()=>`Latence`,$D=()=>`Latency`,eO=((e={},t={})=>(t.locale??U())===`fr`?QD(e):$D(e)),tO=()=>`Erreur API`,nO=()=>`API error`,rO=((e={},t={})=>(t.locale??U())===`fr`?tO(e):nO(e)),iO=()=>`Autre`,aO=()=>`Other`,oO=((e={},t={})=>(t.locale??U())===`fr`?iO(e):aO(e)),sO=()=>`reçu = stocké`,cO=()=>`received = stored`,lO=((e={},t={})=>(t.locale??U())===`fr`?sO(e):cO(e)),uO=()=>`affichage fidèle ✓`,dO=()=>`faithful display ✓`,fO=((e={},t={})=>(t.locale??U())===`fr`?uO(e):dO(e)),pO=()=>`écart ⚠`,mO=()=>`mismatch ⚠`,hO=((e={},t={})=>(t.locale??U())===`fr`?pO(e):mO(e)),gO=()=>`régénération`,_O=()=>`regeneration`,vO=((e={},t={})=>(t.locale??U())===`fr`?gO(e):_O(e)),yO=()=>`Commentaire du rapporteur`,bO=()=>`Reporter's comment`,xO=((e={},t={})=>(t.locale??U())===`fr`?yO(e):bO(e)),SO=()=>`Échange avec l'utilisateur`,CO=()=>`Exchange with the user`,wO=((e={},t={})=>(t.locale??U())===`fr`?SO(e):CO(e)),TO=()=>`Administrateur`,EO=()=>`Administrator`,DO=((e={},t={})=>(t.locale??U())===`fr`?TO(e):EO(e)),OO=()=>`Utilisateur`,kO=()=>`User`,AO=((e={},t={})=>(t.locale??U())===`fr`?OO(e):kO(e)),jO=()=>`Aucune réponse envoyée.`,MO=()=>`No reply sent.`,NO=((e={},t={})=>(t.locale??U())===`fr`?jO(e):MO(e)),PO=()=>`Répondre à l'utilisateur (visible dans sa zone de notification)…`,FO=()=>`Reply to the user (visible in their notification area)…`,IO=((e={},t={})=>(t.locale??U())===`fr`?PO(e):FO(e)),LO=()=>`Envoi…`,RO=()=>`Sending…`,zO=((e={},t={})=>(t.locale??U())===`fr`?LO(e):RO(e)),BO=()=>`Répondre`,VO=()=>`Reply`,HO=((e={},t={})=>(t.locale??U())===`fr`?BO(e):VO(e)),UO=()=>`Texte stocké (serveur, autoritatif)`,WO=()=>`Stored text (server, authoritative)`,GO=((e={},t={})=>(t.locale??U())===`fr`?UO(e):WO(e)),KO=()=>`(vide)`,qO=()=>`(empty)`,JO=((e={},t={})=>(t.locale??U())===`fr`?KO(e):qO(e)),YO=()=>`Texte affiché (navigateur, au signalement)`,XO=()=>`Displayed text (browser, at report time)`,ZO=((e={},t={})=>(t.locale??U())===`fr`?YO(e):XO(e)),QO=()=>`Prompt générateur`,$O=()=>`Generator prompt`,ek=((e={},t={})=>(t.locale??U())===`fr`?QO(e):$O(e)),tk=e=>`Contexte figé (${e?.count} tours${e?.truncated})`,nk=e=>`Frozen context (${e?.count} turns${e?.truncated})`,rk=((e,t={})=>(t.locale??U())===`fr`?tk(e):nk(e)),ik=()=>`, tronqué`,ak=()=>`, truncated`,ok=((e={},t={})=>(t.locale??U())===`fr`?ik(e):ak(e)),sk=()=>`Payload dispatché (outbox)`,ck=()=>`Dispatched payload (outbox)`,lk=((e={},t={})=>(t.locale??U())===`fr`?sk(e):ck(e)),uk=()=>`Extensions de correction détectées (peuvent altérer le texte)`,dk=()=>`Correction extensions detected (may alter the text)`,fk=((e={},t={})=>(t.locale??U())===`fr`?uk(e):dk(e)),pk=()=>`Environnement client`,mk=()=>`Client environment`,hk=((e={},t={})=>(t.locale??U())===`fr`?pk(e):mk(e)),gk=e=>`thème ${e?.theme}`,_k=e=>`theme ${e?.theme}`,vk=((e,t={})=>(t.locale??U())===`fr`?gk(e):_k(e)),yk=()=>`Plugins :`,bk=()=>`Plugins:`,xk=((e={},t={})=>(t.locale??U())===`fr`?yk(e):bk(e)),Sk=()=>`(navigator.plugins — neutralisé/partiel dans les navigateurs modernes)`,Ck=()=>`(navigator.plugins — neutralized/partial in modern browsers)`,wk=((e={},t={})=>(t.locale??U())===`fr`?Sk(e):Ck(e)),Tk=()=>`Signalements « Report Feedback » enregistrés. La liste est en métadonnées ; ouvrir le détail lit le contenu figé et`,Ek=()=>`Recorded "Report Feedback" reports. The list shows metadata; opening the detail reads the frozen content and`,Dk=((e={},t={})=>(t.locale??U())===`fr`?Tk(e):Ek(e)),Ok=()=>`trace cet accès dans l'Audit`,kk=()=>`traces this access in the Audit`,Ak=((e={},t={})=>(t.locale??U())===`fr`?Ok(e):kk(e)),jk=()=>`(lecture de contenu d'un autre utilisateur). Fenêtre récente bornée.`,Mk=()=>`(reading another user's content). Bounded recent window.`,Nk=((e={},t={})=>(t.locale??U())===`fr`?jk(e):Mk(e)),Pk=()=>`Signalements`,Fk=()=>`Reports`,Ik=((e={},t={})=>(t.locale??U())===`fr`?Pk(e):Fk(e)),Lk=()=>`Aucun signalement pour l'instant.`,Rk=()=>`No reports yet.`,zk=((e={},t={})=>(t.locale??U())===`fr`?Lk(e):Rk(e)),Bk=()=>`Quand`,Vk=()=>`When`,Hk=((e={},t={})=>(t.locale??U())===`fr`?Bk(e):Vk(e)),Uk=()=>`Catégorie`,Wk=()=>`Category`,Gk=((e={},t={})=>(t.locale??U())===`fr`?Uk(e):Wk(e)),Kk=()=>`Type`,qk=()=>`Type`,Jk=((e={},t={})=>(t.locale??U())===`fr`?Kk(e):qk(e)),Yk=()=>`user`,Xk=()=>`user`,Zk=((e={},t={})=>(t.locale??U())===`fr`?Yk(e):Xk(e)),Qk=()=>`AI`,$k=()=>`AI`,eA=((e={},t={})=>(t.locale??U())===`fr`?Qk(e):$k(e)),tA=()=>`Rapporteur`,nA=()=>`Reporter`,rA=((e={},t={})=>(t.locale??U())===`fr`?tA(e):nA(e)),iA=e=>`(via ${e?.operator})`,aA=e=>`(via ${e?.operator})`,oA=((e,t={})=>(t.locale??U())===`fr`?iA(e):aA(e)),sA=()=>`Fidélité`,cA=()=>`Fidelity`,lA=((e={},t={})=>(t.locale??U())===`fr`?sA(e):cA(e)),uA=()=>`Note`,dA=()=>`Note`,fA=((e={},t={})=>(t.locale??U())===`fr`?uA(e):dA(e)),pA=()=>`Statut`,mA=()=>`Status`,hA=((e={},t={})=>(t.locale??U())===`fr`?pA(e):mA(e)),gA=()=>`Répondu`,_A=()=>`Answered`,vA=((e={},t={})=>(t.locale??U())===`fr`?gA(e):_A(e)),yA=()=>`En attente`,bA=()=>`Pending`,xA=((e={},t={})=>(t.locale??U())===`fr`?yA(e):bA(e)),SA=()=>`Clos par l'utilisateur`,CA=()=>`Closed by user`,wA=((e={},t={})=>(t.locale??U())===`fr`?SA(e):CA(e)),TA=()=>`Raison de clôture`,EA=()=>`Close reason`,DA=((e={},t={})=>(t.locale??U())===`fr`?TA(e):EA(e)),OA=()=>`Masquer`,kA=()=>`Hide`,AA=((e={},t={})=>(t.locale??U())===`fr`?OA(e):kA(e)),jA=()=>`Voir le détail`,MA=()=>`View detail`,NA=((e={},t={})=>(t.locale??U())===`fr`?jA(e):MA(e)),PA=()=>`Supprimer`,FA=()=>`Delete`,IA=((e={},t={})=>(t.locale??U())===`fr`?PA(e):FA(e)),LA=()=>`Supprimer ce signalement ?`,RA=()=>`Delete this report?`,zA=((e={},t={})=>(t.locale??U())===`fr`?LA(e):RA(e)),BA=()=>`L'instantané forensique figé sera définitivement supprimé. Cette action est irréversible.`,VA=()=>`The frozen forensic snapshot will be permanently deleted. This action is irreversible.`,HA=((e={},t={})=>(t.locale??U())===`fr`?BA(e):VA(e)),UA=()=>`Supprimer`,WA=()=>`Delete`,GA=((e={},t={})=>(t.locale??U())===`fr`?UA(e):WA(e)),KA=()=>`Aucun onglet`,qA=()=>`No tabs`,JA=((e={},t={})=>(t.locale??U())===`fr`?KA(e):qA(e)),YA=e=>`${e?.count} onglets`,XA=e=>`${e?.count} tabs`,ZA=((e,t={})=>(t.locale??U())===`fr`?YA(e):XA(e)),QA=()=>`Onglets Settings autorisés`,$A=()=>`Allowed Settings tabs`,ej=((e={},t={})=>(t.locale??U())===`fr`?QA(e):$A(e)),tj=()=>`Changement de rôle refusé`,nj=()=>`Role change refused`,rj=((e={},t={})=>(t.locale??U())===`fr`?tj(e):nj(e)),ij=()=>`Mise à jour des permissions refusée`,aj=()=>`Permission update refused`,oj=((e={},t={})=>(t.locale??U())===`fr`?ij(e):aj(e)),sj=()=>`Rechercher (email, nom)`,cj=()=>`Search (email, name)`,lj=((e={},t={})=>(t.locale??U())===`fr`?sj(e):cj(e)),uj=()=>`Tous les rôles`,dj=()=>`All roles`,fj=((e={},t={})=>(t.locale??U())===`fr`?uj(e):dj(e)),pj=()=>`Utilisateurs`,mj=()=>`Users`,hj=((e={},t={})=>(t.locale??U())===`fr`?pj(e):mj(e)),gj=()=>`Aucun utilisateur.`,_j=()=>`No users.`,vj=((e={},t={})=>(t.locale??U())===`fr`?gj(e):_j(e)),yj=()=>`Voir comme cet utilisateur`,bj=()=>`View as this user`,xj=((e={},t={})=>(t.locale??U())===`fr`?yj(e):bj(e)),Sj=()=>`Supprimer l’utilisateur`,Cj=()=>`Delete user`,wj=((e={},t={})=>(t.locale??U())===`fr`?Sj(e):Cj(e)),Tj=()=>`Supprimer cet utilisateur ?`,Ej=()=>`Delete this user?`,Dj=((e={},t={})=>(t.locale??U())===`fr`?Tj(e):Ej(e)),Oj=e=>`« ${e?.user} » et toutes ses données (conversations, fichiers, accès) seront définitivement supprimés. Cette action est irréversible.`,kj=e=>`“${e?.user}” and all their data (conversations, files, access) will be permanently deleted. This action cannot be undone.`,Aj=((e,t={})=>(t.locale??U())===`fr`?Oj(e):kj(e)),jj=()=>`SUPPRIMER`,Mj=()=>`DELETE`,Nj=((e={},t={})=>(t.locale??U())===`fr`?jj(e):Mj(e)),Pj=()=>`Supprimer définitivement`,Fj=()=>`Delete permanently`,Ij=((e={},t={})=>(t.locale??U())===`fr`?Pj(e):Fj(e)),Lj=()=>`Suppression de l’utilisateur refusée`,Rj=()=>`User deletion refused`,zj=((e={},t={})=>(t.locale??U())===`fr`?Lj(e):Rj(e)),Bj=e=>`Utilisateur « ${e?.user} » supprimé.`,Vj=e=>`User “${e?.user}” deleted.`,Hj=((e,t={})=>(t.locale??U())===`fr`?Bj(e):Vj(e)),Uj=()=>`Renommer`,Wj=()=>`Rename`,Gj=((e={},t={})=>(t.locale??U())===`fr`?Uj(e):Wj(e)),Kj=()=>`Renommer l’utilisateur`,qj=()=>`Rename user`,Jj=((e={},t={})=>(t.locale??U())===`fr`?Kj(e):qj(e)),Yj=e=>`Nom affiché pour « ${e?.user} »`,Xj=e=>`Display name for “${e?.user}”`,Zj=((e,t={})=>(t.locale??U())===`fr`?Yj(e):Xj(e)),Qj=()=>`Nom et prénom`,$j=()=>`Name`,eM=((e={},t={})=>(t.locale??U())===`fr`?Qj(e):$j(e)),tM=()=>`Nom mis à jour.`,nM=()=>`Name updated.`,rM=((e={},t={})=>(t.locale??U())===`fr`?tM(e):nM(e)),iM=()=>`Renommage refusé`,aM=()=>`Rename refused`,oM=((e={},t={})=>(t.locale??U())===`fr`?iM(e):aM(e)),sM=()=>`Utilisateur`,cM=()=>`User`,lM=((e={},t={})=>(t.locale??U())===`fr`?sM(e):cM(e)),uM=()=>`Rôle`,dM=()=>`Role`,fM=((e={},t={})=>(t.locale??U())===`fr`?uM(e):dM(e)),pM=()=>`Accès Settings`,mM=()=>`Settings access`,hM=((e={},t={})=>(t.locale??U())===`fr`?pM(e):mM(e)),gM=()=>`Tous (admin)`,_M=()=>`All (admin)`,vM=((e={},t={})=>(t.locale??U())===`fr`?gM(e):_M(e)),yM=()=>`Agents`,bM=()=>`Agents`,xM=((e={},t={})=>(t.locale??U())===`fr`?yM(e):bM(e)),SM=()=>`Gérer les agents`,CM=()=>`Manage agents`,wM=((e={},t={})=>(t.locale??U())===`fr`?SM(e):CM(e)),TM=()=>`Échec de l’enregistrement de l’instance`,EM=()=>`Failed to save instance`,DM=((e={},t={})=>(t.locale??U())===`fr`?TM(e):EM(e)),OM=()=>`Les agents sont `,kM=()=>`Agents are `,AM=((e={},t={})=>(t.locale??U())===`fr`?OM(e):kM(e)),jM=()=>`découverts par le bridge`,MM=()=>`discovered by the bridge`,NM=((e={},t={})=>(t.locale??U())===`fr`?jM(e):MM(e)),PM=()=>` (jamais saisis à la main). Les identifiants gateway (token, device, clé API) se configurent par instance via « Identifiants » — chiffrés au repos.`,FM=()=>` (never entered by hand). Gateway credentials (token, device identity, API key) are set per instance via “Credentials” — encrypted at rest.`,IM=((e={},t={})=>(t.locale??U())===`fr`?PM(e):FM(e)),LM=()=>`Instances`,RM=()=>`Instances`,zM=((e={},t={})=>(t.locale??U())===`fr`?LM(e):RM(e)),BM=()=>`Ajouter une instance`,VM=()=>`Add instance`,HM=((e={},t={})=>(t.locale??U())===`fr`?BM(e):VM(e)),UM=()=>`Aucune instance.`,WM=()=>`No instances.`,GM=((e={},t={})=>(t.locale??U())===`fr`?UM(e):WM(e)),KM=()=>`Nom`,qM=()=>`Name`,JM=((e={},t={})=>(t.locale??U())===`fr`?KM(e):qM(e)),YM=()=>`Bridge`,XM=()=>`Bridge`,ZM=((e={},t={})=>(t.locale??U())===`fr`?YM(e):XM(e)),QM=()=>`Gateway URL`,$M=()=>`Gateway URL`,eN=((e={},t={})=>(t.locale??U())===`fr`?QM(e):$M(e)),tN=()=>`Affichage`,nN=()=>`Display`,rN=((e={},t={})=>(t.locale??U())===`fr`?tN(e):nN(e)),iN=()=>`Configurer le bridge`,aN=()=>`Configure bridge`,oN=((e={},t={})=>(t.locale??U())===`fr`?iN(e):aN(e)),sN=()=>`Supprimer`,cN=()=>`Delete`,lN=((e={},t={})=>(t.locale??U())===`fr`?sN(e):cN(e)),uN=()=>`Nouvelle instance`,dN=()=>`New instance`,fN=((e={},t={})=>(t.locale??U())===`fr`?uN(e):dN(e)),pN=()=>`Modifier`,mN=()=>`Edit`,hN=((e={},t={})=>(t.locale??U())===`fr`?pN(e):mN(e)),gN=()=>`Modifier l'instance`,_N=()=>`Edit instance`,vN=((e={},t={})=>(t.locale??U())===`fr`?gN(e):_N(e)),yN=()=>`Le nom est la clé de routage et ne peut pas être modifié après création.`,bN=()=>`The name is the routing key and can't be changed after creation.`,xN=((e={},t={})=>(t.locale??U())===`fr`?yN(e):bN(e)),SN=()=>`Métadonnées non-secrètes.`,CN=()=>`Non-secret metadata.`,wN=((e={},t={})=>(t.locale??U())===`fr`?SN(e):CN(e)),TN=()=>`Enregistrer`,EN=()=>`Save`,DN=((e={},t={})=>(t.locale??U())===`fr`?TN(e):EN(e)),ON=()=>`Nom de l’instance (ex. main)`,kN=()=>`Instance name (e.g. main)`,AN=((e={},t={})=>(t.locale??U())===`fr`?ON(e):kN(e)),jN=()=>`Technologie (bridge)`,MN=()=>`Technology (bridge)`,NN=((e={},t={})=>(t.locale??U())===`fr`?jN(e):MN(e)),PN=()=>`Gateway URL (ws(s)://)`,FN=()=>`Gateway URL (ws(s)://)`,IN=((e={},t={})=>(t.locale??U())===`fr`?PN(e):FN(e)),LN=()=>`URL du bridge`,RN=()=>`Bridge URL`,zN=((e={},t={})=>(t.locale??U())===`fr`?LN(e):RN(e)),BN=()=>`http://bridge-host:8787 — sinon le BRIDGE_URL du déploiement`,VN=()=>`http://bridge-host:8787 — else the deployment BRIDGE_URL`,HN=((e={},t={})=>(t.locale??U())===`fr`?BN(e):VN(e)),UN=()=>`Nom affiché (optionnel)`,WN=()=>`Display name (optional)`,GN=((e={},t={})=>(t.locale??U())===`fr`?UN(e):WN(e)),KN=()=>`Version de la gateway (optionnel)`,qN=()=>`Gateway version (optional)`,JN=((e={},t={})=>(t.locale??U())===`fr`?KN(e):qN(e)),YN=()=>`ex. 2026.6.5 — repli de compatibilité`,XN=()=>`e.g. 2026.6.5 — compat fallback`,ZN=((e={},t={})=>(t.locale??U())===`fr`?YN(e):XN(e)),QN=()=>`URL HTTP média (optionnel)`,$N=()=>`Media HTTP URL (optional)`,eP=((e={},t={})=>(t.locale??U())===`fr`?QN(e):$N(e)),tP=()=>`Seulement si le média est servi sur un autre hôte/port`,nP=()=>`Only if media is served on another host/port`,rP=((e={},t={})=>(t.locale??U())===`fr`?tP(e):nP(e)),iP=()=>`Identifiants`,aP=()=>`Credentials`,oP=((e={},t={})=>(t.locale??U())===`fr`?iP(e):aP(e)),sP=e=>`Identifiants de la gateway — instance « ${e?.instance} »`,cP=e=>`Gateway credentials — instance « ${e?.instance} »`,lP=((e,t={})=>(t.locale??U())===`fr`?sP(e):cP(e)),uP=()=>`Stockés chiffrés au repos. En écriture seule : une valeur n'est jamais réaffichée — définissez-la, remplacez-la ou effacez-la.`,dP=()=>`Stored encrypted at rest. Write-only: a value is never shown again — set or replace it, or clear it.`,fP=((e={},t={})=>(t.locale??U())===`fr`?uP(e):dP(e)),pP=()=>`Jeton opérateur`,mP=()=>`Operator token`,hP=((e={},t={})=>(t.locale??U())===`fr`?pP(e):mP(e)),gP=()=>`Identité d'appareil (JSON Ed25519)`,_P=()=>`Device identity (Ed25519 JSON)`,vP=((e={},t={})=>(t.locale??U())===`fr`?gP(e):_P(e)),yP=()=>`Clé API`,bP=()=>`API key`,xP=((e={},t={})=>(t.locale??U())===`fr`?yP(e):bP(e)),SP=()=>`Configuré`,CP=()=>`Configured`,wP=((e={},t={})=>(t.locale??U())===`fr`?SP(e):CP(e)),TP=()=>`Non défini`,EP=()=>`Not set`,DP=((e={},t={})=>(t.locale??U())===`fr`?TP(e):EP(e)),OP=()=>`Saisir la valeur…`,kP=()=>`Enter value…`,AP=((e={},t={})=>(t.locale??U())===`fr`?OP(e):kP(e)),jP=()=>`Remplacer la valeur…`,MP=()=>`Replace value…`,NP=((e={},t={})=>(t.locale??U())===`fr`?jP(e):MP(e)),PP=()=>`Définir`,FP=()=>`Set`,IP=((e={},t={})=>(t.locale??U())===`fr`?PP(e):FP(e)),LP=()=>`Effacer`,RP=()=>`Clear`,zP=((e={},t={})=>(t.locale??U())===`fr`?LP(e):RP(e)),BP=()=>`Identifiant enregistré`,VP=()=>`Credential saved`,HP=((e={},t={})=>(t.locale??U())===`fr`?BP(e):VP(e)),UP=()=>`Impossible d'enregistrer l'identifiant`,WP=()=>`Could not save the credential`,GP=((e={},t={})=>(t.locale??U())===`fr`?UP(e):WP(e)),KP=()=>`Identifiant effacé`,qP=()=>`Credential cleared`,JP=((e={},t={})=>(t.locale??U())===`fr`?KP(e):qP(e)),YP=()=>`Générer`,XP=()=>`Generate`,ZP=((e={},t={})=>(t.locale??U())===`fr`?YP(e):XP(e)),QP=()=>`Crée une identité Ed25519 côté serveur (la clé privée ne touche jamais le navigateur) et l'enregistre. Vous l'appairerez ensuite sur la gateway.`,$P=()=>`Mints an Ed25519 identity server-side (the private key never reaches the browser) and saves it. You'll then pair it on the gateway.`,eF=((e={},t={})=>(t.locale??U())===`fr`?QP(e):$P(e)),tF=()=>`Identité générée et enregistrée`,nF=()=>`Device identity generated and saved`,rF=((e={},t={})=>(t.locale??U())===`fr`?tF(e):nF(e)),iF=()=>`Appairez cet appareil sur votre gateway avec :`,aF=()=>`Pair this device on your gateway with:`,oF=((e={},t={})=>(t.locale??U())===`fr`?iF(e):aF(e)),sF=()=>`Impossible de générer l'identité d'appareil`,cF=()=>`Could not generate the device identity`,lF=((e={},t={})=>(t.locale??U())===`fr`?sF(e):cF(e)),uF=()=>`Synchroniser maintenant`,dF=()=>`Sync now`,fF=((e={},t={})=>(t.locale??U())===`fr`?uF(e):dF(e)),pF=()=>`Synchronisation…`,mF=()=>`Syncing…`,hF=((e={},t={})=>(t.locale??U())===`fr`?pF(e):mF(e)),gF=()=>`Synchronisation effectuée`,_F=()=>`Synced`,vF=((e={},t={})=>(t.locale??U())===`fr`?gF(e):_F(e)),yF=()=>`Échec de la synchronisation`,bF=()=>`Sync failed`,xF=((e={},t={})=>(t.locale??U())===`fr`?yF(e):bF(e)),SF=()=>`Aucun agent récupéré — appairez l'appareil sur la gateway (ou vérifiez la configuration de l'instance), puis re-synchronisez`,CF=()=>`No agents retrieved — pair the device on the gateway (or check the instance configuration), then sync again`,wF=((e={},t={})=>(t.locale??U())===`fr`?SF(e):CF(e)),TF=()=>`Aucun bridge ne sert cette instance — définissez son « Bridge URL » dans Settings → Agents → Instances.`,EF=()=>`No bridge serves this instance — set its “Bridge URL” in Settings → Agents → Instances.`,DF=((e={},t={})=>(t.locale??U())===`fr`?TF(e):EF(e)),OF=()=>`Configuration Convex incomplète : BRIDGE_SHARED_SECRET manquant sur le déploiement.`,kF=()=>`Convex deployment is misconfigured: BRIDGE_SHARED_SECRET is missing.`,AF=((e={},t={})=>(t.locale??U())===`fr`?OF(e):kF(e)),jF=()=>`Bridge injoignable — vérifiez qu'il tourne et que son URL est correcte.`,MF=()=>`Bridge unreachable — check it is running and its URL is correct.`,NF=((e={},t={})=>(t.locale??U())===`fr`?jF(e):MF(e)),PF=()=>`Le bridge a rejeté l'authentification — BRIDGE_SHARED_SECRET désynchronisé entre Convex et le bridge.`,FF=()=>`The bridge rejected authentication — BRIDGE_SHARED_SECRET is out of sync between Convex and the bridge.`,IF=((e={},t={})=>(t.locale??U())===`fr`?PF(e):FF(e)),LF=()=>`Le bridge ne sert pas cette instance — son secret doit figurer dans BRIDGE_INSTANCE_SECRETS et ses identifiants doivent être valides.`,RF=()=>`The bridge does not serve this instance — its secret must be in BRIDGE_INSTANCE_SECRETS and its credentials must be valid.`,zF=((e={},t={})=>(t.locale??U())===`fr`?LF(e):RF(e)),BF=()=>`Force le bridge à prendre en compte les identifiants et à récupérer les agents depuis la gateway maintenant (sinon ~2 min via le cron). Déclenche aussi l'appairage si l'appareil n'est pas encore appairé.`,VF=()=>`Forces the bridge to take the credentials into account and fetch the agents from the gateway now (otherwise ~2 min via the cron). Also triggers pairing if the device is not yet paired.`,HF=((e={},t={})=>(t.locale??U())===`fr`?BF(e):VF(e)),UF=()=>`Secret du bridge (bridge → Convex)`,WF=()=>`Bridge secret (bridge → Convex)`,GF=((e={},t={})=>(t.locale??U())===`fr`?UF(e):WF(e)),KF=()=>`Authentifie CE bridge auprès de Convex et le lie à cette instance, afin que le bridge ne puisse lire que les secrets de cette gateway. À définir dans l'environnement du bridge. Affiché une seule fois à la génération.`,qF=()=>`Authenticates THIS bridge to Convex and ties it to this instance, so the bridge can only ever read this gateway's secrets. Set it in the bridge's environment. Shown once at generation.`,JF=((e={},t={})=>(t.locale??U())===`fr`?KF(e):qF(e)),YF=()=>`Générer`,XF=()=>`Generate`,ZF=((e={},t={})=>(t.locale??U())===`fr`?YF(e):XF(e)),QF=()=>`Régénérer`,$F=()=>`Regenerate`,eI=((e={},t={})=>(t.locale??U())===`fr`?QF(e):$F(e)),tI=()=>`Révoquer`,nI=()=>`Revoke`,rI=((e={},t={})=>(t.locale??U())===`fr`?tI(e):nI(e)),iI=()=>`Secret du bridge révoqué`,aI=()=>`Bridge secret revoked`,oI=((e={},t={})=>(t.locale??U())===`fr`?iI(e):aI(e)),sI=()=>`Impossible de générer le secret du bridge`,cI=()=>`Could not generate the bridge secret`,lI=((e={},t={})=>(t.locale??U())===`fr`?sI(e):cI(e)),uI=()=>`Copiez ce secret maintenant — il ne sera plus jamais affiché. Placez-le dans la variable d'environnement du bridge.`,dI=()=>`Copy this secret now — it is never shown again. Put it in the bridge's environment variable.`,fI=((e={},t={})=>(t.locale??U())===`fr`?uI(e):dI(e)),pI=()=>`J'ai copié le secret`,mI=()=>`I've copied the secret`,hI=((e={},t={})=>(t.locale??U())===`fr`?pI(e):mI(e)),gI=e=>`Agents — instance « ${e?.name} »`,_I=e=>`Agents — instance « ${e?.name} »`,vI=((e,t={})=>(t.locale??U())===`fr`?gI(e):_I(e)),yI=()=>`Les agents sont découverts par le bridge. Coche ceux à rendre disponibles en aval (assignables aux groupes/users), et choisis un défaut. Un agent désactivé reste listé mais grisé.`,bI=()=>`Agents are discovered by the bridge. Tick the ones to make available downstream (assignable to groups/users), and pick one default. A disabled agent stays listed but greyed.`,xI=((e={},t={})=>(t.locale??U())===`fr`?yI(e):bI(e)),SI=()=>`Impossible de mettre à jour l’agent`,CI=()=>`Could not update the agent`,wI=((e={},t={})=>(t.locale??U())===`fr`?SI(e):CI(e)),TI=()=>`Types`,EI=()=>`Types`,DI=((e={},t={})=>(t.locale??U())===`fr`?TI(e):EI(e)),OI=()=>`Gérer`,kI=()=>`Manage`,AI=((e={},t={})=>(t.locale??U())===`fr`?OI(e):kI(e)),jI=()=>`Types de l'agent`,MI=()=>`Agent types`,NI=((e={},t={})=>(t.locale??U())===`fr`?jI(e):MI(e)),PI=()=>`Un agent peut avoir plusieurs types. Chaque type indique à Atrium comment l'agent peut être utilisé.`,FI=()=>`An agent may hold several types. Each type tells Atrium how the agent can be used.`,II=((e={},t={})=>(t.locale??U())===`fr`?PI(e):FI(e)),LI=()=>`Conversationnel`,RI=()=>`Conversational`,zI=((e={},t={})=>(t.locale??U())===`fr`?LI(e):RI(e)),BI=()=>`Agent de chat standard — répond aux messages des utilisateurs dans une conversation.`,VI=()=>`Standard chat agent — answers users' messages in a conversation.`,HI=((e={},t={})=>(t.locale??U())===`fr`?BI(e):VI(e)),UI=()=>`Source documentaire`,WI=()=>`Documentary source`,GI=((e={},t={})=>(t.locale??U())===`fr`?UI(e):WI(e)),KI=()=>`Agent spécialisé appelé par une action Atrium dédiée pour exploiter une source documentaire — pas de chat direct.`,qI=()=>`Specialised agent invoked by a dedicated Atrium action to exploit a documentary source — not used for direct chat.`,JI=((e={},t={})=>(t.locale??U())===`fr`?KI(e):qI(e)),YI=()=>`Définir par défaut`,XI=()=>`Set as default`,ZI=((e={},t={})=>(t.locale??U())===`fr`?YI(e):XI(e)),QI=()=>`Retirer`,$I=()=>`Remove`,eL=((e={},t={})=>(t.locale??U())===`fr`?QI(e):$I(e)),tL=e=>`Retirer ${e?.name} ?`,nL=e=>`Remove ${e?.name}?`,rL=((e,t={})=>(t.locale??U())===`fr`?tL(e):nL(e)),iL=()=>`Cet agent n’existe plus sur le gateway. Le retirer le supprime aussi de la liste d’agents de chaque groupe et utilisateur. Action irréversible.`,aL=()=>`This agent no longer exists on the gateway. Removing it also removes it from every group's and user's agent list. This cannot be undone.`,oL=((e={},t={})=>(t.locale??U())===`fr`?iL(e):aL(e)),sL=()=>`Retirer`,cL=()=>`Remove`,lL=((e={},t={})=>(t.locale??U())===`fr`?sL(e):cL(e)),uL=()=>`Agent retiré`,dL=()=>`Agent removed`,fL=((e={},t={})=>(t.locale??U())===`fr`?uL(e):dL(e)),pL=()=>`Chargement…`,mL=()=>`Loading…`,hL=((e={},t={})=>(t.locale??U())===`fr`?pL(e):mL(e)),gL=()=>`Jamais sondé.`,_L=()=>`Never polled.`,vL=((e={},t={})=>(t.locale??U())===`fr`?gL(e):_L(e)),yL=()=>`Découverte OK.`,bL=()=>`Discovery OK.`,xL=((e={},t={})=>(t.locale??U())===`fr`?yL(e):bL(e)),SL=e=>`Hors-ligne (${e?.error}) — dernier bon résultat servi.`,CL=e=>`Offline (${e?.error}) — last good result served.`,wL=((e,t={})=>(t.locale??U())===`fr`?SL(e):CL(e)),TL=()=>`Aucun agent découvert.`,EL=()=>`No agent discovered.`,DL=((e={},t={})=>(t.locale??U())===`fr`?TL(e):EL(e)),OL=()=>`défaut`,kL=()=>`default`,AL=((e={},t={})=>(t.locale??U())===`fr`?OL(e):kL(e)),jL=()=>`supprimé`,ML=()=>`removed`,NL=((e={},t={})=>(t.locale??U())===`fr`?jL(e):ML(e)),PL=()=>`Trace des actions effectuées sous usurpation d’identité : qui a réellement agi (acteur réel) et au nom de quel utilisateur. Le contenu des messages n’est jamais enregistré.`,FL=()=>`Trace of actions performed under impersonation: who really acted (real actor) and on behalf of which user. Message content is never recorded.`,IL=((e={},t={})=>(t.locale??U())===`fr`?PL(e):FL(e)),LL=()=>`Fenêtre récente bornée — une plage antérieure peut être partielle.`,RL=()=>`Bounded recent window — an earlier range may be partial.`,zL=((e={},t={})=>(t.locale??U())===`fr`?LL(e):RL(e)),BL=()=>`Rechercher (action, acteur, ressource)`,VL=()=>`Search (action, actor, resource)`,HL=((e={},t={})=>(t.locale??U())===`fr`?BL(e):VL(e)),UL=()=>`Action`,WL=()=>`Action`,GL=((e={},t={})=>(t.locale??U())===`fr`?UL(e):WL(e)),KL=()=>`Toutes les actions`,qL=()=>`All actions`,JL=((e={},t={})=>(t.locale??U())===`fr`?KL(e):qL(e)),YL=()=>`Usurpation : toutes`,XL=()=>`Impersonation: all`,ZL=((e={},t={})=>(t.locale??U())===`fr`?YL(e):XL(e)),QL=()=>`Sous usurpation`,$L=()=>`Under impersonation`,eR=((e={},t={})=>(t.locale??U())===`fr`?QL(e):$L(e)),tR=()=>`Sans usurpation`,nR=()=>`Without impersonation`,rR=((e={},t={})=>(t.locale??U())===`fr`?tR(e):nR(e)),iR=()=>`Ressource`,aR=()=>`Resource`,oR=((e={},t={})=>(t.locale??U())===`fr`?iR(e):aR(e)),sR=()=>`Toutes les ressources`,cR=()=>`All resources`,lR=((e={},t={})=>(t.locale??U())===`fr`?sR(e):cR(e)),uR=()=>`Audit`,dR=()=>`Audit`,fR=((e={},t={})=>(t.locale??U())===`fr`?uR(e):dR(e)),pR=()=>`Aucune action tracée pour l’instant.`,mR=()=>`No action traced yet.`,hR=((e={},t={})=>(t.locale??U())===`fr`?pR(e):mR(e)),gR=()=>`Quand`,_R=()=>`When`,vR=((e={},t={})=>(t.locale??U())===`fr`?gR(e):_R(e)),yR=()=>`Acteur réel`,bR=()=>`Real actor`,xR=((e={},t={})=>(t.locale??U())===`fr`?yR(e):bR(e)),SR=()=>`Au nom de`,CR=()=>`On behalf of`,wR=((e={},t={})=>(t.locale??U())===`fr`?SR(e):CR(e)),TR=()=>`Traces`,ER=()=>`Traces`,DR=((e={},t={})=>(t.locale??U())===`fr`?TR(e):ER(e)),OR=()=>`KPI`,kR=()=>`KPI`,AR=((e={},t={})=>(t.locale??U())===`fr`?OR(e):kR(e)),jR=()=>`OpenClaw / Anomalies`,MR=()=>`OpenClaw / Anomalies`,NR=((e={},t={})=>(t.locale??U())===`fr`?jR(e):MR(e)),PR=()=>`Chats`,FR=()=>`Chats`,IR=((e={},t={})=>(t.locale??U())===`fr`?PR(e):FR(e)),LR=()=>`Admin`,RR=()=>`Admin`,zR=((e={},t={})=>(t.locale??U())===`fr`?LR(e):RR(e)),BR=()=>`Lire`,VR=()=>`Read`,HR=((e={},t={})=>(t.locale??U())===`fr`?BR(e):VR(e)),UR=()=>`Contenu`,WR=()=>`Content`,GR=((e={},t={})=>(t.locale??U())===`fr`?UR(e):WR(e)),KR=()=>`Écrire`,qR=()=>`Write`,JR=((e={},t={})=>(t.locale??U())===`fr`?KR(e):qR(e)),YR=()=>`Requête`,XR=()=>`Query`,ZR=((e={},t={})=>(t.locale??U())===`fr`?YR(e):XR(e)),QR=()=>`Anomalies`,$R=()=>`Anomalies`,ez=((e={},t={})=>(t.locale??U())===`fr`?QR(e):$R(e)),tz=()=>`Signaler`,nz=()=>`Report`,rz=((e={},t={})=>(t.locale??U())===`fr`?tz(e):nz(e)),iz=()=>`Gérer`,az=()=>`Manage`,oz=((e={},t={})=>(t.locale??U())===`fr`?iz(e):az(e)),sz=()=>`Auto-correction`,cz=()=>`Self-heal`,lz=((e={},t={})=>(t.locale??U())===`fr`?sz(e):cz(e)),uz=e=>`${e?.key} — accès au contenu brut (PHI), à accorder avec prudence`,dz=e=>`${e?.key} — access to raw content (PHI), grant with caution`,fz=((e,t={})=>(t.locale??U())===`fr`?uz(e):dz(e)),pz=()=>`Échec de l’initialisation des rôles`,mz=()=>`Failed to initialize roles`,hz=((e={},t={})=>(t.locale??U())===`fr`?pz(e):mz(e)),gz=e=>`Modifier le rôle intégré « ${e?.name} » ?`,_z=e=>`Edit the built-in role “${e?.name}”?`,vz=((e,t={})=>(t.locale??U())===`fr`?gz(e):_z(e)),yz=()=>`Les rôles intégrés sont la base du modèle de permissions. Les modifier peut affecter les comptes existants. Continuer ?`,bz=()=>`Built-in roles are the foundation of the permission model. Editing them may affect existing accounts. Continue?`,xz=((e={},t={})=>(t.locale??U())===`fr`?yz(e):bz(e)),Sz=()=>`Modifier`,Cz=()=>`Edit`,wz=((e={},t={})=>(t.locale??U())===`fr`?Sz(e):Cz(e)),Tz=()=>`Échec de la mise à jour des permissions`,Ez=()=>`Failed to update permissions`,Dz=((e={},t={})=>(t.locale??U())===`fr`?Tz(e):Ez(e)),Oz=()=>`Échec de la création du rôle`,kz=()=>`Failed to create role`,Az=((e={},t={})=>(t.locale??U())===`fr`?Oz(e):kz(e)),jz=()=>`Matrice de permissions. Lignes = rôles (intégrés + personnalisés), colonnes = clés de permission. Le rôle`,Mz=()=>`Permission matrix. Rows = roles (built-in + custom), columns = permission keys. The`,Nz=((e={},t={})=>(t.locale??U())===`fr`?jz(e):Mz(e)),Pz=()=>`détient le joker « * » (toutes les permissions) et est verrouillé. La colonne`,Fz=()=>`role holds the “*” wildcard (all permissions) and is locked. The`,Iz=((e={},t={})=>(t.locale??U())===`fr`?Pz(e):Fz(e)),Lz=()=>`donne accès au contenu brut (PHI) — à n’accorder qu’à bon escient.`,Rz=()=>`column grants access to raw content (PHI) — grant only when justified.`,zz=((e={},t={})=>(t.locale??U())===`fr`?Lz(e):Rz(e)),Bz=()=>`Rôles`,Vz=()=>`Roles`,Hz=((e={},t={})=>(t.locale??U())===`fr`?Bz(e):Vz(e)),Uz=()=>`Ajouter un rôle`,Wz=()=>`Add a role`,Gz=((e={},t={})=>(t.locale??U())===`fr`?Uz(e):Wz(e)),Kz=()=>`Chargement…`,qz=()=>`Loading…`,Jz=((e={},t={})=>(t.locale??U())===`fr`?Kz(e):qz(e)),Yz=()=>`Initialisation des rôles…`,Xz=()=>`Initializing roles…`,Zz=((e={},t={})=>(t.locale??U())===`fr`?Yz(e):Xz(e)),Qz=()=>`Rôle`,$z=()=>`Role`,eB=((e={},t={})=>(t.locale??U())===`fr`?Qz(e):$z(e)),tB=()=>`intégré`,nB=()=>`built-in`,rB=((e={},t={})=>(t.locale??U())===`fr`?tB(e):nB(e)),iB=()=>`personnalisé`,aB=()=>`custom`,oB=((e={},t={})=>(t.locale??U())===`fr`?iB(e):aB(e)),sB=()=>`Authentifié mais pas encore approuvé — l’accès est bloqué tant qu’un administrateur n’a pas validé le compte.`,cB=()=>`Authenticated but not yet approved — access is blocked until an admin approves the account.`,lB=((e={},t={})=>(t.locale??U())===`fr`?sB(e):cB(e)),uB=()=>`Personne approuvée, avec accès au chat.`,dB=()=>`Approved person with chat access.`,fB=((e={},t={})=>(t.locale??U())===`fr`?uB(e):dB(e)),pB=()=>`Accès total (superset) : gère les utilisateurs, rôles, agents, instances et l’observabilité.`,mB=()=>`Full access (superset): manages users, roles, agents, instances and observability.`,hB=((e={},t={})=>(t.locale??U())===`fr`?pB(e):mB(e)),gB=()=>`Compte de service en LECTURE SEULE pour superviser : voit les traces, KPI, anomalies et l’état du bridge/version via l’API. Ne peut rien écrire ni déclencher.`,_B=()=>`READ-ONLY service account for monitoring: views traces, KPIs, anomalies and bridge/version status through the API. Cannot write or trigger anything.`,vB=((e={},t={})=>(t.locale??U())===`fr`?gB(e):_B(e)),yB=()=>`Compte de service pour un agent OpenClaw lui-même : tout ce que voit l’observateur, PLUS interroger OpenClaw et SIGNALER des anomalies (écriture — ex. heartbeat / auto-réparation). À utiliser pour un agent automatisé, pas pour un humain qui consulte les tableaux de bord.`,bB=()=>`Service account for an OpenClaw agent itself: the observer's read access PLUS querying OpenClaw and REPORTING anomalies (write — e.g. heartbeat / self-repair). Use it for an automated agent, not a human watching dashboards.`,xB=((e={},t={})=>(t.locale??U())===`fr`?yB(e):bB(e)),SB=()=>`Accordé via « * » (toutes les permissions)`,CB=()=>`Granted via “*” (all permissions)`,wB=((e={},t={})=>(t.locale??U())===`fr`?SB(e):CB(e)),TB=()=>`Écriture en cours…`,EB=()=>`Writing…`,DB=((e={},t={})=>(t.locale??U())===`fr`?TB(e):EB(e)),OB=()=>`Nouveau rôle`,kB=()=>`New role`,AB=((e={},t={})=>(t.locale??U())===`fr`?OB(e):kB(e)),jB=()=>`Rôle personnalisé. Ajustez les permissions dans la matrice après création.`,MB=()=>`Custom role. Adjust the permissions in the matrix after creation.`,NB=((e={},t={})=>(t.locale??U())===`fr`?jB(e):MB(e)),PB=()=>`Créer`,FB=()=>`Create`,IB=((e={},t={})=>(t.locale??U())===`fr`?PB(e):FB(e)),LB=()=>`Clé (identifiant stable)`,RB=()=>`Key (stable identifier)`,zB=((e={},t={})=>(t.locale??U())===`fr`?LB(e):RB(e)),BB=()=>`ex. analyst`,VB=()=>`e.g. analyst`,HB=((e={},t={})=>(t.locale??U())===`fr`?BB(e):VB(e)),UB=()=>`Nom affiché`,WB=()=>`Display name`,GB=((e={},t={})=>(t.locale??U())===`fr`?UB(e):WB(e)),KB=()=>`Description (optionnel)`,qB=()=>`Description (optional)`,JB=((e={},t={})=>(t.locale??U())===`fr`?KB(e):qB(e)),YB=()=>`Ouvertes`,XB=()=>`Open`,ZB=((e={},t={})=>(t.locale??U())===`fr`?YB(e):XB(e)),QB=()=>`En sourdine`,$B=()=>`Muted`,eV=((e={},t={})=>(t.locale??U())===`fr`?QB(e):$B(e)),tV=()=>`Résolues`,nV=()=>`Resolved`,rV=((e={},t={})=>(t.locale??U())===`fr`?tV(e):nV(e)),iV=()=>`Résoudre cette anomalie ?`,aV=()=>`Resolve this anomaly?`,oV=((e={},t={})=>(t.locale??U())===`fr`?iV(e):aV(e)),sV=()=>`L’anomalie`,cV=()=>`The anomaly`,lV=((e={},t={})=>(t.locale??U())===`fr`?sV(e):cV(e)),uV=()=>`sera marquée comme`,dV=()=>`will be marked as`,fV=((e={},t={})=>(t.locale??U())===`fr`?uV(e):dV(e)),pV=()=>`résolue`,mV=()=>`resolved`,hV=((e={},t={})=>(t.locale??U())===`fr`?pV(e):mV(e)),gV=()=>`Elle sortira du décompte des anomalies ouvertes (signal de self-repair OpenClaw).`,_V=()=>`It will be removed from the open anomalies count (OpenClaw self-repair signal).`,vV=((e={},t={})=>(t.locale??U())===`fr`?gV(e):_V(e)),yV=()=>`Résoudre`,bV=()=>`Resolve`,xV=((e={},t={})=>(t.locale??U())===`fr`?yV(e):bV(e)),SV=()=>`Anomalie résolue`,CV=()=>`Anomaly resolved`,wV=((e={},t={})=>(t.locale??U())===`fr`?SV(e):CV(e)),TV=()=>`Échec de la résolution`,EV=()=>`Resolution failed`,DV=((e={},t={})=>(t.locale??U())===`fr`?TV(e):EV(e)),OV=()=>`Anomalie acquittée`,kV=()=>`Anomaly acknowledged`,AV=((e={},t={})=>(t.locale??U())===`fr`?OV(e):kV(e)),jV=()=>`Échec de l’acquittement`,MV=()=>`Acknowledgement failed`,NV=((e={},t={})=>(t.locale??U())===`fr`?jV(e):MV(e)),PV=()=>`Anomalies détectées (cron) ou signalées par les agents OpenClaw. Données non-PHI uniquement (type, sévérité, message, corrélation).`,FV=()=>`Anomalies detected (cron) or reported by OpenClaw agents. Non-PHI data only (type, severity, message, correlation).`,IV=((e={},t={})=>(t.locale??U())===`fr`?PV(e):FV(e)),LV=()=>`Ouverte`,RV=()=>`Open`,zV=((e={},t={})=>(t.locale??U())===`fr`?LV(e):RV(e)),BV=()=>`= active, elle alerte et compte dans le heartbeat.`,VV=()=>`= active, it alerts and counts in the heartbeat.`,HV=((e={},t={})=>(t.locale??U())===`fr`?BV(e):VV(e)),UV=()=>`En sourdine`,WV=()=>`Muted`,GV=((e={},t={})=>(t.locale??U())===`fr`?UV(e):WV(e)),KV=()=>`= vue, plus d'alerte, mais pas forcément corrigée (les admins sont notifiés des nouvelles anomalies).`,qV=()=>`= seen, no more alerts, but not necessarily fixed (admins are notified of new anomalies).`,JV=((e={},t={})=>(t.locale??U())===`fr`?KV(e):qV(e)),YV=()=>`Résolue`,XV=()=>`Resolved`,ZV=((e={},t={})=>(t.locale??U())===`fr`?YV(e):XV(e)),QV=()=>`= le problème est réglé (le détecteur résout automatiquement quand la condition cesse). Les deux la sortent du décompte heartbeat.`,$V=()=>`= the problem is fixed (the detector resolves automatically when the condition clears). Both remove it from the heartbeat count.`,eH=((e={},t={})=>(t.locale??U())===`fr`?QV(e):$V(e)),tH=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,nH=()=>`The time range filters the recent window — an earlier range may be partial.`,rH=((e={},t={})=>(t.locale??U())===`fr`?tH(e):nH(e)),iH=()=>`Rechercher (message, type, corrélation)`,aH=()=>`Search (message, type, correlation)`,oH=((e={},t={})=>(t.locale??U())===`fr`?iH(e):aH(e)),sH=()=>`Tous les statuts`,cH=()=>`All statuses`,lH=((e={},t={})=>(t.locale??U())===`fr`?sH(e):cH(e)),uH=()=>`Sévérité`,dH=()=>`Severity`,fH=((e={},t={})=>(t.locale??U())===`fr`?uH(e):dH(e)),pH=()=>`Toutes sévérités`,mH=()=>`All severities`,hH=((e={},t={})=>(t.locale??U())===`fr`?pH(e):mH(e)),gH=()=>`Source`,_H=()=>`Source`,vH=((e={},t={})=>(t.locale??U())===`fr`?gH(e):_H(e)),yH=()=>`Toutes sources`,bH=()=>`All sources`,xH=((e={},t={})=>(t.locale??U())===`fr`?yH(e):bH(e)),SH=()=>`Type`,CH=()=>`Type`,wH=((e={},t={})=>(t.locale??U())===`fr`?SH(e):CH(e)),TH=()=>`Tous les types`,EH=()=>`All types`,DH=((e={},t={})=>(t.locale??U())===`fr`?TH(e):EH(e)),OH=()=>`Anomalies`,kH=()=>`Anomalies`,AH=((e={},t={})=>(t.locale??U())===`fr`?OH(e):kH(e)),jH=()=>`Aucune anomalie ouverte. 🎉`,MH=()=>`No open anomalies. 🎉`,NH=((e={},t={})=>(t.locale??U())===`fr`?jH(e):MH(e)),PH=()=>`Aucune anomalie enregistrée.`,FH=()=>`No anomalies recorded.`,IH=((e={},t={})=>(t.locale??U())===`fr`?PH(e):FH(e)),LH=()=>`Résoudre (corrigé)`,RH=()=>`Resolve (fixed)`,zH=((e={},t={})=>(t.locale??U())===`fr`?LH(e):RH(e)),BH=()=>`Marquer comme vue (sourdine)`,VH=()=>`Mark as seen (mute)`,HH=((e={},t={})=>(t.locale??U())===`fr`?BH(e):VH(e)),UH=()=>`Quand`,WH=()=>`When`,GH=((e={},t={})=>(t.locale??U())===`fr`?UH(e):WH(e)),KH=()=>`Statut`,qH=()=>`Status`,JH=((e={},t={})=>(t.locale??U())===`fr`?KH(e):qH(e)),YH=()=>`Message`,XH=()=>`Message`,ZH=((e={},t={})=>(t.locale??U())===`fr`?YH(e):XH(e)),QH=()=>`Cause & correctif`,$H=()=>`Cause & fix`,eU=((e={},t={})=>(t.locale??U())===`fr`?QH(e):$H(e)),tU=()=>`Corrélation`,nU=()=>`Correlation`,rU=((e={},t={})=>(t.locale??U())===`fr`?tU(e):nU(e)),iU=()=>`Voir la trace`,aU=()=>`View trace`,oU=((e={},t={})=>(t.locale??U())===`fr`?iU(e):aU(e)),sU=()=>`ouverte`,cU=()=>`open`,lU=((e={},t={})=>(t.locale??U())===`fr`?sU(e):cU(e)),uU=()=>`en sourdine`,dU=()=>`muted`,fU=((e={},t={})=>(t.locale??U())===`fr`?uU(e):dU(e)),pU=()=>`résolue`,mU=()=>`resolved`,hU=((e={},t={})=>(t.locale??U())===`fr`?pU(e):mU(e)),gU=()=>`Réponse incorrecte`,_U=()=>`Incorrect response`,vU=((e={},t={})=>(t.locale??U())===`fr`?gU(e):_U(e)),yU=()=>`Incohérence`,bU=()=>`Inconsistency`,xU=((e={},t={})=>(t.locale??U())===`fr`?yU(e):bU(e)),SU=()=>`Mots / orthographe erronés`,CU=()=>`Wrong words / spelling`,wU=((e={},t={})=>(t.locale??U())===`fr`?SU(e):CU(e)),TU=()=>`Formatage`,EU=()=>`Formatting`,DU=((e={},t={})=>(t.locale??U())===`fr`?TU(e):EU(e)),OU=()=>`Latence`,kU=()=>`Latency`,AU=((e={},t={})=>(t.locale??U())===`fr`?OU(e):kU(e)),jU=()=>`Erreur API`,MU=()=>`API error`,NU=((e={},t={})=>(t.locale??U())===`fr`?jU(e):MU(e)),PU=()=>`Autre`,FU=()=>`Other`,IU=((e={},t={})=>(t.locale??U())===`fr`?PU(e):FU(e)),LU=()=>`Mots modifiés à l'envoi`,RU=()=>`Words altered on send`,zU=((e={},t={})=>(t.locale??U())===`fr`?LU(e):RU(e)),BU=()=>`Caractères / mise en forme altérés`,VU=()=>`Characters / formatting altered`,HU=((e={},t={})=>(t.locale??U())===`fr`?BU(e):VU(e)),UU=()=>`Signaler un problème`,WU=()=>`Report an issue`,GU=((e={},t={})=>(t.locale??U())===`fr`?UU(e):WU(e)),KU=()=>`Merci. Un instantané complet de ce message a été figé pour analyse.`,qU=()=>`Thank you. A complete snapshot of this message has been frozen for analysis.`,JU=((e={},t={})=>(t.locale??U())===`fr`?KU(e):qU(e)),YU=()=>`Signalez un problème avec votre message tel qu'il a été envoyé. Un instantané forensique exact est enregistré.`,XU=()=>`Report an issue with your message as it was sent. An exact forensic snapshot is recorded.`,ZU=((e={},t={})=>(t.locale??U())===`fr`?YU(e):XU(e)),QU=()=>`Signalez un problème avec cette réponse. Un instantané forensique exact est enregistré au moment de l'envoi.`,$U=()=>`Report an issue with this response. An exact forensic snapshot is recorded at send time.`,eW=((e={},t={})=>(t.locale??U())===`fr`?QU(e):$U(e)),tW=()=>`✓ Le texte affiché (vue source) correspond exactement, caractère pour caractère, au texte stocké côté serveur. La comparaison est figée comme preuve.`,nW=()=>`✓ The displayed text (source view) matches exactly, character for character, the text stored on the server. The comparison is frozen as evidence.`,rW=((e={},t={})=>(t.locale??U())===`fr`?tW(e):nW(e)),iW=()=>`⚠ Écart détecté entre le texte affiché (vue source) et le texte stocké. L'instantané a figé les deux versions.`,aW=()=>`⚠ Discrepancy detected between the displayed text (source view) and the stored text. The snapshot has frozen both versions.`,oW=((e={},t={})=>(t.locale??U())===`fr`?iW(e):aW(e)),sW=()=>`Instantané enregistré. Pour vérifier que l'affichage n'altère aucun caractère, ouvrez la vue source (</>) sur ce message puis signalez à nouveau : la comparaison portera alors sur le texte réellement affiché par le navigateur.`,cW=()=>`Snapshot recorded. To verify that the display does not alter any character, open the source view (</>) on this message then report again: the comparison will then be on the text actually rendered by the browser.`,lW=((e={},t={})=>(t.locale??U())===`fr`?sW(e):cW(e)),uW=()=>`Catégorie`,dW=()=>`Category`,fW=((e={},t={})=>(t.locale??U())===`fr`?uW(e):dW(e)),pW=()=>`Choisir une catégorie`,mW=()=>`Choose a category`,hW=((e={},t={})=>(t.locale??U())===`fr`?pW(e):mW(e)),gW=()=>`Commentaire`,_W=()=>`Comment`,vW=((e={},t={})=>(t.locale??U())===`fr`?gW(e):_W(e)),yW=()=>`Décrivez le problème…`,bW=()=>`Describe the issue…`,xW=((e={},t={})=>(t.locale??U())===`fr`?yW(e):bW(e)),SW=()=>`Fermer`,CW=()=>`Close`,wW=((e={},t={})=>(t.locale??U())===`fr`?SW(e):CW(e)),TW=()=>`Annuler`,EW=()=>`Cancel`,DW=((e={},t={})=>(t.locale??U())===`fr`?TW(e):EW(e)),OW=()=>`Envoi…`,kW=()=>`Sending…`,AW=((e={},t={})=>(t.locale??U())===`fr`?OW(e):kW(e)),jW=()=>`Envoyer`,MW=()=>`Send`,NW=((e={},t={})=>(t.locale??U())===`fr`?jW(e):MW(e)),PW=()=>`Problème signalé`,FW=()=>`Issue reported`,IW=((e={},t={})=>(t.locale??U())===`fr`?PW(e):FW(e)),LW=()=>`Signaler un problème`,RW=()=>`Report an issue`,zW=((e={},t={})=>(t.locale??U())===`fr`?LW(e):RW(e)),BW=()=>`Signaler un problème avec ce message`,VW=()=>`Report an issue with this message`,HW=((e={},t={})=>(t.locale??U())===`fr`?BW(e):VW(e)),UW=()=>`Événements récents (fenêtre bornée, plus récents d’abord). Toutes les traces sont des métadonnées `,WW=()=>`Recent events (bounded window, newest first). All traces are redacted metadata `,GW=((e={},t={})=>(t.locale??U())===`fr`?UW(e):WW(e)),KW=()=>`expurgées`,qW=()=>`redacted`,JW=((e={},t={})=>(t.locale??U())===`fr`?KW(e):qW(e)),YW=()=>` : aucun contenu de message, pièce jointe ou jeton n’est stocké — uniquement des longueurs, codes et indicateurs.`,XW=()=>`: no message content, attachment or token is stored — only lengths, codes and flags.`,ZW=((e={},t={})=>(t.locale??U())===`fr`?YW(e):XW(e)),QW=()=>`La plage temporelle filtre la fenêtre récente — une plage antérieure peut être partielle.`,$W=()=>`The time range filters the recent window — an older range may be partial.`,eG=((e={},t={})=>(t.locale??U())===`fr`?QW(e):$W(e)),tG=()=>`Rechercher (kind, principal, rôle, route, correlationId)`,nG=()=>`Search (kind, principal, role, route, correlationId)`,rG=((e={},t={})=>(t.locale??U())===`fr`?tG(e):nG(e)),iG=()=>`Statut`,aG=()=>`Status`,oG=((e={},t={})=>(t.locale??U())===`fr`?iG(e):aG(e)),sG=()=>`Tous statuts`,cG=()=>`All statuses`,lG=((e={},t={})=>(t.locale??U())===`fr`?sG(e):cG(e)),uG=()=>`Principal`,dG=()=>`Principal`,fG=((e={},t={})=>(t.locale??U())===`fr`?uG(e):dG(e)),pG=()=>`Tous principaux`,mG=()=>`All principals`,hG=((e={},t={})=>(t.locale??U())===`fr`?pG(e):mG(e)),gG=()=>`Direction`,_G=()=>`Direction`,vG=((e={},t={})=>(t.locale??U())===`fr`?gG(e):_G(e)),yG=()=>`Toutes directions`,bG=()=>`All directions`,xG=((e={},t={})=>(t.locale??U())===`fr`?yG(e):bG(e)),SG=()=>`Rôle`,CG=()=>`Role`,wG=((e={},t={})=>(t.locale??U())===`fr`?SG(e):CG(e)),TG=()=>`Tous les rôles`,EG=()=>`All roles`,DG=((e={},t={})=>(t.locale??U())===`fr`?TG(e):EG(e)),OG=()=>`Tous les kinds`,kG=()=>`All kinds`,AG=((e={},t={})=>(t.locale??U())===`fr`?OG(e):kG(e)),jG=()=>`tous les kinds`,MG=()=>`all kinds`,NG=((e={},t={})=>(t.locale??U())===`fr`?jG(e):MG(e)),PG=e=>`${e?.count} lignes`,FG=e=>`${e?.count} rows`,IG=((e,t={})=>(t.locale??U())===`fr`?PG(e):FG(e)),LG=()=>`Effacer le filtre de corrélation`,RG=()=>`Clear correlation filter`,zG=((e={},t={})=>(t.locale??U())===`fr`?LG(e):RG(e)),BG=()=>`filtre: correlationId=`,VG=()=>`filter: correlationId=`,HG=((e={},t={})=>(t.locale??U())===`fr`?BG(e):VG(e)),UG=()=>`Effacer`,WG=()=>`Clear`,GG=((e={},t={})=>(t.locale??U())===`fr`?UG(e):WG(e)),KG=()=>`Traces`,qG=()=>`Traces`,JG=((e={},t={})=>(t.locale??U())===`fr`?KG(e):qG(e)),YG=()=>`Aucun événement pour cette corrélation dans la fenêtre.`,XG=()=>`No event for this correlation in the window.`,ZG=((e={},t={})=>(t.locale??U())===`fr`?YG(e):XG(e)),QG=()=>`Aucun événement tracé pour l’instant.`,$G=()=>`No traced event yet.`,eK=((e={},t={})=>(t.locale??U())===`fr`?QG(e):$G(e)),tK=()=>`Quand`,nK=()=>`When`,rK=((e={},t={})=>(t.locale??U())===`fr`?tK(e):nK(e)),iK=()=>`Kind`,aK=()=>`Kind`,oK=((e={},t={})=>(t.locale??U())===`fr`?iK(e):aK(e)),sK=()=>`Résultat`,cK=()=>`Result`,lK=((e={},t={})=>(t.locale??U())===`fr`?sK(e):cK(e)),uK=()=>`ok`,dK=()=>`ok`,fK=((e={},t={})=>(t.locale??U())===`fr`?uK(e):dK(e)),pK=()=>`Direction`,mK=()=>`Direction`,hK=((e={},t={})=>(t.locale??U())===`fr`?pK(e):mK(e)),gK=()=>`Principal`,_K=()=>`Principal`,vK=((e={},t={})=>(t.locale??U())===`fr`?gK(e):_K(e)),yK=()=>`Rôle`,bK=()=>`Role`,xK=((e={},t={})=>(t.locale??U())===`fr`?yK(e):bK(e)),SK=()=>`Route`,CK=()=>`Route`,wK=((e={},t={})=>(t.locale??U())===`fr`?SK(e):CK(e)),TK=()=>`Statut`,EK=()=>`Status`,DK=((e={},t={})=>(t.locale??U())===`fr`?TK(e):EK(e)),OK=()=>`Latence`,kK=()=>`Latency`,AK=((e={},t={})=>(t.locale??U())===`fr`?OK(e):kK(e)),jK=()=>`Corrélation`,MK=()=>`Correlation`,NK=((e={},t={})=>(t.locale??U())===`fr`?jK(e):MK(e)),PK=()=>`Suivre ce tour (filtrer par correlationId)`,FK=()=>`Follow this turn (filter by correlationId)`,IK=((e={},t={})=>(t.locale??U())===`fr`?PK(e):FK(e)),LK=()=>`Meta`,RK=()=>`Meta`,zK=((e={},t={})=>(t.locale??U())===`fr`?LK(e):RK(e)),BK=()=>`Voir`,VK=()=>`View`,HK=((e={},t={})=>(t.locale??U())===`fr`?BK(e):VK(e)),UK=()=>`Meta ·`,WK=()=>`Meta ·`,GK=((e={},t={})=>(t.locale??U())===`fr`?UK(e):WK(e)),KK=()=>`expurgé`,qK=()=>`redacted`,JK=((e={},t={})=>(t.locale??U())===`fr`?KK(e):qK(e)),YK=()=>`Métadonnées non-PHI uniquement (longueurs, codes, indicateurs). Aucun contenu de message n’est stocké.`,XK=()=>`Non-PHI metadata only (lengths, codes, flags). No message content is stored.`,ZK=((e={},t={})=>(t.locale??U())===`fr`?YK(e):XK(e)),QK=()=>`Chargement…`,$K=()=>`Loading…`,eq=((e={},t={})=>(t.locale??U())===`fr`?QK(e):$K(e)),tq=()=>`Connexion refusée. Le domaine de ce compte n’est pas autorisé.`,nq=()=>`Sign-in refused. This account’s email domain is not allowed.`,rq=((e={},t={})=>(t.locale??U())===`fr`?tq(e):nq(e)),iq=()=>`Bon retour`,aq=()=>`Welcome back`,oq=((e={},t={})=>(t.locale??U())===`fr`?iq(e):aq(e)),sq=()=>`Connectez-vous pour continuer`,cq=()=>`Sign in to continue`,lq=((e={},t={})=>(t.locale??U())===`fr`?sq(e):cq(e)),uq=()=>`Se connecter avec Google`,dq=()=>`Sign in with Google`,fq=((e={},t={})=>(t.locale??U())===`fr`?uq(e):dq(e)),pq=()=>`Aucun mode de connexion configuré.`,mq=()=>`No sign-in method configured.`,hq=((e={},t={})=>(t.locale??U())===`fr`?pq(e):mq(e)),gq=()=>`Continuer (dev, sans compte)`,_q=()=>`Continue (dev, no account)`,vq=((e={},t={})=>(t.locale??U())===`fr`?gq(e):_q(e)),yq=()=>`Compte`,bq=()=>`Account`,xq=((e={},t={})=>(t.locale??U())===`fr`?yq(e):bq(e)),Sq=()=>`En attente d’approbation`,Cq=()=>`Awaiting approval`,wq=((e={},t={})=>(t.locale??U())===`fr`?Sq(e):Cq(e)),Tq=()=>`Ton compte est créé mais doit être approuvé par un administrateur avant d’accéder au chat.`,Eq=()=>`Your account has been created but must be approved by an administrator before you can access the chat.`,Dq=((e={},t={})=>(t.locale??U())===`fr`?Tq(e):Eq(e)),Oq=()=>`Vous explorez l’application en tant que`,kq=()=>`You are exploring the application as`,Aq=((e={},t={})=>(t.locale??U())===`fr`?Oq(e):kq(e)),jq=()=>`. Toute action est exécutée et tracée en votre nom (`,Mq=()=>`. Every action is executed and traced in your name (`,Nq=((e={},t={})=>(t.locale??U())===`fr`?jq(e):Mq(e)),Pq=()=>`).`,Fq=()=>`).`,Iq=((e={},t={})=>(t.locale??U())===`fr`?Pq(e):Fq(e)),Lq=()=>`Quitter`,Rq=()=>`Exit`,zq=((e={},t={})=>(t.locale??U())===`fr`?Lq(e):Rq(e)),Bq=()=>`Afficher la barre latérale`,Vq=()=>`Show sidebar`,Hq=((e={},t={})=>(t.locale??U())===`fr`?Bq(e):Vq(e)),Uq=()=>`Réduire la barre latérale`,Wq=()=>`Collapse sidebar`,Gq=((e={},t={})=>(t.locale??U())===`fr`?Uq(e):Wq(e)),Kq=()=>`Paramètres`,qq=()=>`Settings`,Jq=((e={},t={})=>(t.locale??U())===`fr`?Kq(e):qq(e)),Yq=()=>`Redimensionner la barre latérale`,Xq=()=>`Resize sidebar`,Zq=((e={},t={})=>(t.locale??U())===`fr`?Yq(e):Xq(e)),Qq=()=>`Accès non autorisé`,$q=()=>`Access denied`,eJ=((e={},t={})=>(t.locale??U())===`fr`?Qq(e):$q(e)),tJ=()=>`Vous n’avez pas la permission de consulter cet onglet. Choisissez un onglet disponible dans le menu, ou contactez votre administrateur.`,nJ=()=>`You do not have permission to view this tab. Choose an available tab from the menu, or contact your administrator.`,rJ=((e={},t={})=>(t.locale??U())===`fr`?tJ(e):nJ(e)),iJ=()=>`Mise à jour de l’application…`,aJ=()=>`Updating the application…`,oJ=((e={},t={})=>(t.locale??U())===`fr`?iJ(e):aJ(e)),sJ=()=>`Une erreur est survenue`,cJ=()=>`Something went wrong`,lJ=((e={},t={})=>(t.locale??U())===`fr`?sJ(e):cJ(e)),uJ=()=>`Cette page n’a pas pu être affichée. Réessayez, ou revenez à l’accueil. Si le problème persiste, contactez votre administrateur.`,dJ=()=>`This page could not be displayed. Try again, or return home. If the problem persists, contact your administrator.`,fJ=((e={},t={})=>(t.locale??U())===`fr`?uJ(e):dJ(e)),pJ=()=>`Réessayer`,mJ=()=>`Retry`,hJ=((e={},t={})=>(t.locale??U())===`fr`?pJ(e):mJ(e)),gJ=()=>`Accueil`,_J=()=>`Home`,vJ=((e={},t={})=>(t.locale??U())===`fr`?gJ(e):_J(e)),yJ=()=>`Page introuvable`,bJ=()=>`Page not found`,xJ=((e={},t={})=>(t.locale??U())===`fr`?yJ(e):bJ(e)),SJ=()=>`Cette adresse ne correspond à aucune page de l’application.`,CJ=()=>`This address does not match any page in the application.`,wJ=((e={},t={})=>(t.locale??U())===`fr`?SJ(e):CJ(e)),TJ=e=>`Agents de ${e?.user}`,EJ=e=>`${e?.user}'s agents`,DJ=((e,t={})=>(t.locale??U())===`fr`?TJ(e):EJ(e)),OJ=()=>`Associez les agents découverts (par instance) et désignez l'agent par défaut. Au moins un agent est requis pour créer des conversations.`,kJ=()=>`Assign the discovered agents (per instance) and designate the default agent. At least one agent is required to create conversations.`,AJ=((e={},t={})=>(t.locale??U())===`fr`?OJ(e):kJ(e)),jJ=()=>`Agents des groupes du membre. Cochez pour restreindre à une sélection ; sans coche, le membre voit tous ces agents.`,MJ=()=>`The member's group agents. Check to restrict to a selection; with none checked, the member sees all of them.`,NJ=((e={},t={})=>(t.locale??U())===`fr`?jJ(e):MJ(e)),PJ=()=>`Le membre n'appartient à aucun groupe : il voit tous les agents. Cochez pour restreindre à une sélection.`,FJ=()=>`The member belongs to no group, so they see every agent. Check to restrict to a selection.`,IJ=((e={},t={})=>(t.locale??U())===`fr`?PJ(e):FJ(e)),LJ=()=>`Chargement…`,RJ=()=>`Loading…`,zJ=((e={},t={})=>(t.locale??U())===`fr`?LJ(e):RJ(e)),BJ=()=>`Mise à jour de l'accès refusée`,VJ=()=>`Access update denied`,HJ=((e={},t={})=>(t.locale??U())===`fr`?BJ(e):VJ(e)),UJ=()=>`Définition de l'agent par défaut refusée`,WJ=()=>`Setting the default agent was denied`,GJ=((e={},t={})=>(t.locale??U())===`fr`?UJ(e):WJ(e)),KJ=()=>`Aucun agent découvert.`,qJ=()=>`No agent discovered.`,JJ=((e={},t={})=>(t.locale??U())===`fr`?KJ(e):qJ(e)),YJ=e=>`Assigner ${e?.name}`,XJ=e=>`Assign ${e?.name}`,ZJ=((e,t={})=>(t.locale??U())===`fr`?YJ(e):XJ(e)),QJ=()=>`supprimé`,$J=()=>`removed`,eY=((e={},t={})=>(t.locale??U())===`fr`?QJ(e):$J(e)),tY=()=>`hors groupe`,nY=()=>`outside group`,rY=((e={},t={})=>(t.locale??U())===`fr`?tY(e):nY(e)),iY=()=>`Agent par défaut`,aY=()=>`Default agent`,oY=((e={},t={})=>(t.locale??U())===`fr`?iY(e):aY(e)),sY=()=>`Définir comme agent par défaut`,cY=()=>`Set as default agent`,lY=((e={},t={})=>(t.locale??U())===`fr`?sY(e):cY(e)),uY=e=>`Configurer l'instance « ${e?.instance} »`,dY=e=>`Configure instance « ${e?.instance} »`,fY=((e,t={})=>(t.locale??U())===`fr`?uY(e):dY(e)),pY=()=>`Config non-secrète du bridge, appliquée à chaud au message suivant (sans redémarrage). Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,mY=()=>`Non-secret bridge config, applied hot on the next message (no restart). Secrets (tokens, device identity) live in the bridge environment, never here.`,hY=((e={},t={})=>(t.locale??U())===`fr`?pY(e):mY(e)),gY=()=>`Aucune instance — ajoutez-en une dans Agents › Instances d’abord.`,_Y=()=>`No instances yet — add one under Agents › Instances first.`,vY=((e={},t={})=>(t.locale??U())===`fr`?gY(e):_Y(e)),yY=()=>`Mode média sortant`,bY=()=>`Outbound media mode`,xY=((e={},t={})=>(t.locale??U())===`fr`?yY(e):bY(e)),SY=()=>`Mode média entrant`,CY=()=>`Inbound media mode`,wY=((e={},t={})=>(t.locale??U())===`fr`?SY(e):CY(e)),TY=()=>`Taille média max (Mo)`,EY=()=>`Max media size (MB)`,DY=((e={},t={})=>(t.locale??U())===`fr`?TY(e):EY(e)),OY=()=>`Ré-hydratation de session`,kY=()=>`Session re-hydration`,AY=((e={},t={})=>(t.locale??U())===`fr`?OY(e):kY(e)),jY=()=>`Enregistrer`,MY=()=>`Save`,NY=((e={},t={})=>(t.locale??U())===`fr`?jY(e):MY(e)),PY=()=>`Impossible d’enregistrer la configuration`,FY=()=>`Could not save the configuration`,IY=((e={},t={})=>(t.locale??U())===`fr`?PY(e):FY(e)),LY=()=>`Comment le bridge récupère les fichiers SORTANTS (générés par l’agent) pour les héberger : gateway-http (via HTTP depuis la gateway — aucun système de fichiers partagé requis, défaut portable), shared-fs (lit un volume partagé monté), ou off (aucune pièce jointe sortante).`,RY=()=>`How the bridge fetches OUTBOUND (agent-generated) files to host them: gateway-http (over HTTP from the gateway — no shared filesystem needed, the portable default), shared-fs (read a mounted shared volume), or off (no outbound attachments).`,zY=((e={},t={})=>(t.locale??U())===`fr`?LY(e):RY(e)),BY=()=>`Comment les fichiers téléversés atteignent l’agent : inline (base64 dans la trame du chat — plafonné par la taille de trame de la gateway), ou shared-fs (streamé vers un volume partagé et référencé par chemin — toute taille, pour les grosses vidéos/audio/docs).`,VY=()=>`How user-uploaded files reach the agent: inline (base64 in the chat frame — capped by the gateway frame size), or shared-fs (streamed to a shared volume and referenced by path — any size, for large videos/audio/docs).`,HY=((e={},t={})=>(t.locale??U())===`fr`?BY(e):VY(e)),UY=()=>`Transport du flux live`,WY=()=>`Live-stream transport`,GY=((e={},t={})=>(t.locale??U())===`fr`?UY(e):WY(e)),KY=()=>`Comment le navigateur reçoit la réponse en direct pour les chats de cette instance (frontend↔Convex — pas un réglage du bridge) : reactive (push natif de Convex — meilleure concurrence, le défaut) ou sse (Server-Sent-Events / streamable-HTTP standard — multi-device, mais sur Convex Cloud managé chaque stream occupe un slot d’action concurrente, plafonné à 64/512).`,qY=()=>`How the browser receives the live reply for this instance's chats (frontend↔Convex — not a bridge setting): reactive (Convex's native push — best concurrency, the default) or sse (standard Server-Sent-Events / streamable-HTTP — multi-device, but on managed Convex Cloud each stream holds a concurrent-action slot, capped at 64/512).`,JY=((e={},t={})=>(t.locale??U())===`fr`?KY(e):qY(e)),YY=()=>`Plafond de taille par fichier (Mo). En mode shared-fs il peut être élevé (les fichiers sont streamés sur disque) ; pour l’inline, la vraie limite est la taille de trame de la gateway.`,XY=()=>`Per-file size cap (MB). In shared-fs mode this can be large (files stream to disk); for inline files the gateway frame size is the real limit.`,ZY=((e={},t={})=>(t.locale??U())===`fr`?YY(e):XY(e)),QY=()=>`Sur une session gateway fraîche/réinitialisée, renvoie les tours précédents pour que le contexte du modèle corresponde au fil visible. Désactiver pour n’envoyer que le message courant.`,$Y=()=>`On a fresh/rolled gateway session, re-send prior turns so the model's context matches the visible thread. Disable to always send only the current message.`,eX=((e={},t={})=>(t.locale??U())===`fr`?QY(e):$Y(e)),tX=()=>`Injections de prompt`,nX=()=>`Prompt injections`,rX=((e={},t={})=>(t.locale??U())===`fr`?tX(e):nX(e)),iX=()=>`Atrium ajoute quelques instructions à chaque tour envoyé au gateway pour que les fonctionnalités marchent d’emblée. Si votre gateway instruit déjà les agents, désactivez-les ou personnalisez-les ici pour ne pas surcharger inutilement le contexte du tour.`,aX=()=>`Atrium splices a few standing instructions into each gateway turn so features work out of the box. If your gateway already instructs the agents, disable or customize them here so the turn's context isn't bloated for nothing.`,oX=((e={},t={})=>(t.locale??U())===`fr`?iX(e):aX(e)),sX=()=>`Réinitialiser`,cX=()=>`Reset to default`,lX=((e={},t={})=>(t.locale??U())===`fr`?sX(e):cX(e)),uX=()=>`personnalisée`,dX=()=>`customized`,fX=((e={},t={})=>(t.locale??U())===`fr`?uX(e):dX(e)),pX=()=>`Placeholders (à conserver dans votre texte) :`,mX=()=>`Placeholders (keep them in your text):`,hX=((e={},t={})=>(t.locale??U())===`fr`?pX(e):mX(e)),gX=()=>`Livraison de fichier (MEDIA:)`,_X=()=>`File delivery (MEDIA:)`,vX=((e={},t={})=>(t.locale??U())===`fr`?gX(e):_X(e)),yX=()=>`Indique à l’agent comment rendre un fichier généré téléchargeable dans ce webchat : l’écrire dans le dossier outbound, puis émettre une ligne MEDIA:<chemin>. À désactiver UNIQUEMENT si vos agents savent déjà émettre MEDIA: — sinon les fichiers qu’ils génèrent ne seront pas téléchargeables. Le placeholder du dossier outbound (indiqué dessous) est rempli automatiquement.`,bX=()=>`Tells the agent how to make a generated file downloadable in this webchat: write it to the outbound dir, then emit a MEDIA:<path> line. Disable ONLY if your agents are already instructed to emit MEDIA: — otherwise files they generate won't be downloadable. The outbound-directory placeholder (shown below) is filled automatically.`,xX=((e={},t={})=>(t.locale??U())===`fr`?yX(e):bX(e)),SX=()=>`Brief de récupération documentaire`,CX=()=>`Documentary fetch brief`,wX=((e={},t={})=>(t.locale??U())===`fr`?SX(e):CX(e)),TX=()=>`Le brief envoyé à l’agent documentaire pour « Joindre les documents » : résoudre les références en fichiers et les livrer. Adaptez-le à la façon dont vos documents sont accessibles dans VOTRE environnement — c’est ce prompt qui fait réussir ou échouer la récupération. Désactivez pour n’envoyer QUE la liste brute des références (sans le cadre Atrium) — pour un gateway dont l’agent sait déjà récupérer les références qu’il reçoit. Le placeholder des références (indiqué dessous) est rempli avec les documents demandés.`,EX=()=>`The brief sent to the documentary agent for "Attach source documents": resolve the references to files and deliver them. Tailor it to how documents are reachable in YOUR environment — this is the prompt that makes or breaks the fetch. Disable to send ONLY the bare reference list (no Atrium framing) — for a gateway whose agent is already instructed to fetch references it receives. The references placeholder (shown below) is filled with the requested documents.`,DX=((e={},t={})=>(t.locale??U())===`fr`?TX(e):EX(e)),OX=()=>`Préambule des fichiers reçus`,kX=()=>`Received-files preamble`,AX=((e={},t={})=>(t.locale??U())===`fr`?OX(e):kX(e)),jX=()=>`L’en-tête montré à l’agent avant la liste des fichiers qu’un utilisateur a joints, pour qu’il les lise par chemin. À désactiver si vos agents savent déjà où sont rangés les fichiers reçus. Le placeholder de la liste (indiqué dessous) est rempli avec les fichiers.`,MX=()=>`The header shown to the agent before the list of files a user attached, so it can read them by path. Disable if your agents already know where received files are staged. The file-list placeholder (shown below) is filled with the staged files.`,NX=((e={},t={})=>(t.locale??U())===`fr`?jX(e):MX(e)),PX=()=>`Instance :`,FX=()=>`Instance:`,IX=((e={},t={})=>(t.locale??U())===`fr`?PX(e):FX(e)),LX=()=>`Aucune instance pour l’instant. Ajoutez-en une dans l’onglet Instances.`,RX=()=>`No instance yet. Add one in the Instances tab first.`,zX=((e={},t={})=>(t.locale??U())===`fr`?LX(e):RX(e)),BX=()=>`Aperçu`,VX=()=>`Preview`,HX=((e={},t={})=>(t.locale??U())===`fr`?BX(e):VX(e)),UX=()=>`Masquer l’aperçu`,WX=()=>`Hide preview`,GX=((e={},t={})=>(t.locale??U())===`fr`?UX(e):WX(e)),KX=()=>`Placeholders remplis avec des exemples — ce que l’agent reçoit.`,qX=()=>`Placeholders filled with example values — what the agent receives.`,JX=((e={},t={})=>(t.locale??U())===`fr`?KX(e):qX(e)),YX=()=>`Désactivée — rien n’est injecté dans le message de l’agent.`,XX=()=>`Disabled — nothing is injected into the agent's message.`,ZX=((e={},t={})=>(t.locale??U())===`fr`?YX(e):XX(e)),QX=()=>`Le dossier outbound de l’agent — où il doit écrire un fichier généré pour que le bridge le serve en téléchargement.`,$X=()=>`The agent's outbound directory — where it must write a generated file so the bridge can host it as a download.`,eZ=((e={},t={})=>(t.locale??U())===`fr`?QX(e):$X(e)),tZ=()=>`La liste des références de documents demandées (une par ligne) — ce que l’agent documentaire doit résoudre en fichiers.`,nZ=()=>`The list of requested document references (one per line) — what the documentary agent must resolve to files.`,rZ=((e={},t={})=>(t.locale??U())===`fr`?tZ(e):nZ(e)),iZ=()=>`La liste des fichiers joints par l’utilisateur, avec leurs chemins (vus par l’agent) et tailles — ce que l’agent peut lire.`,aZ=()=>`The list of files the user attached, with their agent-visible paths and sizes — what the agent can read.`,oZ=((e={},t={})=>(t.locale??U())===`fr`?iZ(e):aZ(e)),sZ=()=>`Injections de prompt`,cZ=()=>`Prompt injections`,lZ=((e={},t={})=>(t.locale??U())===`fr`?sZ(e):cZ(e)),uZ=()=>`Chemin entrant (vu par l’agent)`,dZ=()=>`Inbound path (agent view)`,fZ=((e={},t={})=>(t.locale??U())===`fr`?uZ(e):dZ(e)),pZ=()=>`Le chemin DANS le conteneur de la gateway où l’agent LIT les fichiers entrants déposés — le montage du volume partagé côté gateway (ex. /home/node/.openclaw/media/inbound). Doit correspondre à ton montage de volume Docker.`,mZ=()=>`The path INSIDE the gateway container where the agent READS staged inbound files — the gateway's mount of the shared volume (e.g. /home/node/.openclaw/media/inbound). Must match your Docker volume mount.`,hZ=((e={},t={})=>(t.locale??U())===`fr`?pZ(e):mZ(e)),gZ=()=>`Chemin sortant (vu par l’agent)`,_Z=()=>`Outbound path (agent view)`,vZ=((e={},t={})=>(t.locale??U())===`fr`?gZ(e):_Z(e)),yZ=()=>`Le chemin DANS le conteneur de la gateway où l’agent ÉCRIT un fichier généré avant d’émettre MEDIA:<chemin> (ex. /home/node/.openclaw/media/outbound). Doit être accessible en écriture par l’agent dans le conteneur.`,bZ=()=>`The path INSIDE the gateway container where the agent WRITES a generated file before emitting MEDIA:<path> (e.g. /home/node/.openclaw/media/outbound). Must be writable by the agent in the container.`,xZ=((e={},t={})=>(t.locale??U())===`fr`?yZ(e):bZ(e)),SZ=()=>`Vérifier les chemins`,CZ=()=>`Check paths`,wZ=((e={},t={})=>(t.locale??U())===`fr`?SZ(e):CZ(e)),TZ=()=>`Vérification…`,EZ=()=>`Checking…`,DZ=((e={},t={})=>(t.locale??U())===`fr`?TZ(e):EZ(e)),OZ=()=>`Échec de la vérification des chemins`,kZ=()=>`Path check failed`,AZ=((e={},t={})=>(t.locale??U())===`fr`?OZ(e):kZ(e)),jZ=()=>`Vérifie l’accès du BRIDGE aux dossiers partagés. Le montage côté agent (dans le conteneur de la gateway) est à vérifier séparément.`,MZ=()=>`Checks the BRIDGE's access to the shared dirs. The agent-side mount (inside the gateway container) must be verified separately.`,NZ=((e={},t={})=>(t.locale??U())===`fr`?jZ(e):MZ(e)),PZ=()=>`Entrant (écriture bridge)`,FZ=()=>`Inbound (bridge write)`,IZ=((e={},t={})=>(t.locale??U())===`fr`?PZ(e):FZ(e)),LZ=()=>`Sortant (lecture bridge)`,RZ=()=>`Outbound (bridge read)`,zZ=((e={},t={})=>(t.locale??U())===`fr`?LZ(e):RZ(e)),BZ=()=>`Accessible`,VZ=()=>`Accessible`,HZ=((e={},t={})=>(t.locale??U())===`fr`?BZ(e):VZ(e)),UZ=()=>`Non concerné (pas shared-fs)`,WZ=()=>`Not applicable (not shared-fs)`,GZ=((e={},t={})=>(t.locale??U())===`fr`?UZ(e):WZ(e)),KZ=()=>`Bridge injoignable — vérification impossible`,qZ=()=>`Bridge unreachable — could not check`,JZ=((e={},t={})=>(t.locale??U())===`fr`?KZ(e):qZ(e)),YZ=e=>`Bridge joignable mais la vérification a échoué (${e?.reason})`,XZ=e=>`Bridge reachable but the check failed (${e?.reason})`,ZZ=((e,t={})=>(t.locale??U())===`fr`?YZ(e):XZ(e)),QZ=()=>`Santé du bridge — sondage actif toutes les minutes. Données non-secrètes uniquement : joignabilité, état des connexions, dernière cause d’échec. Les secrets (tokens, device identity) vivent dans l’environnement du bridge, jamais ici.`,$Z=()=>`Bridge health — active poll every minute. Non-secret data only: reachability, connection states, last failure cause. Secrets (tokens, device identity) live in the bridge environment, never here.`,eQ=((e={},t={})=>(t.locale??U())===`fr`?QZ(e):$Z(e)),tQ=()=>`Utilisation de l'abonnement (fenêtres de quota par instance)`,nQ=()=>`Subscription usage (quota windows per instance)`,rQ=((e={},t={})=>(t.locale??U())===`fr`?tQ(e):nQ(e)),iQ=()=>`Protocole`,aQ=()=>`Protocol`,oQ=((e={},t={})=>(t.locale??U())===`fr`?iQ(e):aQ(e)),sQ=()=>`aligné`,cQ=()=>`aligned`,lQ=((e={},t={})=>(t.locale??U())===`fr`?sQ(e):cQ(e)),uQ=e=>`${e?.count} champ(s) inconnu(s)`,dQ=e=>`${e?.count} unknown field(s)`,fQ=((e,t={})=>(t.locale??U())===`fr`?uQ(e):dQ(e)),pQ=e=>`Contrat embarqué : OpenClaw ${e?.version}`,mQ=e=>`Vendored contract: OpenClaw ${e?.version}`,hQ=((e,t={})=>(t.locale??U())===`fr`?pQ(e):mQ(e)),gQ=e=>`${e?.handled} pris en charge · ${e?.ignored} ignorés délibérément · ${e?.gaps} lacunes`,_Q=e=>`${e?.handled} handled · ${e?.ignored} deliberately ignored · ${e?.gaps} gaps`,vQ=((e,t={})=>(t.locale??U())===`fr`?gQ(e):_Q(e)),yQ=e=>`Lacunes déclarées (${e?.count})`,bQ=e=>`Declared gaps (${e?.count})`,xQ=((e,t={})=>(t.locale??U())===`fr`?yQ(e):bQ(e)),SQ=()=>`Chargement…`,CQ=()=>`Loading…`,wQ=((e={},t={})=>(t.locale??U())===`fr`?SQ(e):CQ(e)),TQ=()=>`Aucun relevé pour l’instant — le sondage tourne chaque minute. Reviens dans un moment.`,EQ=()=>`No reading yet — the poll runs every minute. Check back in a moment.`,DQ=((e={},t={})=>(t.locale??U())===`fr`?TQ(e):EQ(e)),OQ=()=>`Bridge opérationnel`,kQ=()=>`Bridge operational`,AQ=((e={},t={})=>(t.locale??U())===`fr`?OQ(e):kQ(e)),jQ=()=>`Bridge injoignable`,MQ=()=>`Bridge unreachable`,NQ=((e={},t={})=>(t.locale??U())===`fr`?jQ(e):MQ(e)),PQ=e=>`Bridge : ${e?.count} connexion(s) en erreur`,FQ=e=>`Bridge: ${e?.count} connection(s) in error`,IQ=((e,t={})=>(t.locale??U())===`fr`?PQ(e):FQ(e)),LQ=e=>`Vérifié à ${e?.time}`,RQ=e=>`Checked at ${e?.time}`,zQ=((e,t={})=>(t.locale??U())===`fr`?LQ(e):RQ(e)),BQ=e=>`· Bridge démarré le ${e?.time}`,VQ=e=>`· Bridge started on ${e?.time}`,HQ=((e,t={})=>(t.locale??U())===`fr`?BQ(e):VQ(e)),UQ=()=>`↗ Anomalies`,WQ=()=>`↗ Anomalies`,GQ=((e={},t={})=>(t.locale??U())===`fr`?UQ(e):WQ(e)),KQ=e=>`Connexions (${e?.count})`,qQ=e=>`Connections (${e?.count})`,JQ=((e,t={})=>(t.locale??U())===`fr`?KQ(e):qQ(e)),YQ=()=>`Aucune connexion encore éprouvée. L’état d’une connexion apparaît dès qu’un message la sollicite (le bridge se connecte à la demande).`,XQ=()=>`No connection tested yet. A connection's state appears as soon as a message exercises it (the bridge connects on demand).`,ZQ=((e={},t={})=>(t.locale??U())===`fr`?YQ(e):XQ(e)),QQ=e=>`${e?.ok} OK · ${e?.errors} échec(s) · ${e?.attempts} tentative(s)`,$Q=e=>`${e?.ok} OK · ${e?.errors} failure(s) · ${e?.attempts} attempt(s)`,e$=((e,t={})=>(t.locale??U())===`fr`?QQ(e):$Q(e)),t$=e=>`Rejeté par la passerelle : ${e?.label} — pas une défaillance du bridge.`,n$=e=>`Rejected by the gateway: ${e?.label} — not a bridge fault.`,r$=((e,t={})=>(t.locale??U())===`fr`?t$(e):n$(e)),i$=()=>`Filtrer par cible ou hôte…`,a$=()=>`Filter by target or host…`,o$=((e={},t={})=>(t.locale??U())===`fr`?i$(e):a$(e)),s$=()=>`Tous`,c$=()=>`All`,l$=((e={},t={})=>(t.locale??U())===`fr`?s$(e):c$(e)),u$=()=>`État`,d$=()=>`State`,f$=((e={},t={})=>(t.locale??U())===`fr`?u$(e):d$(e)),p$=()=>`Instance`,m$=()=>`Instance`,h$=((e={},t={})=>(t.locale??U())===`fr`?p$(e):m$(e)),g$=()=>`Version`,_$=()=>`Version`,v$=((e={},t={})=>(t.locale??U())===`fr`?g$(e):_$(e)),y$=()=>`Aucune connexion ne correspond aux filtres.`,b$=()=>`No connection matches the filters.`,x$=((e={},t={})=>(t.locale??U())===`fr`?y$(e):b$(e)),S$=()=>`Cible`,C$=()=>`Target`,w$=((e={},t={})=>(t.locale??U())===`fr`?S$(e):C$(e)),T$=()=>`État`,E$=()=>`State`,D$=((e={},t={})=>(t.locale??U())===`fr`?T$(e):E$(e)),O$=()=>`Instance`,k$=()=>`Instance`,A$=((e={},t={})=>(t.locale??U())===`fr`?O$(e):k$(e)),j$=()=>`Hôte passerelle`,M$=()=>`Gateway host`,N$=((e={},t={})=>(t.locale??U())===`fr`?j$(e):M$(e)),P$=()=>`Version`,F$=()=>`Version`,I$=((e={},t={})=>(t.locale??U())===`fr`?P$(e):F$(e)),L$=()=>`Stats`,R$=()=>`Stats`,z$=((e={},t={})=>(t.locale??U())===`fr`?L$(e):R$(e)),B$=()=>`Dernier OK`,V$=()=>`Last OK`,H$=((e={},t={})=>(t.locale??U())===`fr`?B$(e):V$(e)),U$=()=>`connectée`,W$=()=>`connected`,G$=((e={},t={})=>(t.locale??U())===`fr`?U$(e):W$(e)),K$=()=>`erreur`,q$=()=>`error`,J$=((e={},t={})=>(t.locale??U())===`fr`?K$(e):q$(e)),Y$=()=>`inactive`,X$=()=>`inactive`,Z$=((e={},t={})=>(t.locale??U())===`fr`?Y$(e):X$(e)),Q$=()=>`5 dernières minutes`,$$=()=>`Last 5 minutes`,e1=((e={},t={})=>(t.locale??U())===`fr`?Q$(e):$$(e)),t1=()=>`15 dernières minutes`,n1=()=>`Last 15 minutes`,r1=((e={},t={})=>(t.locale??U())===`fr`?t1(e):n1(e)),i1=()=>`30 dernières minutes`,a1=()=>`Last 30 minutes`,o1=((e={},t={})=>(t.locale??U())===`fr`?i1(e):a1(e)),s1=()=>`Dernière heure`,c1=()=>`Last hour`,l1=((e={},t={})=>(t.locale??U())===`fr`?s1(e):c1(e)),u1=()=>`3 dernières heures`,d1=()=>`Last 3 hours`,f1=((e={},t={})=>(t.locale??U())===`fr`?u1(e):d1(e)),p1=()=>`6 dernières heures`,m1=()=>`Last 6 hours`,h1=((e={},t={})=>(t.locale??U())===`fr`?p1(e):m1(e)),g1=()=>`12 dernières heures`,_1=()=>`Last 12 hours`,v1=((e={},t={})=>(t.locale??U())===`fr`?g1(e):_1(e)),y1=()=>`Dernières 24 heures`,b1=()=>`Last 24 hours`,x1=((e={},t={})=>(t.locale??U())===`fr`?y1(e):b1(e)),S1=()=>`2 derniers jours`,C1=()=>`Last 2 days`,w1=((e={},t={})=>(t.locale??U())===`fr`?S1(e):C1(e)),T1=()=>`7 derniers jours`,E1=()=>`Last 7 days`,D1=((e={},t={})=>(t.locale??U())===`fr`?T1(e):E1(e)),O1=()=>`30 derniers jours`,k1=()=>`Last 30 days`,A1=((e={},t={})=>(t.locale??U())===`fr`?O1(e):k1(e)),j1=()=>`90 derniers jours`,M1=()=>`Last 90 days`,N1=((e={},t={})=>(t.locale??U())===`fr`?j1(e):M1(e)),P1=()=>`Tout`,F1=()=>`All time`,I1=((e={},t={})=>(t.locale??U())===`fr`?P1(e):F1(e)),L1=()=>`Appels API`,R1=()=>`API calls`,z1=((e={},t={})=>(t.locale??U())===`fr`?L1(e):R1(e)),B1=()=>`Erreurs API`,V1=()=>`API errors`,H1=((e={},t={})=>(t.locale??U())===`fr`?B1(e):V1(e)),U1=()=>`Latence moyenne`,xte=()=>`Average latency`,W1=((e={},t={})=>(t.locale??U())===`fr`?U1(e):xte(e)),G1=()=>`Ingestion OpenClaw`,K1=()=>`OpenClaw ingest`,q1=((e={},t={})=>(t.locale??U())===`fr`?G1(e):K1(e)),J1=()=>`Messages envoyés`,Y1=()=>`Messages sent`,X1=((e={},t={})=>(t.locale??U())===`fr`?J1(e):Y1(e)),Z1=()=>`Erreurs de stream`,Q1=()=>`Stream errors`,$1=((e={},t={})=>(t.locale??U())===`fr`?Z1(e):Q1(e)),e0=()=>`Indicateurs agrégés par heure à partir des traces expurgées (métadonnées non-PHI uniquement). Mise à jour en direct (useQuery) — le rollup tourne chaque heure.`,t0=()=>`Hourly aggregated indicators from redacted traces (non-PHI metadata only). Live updates (useQuery) — the rollup runs every hour.`,n0=((e={},t={})=>(t.locale??U())===`fr`?e0(e):t0(e)),r0=()=>`La plage filtre l’historique des rollups — une plage antérieure peut être partielle.`,i0=()=>`The range filters the rollup history — an earlier range may be partial.`,a0=((e={},t={})=>(t.locale??U())===`fr`?r0(e):i0(e)),o0=()=>`Chargement des KPI…`,s0=()=>`Loading KPIs…`,c0=((e={},t={})=>(t.locale??U())===`fr`?o0(e):s0(e)),l0=()=>`Aucune donnée KPI — le rollup tourne chaque heure ; lance-le ou attends.`,u0=()=>`No KPI data — the rollup runs every hour; run it or wait.`,d0=((e={},t={})=>(t.locale??U())===`fr`?l0(e):u0(e)),f0=e=>`dernier : ${e?.value}`,p0=e=>`latest: ${e?.value}`,m0=((e,t={})=>(t.locale??U())===`fr`?f0(e):p0(e)),h0=()=>`aucune donnée`,g0=()=>`no data`,_0=((e={},t={})=>(t.locale??U())===`fr`?h0(e):g0(e)),v0=e=>`${e?.count} h`,y0=e=>`${e?.count} h`,b0=((e,t={})=>(t.locale??U())===`fr`?v0(e):y0(e)),x0=e=>`Série horaire (max ${e?.max} ${e?.unit})`,S0=e=>`Hourly series (max ${e?.max} ${e?.unit})`,C0=((e,t={})=>(t.locale??U())===`fr`?x0(e):S0(e)),w0=()=>`Mode dev — comptes & rôles`,T0=()=>`Dev mode — accounts & roles`,E0=((e={},t={})=>(t.locale??U())===`fr`?w0(e):T0(e)),D0=()=>`Mode dev — comptes & rôles`,O0=()=>`Dev mode — accounts & roles`,k0=((e={},t={})=>(t.locale??U())===`fr`?D0(e):O0(e)),A0=()=>`Change de rôle et « agis en tant que » pour tester plusieurs utilisateurs sans CLI. Visible uniquement en dev.`,j0=()=>`Change roles and “act as” to test multiple users without the CLI. Visible in dev only.`,M0=((e={},t={})=>(t.locale??U())===`fr`?A0(e):j0(e)),N0=e=>`Moi — ${e?.canonical}`,P0=e=>`Me — ${e?.canonical}`,F0=((e,t={})=>(t.locale??U())===`fr`?N0(e):P0(e)),I0=()=>`Devenir admin`,L0=()=>`Become admin`,R0=((e={},t={})=>(t.locale??U())===`fr`?I0(e):L0(e)),z0=()=>`Devenir user`,B0=()=>`Become user`,V0=((e={},t={})=>(t.locale??U())===`fr`?z0(e):B0(e)),H0=()=>`Devenir pending`,U0=()=>`Become pending`,W0=((e={},t={})=>(t.locale??U())===`fr`?H0(e):U0(e)),G0=()=>`Tu agis en tant que`,K0=()=>`You are acting as`,q0=((e={},t={})=>(t.locale??U())===`fr`?G0(e):K0(e)),J0=()=>`Arrêter`,Y0=()=>`Stop`,X0=((e={},t={})=>(t.locale??U())===`fr`?J0(e):Y0(e)),Z0=()=>`Aucun autre compte. Déconnecte-toi puis reconnecte-toi (nouvelle identité anonyme) — elle sera active immédiatement.`,Q0=()=>`No other account. Sign out then sign back in (new anonymous identity) — it will be active immediately.`,$0=((e={},t={})=>(t.locale??U())===`fr`?Z0(e):Q0(e)),e2=()=>`Deviens admin d'abord`,t2=()=>`Become admin first`,n2=((e={},t={})=>(t.locale??U())===`fr`?e2(e):t2(e)),r2=()=>`Un compte pending ne peut pas être impersonné`,i2=()=>`A pending account cannot be impersonated`,a2=((e={},t={})=>(t.locale??U())===`fr`?r2(e):i2(e)),o2=()=>`Agir en tant que cet utilisateur`,s2=()=>`Act as this user`,c2=((e={},t={})=>(t.locale??U())===`fr`?o2(e):s2(e)),l2=()=>`Agir en tant que`,u2=()=>`Act as`,d2=((e={},t={})=>(t.locale??U())===`fr`?l2(e):u2(e)),f2=()=>`Nouveau chat`,p2=()=>`New chat`,m2=((e={},t={})=>(t.locale??U())===`fr`?f2(e):p2(e)),h2=()=>`Nouveau projet`,g2=()=>`New project`,_2=((e={},t={})=>(t.locale??U())===`fr`?h2(e):g2(e)),v2=()=>`Nom du projet`,y2=()=>`Project name`,b2=((e={},t={})=>(t.locale??U())===`fr`?v2(e):y2(e)),x2=()=>`ex. Travail`,S2=()=>`e.g. Work`,C2=((e={},t={})=>(t.locale??U())===`fr`?x2(e):S2(e)),w2=()=>`Créer`,T2=()=>`Create`,E2=((e={},t={})=>(t.locale??U())===`fr`?w2(e):T2(e)),D2=()=>`Épinglés`,O2=()=>`Pinned`,k2=((e={},t={})=>(t.locale??U())===`fr`?D2(e):O2(e)),A2=()=>`Glissez un chat ici`,j2=()=>`Drop a chat here`,M2=((e={},t={})=>(t.locale??U())===`fr`?A2(e):j2(e)),N2=()=>`Chats`,P2=()=>`Chats`,F2=((e={},t={})=>(t.locale??U())===`fr`?N2(e):P2(e)),I2=()=>`Sans titre`,L2=()=>`Untitled`,R2=((e={},t={})=>(t.locale??U())===`fr`?I2(e):L2(e)),z2=()=>`Lecture seule — l'agent associé ne t'est plus disponible`,B2=()=>`Read-only — its agent is no longer available to you`,V2=((e={},t={})=>(t.locale??U())===`fr`?z2(e):B2(e)),H2=()=>`Supprimer le projet`,U2=()=>`Delete project`,W2=((e={},t={})=>(t.locale??U())===`fr`?H2(e):U2(e)),G2=e=>`Supprimer le projet « ${e?.name} » ?`,K2=e=>`Delete project "${e?.name}"?`,q2=((e,t={})=>(t.locale??U())===`fr`?G2(e):K2(e)),J2=e=>`Cette action est irréversible : elle supprimera aussi définitivement ${e?.count} conversation(s) et tous leurs messages.`,Y2=e=>`This action is irreversible: it will also permanently delete ${e?.count} conversation(s) and all their messages.`,X2=((e,t={})=>(t.locale??U())===`fr`?J2(e):Y2(e)),Z2=()=>`Cette action est irréversible.`,Q2=()=>`This action is irreversible.`,$2=((e={},t={})=>(t.locale??U())===`fr`?Z2(e):Q2(e)),e4=()=>`Supprimer`,t4=()=>`Delete`,n4=((e={},t={})=>(t.locale??U())===`fr`?e4(e):t4(e)),r4=()=>`Déplacer / réordonner`,i4=()=>`Move / reorder`,a4=((e={},t={})=>(t.locale??U())===`fr`?r4(e):i4(e)),o4=()=>`Actions`,s4=()=>`Actions`,c4=((e={},t={})=>(t.locale??U())===`fr`?o4(e):s4(e)),l4=()=>`Renommer`,u4=()=>`Rename`,d4=((e={},t={})=>(t.locale??U())===`fr`?l4(e):u4(e)),f4=()=>`Désépingler`,p4=()=>`Unpin`,m4=((e={},t={})=>(t.locale??U())===`fr`?f4(e):p4(e)),h4=()=>`Épingler`,g4=()=>`Pin`,_4=((e={},t={})=>(t.locale??U())===`fr`?h4(e):g4(e)),v4=()=>`Couleur`,y4=()=>`Color`,b4=((e={},t={})=>(t.locale??U())===`fr`?v4(e):y4(e)),x4=()=>`Aucune couleur`,S4=()=>`No color`,C4=((e={},t={})=>(t.locale??U())===`fr`?x4(e):S4(e)),w4=()=>`Supprimer ce chat ?`,T4=()=>`Delete this chat?`,E4=((e={},t={})=>(t.locale??U())===`fr`?w4(e):T4(e)),D4=()=>`Cette action est irréversible et supprimera ses messages.`,O4=()=>`This action is irreversible and will delete its messages.`,k4=((e={},t={})=>(t.locale??U())===`fr`?D4(e):O4(e)),A4=e=>`Bridge : ${e?.provider}`,j4=e=>`Bridge: ${e?.provider}`,M4=((e,t={})=>(t.locale??U())===`fr`?A4(e):j4(e)),N4=()=>`Renommer le chat`,P4=()=>`Rename chat`,F4=((e={},t={})=>(t.locale??U())===`fr`?N4(e):P4(e)),I4=()=>`Titre`,L4=()=>`Title`,R4=((e={},t={})=>(t.locale??U())===`fr`?I4(e):L4(e)),z4=()=>`La passerelle ne répond plus — le traitement en cours risque d’expirer`,B4=()=>`The gateway is not responding — the in-flight turn may time out`,V4=((e={},t={})=>(t.locale??U())===`fr`?z4(e):B4(e)),H4=()=>`Réflexion…`,U4=()=>`Thinking…`,W4=((e={},t={})=>(t.locale??U())===`fr`?H4(e):U4(e)),G4=()=>`Reprise de l'historique de la conversation…`,K4=()=>`Catching up on the conversation history…`,q4=((e={},t={})=>(t.locale??U())===`fr`?G4(e):K4(e)),J4=()=>`Optimisation du contexte en cours…`,Y4=()=>`Optimizing the context…`,X4=((e={},t={})=>(t.locale??U())===`fr`?J4(e):Y4(e)),Z4=()=>`L'agent travaille toujours — vérification de son état…`,Q4=()=>`The agent is still working — checking its status…`,$4=((e={},t={})=>(t.locale??U())===`fr`?Z4(e):Q4(e)),e3=()=>`Travail délégué aux sous-agents — en attente de leurs résultats…`,t3=()=>`Work delegated to sub-agents — awaiting their results…`,n3=((e={},t={})=>(t.locale??U())===`fr`?e3(e):t3(e)),r3=()=>`Génération…`,i3=()=>`Generating…`,a3=((e={},t={})=>(t.locale??U())===`fr`?r3(e):i3(e)),o3=()=>`Erreur`,s3=()=>`Error`,c3=((e={},t={})=>(t.locale??U())===`fr`?o3(e):s3(e)),l3=()=>`La réponse a été générée côté agent mais n’a pas pu être finalisée (connexion au bridge interrompue en cours de route). Vous pouvez supprimer ou régénérer ce message.`,u3=()=>`The reply was generated on the agent side but could not be finalized (the bridge connection dropped mid-stream). You can delete or regenerate this message.`,d3=((e={},t={})=>(t.locale??U())===`fr`?l3(e):u3(e)),f3=()=>`La connexion à la passerelle a été interrompue pendant la réponse (compaction, redémarrage ou coupure réseau). Ce n'est pas une interruption de votre part. Renvoyez votre message, ou supprimez ce tour pour le régénérer.`,p3=()=>`The connection to the gateway dropped during the reply (compaction, restart, or a network blip). This is not a stop on your side. Send your message again, or delete this turn to regenerate it.`,m3=((e={},t={})=>(t.locale??U())===`fr`?f3(e):p3(e)),h3=()=>`L'agent a travaillé longtemps sans répondre et le délai de récupération est dépassé. Sa réponse a peut-être abouti côté passerelle : réessayez — l'historique sera pris en compte — ou reformulez une demande plus ciblée.`,g3=()=>`The agent worked for a long time without replying and the recovery window elapsed. Its reply may have completed on the gateway: retry — the history is taken into account — or ask a more focused question.`,_3=((e={},t={})=>(t.locale??U())===`fr`?h3(e):g3(e)),v3=()=>`La fenêtre de contexte de l'agent a débordé pendant ce tour : l'historique plus les résultats d'outils accumulés en cours de tour ont dépassé la capacité du modèle (la jauge en haut reflète l'état d'avant le tour). Réessayez en demandant de déléguer aux sous-agents, compactez la session, ou démarrez un nouveau chat.`,y3=()=>`The agent's context window overflowed during this turn: the history plus the tool results accumulated mid-turn exceeded the model's capacity (the meter above reflects the pre-turn state). Retry asking to delegate to sub-agents, compact the session, or start a new chat.`,b3=((e={},t={})=>(t.locale??U())===`fr`?v3(e):y3(e)),x3=()=>`L'agent optimisait (compactait) une session volumineuse mais n'a pas terminé à temps. Réessayez, compactez la session, ou démarrez un nouveau chat pour repartir sur un contexte plus léger.`,S3=()=>`The agent was optimizing (compacting) a large session but did not finish in time. Retry, compact the session, or start a new chat to begin with a lighter context.`,C3=((e={},t={})=>(t.locale??U())===`fr`?x3(e):S3(e)),w3=()=>`L'agent a terminé sans réponse utilisable : aucun texte, et une éventuelle livraison de fichier a échoué. Réessayez, reformulez, ou démarrez un nouveau chat. Astuce : si l'agent tente systématiquement de livrer un fichier, sa mémoire est peut-être saturée de consignes de livraison — envisagez une curation de ses fichiers.`,T3=()=>`The agent finished without a usable response: no text, and any file delivery failed. Retry, rephrase, or start a new chat. Tip: if the agent keeps trying to deliver a file, its memory may be saturated with delivery instructions — consider curating its files.`,E3=((e={},t={})=>(t.locale??U())===`fr`?w3(e):T3(e)),D3=()=>`Le fournisseur du modèle limite temporairement les requêtes. Patientez quelques instants puis réessayez.`,O3=()=>`The model provider is temporarily rate-limiting requests. Wait a moment and retry.`,k3=((e={},t={})=>(t.locale??U())===`fr`?D3(e):O3(e)),A3=()=>`Le tour a expiré côté passerelle avant d'aboutir. Réessayez.`,j3=()=>`The turn timed out on the gateway before completing. Retry.`,M3=((e={},t={})=>(t.locale??U())===`fr`?A3(e):j3(e)),N3=()=>`Le modèle a refusé de répondre à cette demande.`,P3=()=>`The model declined to answer this request.`,F3=((e={},t={})=>(t.locale??U())===`fr`?N3(e):P3(e)),I3=()=>`Interrompu`,L3=()=>`Stopped`,R3=((e={},t={})=>(t.locale??U())===`fr`?I3(e):L3(e)),z3=()=>`contient`,B3=()=>`contains`,V3=((e={},t={})=>(t.locale??U())===`fr`?z3(e):B3(e)),H3=()=>`Filtre avancé`,U3=()=>`Advanced filter`,W3=((e={},t={})=>(t.locale??U())===`fr`?H3(e):U3(e)),G3=()=>`Aucun critère. Ajoutez une condition (toutes les conditions sont cumulées avec ET).`,K3=()=>`No criteria. Add a condition (all conditions are combined with AND).`,q3=((e={},t={})=>(t.locale??U())===`fr`?G3(e):K3(e)),J3=()=>`Champ`,Y3=()=>`Field`,X3=((e={},t={})=>(t.locale??U())===`fr`?J3(e):Y3(e)),Z3=()=>`Valeur`,Q3=()=>`Value`,$3=((e={},t={})=>(t.locale??U())===`fr`?Z3(e):Q3(e)),e6=()=>`Supprimer la condition`,t6=()=>`Remove condition`,n6=((e={},t={})=>(t.locale??U())===`fr`?e6(e):t6(e)),r6=()=>`Ajouter une condition`,i6=()=>`Add condition`,a6=((e={},t={})=>(t.locale??U())===`fr`?r6(e):i6(e)),o6=()=>`Bridge : pas encore de relevé (sondage chaque minute)`,s6=()=>`Bridge: no reading yet (polled every minute)`,c6=((e={},t={})=>(t.locale??U())===`fr`?o6(e):s6(e)),l6=()=>`Bridge opérationnel`,u6=()=>`Bridge operational`,d6=((e={},t={})=>(t.locale??U())===`fr`?l6(e):u6(e)),f6=e=>` · vérifié à ${e?.time}`,p6=e=>` · verified at ${e?.time}`,m6=((e,t={})=>(t.locale??U())===`fr`?f6(e):p6(e)),h6=e=>`Bridge indisponible (${e?.reason}) — ouvre l’onglet Bridge pour le détail`,g6=e=>`Bridge unavailable (${e?.reason}) — open the Bridge tab for details`,_6=((e,t={})=>(t.locale??U())===`fr`?h6(e):g6(e)),v6=()=>`Utilisateur`,y6=()=>`User`,b6=((e={},t={})=>(t.locale??U())===`fr`?v6(e):y6(e)),x6=()=>`Système`,S6=()=>`System`,C6=((e={},t={})=>(t.locale??U())===`fr`?x6(e):S6(e)),w6=()=>`[Export limité aux 200 messages les plus récents de cette conversation]`,T6=()=>`[Export limited to the 200 most recent messages of this conversation]`,E6=((e={},t={})=>(t.locale??U())===`fr`?w6(e):T6(e)),D6=()=>`Conversation`,O6=()=>`Conversation`,k6=((e={},t={})=>(t.locale??U())===`fr`?D6(e):O6(e)),A6=e=>`Exporté le ${e?.date}`,j6=e=>`Exported on ${e?.date}`,M6=((e,t={})=>(t.locale??U())===`fr`?A6(e):j6(e)),N6=e=>`[fichier : ${e?.name}]`,P6=e=>`[file: ${e?.name}]`,F6=((e,t={})=>(t.locale??U())===`fr`?N6(e):P6(e)),I6=()=>`Rechercher dans les conversations`,L6=()=>`Search conversations`,R6=((e={},t={})=>(t.locale??U())===`fr`?I6(e):L6(e)),z6=()=>`Rechercher…`,B6=()=>`Search…`,V6=((e={},t={})=>(t.locale??U())===`fr`?z6(e):B6(e)),H6=()=>`Rechercher dans les conversations`,U6=()=>`Search conversations`,W6=((e={},t={})=>(t.locale??U())===`fr`?H6(e):U6(e)),G6=()=>`Rechercher dans toutes les conversations…`,K6=()=>`Search across all conversations…`,q6=((e={},t={})=>(t.locale??U())===`fr`?G6(e):K6(e)),J6=()=>`Recherche`,Y6=()=>`Search`,X6=((e={},t={})=>(t.locale??U())===`fr`?J6(e):Y6(e)),Z6=e=>`Tapez au moins ${e?.count} caractères pour rechercher.`,Q6=e=>`Type at least ${e?.count} characters to search.`,$6=((e,t={})=>(t.locale??U())===`fr`?Z6(e):Q6(e)),e8=()=>`Recherche…`,t8=()=>`Searching…`,n8=((e={},t={})=>(t.locale??U())===`fr`?e8(e):t8(e)),r8=e=>`Aucune conversation ne correspond à « ${e?.term} ».`,i8=e=>`No conversation matches “${e?.term}”.`,a8=((e,t={})=>(t.locale??U())===`fr`?r8(e):i8(e)),o8=()=>`Nouveau chat`,s8=()=>`New chat`,c8=((e={},t={})=>(t.locale??U())===`fr`?o8(e):s8(e)),l8=()=>`Titre`,u8=()=>`Title`,d8=((e={},t={})=>(t.locale??U())===`fr`?l8(e):u8(e)),f8=()=>`Message`,p8=()=>`Message`,m8=((e={},t={})=>(t.locale??U())===`fr`?f8(e):p8(e)),h8=()=>`naviguer`,g8=()=>`navigate`,_8=((e={},t={})=>(t.locale??U())===`fr`?h8(e):g8(e)),v8=()=>`ouvrir`,y8=()=>`open`,b8=((e={},t={})=>(t.locale??U())===`fr`?v8(e):y8(e)),x8=()=>`Échap`,S8=()=>`Esc`,C8=((e={},t={})=>(t.locale??U())===`fr`?x8(e):S8(e)),w8=()=>`fermer`,T8=()=>`close`,E8=((e={},t={})=>(t.locale??U())===`fr`?w8(e):T8(e)),D8=()=>`Choisir un agent`,O8=()=>`Choose an agent`,k8=((e={},t={})=>(t.locale??U())===`fr`?D8(e):O8(e)),A8=()=>`Sélectionnez l’agent (et l’instance) pour cette conversation.`,j8=()=>`Select the agent (and instance) for this conversation.`,M8=((e={},t={})=>(t.locale??U())===`fr`?A8(e):j8(e)),N8=()=>`Chargement…`,P8=()=>`Loading…`,F8=((e={},t={})=>(t.locale??U())===`fr`?N8(e):P8(e)),I8=()=>`Aucun agent ne vous est assigné. Contactez votre administrateur pour qu’il vous en attribue un.`,L8=()=>`No agent is assigned to you. Contact your administrator to have one assigned.`,R8=((e={},t={})=>(t.locale??U())===`fr`?I8(e):L8(e)),z8=()=>`Rechercher un agent…`,B8=()=>`Search for an agent…`,V8=((e={},t={})=>(t.locale??U())===`fr`?z8(e):B8(e)),H8=()=>`Rechercher un agent`,U8=()=>`Search for an agent`,W8=((e={},t={})=>(t.locale??U())===`fr`?H8(e):U8(e)),G8=()=>`Cet agent n’existe plus sur la gateway`,K8=()=>`This agent no longer exists on the gateway`,q8=((e={},t={})=>(t.locale??U())===`fr`?G8(e):K8(e)),J8=()=>`Agent par défaut`,Y8=()=>`Default agent`,X8=((e={},t={})=>(t.locale??U())===`fr`?J8(e):Y8(e)),Z8=()=>`Rechercher`,Q8=()=>`Search`,$8=((e={},t={})=>(t.locale??U())===`fr`?Z8(e):Q8(e)),e5=()=>`Réinitialiser`,t5=()=>`Reset`,n5=((e={},t={})=>(t.locale??U())===`fr`?e5(e):t5(e)),r5=()=>`Ajouter`,i5=()=>`Add`,a5=((e={},t={})=>(t.locale??U())===`fr`?r5(e):i5(e)),o5=()=>`Aucun élément.`,s5=()=>`No items.`,c5=((e={},t={})=>(t.locale??U())===`fr`?o5(e):s5(e)),l5=()=>`Chargement…`,u5=()=>`Loading…`,d5=((e={},t={})=>(t.locale??U())===`fr`?l5(e):u5(e)),f5=()=>`Tout sélectionner`,p5=()=>`Select all`,m5=((e={},t={})=>(t.locale??U())===`fr`?f5(e):p5(e)),h5=()=>`Sélectionner la ligne`,g5=()=>`Select row`,_5=((e={},t={})=>(t.locale??U())===`fr`?h5(e):g5(e)),v5=()=>`Actions`,y5=()=>`Actions`,b5=((e={},t={})=>(t.locale??U())===`fr`?v5(e):y5(e)),x5=e=>`Trier par ${e?.column}`,S5=e=>`Sort by ${e?.column}`,C5=((e,t={})=>(t.locale??U())===`fr`?x5(e):S5(e)),w5=()=>`Agent introuvable`,T5=()=>`Agent not found`,E5=((e={},t={})=>(t.locale??U())===`fr`?w5(e):T5(e)),D5=()=>`L’agent configuré n’existe plus sur la passerelle. Vérifiez OPENCLAW_AGENT_ID dans le .env du bridge (il doit correspondre à un agent réel de la passerelle).`,O5=()=>`The configured agent no longer exists on the gateway. Check OPENCLAW_AGENT_ID in the bridge .env (it must match a real gateway agent).`,k5=((e={},t={})=>(t.locale??U())===`fr`?D5(e):O5(e)),A5=()=>`Authentification refusée`,j5=()=>`Authentication refused`,M5=((e={},t={})=>(t.locale??U())===`fr`?A5(e):j5(e)),N5=()=>`Le token opérateur ne correspond pas au device pairé. Re-pairez un device dédié au bridge sur la passerelle et reportez son token + device identity.`,P5=()=>`The operator token does not match the paired device. Re-pair a dedicated bridge device on the gateway and report its token + device identity.`,F5=((e={},t={})=>(t.locale??U())===`fr`?N5(e):P5(e)),I5=()=>`Signature device impossible`,L5=()=>`Device signing failed`,R5=((e={},t={})=>(t.locale??U())===`fr`?I5(e):L5(e)),z5=()=>`La clé privée du device identity ne se décode pas. Vérifiez OPENCLAW_DEVICE_IDENTITY (format JSON, \\n simples) — voir fix-devid.mjs.`,B5=()=>`The device identity private key won’t decode. Check OPENCLAW_DEVICE_IDENTITY (JSON format, single \\n) — see fix-devid.mjs.`,V5=((e={},t={})=>(t.locale??U())===`fr`?z5(e):B5(e)),H5=()=>`Portée insuffisante`,U5=()=>`Insufficient scope`,W5=((e={},t={})=>(t.locale??U())===`fr`?H5(e):U5(e)),G5=()=>`Le pairing du device n’a pas la portée requise (operator.admin). Approuvez/élevez la portée du device sur la passerelle.`,K5=()=>`The device pairing lacks the required scope (operator.admin). Approve/elevate the device scope on the gateway.`,q5=((e={},t={})=>(t.locale??U())===`fr`?G5(e):K5(e)),J5=()=>`Délai dépassé`,Y5=()=>`Timed out`,X5=((e={},t={})=>(t.locale??U())===`fr`?J5(e):Y5(e)),Z5=()=>`La passerelle n’a pas répondu à temps. Vérifiez qu’elle est démarrée et joignable (OPENCLAW_GATEWAY_URL).`,Q5=()=>`The gateway did not respond in time. Check it’s started and reachable (OPENCLAW_GATEWAY_URL).`,$5=((e={},t={})=>(t.locale??U())===`fr`?Z5(e):Q5(e)),e7=()=>`Passerelle déconnectée`,t7=()=>`Gateway disconnected`,n7=((e={},t={})=>(t.locale??U())===`fr`?e7(e):t7(e)),r7=()=>`La connexion à la passerelle a été coupée. Vérifiez l’état du conteneur OpenClaw et l’URL/port de la passerelle.`,i7=()=>`The connection to the gateway dropped. Check the OpenClaw container state and the gateway URL/port.`,a7=((e={},t={})=>(t.locale??U())===`fr`?r7(e):i7(e)),o7=()=>`Bridge injoignable`,s7=()=>`Bridge unreachable`,c7=((e={},t={})=>(t.locale??U())===`fr`?o7(e):s7(e)),l7=()=>`Convex n’a pas pu joindre le bridge. Vérifiez que le conteneur bridge tourne et BRIDGE_URL (http://<ip-hôte>:8787).`,u7=()=>`Convex could not reach the bridge. Check the bridge container is running and BRIDGE_URL (http://<host-ip>:8787).`,d7=((e={},t={})=>(t.locale??U())===`fr`?l7(e):u7(e)),f7=()=>`Pièce jointe trop volumineuse`,p7=()=>`Attachment too large`,m7=((e={},t={})=>(t.locale??U())===`fr`?f7(e):p7(e)),h7=()=>`La passerelle a refusé la pièce jointe car elle dépasse la taille qu’elle accepte (limite de mise en sandbox de l’agent). Réduisez la taille du fichier, ou retirez la pièce jointe et envoyez le texte seul.`,g7=()=>`The gateway refused the attachment because it exceeds the size it accepts (the agent's sandbox staging limit). Use a smaller file, or remove the attachment and send the text alone.`,_7=((e={},t={})=>(t.locale??U())===`fr`?h7(e):g7(e)),v7=()=>`Pièce jointe non traitée`,y7=()=>`Attachment could not be processed`,b7=((e={},t={})=>(t.locale??U())===`fr`?v7(e):y7(e)),x7=()=>`La passerelle n’a pas pu analyser/préparer la pièce jointe. Bug connu de la passerelle (le validateur base64 déborde sur les gros fichiers, RangeError) — à corriger côté passerelle (isValidBase64). En attendant : un fichier plus petit passe, ou envoyez le texte sans pièce jointe.`,S7=()=>`The gateway could not parse/stage the attachment. Known gateway bug (its base64 validator overflows on large files — RangeError); fix it gateway-side (isValidBase64). Meanwhile: a smaller file works, or send the text without the attachment.`,C7=((e={},t={})=>(t.locale??U())===`fr`?x7(e):S7(e)),w7=()=>`Requête invalide`,T7=()=>`Invalid request`,E7=((e={},t={})=>(t.locale??U())===`fr`?w7(e):T7(e)),D7=()=>`La passerelle a rejeté la requête. Consultez les logs du bridge pour le détail brut.`,O7=()=>`The gateway rejected the request. Check the bridge logs for the raw detail.`,k7=((e={},t={})=>(t.locale??U())===`fr`?D7(e):O7(e)),A7=()=>`Bridge non configuré`,j7=()=>`Bridge not configured`,M7=((e={},t={})=>(t.locale??U())===`fr`?A7(e):j7(e)),N7=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET ne sont pas définis côté Convex (npx convex env set).`,P7=()=>`BRIDGE_URL / BRIDGE_SHARED_SECRET are not set on the Convex side (npx convex env set).`,F7=((e={},t={})=>(t.locale??U())===`fr`?N7(e):P7(e)),I7=()=>`Utilisateur non routé`,L7=()=>`User not routed`,R7=((e={},t={})=>(t.locale??U())===`fr`?I7(e):L7(e)),z7=()=>`Ce compte n’est rattaché à aucune instance. Settings → Users → Override instance, ou affectez un groupe.`,B7=()=>`This account is not attached to any instance. Settings → Users → Override instance, or assign a group.`,V7=((e={},t={})=>(t.locale??U())===`fr`?z7(e):B7(e)),H7=()=>`Erreur passerelle`,Ste=()=>`Gateway error`,Cte=((e={},t={})=>(t.locale??U())===`fr`?H7(e):Ste(e)),wte=()=>`Cause non catégorisée. Consultez les logs du bridge pour le message brut.`,Tte=()=>`Uncategorized cause. Check the bridge logs for the raw message.`,Ete=((e={},t={})=>(t.locale??U())===`fr`?wte(e):Tte(e)),Dte=()=>`Cause inconnue`,Ote=()=>`Unknown cause`,kte=((e={},t={})=>(t.locale??U())===`fr`?Dte(e):Ote(e)),Ate=()=>`Aucun code de cause n’a été remonté (bridge antérieur à cette version ?). Consultez les logs du bridge.`,jte=()=>`No cause code was reported (bridge older than this version?). Check the bridge logs.`,Mte=((e={},t={})=>(t.locale??U())===`fr`?Ate(e):jte(e)),Nte=()=>`Cause non répertoriée — voir les logs du bridge.`,Pte=()=>`Cause not catalogued — see the bridge logs.`,Fte=((e={},t={})=>(t.locale??U())===`fr`?Nte(e):Pte(e)),Ite=e=>`Notifications (${e?.count} non lues)`,Lte=e=>`Notifications (${e?.count} unread)`,Rte=((e,t={})=>(t.locale??U())===`fr`?Ite(e):Lte(e)),zte=()=>`Notifications`,Bte=()=>`Notifications`,Vte=((e={},t={})=>(t.locale??U())===`fr`?zte(e):Bte(e)),Hte=()=>`Notifications`,Ute=()=>`Notifications`,Wte=((e={},t={})=>(t.locale??U())===`fr`?Hte(e):Ute(e)),Gte=()=>`Tout lu`,Kte=()=>`Mark all read`,qte=((e={},t={})=>(t.locale??U())===`fr`?Gte(e):Kte(e)),Jte=()=>`Tout effacer`,Yte=()=>`Clear all`,Xte=((e={},t={})=>(t.locale??U())===`fr`?Jte(e):Yte(e)),Zte=()=>`Aucune notification.`,Qte=()=>`No notifications.`,$te=((e={},t={})=>(t.locale??U())===`fr`?Zte(e):Qte(e)),ene=()=>`Marquer comme lue`,tne=()=>`Mark as read`,nne=((e={},t={})=>(t.locale??U())===`fr`?ene(e):tne(e)),rne=()=>`Effacer la notification`,ine=()=>`Clear notification`,ane=((e={},t={})=>(t.locale??U())===`fr`?rne(e):ine(e)),one=()=>`Mes signalements`,sne=()=>`My reports`,cne=((e={},t={})=>(t.locale??U())===`fr`?one(e):sne(e)),lne=()=>`Répondu`,une=()=>`Answered`,dne=((e={},t={})=>(t.locale??U())===`fr`?lne(e):une(e)),fne=()=>`En attente`,pne=()=>`Pending`,mne=((e={},t={})=>(t.locale??U())===`fr`?fne(e):pne(e)),hne=()=>`Administrateur`,gne=()=>`Administrator`,_ne=((e={},t={})=>(t.locale??U())===`fr`?hne(e):gne(e)),vne=()=>`Vous`,yne=()=>`You`,bne=((e={},t={})=>(t.locale??U())===`fr`?vne(e):yne(e)),xne=()=>`Voir la conversation`,Sne=()=>`View the conversation`,Cne=((e={},t={})=>(t.locale??U())===`fr`?xne(e):Sne(e)),wne=()=>`Message signalé`,Tne=()=>`Reported message`,Ene=((e={},t={})=>(t.locale??U())===`fr`?wne(e):Tne(e)),Dne=()=>`Clore le signalement`,One=()=>`Close report`,kne=((e={},t={})=>(t.locale??U())===`fr`?Dne(e):One(e)),Ane=()=>`Pourquoi clore ce signalement ? (facultatif)`,jne=()=>`Why close this report? (optional)`,Mne=((e={},t={})=>(t.locale??U())===`fr`?Ane(e):jne(e)),Nne=()=>`Clore`,Pne=()=>`Close`,Fne=((e={},t={})=>(t.locale??U())===`fr`?Nne(e):Pne(e)),Ine=()=>`Annuler`,Lne=()=>`Cancel`,Rne=((e={},t={})=>(t.locale??U())===`fr`?Ine(e):Lne(e)),zne=()=>`Réponse à votre signalement`,Bne=()=>`Reply to your report`,Vne=((e={},t={})=>(t.locale??U())===`fr`?zne(e):Bne(e)),Hne=()=>`L'équipe de support a répondu à un signalement que vous avez envoyé.`,Une=()=>`The support team replied to a report you submitted.`,Wne=((e={},t={})=>(t.locale??U())===`fr`?Hne(e):Une(e)),Gne=()=>`Mots modifiés / altérés`,Kne=()=>`Modified / altered words`,qne=((e={},t={})=>(t.locale??U())===`fr`?Gne(e):Kne(e)),Jne=()=>`Réponse incorrecte`,Yne=()=>`Incorrect answer`,Xne=((e={},t={})=>(t.locale??U())===`fr`?Jne(e):Yne(e)),Zne=()=>`Incohérence`,Qne=()=>`Incoherence`,$ne=((e={},t={})=>(t.locale??U())===`fr`?Zne(e):Qne(e)),ere=()=>`Formatage`,tre=()=>`Formatting`,nre=((e={},t={})=>(t.locale??U())===`fr`?ere(e):tre(e)),rre=()=>`Latence`,ire=()=>`Latency`,are=((e={},t={})=>(t.locale??U())===`fr`?rre(e):ire(e)),ore=()=>`Erreur API`,sre=()=>`API error`,cre=((e={},t={})=>(t.locale??U())===`fr`?ore(e):sre(e)),lre=()=>`Autre`,ure=()=>`Other`,dre=((e={},t={})=>(t.locale??U())===`fr`?lre(e):ure(e)),fre=()=>`Utilisateurs`,pre=()=>`Users`,mre=((e={},t={})=>(t.locale??U())===`fr`?fre(e):pre(e)),hre=()=>`Instances`,gre=()=>`Instances`,_re=((e={},t={})=>(t.locale??U())===`fr`?hre(e):gre(e)),vre=()=>`Bridge`,yre=()=>`Bridge`,bre=((e={},t={})=>(t.locale??U())===`fr`?vre(e):yre(e)),xre=()=>`Comptes de service`,Sre=()=>`Service accounts`,Cre=((e={},t={})=>(t.locale??U())===`fr`?xre(e):Sre(e)),wre=()=>`Rôles`,Tre=()=>`Roles`,Ere=((e={},t={})=>(t.locale??U())===`fr`?wre(e):Tre(e)),Dre=()=>`Traces`,Ore=()=>`Traces`,kre=((e={},t={})=>(t.locale??U())===`fr`?Dre(e):Ore(e)),Are=()=>`KPI`,jre=()=>`KPI`,Mre=((e={},t={})=>(t.locale??U())===`fr`?Are(e):jre(e)),Nre=()=>`Anomalies`,Pre=()=>`Anomalies`,Fre=((e={},t={})=>(t.locale??U())===`fr`?Nre(e):Pre(e)),Ire=()=>`Intégrations`,Lre=()=>`Integrations`,Rre=((e={},t={})=>(t.locale??U())===`fr`?Ire(e):Lre(e)),zre=()=>`Audit`,Bre=()=>`Audit`,Vre=((e={},t={})=>(t.locale??U())===`fr`?zre(e):Bre(e)),Hre=()=>`Feedbacks`,Ure=()=>`Feedbacks`,Wre=((e={},t={})=>(t.locale??U())===`fr`?Hre(e):Ure(e)),Gre=()=>`Groupes`,Kre=()=>`Groups`,qre=((e={},t={})=>(t.locale??U())===`fr`?Gre(e):Kre(e)),Jre=()=>`Accès`,Yre=()=>`Access`,Xre=((e={},t={})=>(t.locale??U())===`fr`?Jre(e):Yre(e)),Zre=()=>`Inspectez les accès d’un utilisateur : ses groupes, les agents et chartes qui lui sont disponibles (avec leur provenance) et ses permissions effectives. Lecture seule.`,Qre=()=>`Inspect a user’s access: their groups, the agents and charts available to them (with provenance), and their effective permissions. Read-only.`,$re=((e={},t={})=>(t.locale??U())===`fr`?Zre(e):Qre(e)),eie=()=>`Choisir un utilisateur`,tie=()=>`Pick a user`,nie=((e={},t={})=>(t.locale??U())===`fr`?eie(e):tie(e)),rie=()=>`Sélectionnez un utilisateur pour voir ses accès.`,iie=()=>`Select a user to see their access.`,aie=((e={},t={})=>(t.locale??U())===`fr`?rie(e):iie(e)),oie=()=>`Identité`,sie=()=>`Identity`,cie=((e={},t={})=>(t.locale??U())===`fr`?oie(e):sie(e)),lie=()=>`Groupes`,uie=()=>`Groups`,die=((e={},t={})=>(t.locale??U())===`fr`?lie(e):uie(e)),fie=()=>`Agents disponibles`,pie=()=>`Available agents`,mie=((e={},t={})=>(t.locale??U())===`fr`?fie(e):pie(e)),hie=()=>`Chartes disponibles`,gie=()=>`Available charts`,_ie=((e={},t={})=>(t.locale??U())===`fr`?hie(e):gie(e)),vie=()=>`Permissions effectives`,yie=()=>`Effective permissions`,bie=((e={},t={})=>(t.locale??U())===`fr`?vie(e):yie(e)),xie=()=>`Aucun`,Sie=()=>`None`,Cie=((e={},t={})=>(t.locale??U())===`fr`?xie(e):Sie(e)),wie=()=>`Défaut`,Tie=()=>`Default`,Eie=((e={},t={})=>(t.locale??U())===`fr`?wie(e):Tie(e)),Die=()=>`Direct`,Oie=()=>`Direct`,kie=((e={},t={})=>(t.locale??U())===`fr`?Die(e):Oie(e)),Aie=()=>`Tous les agents (aucun groupe)`,jie=()=>`All agents (no group)`,Mie=((e={},t={})=>(t.locale??U())===`fr`?Aie(e):jie(e)),Nie=e=>`Groupe : ${e?.group}`,Pie=e=>`Group: ${e?.group}`,Fie=((e,t={})=>(t.locale??U())===`fr`?Nie(e):Pie(e)),Iie=()=>`Commune`,Lie=()=>`Common`,Rie=((e={},t={})=>(t.locale??U())===`fr`?Iie(e):Lie(e)),zie=()=>`Perso`,Bie=()=>`Personal`,Vie=((e={},t={})=>(t.locale??U())===`fr`?zie(e):Bie(e)),Hie=()=>`Groupes`,Uie=()=>`Groups`,Wie=((e={},t={})=>(t.locale??U())===`fr`?Hie(e):Uie(e)),Gie=()=>`Regroupez des utilisateurs et partagez des agents par groupe. Chaque membre hérite des agents du groupe en plus de ses agents directs.`,Kie=()=>`Group users and share agents by group. Each member inherits the group's agents on top of their direct agents.`,qie=((e={},t={})=>(t.locale??U())===`fr`?Gie(e):Kie(e)),Jie=()=>`Nouveau groupe`,Yie=()=>`New group`,Xie=((e={},t={})=>(t.locale??U())===`fr`?Jie(e):Yie(e)),Zie=()=>`Aucun groupe pour le moment.`,Qie=()=>`No groups yet.`,$ie=((e={},t={})=>(t.locale??U())===`fr`?Zie(e):Qie(e)),eae=()=>`Nom`,tae=()=>`Name`,nae=((e={},t={})=>(t.locale??U())===`fr`?eae(e):tae(e)),rae=()=>`Membres`,iae=()=>`Members`,aae=((e={},t={})=>(t.locale??U())===`fr`?rae(e):iae(e)),oae=()=>`Agents`,sae=()=>`Agents`,cae=((e={},t={})=>(t.locale??U())===`fr`?oae(e):sae(e)),lae=()=>`Chartes`,uae=()=>`Charts`,dae=((e={},t={})=>(t.locale??U())===`fr`?lae(e):uae(e)),fae=()=>`Filtrer les groupes (nom, membre, agent, charte)…`,pae=()=>`Filter groups (name, member, agent, chart)…`,mae=((e={},t={})=>(t.locale??U())===`fr`?fae(e):pae(e)),hae=()=>`Gérer`,gae=()=>`Manage`,_ae=((e={},t={})=>(t.locale??U())===`fr`?hae(e):gae(e)),vae=()=>`Renommer`,yae=()=>`Rename`,bae=((e={},t={})=>(t.locale??U())===`fr`?vae(e):yae(e)),xae=()=>`Supprimer`,Sae=()=>`Delete`,Cae=((e={},t={})=>(t.locale??U())===`fr`?xae(e):Sae(e)),wae=()=>`Enregistrer`,Tae=()=>`Save`,Eae=((e={},t={})=>(t.locale??U())===`fr`?wae(e):Tae(e)),Dae=()=>`Annuler`,Oae=()=>`Cancel`,kae=((e={},t={})=>(t.locale??U())===`fr`?Dae(e):Oae(e)),Aae=()=>`Nouveau groupe`,jae=()=>`New group`,Mae=((e={},t={})=>(t.locale??U())===`fr`?Aae(e):jae(e)),Nae=()=>`Renommer le groupe`,Pae=()=>`Rename group`,Fae=((e={},t={})=>(t.locale??U())===`fr`?Nae(e):Pae(e)),Iae=()=>`Le nom est libre ; un identifiant stable est généré automatiquement.`,Lae=()=>`The name is free-form; a stable identifier is generated automatically.`,Rae=((e={},t={})=>(t.locale??U())===`fr`?Iae(e):Lae(e)),zae=()=>`Nom`,Bae=()=>`Name`,Vae=((e={},t={})=>(t.locale??U())===`fr`?zae(e):Bae(e)),Hae=()=>`Description`,Uae=()=>`Description`,Wae=((e={},t={})=>(t.locale??U())===`fr`?Hae(e):Uae(e)),Gae=e=>`Supprimer le groupe « ${e?.name} » ?`,Kae=e=>`Delete group "${e?.name}"?`,qae=((e,t={})=>(t.locale??U())===`fr`?Gae(e):Kae(e)),Jae=()=>`Cette action supprime le groupe, ses adhésions et les agents partagés. Elle est irréversible.`,Yae=()=>`This deletes the group, its memberships and shared agents. It cannot be undone.`,Xae=((e={},t={})=>(t.locale??U())===`fr`?Jae(e):Yae(e)),Zae=()=>`Supprimer le groupe`,Qae=()=>`Delete group`,$ae=((e={},t={})=>(t.locale??U())===`fr`?Zae(e):Qae(e)),eoe=e=>`Gérer « ${e?.name} »`,toe=e=>`Manage "${e?.name}"`,noe=((e,t={})=>(t.locale??U())===`fr`?eoe(e):toe(e)),roe=()=>`Ajoutez ou retirez des membres et partagez des agents découverts avec ce groupe.`,ioe=()=>`Add or remove members and share discovered agents with this group.`,aoe=((e={},t={})=>(t.locale??U())===`fr`?roe(e):ioe(e)),ooe=()=>`Membres`,soe=()=>`Members`,coe=((e={},t={})=>(t.locale??U())===`fr`?ooe(e):soe(e)),loe=()=>`Rechercher un utilisateur…`,uoe=()=>`Search a user…`,doe=((e={},t={})=>(t.locale??U())===`fr`?loe(e):uoe(e)),foe=()=>`Agents partagés`,poe=()=>`Shared agents`,moe=((e={},t={})=>(t.locale??U())===`fr`?foe(e):poe(e)),hoe=()=>`Rechercher un agent…`,goe=()=>`Search an agent…`,_oe=((e={},t={})=>(t.locale??U())===`fr`?hoe(e):goe(e)),voe=()=>`Aucun résultat.`,yoe=()=>`No results.`,boe=((e={},t={})=>(t.locale??U())===`fr`?voe(e):yoe(e)),xoe=()=>`Tout sélectionner`,Soe=()=>`Select all`,Coe=((e={},t={})=>(t.locale??U())===`fr`?xoe(e):Soe(e)),woe=()=>`Précédent`,Toe=()=>`Previous`,Eoe=((e={},t={})=>(t.locale??U())===`fr`?woe(e):Toe(e)),Doe=()=>`Suivant`,Ooe=()=>`Next`,koe=((e={},t={})=>(t.locale??U())===`fr`?Doe(e):Ooe(e)),Aoe=e=>`Page ${e?.page} sur ${e?.pages}`,joe=e=>`Page ${e?.page} of ${e?.pages}`,Moe=((e,t={})=>(t.locale??U())===`fr`?Aoe(e):joe(e)),Noe=()=>`Administrateur`,Poe=()=>`Admin`,Foe=((e={},t={})=>(t.locale??U())===`fr`?Noe(e):Poe(e)),Ioe=()=>`Utilisateur`,Loe=()=>`User`,Roe=((e={},t={})=>(t.locale??U())===`fr`?Ioe(e):Loe(e)),zoe=()=>`En attente`,Boe=()=>`Pending`,Voe=((e={},t={})=>(t.locale??U())===`fr`?zoe(e):Boe(e)),Hoe=e=>`Basculer l'adhésion de ${e?.user}`,Uoe=e=>`Toggle membership of ${e?.user}`,Woe=((e,t={})=>(t.locale??U())===`fr`?Hoe(e):Uoe(e)),Goe=e=>`Partager l'agent ${e?.name}`,Koe=e=>`Share agent ${e?.name}`,qoe=((e,t={})=>(t.locale??U())===`fr`?Goe(e):Koe(e)),Joe=()=>`Chargement…`,Yoe=()=>`Loading…`,Xoe=((e={},t={})=>(t.locale??U())===`fr`?Joe(e):Yoe(e)),Zoe=()=>`Chargement des agents…`,Qoe=()=>`Loading agents…`,$oe=((e={},t={})=>(t.locale??U())===`fr`?Zoe(e):Qoe(e)),ese=()=>`Aucun utilisateur.`,tse=()=>`No users.`,nse=((e={},t={})=>(t.locale??U())===`fr`?ese(e):tse(e)),rse=()=>`Aucune instance configurée.`,ise=()=>`No instances configured.`,ase=((e={},t={})=>(t.locale??U())===`fr`?rse(e):ise(e)),ose=()=>`Aucun agent découvert.`,sse=()=>`No discovered agents.`,cse=((e={},t={})=>(t.locale??U())===`fr`?ose(e):sse(e)),lse=()=>`Instance hors ligne ; agents indisponibles.`,use=()=>`Instance offline; agents unavailable.`,dse=((e={},t={})=>(t.locale??U())===`fr`?lse(e):use(e)),fse=()=>`hors ligne`,pse=()=>`offline`,mse=((e={},t={})=>(t.locale??U())===`fr`?fse(e):pse(e)),hse=()=>`retiré`,gse=()=>`removed`,_se=((e={},t={})=>(t.locale??U())===`fr`?hse(e):gse(e)),vse=()=>`Agent par défaut de l'instance`,yse=()=>`Instance default agent`,bse=((e={},t={})=>(t.locale??U())===`fr`?vse(e):yse(e)),xse=()=>`Chartes`,Sse=()=>`Charts`,Cse=((e={},t={})=>(t.locale??U())===`fr`?xse(e):Sse(e)),wse=()=>`Aucune charte disponible pour ce groupe pour l'instant. Demandez à un administrateur d'ajouter des chartes au pool de ce groupe.`,Tse=()=>`No charts available for this group yet. Ask an admin to add charts to this group's pool.`,Ese=((e={},t={})=>(t.locale??U())===`fr`?wse(e):Tse(e)),Dse=()=>`Ajoutez des chartes au pool de ce groupe ci-dessous, puis sélectionnez celles que le groupe propose.`,Ose=()=>`Add charts to this group's pool below, then select which ones the group offers.`,kse=((e={},t={})=>(t.locale??U())===`fr`?Dse(e):Ose(e)),Ase=()=>`Ajouter une charte au pool…`,jse=()=>`Add a chart to the pool…`,Mse=((e={},t={})=>(t.locale??U())===`fr`?Ase(e):jse(e)),Nse=e=>`Retirer ${e?.name} du pool`,Pse=e=>`Remove ${e?.name} from the pool`,Fse=((e,t={})=>(t.locale??U())===`fr`?Nse(e):Pse(e)),Ise=e=>`Proposer la charte ${e?.name} à ce groupe`,Lse=e=>`Offer chart ${e?.name} to this group`,Rse=((e,t={})=>(t.locale??U())===`fr`?Ise(e):Lse(e)),zse=()=>`Charte par défaut du groupe`,Bse=()=>`Group default chart`,Vse=((e={},t={})=>(t.locale??U())===`fr`?zse(e):Bse(e)),Hse=()=>`Définir par défaut`,Use=()=>`Set as default`,Wse=((e={},t={})=>(t.locale??U())===`fr`?Hse(e):Use(e)),Gse=()=>`Gestionnaire`,Kse=()=>`Manager`,qse=((e={},t={})=>(t.locale??U())===`fr`?Gse(e):Kse(e)),Jse=()=>`Promouvoir gestionnaire`,Yse=()=>`Promote to manager`,Xse=((e={},t={})=>(t.locale??U())===`fr`?Jse(e):Yse(e)),Zse=()=>`Retirer gestionnaire`,Qse=()=>`Remove manager`,$se=((e={},t={})=>(t.locale??U())===`fr`?Zse(e):Qse(e)),ece=()=>`Changement de gestionnaire refusé`,tce=()=>`Manager change rejected`,nce=((e={},t={})=>(t.locale??U())===`fr`?ece(e):tce(e)),rce=()=>`Mise à jour de la charte refusée`,ice=()=>`Chart update rejected`,ace=((e={},t={})=>(t.locale??U())===`fr`?rce(e):ice(e)),oce=()=>`Enregistrement du groupe refusé`,sce=()=>`Group save rejected`,cce=((e={},t={})=>(t.locale??U())===`fr`?oce(e):sce(e)),lce=()=>`Suppression du groupe refusée`,uce=()=>`Group deletion rejected`,dce=((e={},t={})=>(t.locale??U())===`fr`?lce(e):uce(e)),fce=()=>`Mise à jour de l'adhésion refusée`,pce=()=>`Membership update rejected`,mce=((e={},t={})=>(t.locale??U())===`fr`?fce(e):pce(e)),hce=()=>`Partage de l'agent refusé`,gce=()=>`Agent sharing rejected`,_ce=((e={},t={})=>(t.locale??U())===`fr`?hce(e):gce(e)),vce=()=>`Réordonner cet onglet`,yce=()=>`Reorder this tab`,bce=((e={},t={})=>(t.locale??U())===`fr`?vce(e):yce(e)),xce=()=>`Réglages`,Sce=()=>`Settings`,Cce=((e={},t={})=>(t.locale??U())===`fr`?xce(e):Sce(e)),wce=()=>`← Retour au chat`,Tce=()=>`← Back to chat`,Ece=((e={},t={})=>(t.locale??U())===`fr`?wce(e):Tce(e)),Dce=()=>`Réglages`,Oce=()=>`Settings`,kce=((e={},t={})=>(t.locale??U())===`fr`?Dce(e):Oce(e)),Ace=()=>`Personnel`,jce=()=>`Personal`,Mce=((e={},t={})=>(t.locale??U())===`fr`?Ace(e):jce(e)),Nce=()=>`Agents`,Pce=()=>`Agents`,Fce=((e={},t={})=>(t.locale??U())===`fr`?Nce(e):Pce(e)),Ice=()=>`Accès & utilisateurs`,Lce=()=>`Access & users`,Rce=((e={},t={})=>(t.locale??U())===`fr`?Ice(e):Lce(e)),zce=()=>`Observabilité`,Bce=()=>`Observability`,Vce=((e={},t={})=>(t.locale??U())===`fr`?zce(e):Bce(e)),Hce=()=>`Fermer`,Uce=()=>`Close`,Wce=((e={},t={})=>(t.locale??U())===`fr`?Hce(e):Uce(e)),Gce=()=>`héritée`,Kce=()=>`inherited`,qce=((e={},t={})=>(t.locale??U())===`fr`?Gce(e):Kce(e)),Jce=()=>`Revenir à la valeur héritée`,Yce=()=>`Back to the inherited value`,Xce=((e={},t={})=>(t.locale??U())===`fr`?Jce(e):Yce(e)),Zce=()=>`Application…`,Qce=()=>`Applying…`,$ce=((e={},t={})=>(t.locale??U())===`fr`?Zce(e):Qce(e)),ele=()=>`Échec de l’application.`,tle=()=>`Failed to apply.`,nle=((e={},t={})=>(t.locale??U())===`fr`?ele(e):tle(e)),rle=()=>`Réessayer`,ile=()=>`Retry`,ale=((e={},t={})=>(t.locale??U())===`fr`?rle(e):ile(e)),ole=()=>`Réflexion`,sle=()=>`Reasoning`,cle=((e={},t={})=>(t.locale??U())===`fr`?ole(e):sle(e)),lle=()=>`Vitesse`,ule=()=>`Speed`,dle=((e={},t={})=>(t.locale??U())===`fr`?lle(e):ule(e)),fle=()=>`Hérité`,ple=()=>`Inherited`,mle=((e={},t={})=>(t.locale??U())===`fr`?fle(e):ple(e)),hle=()=>`Rapide`,gle=()=>`Fast`,_le=((e={},t={})=>(t.locale??U())===`fr`?hle(e):gle(e)),vle=()=>`Standard`,yle=()=>`Standard`,ble=((e={},t={})=>(t.locale??U())===`fr`?vle(e):yle(e)),xle=()=>`Tous les réglages de session`,Sle=()=>`All session settings`,Cle=((e={},t={})=>(t.locale??U())===`fr`?xle(e):Sle(e)),wle=()=>`Réglages de session`,Tle=()=>`Session settings`,Ele=((e={},t={})=>(t.locale??U())===`fr`?wle(e):Tle(e)),Dle=()=>`Réglages appliqués à cette conversation.`,Ole=()=>`Settings applied to this conversation.`,kle=((e={},t={})=>(t.locale??U())===`fr`?Dle(e):Ole(e)),Ale=()=>`Génération`,jle=()=>`Generation`,Mle=((e={},t={})=>(t.locale??U())===`fr`?Ale(e):jle(e)),Nle=()=>`Session`,Ple=()=>`Session`,Fle=((e={},t={})=>(t.locale??U())===`fr`?Nle(e):Ple(e)),Ile=()=>`Instance`,Lle=()=>`Instance`,Rle=((e={},t={})=>(t.locale??U())===`fr`?Ile(e):Lle(e)),zle=()=>`Réflexion par défaut`,Ble=()=>`Default reasoning`,Vle=((e={},t={})=>(t.locale??U())===`fr`?zle(e):Ble(e)),Hle=()=>`Agent`,Ule=()=>`Agent`,Wle=((e={},t={})=>(t.locale??U())===`fr`?Hle(e):Ule(e)),Gle=()=>`Actions`,Kle=()=>`Actions`,qle=((e={},t={})=>(t.locale??U())===`fr`?Gle(e):Kle(e)),Jle=()=>`Contexte`,Yle=()=>`Context`,Xle=((e={},t={})=>(t.locale??U())===`fr`?Jle(e):Yle(e)),Zle=e=>`${e?.pct} % · ${e?.used} / ${e?.total} jetons`,Qle=e=>`${e?.pct}% · ${e?.used} / ${e?.total} tokens`,$le=((e,t={})=>(t.locale??U())===`fr`?Zle(e):Qle(e)),eue=()=>`Verbosité`,tue=()=>`Verbosity`,nue=((e={},t={})=>(t.locale??U())===`fr`?eue(e):tue(e)),rue=e=>`${e?.level} · fixée`,iue=e=>`${e?.level} · pinned`,aue=((e,t={})=>(t.locale??U())===`fr`?rue(e):iue(e)),oue=()=>`Fixée par la passerelle pour un streaming complet.`,sue=()=>`Pinned by the bridge for complete streaming.`,cue=((e={},t={})=>(t.locale??U())===`fr`?oue(e):sue(e)),lue=()=>`Coût / jetons`,uue=()=>`Cost / tokens`,due=((e={},t={})=>(t.locale??U())===`fr`?lue(e):uue(e)),fue=e=>`~${e?.cost} $ · ${e?.tokens} jetons`,pue=e=>`~$${e?.cost} · ${e?.tokens} tokens`,mue=((e,t={})=>(t.locale??U())===`fr`?fue(e):pue(e)),hue=e=>`~${e?.cost} $`,gue=e=>`~$${e?.cost}`,_ue=((e,t={})=>(t.locale??U())===`fr`?hue(e):gue(e)),vue=e=>`${e?.tokens} jetons`,yue=e=>`${e?.tokens} tokens`,bue=((e,t={})=>(t.locale??U())===`fr`?vue(e):yue(e)),xue=()=>`Compacter le contexte`,Sue=()=>`Compact the context`,Cue=((e={},t={})=>(t.locale??U())===`fr`?xue(e):Sue(e)),wue=()=>`Compacter le contexte ?`,Tue=()=>`Compact the context?`,Eue=((e={},t={})=>(t.locale??U())===`fr`?wue(e):Tue(e)),Due=()=>`L’agent résume la conversation pour libérer de l’espace dans la fenêtre de contexte. Les messages restent visibles ici.`,Oue=()=>`The agent summarizes the conversation to free space in the context window. Messages stay visible here.`,kue=((e={},t={})=>(t.locale??U())===`fr`?Due(e):Oue(e)),Aue=()=>`Compacter`,jue=()=>`Compact`,Mue=((e={},t={})=>(t.locale??U())===`fr`?Aue(e):jue(e)),Nue=()=>`Réinitialiser la session`,Pue=()=>`Reset the session`,Fue=((e={},t={})=>(t.locale??U())===`fr`?Nue(e):Pue(e)),Iue=()=>`Réinitialiser la session ?`,Lue=()=>`Reset the session?`,Rue=((e={},t={})=>(t.locale??U())===`fr`?Iue(e):Lue(e)),zue=()=>`La session de l’agent repart à zéro et se réhydrate depuis la conversation au prochain message. Aucun message n’est supprimé.`,Bue=()=>`The agent session starts fresh and re-hydrates from the conversation on the next message. No message is deleted.`,Vue=((e={},t={})=>(t.locale??U())===`fr`?zue(e):Bue(e)),Hue=()=>`Réinitialiser`,Uue=()=>`Reset`,Wue=((e={},t={})=>(t.locale??U())===`fr`?Hue(e):Uue(e)),Gue=()=>`Demande envoyée à l’agent.`,Kue=()=>`Request sent to the agent.`,que=((e={},t={})=>(t.locale??U())===`fr`?Gue(e):Kue(e)),Jue=()=>`Échec de l’action.`,Yue=()=>`Action failed.`,Xue=((e={},t={})=>(t.locale??U())===`fr`?Jue(e):Yue(e)),Zue=()=>`Fichiers d’agent`,Que=()=>`Agent files`,$ue=((e={},t={})=>(t.locale??U())===`fr`?Zue(e):Que(e)),ede=()=>`Fichiers de l’espace de travail de l’agent (règles, identité, outils). La jauge mesure l’usage du budget bootstrap par fichier ; l’écriture est réservée aux administrateurs et chaque écriture est auditée.`,tde=()=>`The agent’s workspace files (rules, identity, tools). The gauge tracks each file’s bootstrap budget usage; writing is admin-only and every write is audited.`,nde=((e={},t={})=>(t.locale??U())===`fr`?ede(e):tde(e)),rde=()=>`Instance`,ide=()=>`Instance`,ade=((e={},t={})=>(t.locale??U())===`fr`?rde(e):ide(e)),ode=()=>`Agent`,sde=()=>`Agent`,cde=((e={},t={})=>(t.locale??U())===`fr`?ode(e):sde(e)),lde=()=>`Aucun agent disponible.`,ude=()=>`No agent available.`,dde=((e={},t={})=>(t.locale??U())===`fr`?lde(e):ude(e)),fde=()=>`Aucun fichier.`,pde=()=>`No files.`,mde=((e={},t={})=>(t.locale??U())===`fr`?fde(e):pde(e)),hde=()=>`Bridge injoignable — impossible de lister les fichiers.`,gde=()=>`Bridge unreachable — cannot list the files.`,_de=((e={},t={})=>(t.locale??U())===`fr`?hde(e):gde(e)),vde=()=>`absent`,yde=()=>`missing`,bde=((e={},t={})=>(t.locale??U())===`fr`?vde(e):yde(e)),xde=e=>`${e?.size} ko`,Sde=e=>`${e?.size} kB`,Cde=((e,t={})=>(t.locale??U())===`fr`?xde(e):Sde(e)),wde=e=>`${e?.pct} %`,Tde=e=>`${e?.pct}%`,Ede=((e,t={})=>(t.locale??U())===`fr`?wde(e):Tde(e)),Dde=()=>`Proche de la limite bootstrap`,Ode=()=>`Near the bootstrap limit`,kde=((e={},t={})=>(t.locale??U())===`fr`?Dde(e):Ode(e)),Ade=e=>`Budget total : ${e?.used} ko / ${e?.total} ko (${e?.pct} %)`,jde=e=>`Total budget: ${e?.used} kB / ${e?.total} kB (${e?.pct}%)`,Mde=((e,t={})=>(t.locale??U())===`fr`?Ade(e):jde(e)),Nde=()=>`Éditer`,Pde=()=>`Edit`,Fde=((e={},t={})=>(t.locale??U())===`fr`?Nde(e):Pde(e)),Ide=()=>`Consulter`,Lde=()=>`View`,Rde=((e={},t={})=>(t.locale??U())===`fr`?Ide(e):Lde(e)),zde=e=>`${e?.name}`,Bde=e=>`${e?.name}`,Vde=((e,t={})=>(t.locale??U())===`fr`?zde(e):Bde(e)),Hde=e=>`Agent ${e?.agent} · instance ${e?.instance}`,Ude=e=>`Agent ${e?.agent} · instance ${e?.instance}`,Wde=((e,t={})=>(t.locale??U())===`fr`?Hde(e):Ude(e)),Gde=()=>`lecture seule`,Kde=()=>`read-only`,qde=((e={},t={})=>(t.locale??U())===`fr`?Gde(e):Kde(e)),Jde=()=>`Source markdown brute — l’aperçu rendu n’est pas disponible ici.`,Yde=()=>`Raw markdown source — a rendered preview is not available here.`,Xde=((e={},t={})=>(t.locale??U())===`fr`?Jde(e):Yde(e)),Zde=e=>`${e?.count} / ${e?.max} caractères`,Qde=e=>`${e?.count} / ${e?.max} characters`,$de=((e,t={})=>(t.locale??U())===`fr`?Zde(e):Qde(e)),efe=()=>`Enregistrer`,tfe=()=>`Save`,nfe=((e={},t={})=>(t.locale??U())===`fr`?efe(e):tfe(e)),rfe=e=>`${e?.name} enregistré.`,ife=e=>`${e?.name} saved.`,afe=((e,t={})=>(t.locale??U())===`fr`?rfe(e):ife(e)),ofe=()=>`Échec de l’enregistrement.`,sfe=()=>`Save failed.`,cfe=((e={},t={})=>(t.locale??U())===`fr`?ofe(e):sfe(e)),lfe=()=>`Impossible de charger le fichier.`,ufe=()=>`Could not load the file.`,dfe=((e={},t={})=>(t.locale??U())===`fr`?lfe(e):ufe(e)),ffe=()=>`Le fichier a changé depuis le chargement. Rechargez avant d’enregistrer (vos modifications sont conservées).`,pfe=()=>`The file changed since it was loaded. Reload before saving (your edits are kept).`,mfe=((e={},t={})=>(t.locale??U())===`fr`?ffe(e):pfe(e)),hfe=()=>`Recharger`,gfe=()=>`Reload`,_fe=((e={},t={})=>(t.locale??U())===`fr`?hfe(e):gfe(e)),vfe=e=>`Écrire ${e?.name} ?`,yfe=e=>`Write ${e?.name}?`,bfe=((e,t={})=>(t.locale??U())===`fr`?vfe(e):yfe(e)),xfe=e=>`Le fichier sera écrit sur l’agent ${e?.agent}. Une révision complète avant/après est conservée.`,Sfe=e=>`The file will be written to agent ${e?.agent}. A full before/after revision is kept.`,Cfe=((e,t={})=>(t.locale??U())===`fr`?xfe(e):Sfe(e)),wfe=e=>`${e?.added} ligne(s) ajoutée(s) · ${e?.removed} ligne(s) retirée(s)`,Tfe=e=>`${e?.added} line(s) added · ${e?.removed} line(s) removed`,Efe=((e,t={})=>(t.locale??U())===`fr`?wfe(e):Tfe(e)),Dfe=()=>`Ajoutées (extrait) :`,Ofe=()=>`Added (sample):`,kfe=((e={},t={})=>(t.locale??U())===`fr`?Dfe(e):Ofe(e)),Afe=()=>`Retirées (extrait) :`,jfe=()=>`Removed (sample):`,Mfe=((e={},t={})=>(t.locale??U())===`fr`?Afe(e):jfe(e)),Nfe=()=>`Écrire le fichier`,Pfe=()=>`Write the file`,Ffe=((e={},t={})=>(t.locale??U())===`fr`?Nfe(e):Pfe(e)),Ife=()=>`Défauts de chat`,Lfe=()=>`Chat defaults`,Rfe=((e={},t={})=>(t.locale??U())===`fr`?Ife(e):Lfe(e)),zfe=()=>`Réglages par défaut des nouvelles sessions de chat, lus depuis la configuration globale du gateway. Les réglages par chat et par agent restent prioritaires.`,Bfe=()=>`Default settings for new chat sessions, read from the gateway’s global configuration. Per-chat and per-agent settings keep precedence.`,Vfe=((e={},t={})=>(t.locale??U())===`fr`?zfe(e):Bfe(e)),Hfe=()=>`Réflexion par défaut`,Ufe=()=>`Default thinking`,Wfe=((e={},t={})=>(t.locale??U())===`fr`?Hfe(e):Ufe(e)),Gfe=()=>`Niveau de raisonnement appliqué quand un chat ne définit pas le sien.`,Kfe=()=>`Reasoning level applied when a chat does not set its own.`,qfe=((e={},t={})=>(t.locale??U())===`fr`?Gfe(e):Kfe(e)),Jfe=()=>`Vitesse par défaut`,Yfe=()=>`Default speed`,Xfe=((e={},t={})=>(t.locale??U())===`fr`?Jfe(e):Yfe(e)),Zfe=()=>`Mode rapide ou standard appliqué quand un chat ne définit pas le sien.`,Qfe=()=>`Fast or standard mode applied when a chat does not set its own.`,$fe=((e={},t={})=>(t.locale??U())===`fr`?Zfe(e):Qfe(e)),epe=()=>`Bridge injoignable — impossible de lire les défauts globaux.`,tpe=()=>`Bridge unreachable — cannot read the global defaults.`,npe=((e={},t={})=>(t.locale??U())===`fr`?epe(e):tpe(e)),rpe=()=>`Enregistrer`,ipe=()=>`Save`,ape=((e={},t={})=>(t.locale??U())===`fr`?rpe(e):ipe(e)),ope=()=>`Réinitialiser`,spe=()=>`Reset`,cpe=((e={},t={})=>(t.locale??U())===`fr`?ope(e):spe(e)),lpe=()=>`Supprime les réglages par défaut (réflexion et vitesse) de la configuration du gateway — son comportement d'origine s'applique à nouveau.`,upe=()=>`Removes the chat defaults (reasoning and speed) from the gateway configuration — its original behavior applies again.`,dpe=((e={},t={})=>(t.locale??U())===`fr`?lpe(e):upe(e)),fpe=()=>`Réglages par défaut réinitialisés — le gateway applique son comportement d'origine.`,ppe=()=>`Chat defaults reset — the gateway applies its original behavior.`,mpe=((e={},t={})=>(t.locale??U())===`fr`?fpe(e):ppe(e)),hpe=()=>`Enregistré.`,gpe=()=>`Saved.`,_pe=((e={},t={})=>(t.locale??U())===`fr`?hpe(e):gpe(e)),vpe=()=>`Échec de l’enregistrement — réessayez.`,ype=()=>`Save failed — try again.`,bpe=((e={},t={})=>(t.locale??U())===`fr`?vpe(e):ype(e)),xpe=()=>`Ces valeurs sont écrites dans openclaw.json, la configuration globale de l’instance — elles s’appliquent à tous les utilisateurs.`,Spe=()=>`These values are written to openclaw.json, the instance’s global configuration — they apply to every user.`,Cpe=((e={},t={})=>(t.locale??U())===`fr`?xpe(e):Spe(e)),wpe=()=>`Modifier les défauts globaux ?`,Tpe=()=>`Change the global defaults?`,Epe=((e={},t={})=>(t.locale??U())===`fr`?wpe(e):Tpe(e)),Dpe=()=>`Cette écriture modifie openclaw.json pour toute l’instance : tous les chats qui héritent du défaut changeront de comportement.`,Ope=()=>`This write changes openclaw.json for the whole instance: every chat inheriting the default will change behavior.`,kpe=((e={},t={})=>(t.locale??U())===`fr`?Dpe(e):Ope(e)),Ape=()=>`Modifier`,jpe=()=>`Change`,Mpe=((e={},t={})=>(t.locale??U())===`fr`?Ape(e):jpe(e)),Npe=()=>`Compatibilité`,Ppe=()=>`Compatibility`,Fpe=((e={},t={})=>(t.locale??U())===`fr`?Npe(e):Ppe(e)),Ipe=()=>`Aucun relevé de compatibilité pour l’instant — le sondage tourne toutes les 5 minutes.`,Lpe=()=>`No compatibility reading yet — the poll runs every 5 minutes.`,Rpe=((e={},t={})=>(t.locale??U())===`fr`?Ipe(e):Lpe(e)),zpe=()=>`Commit git exact de cette image (vérité de build)`,Bpe=()=>`Exact git commit of this image (build truth)`,Vpe=((e={},t={})=>(t.locale??U())===`fr`?zpe(e):Bpe(e)),Hpe=e=>`⚠ image construite en ${e?.build} — le conteneur ne correspond pas à sa version`,Upe=e=>`⚠ image built at ${e?.build} — the container does not match its version`,Wpe=((e,t={})=>(t.locale??U())===`fr`?Hpe(e):Upe(e)),Gpe=()=>`Contrat bridge :`,Kpe=()=>`Bridge contract:`,qpe=((e={},t={})=>(t.locale??U())===`fr`?Gpe(e):Kpe(e)),Jpe=()=>`inconnue`,Ype=()=>`unknown`,Xpe=((e={},t={})=>(t.locale??U())===`fr`?Jpe(e):Ype(e)),Zpe=()=>`Dernier sondage en échec — affichage du dernier relevé valide.`,Qpe=()=>`Last poll failed — showing the last good reading.`,$pe=((e={},t={})=>(t.locale??U())===`fr`?Zpe(e):Qpe(e)),eme=()=>`Ce bridge ne publie pas de manifeste de compatibilité (version antérieure) — politique héritée : seuls le modèle et la réflexion sont proposés.`,tme=()=>`This bridge does not publish a compatibility manifest (older version) — legacy policy: only model and reasoning are offered.`,nme=((e={},t={})=>(t.locale??U())===`fr`?eme(e):tme(e)),rme=()=>`OpenClaw supporté :`,ime=()=>`OpenClaw supported:`,ame=((e={},t={})=>(t.locale??U())===`fr`?rme(e):ime(e)),ome=e=>`de ${e?.min} à ${e?.max} (validé)`,sme=e=>`from ${e?.min} to ${e?.max} (validated)`,cme=((e,t={})=>(t.locale??U())===`fr`?ome(e):sme(e)),lme=()=>`1 version validée`,ume=()=>`1 validated version`,dme=((e={},t={})=>(t.locale??U())===`fr`?lme(e):ume(e)),fme=e=>`${e?.count} versions validées`,pme=e=>`${e?.count} validated versions`,mme=((e,t={})=>(t.locale??U())===`fr`?fme(e):pme(e)),hme=()=>`Validées au banc`,gme=()=>`Bench-validated`,_me=((e={},t={})=>(t.locale??U())===`fr`?hme(e):gme(e)),vme=()=>`Aucune connexion connue du relevé de compatibilité.`,yme=()=>`No connection known to the compatibility reading.`,bme=((e={},t={})=>(t.locale??U())===`fr`?vme(e):yme(e)),xme=()=>`✓ dans le support`,Sme=()=>`✓ within support`,Cme=((e={},t={})=>(t.locale??U())===`fr`?xme(e):Sme(e)),wme=()=>`⚠ au-delà du validé`,Tme=()=>`⚠ beyond validated`,Eme=((e={},t={})=>(t.locale??U())===`fr`?wme(e):Tme(e)),Dme=()=>`? inconnue`,Ome=()=>`? unknown`,kme=((e={},t={})=>(t.locale??U())===`fr`?Dme(e):Ome(e)),Ame=()=>`Hermes : adaptateur à venir.`,jme=()=>`Hermes: adapter coming.`,Mme=((e={},t={})=>(t.locale??U())===`fr`?Ame(e):jme(e)),Nme=e=>`Non supporté par cette instance (version gateway ${e?.version}).`,Pme=e=>`Not supported by this instance (gateway version ${e?.version}).`,Fme=((e,t={})=>(t.locale??U())===`fr`?Nme(e):Pme(e)),Ime=()=>`Non supporté par cette instance (version gateway inconnue).`,Lme=()=>`Not supported by this instance (unknown gateway version).`,Rme=((e={},t={})=>(t.locale??U())===`fr`?Ime(e):Lme(e)),zme=e=>`${e?.count} sous-agent`,Bme=e=>`${e?.count} sub-agent`,Vme=((e,t={})=>(t.locale??U())===`fr`?zme(e):Bme(e)),Hme=e=>`${e?.count} sous-agents`,Ume=e=>`${e?.count} sub-agents`,Wme=((e,t={})=>(t.locale??U())===`fr`?Hme(e):Ume(e)),Gme=()=>`en cours`,Kme=()=>`running`,qme=((e={},t={})=>(t.locale??U())===`fr`?Gme(e):Kme(e)),Jme=()=>`terminé`,Yme=()=>`done`,Xme=((e={},t={})=>(t.locale??U())===`fr`?Jme(e):Yme(e)),Zme=()=>`en échec`,Qme=()=>`failed`,$me=((e={},t={})=>(t.locale??U())===`fr`?Zme(e):Qme(e)),ehe=()=>`Le sous-agent a échoué (aucune raison rapportée).`,the=()=>`The sub-agent failed (no reason reported).`,nhe=((e={},t={})=>(t.locale??U())===`fr`?ehe(e):the(e)),rhe=()=>`Sous-agent`,ihe=()=>`Sub-agent`,ahe=((e={},t={})=>(t.locale??U())===`fr`?rhe(e):ihe(e)),ohe=()=>`Sous-agent`,she=()=>`Sub-agent`,che=((e={},t={})=>(t.locale??U())===`fr`?ohe(e):she(e)),lhe=()=>`Ouvrir le sous-agent`,uhe=()=>`Open the sub-agent`,dhe=((e={},t={})=>(t.locale??U())===`fr`?lhe(e):uhe(e)),fhe=()=>`Fermer`,phe=()=>`Close`,mhe=((e={},t={})=>(t.locale??U())===`fr`?fhe(e):phe(e)),hhe=()=>`Chargement…`,ghe=()=>`Loading…`,_he=((e={},t={})=>(t.locale??U())===`fr`?hhe(e):ghe(e)),vhe=()=>`Outils`,yhe=()=>`Tools`,bhe=((e={},t={})=>(t.locale??U())===`fr`?vhe(e):yhe(e)),xhe=()=>`Erreur`,She=()=>`Error`,Che=((e={},t={})=>(t.locale??U())===`fr`?xhe(e):She(e)),whe=()=>`Résultat`,The=()=>`Result`,Ehe=((e={},t={})=>(t.locale??U())===`fr`?whe(e):The(e)),Dhe=()=>`Le sous-agent travaille…`,Ohe=()=>`The sub-agent is working…`,khe=((e={},t={})=>(t.locale??U())===`fr`?Dhe(e):Ohe(e)),Ahe=()=>`Remonter au message`,jhe=()=>`Jump to the message`,Mhe=((e={},t={})=>(t.locale??U())===`fr`?Ahe(e):jhe(e)),Nhe=()=>`Aller au message de l’agent principal qui a lancé ce sous-agent`,Phe=()=>`Go to the main agent's message that spawned this sub-agent`,Fhe=((e={},t={})=>(t.locale??U())===`fr`?Nhe(e):Phe(e)),Ihe=()=>`Afficher le prompt complet`,Lhe=()=>`Show the full prompt`,Rhe=((e={},t={})=>(t.locale??U())===`fr`?Ihe(e):Lhe(e)),zhe=()=>`Signaler une anomalie`,Bhe=()=>`Report an issue`,Vhe=((e={},t={})=>(t.locale??U())===`fr`?zhe(e):Bhe(e)),Hhe=()=>`Exporter`,Uhe=()=>`Export`,Whe=((e={},t={})=>(t.locale??U())===`fr`?Hhe(e):Uhe(e)),Ghe=()=>`Télécharger la conversation du sous-agent (Markdown)`,Khe=()=>`Download the sub-agent's conversation (Markdown)`,qhe=((e={},t={})=>(t.locale??U())===`fr`?Ghe(e):Khe(e)),Jhe=()=>`Modèle`,Yhe=()=>`Model`,Xhe=((e={},t={})=>(t.locale??U())===`fr`?Jhe(e):Yhe(e)),Zhe=()=>`Fournisseur`,Qhe=()=>`Provider`,$he=((e={},t={})=>(t.locale??U())===`fr`?Zhe(e):Qhe(e)),ege=()=>`Réflexion`,tge=()=>`Reasoning`,nge=((e={},t={})=>(t.locale??U())===`fr`?ege(e):tge(e)),rge=()=>`Vitesse`,ige=()=>`Speed`,age=((e={},t={})=>(t.locale??U())===`fr`?rge(e):ige(e)),oge=()=>`Rapide`,sge=()=>`Fast`,cge=((e={},t={})=>(t.locale??U())===`fr`?oge(e):sge(e)),lge=()=>`Standard`,uge=()=>`Standard`,dge=((e={},t={})=>(t.locale??U())===`fr`?lge(e):uge(e)),fge=()=>`Portée`,pge=()=>`Scope`,mge=((e={},t={})=>(t.locale??U())===`fr`?fge(e):pge(e)),hge=()=>`Rôle`,gge=()=>`Role`,_ge=((e={},t={})=>(t.locale??U())===`fr`?hge(e):gge(e)),vge=()=>`Profondeur`,yge=()=>`Depth`,bge=((e={},t={})=>(t.locale??U())===`fr`?vge(e):yge(e)),xge=()=>`Agent parent`,Sge=()=>`Parent agent`,Cge=((e={},t={})=>(t.locale??U())===`fr`?xge(e):Sge(e)),wge=()=>`Avancé`,Tge=()=>`Advanced`,Ege=((e={},t={})=>(t.locale??U())===`fr`?wge(e):Tge(e)),Dge=()=>`Contexte`,Oge=()=>`Context`,kge=((e={},t={})=>(t.locale??U())===`fr`?Dge(e):Oge(e)),Age=()=>`Contexte « fork » : le transcript de l’agent parent a été branché dans le sous-agent`,jge=()=>`"fork" context: the parent agent's transcript was branched into the sub-agent`,Mge=((e={},t={})=>(t.locale??U())===`fr`?Age(e):jge(e)),Nge=()=>`Runtime`,Pge=()=>`Runtime`,Fge=((e={},t={})=>(t.locale??U())===`fr`?Nge(e):Pge(e)),Ige=()=>`Mode`,Lge=()=>`Mode`,Rge=((e={},t={})=>(t.locale??U())===`fr`?Ige(e):Lge(e)),zge=()=>`Nettoyage`,Bge=()=>`Cleanup`,Vge=((e={},t={})=>(t.locale??U())===`fr`?zge(e):Bge(e)),Hge=()=>`Sandbox`,Uge=()=>`Sandbox`,Wge=((e={},t={})=>(t.locale??U())===`fr`?Hge(e):Uge(e)),Gge=()=>`Passerelle`,Kge=()=>`Gateway`,qge=((e={},t={})=>(t.locale??U())===`fr`?Gge(e):Kge(e)),Jge=()=>`Capacité`,Yge=()=>`Capability`,Xge=((e={},t={})=>(t.locale??U())===`fr`?Jge(e):Yge(e)),Zge=()=>`Agent`,Qge=()=>`Agent`,$ge=((e={},t={})=>(t.locale??U())===`fr`?Zge(e):Qge(e)),e_e=()=>`Étiquette`,t_e=()=>`Label`,n_e=((e={},t={})=>(t.locale??U())===`fr`?e_e(e):t_e(e)),r_e=()=>`Contexte léger`,i_e=()=>`Light context`,a_e=((e={},t={})=>(t.locale??U())===`fr`?r_e(e):i_e(e)),o_e=()=>`activé`,s_e=()=>`enabled`,c_e=((e={},t={})=>(t.locale??U())===`fr`?o_e(e):s_e(e)),l_e=()=>`désactivé`,u_e=()=>`disabled`,d_e=((e={},t={})=>(t.locale??U())===`fr`?l_e(e):u_e(e)),f_e=()=>`Session`,p_e=()=>`Session`,m_e=((e={},t={})=>(t.locale??U())===`fr`?f_e(e):p_e(e)),h_e=()=>`Durée`,g_e=()=>`Runtime`,__e=((e={},t={})=>(t.locale??U())===`fr`?h_e(e):g_e(e)),v_e=()=>`Jetons`,y_e=()=>`Tokens`,b_e=((e={},t={})=>(t.locale??U())===`fr`?v_e(e):y_e(e)),x_e=()=>`Coût estimé`,S_e=()=>`Estimated cost`,C_e=((e={},t={})=>(t.locale??U())===`fr`?x_e(e):S_e(e)),w_e=()=>`Session archivée après la réponse (nettoyage « delete ») — interaction impossible`,T_e=()=>`Session archived after its reply (cleanup "delete") — interaction unavailable`,E_e=((e={},t={})=>(t.locale??U())===`fr`?w_e(e):T_e(e)),D_e=()=>`Ne peut pas déléguer (feuille)`,O_e=()=>`Cannot delegate (leaf)`,k_e=((e={},t={})=>(t.locale??U())===`fr`?D_e(e):O_e(e)),A_e=()=>`Peut déléguer (orchestrateur)`,j_e=()=>`Can delegate (orchestrator)`,M_e=((e={},t={})=>(t.locale??U())===`fr`?A_e(e):j_e(e)),N_e=()=>`Échanges`,P_e=()=>`Conversation`,F_e=((e={},t={})=>(t.locale??U())===`fr`?N_e(e):P_e(e)),I_e=()=>`Le sous-agent répond…`,L_e=()=>`The sub-agent is replying…`,R_e=((e={},t={})=>(t.locale??U())===`fr`?I_e(e):L_e(e)),z_e=()=>`Échec de l’envoi au sous-agent`,B_e=()=>`Failed to reach the sub-agent`,V_e=((e={},t={})=>(t.locale??U())===`fr`?z_e(e):B_e(e)),H_e=()=>`Attendez la fin du sous-agent`,U_e=()=>`Wait for the sub-agent to finish`,W_e=((e={},t={})=>(t.locale??U())===`fr`?H_e(e):U_e(e)),G_e=()=>`Réponse en attente…`,K_e=()=>`Waiting for the reply…`,q_e=((e={},t={})=>(t.locale??U())===`fr`?G_e(e):K_e(e)),J_e=()=>`Joindre un fichier`,Y_e=()=>`Attach a file`,X_e=((e={},t={})=>(t.locale??U())===`fr`?J_e(e):Y_e(e)),Z_e=()=>`Afficher / masquer les outils`,Q_e=()=>`Show / hide the tools`,$_e=((e={},t={})=>(t.locale??U())===`fr`?Z_e(e):Q_e(e)),eve=()=>`Retirer le fichier`,tve=()=>`Remove the file`,nve=((e={},t={})=>(t.locale??U())===`fr`?eve(e):tve(e)),rve=()=>`Interagir avec le sous-agent`,ive=()=>`Interact with the sub-agent`,ave=((e={},t={})=>(t.locale??U())===`fr`?rve(e):ive(e)),ove=()=>`Message au sous-agent…`,sve=()=>`Message the sub-agent…`,cve=((e={},t={})=>(t.locale??U())===`fr`?ove(e):sve(e)),lve=()=>`Envoyer`,uve=()=>`Send`,dve=((e={},t={})=>(t.locale??U())===`fr`?lve(e):uve(e)),fve=()=>`L’agent a délégué à un sous-agent — en attente de son retour…`,pve=()=>`The agent delegated to a sub-agent — waiting for its result…`,mve=((e={},t={})=>(t.locale??U())===`fr`?fve(e):pve(e)),hve=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») — en attente de son retour…`,gve=e=>`The agent delegated to a sub-agent ("${e?.task}") — waiting for its result…`,_ve=((e,t={})=>(t.locale??U())===`fr`?hve(e):gve(e)),vve=e=>`L’agent a délégué à un sous-agent qui a échoué : ${e?.reason}`,yve=e=>`The agent delegated to a sub-agent that failed: ${e?.reason}`,bve=((e,t={})=>(t.locale??U())===`fr`?vve(e):yve(e)),xve=e=>`L’agent a délégué à un sous-agent (« ${e?.task} ») qui a échoué : ${e?.reason}`,Sve=e=>`The agent delegated to a sub-agent ("${e?.task}") that failed: ${e?.reason}`,Cve=((e,t={})=>(t.locale??U())===`fr`?xve(e):Sve(e)),wve=()=>`L’agent a effectué des actions mais n’a pas renvoyé de réponse.`,Tve=()=>`The agent performed some actions but did not return a response.`,Eve=((e={},t={})=>(t.locale??U())===`fr`?wve(e):Tve(e)),Dve=()=>`Endpoint manquant`,Ove=()=>`Endpoint missing`,kve=((e={},t={})=>(t.locale??U())===`fr`?Dve(e):Ove(e)),Ave=()=>`Exportez les traces d'Atrium vers n'importe quel backend OpenTelemetry/OTLP (Grafana Tempo, Jaeger, Datadog, un collecteur OTEL). Tout se configure ici — aucune variable d'environnement.`,jve=()=>`Export Atrium's traces to any OpenTelemetry/OTLP backend (Grafana Tempo, Jaeger, Datadog, an OTEL collector). Everything is configured here — no env vars.`,Mve=((e={},t={})=>(t.locale??U())===`fr`?Ave(e):jve(e)),Nve=()=>`Endpoint OTLP/HTTP (traces)`,Pve=()=>`OTLP/HTTP endpoint (traces)`,Fve=((e={},t={})=>(t.locale??U())===`fr`?Nve(e):Pve(e)),Ive=()=>`En-têtes d'authentification (JSON)`,Lve=()=>`Auth headers (JSON)`,Rve=((e={},t={})=>(t.locale??U())===`fr`?Ive(e):Lve(e)),zve=()=>`Configurés (chiffrés) — laisser vide pour conserver`,Bve=()=>`Set (encrypted) — leave blank to keep`,Vve=((e={},t={})=>(t.locale??U())===`fr`?zve(e):Bve(e)),Hve=()=>`Objet JSON, ex. Authorization = Bearer ...`,Uve=()=>`JSON object, e.g. Authorization = Bearer ...`,Wve=((e={},t={})=>(t.locale??U())===`fr`?Hve(e):Uve(e)),Gve=()=>`Enregistrer les en-têtes`,Kve=()=>`Save headers`,qve=((e={},t={})=>(t.locale??U())===`fr`?Gve(e):Kve(e)),Jve=()=>`Effacer`,Yve=()=>`Clear`,Xve=((e={},t={})=>(t.locale??U())===`fr`?Jve(e):Yve(e)),Zve=()=>`L'authentification va dans les en-têtes, jamais dans l'URL. Les en-têtes sont chiffrés au repos.`,Qve=()=>`Auth goes in the headers, never in the URL. Headers are encrypted at rest.`,$ve=((e={},t={})=>(t.locale??U())===`fr`?Zve(e):Qve(e)),eye=()=>`Rapports sous-agents`,tye=()=>`Sub-agent reports`,nye=((e={},t={})=>(t.locale??U())===`fr`?eye(e):tye(e)),rye=()=>`Échec signalé`,iye=()=>`Failure reported`,aye=((e={},t={})=>(t.locale??U())===`fr`?rye(e):iye(e)),oye=()=>`Signaler un échec de sous-agent`,sye=()=>`Report a sub-agent failure`,cye=((e={},t={})=>(t.locale??U())===`fr`?oye(e):sye(e)),lye=e=>`Fige un instantané de « ${e?.label} » et de son contexte pour qu'un administrateur puisse analyser ce qui a échoué.`,uye=e=>`Freeze a snapshot of "${e?.label}" and its context so an administrator can analyze what went wrong.`,dye=((e,t={})=>(t.locale??U())===`fr`?lye(e):uye(e)),fye=()=>`Votre signalement a été envoyé.`,pye=()=>`Your report has been sent.`,mye=((e={},t={})=>(t.locale??U())===`fr`?fye(e):pye(e)),hye=()=>`Instantané figé — un administrateur peut désormais analyser cet échec.`,gye=()=>`Snapshot frozen — an administrator can now analyze this failure.`,_ye=((e={},t={})=>(t.locale??U())===`fr`?hye(e):gye(e)),vye=()=>`Qu'est-ce qui a échoué ?`,yye=()=>`What went wrong?`,bye=((e={},t={})=>(t.locale??U())===`fr`?vye(e):yye(e)),xye=()=>`Choisir une raison (facultatif)`,Sye=()=>`Pick a reason (optional)`,Cye=((e={},t={})=>(t.locale??U())===`fr`?xye(e):Sye(e)),wye=()=>`Il est resté bloqué / n'a jamais terminé`,Tye=()=>`It hung / never finished`,Eye=((e={},t={})=>(t.locale??U())===`fr`?wye(e):Tye(e)),Dye=()=>`Il a terminé mais le résultat était faux`,Oye=()=>`It finished but the result was wrong`,kye=((e={},t={})=>(t.locale??U())===`fr`?Dye(e):Oye(e)),Aye=()=>`Il a échoué avec une erreur`,jye=()=>`It failed with an error`,Mye=((e={},t={})=>(t.locale??U())===`fr`?Aye(e):jye(e)),Nye=()=>`Autre`,Pye=()=>`Other`,Fye=((e={},t={})=>(t.locale??U())===`fr`?Nye(e):Pye(e)),Iye=()=>`Commentaire (facultatif)`,Lye=()=>`Comment (optional)`,Rye=((e={},t={})=>(t.locale??U())===`fr`?Iye(e):Lye(e)),zye=()=>`Ajoutez tout détail utile au diagnostic…`,Bye=()=>`Add any detail that could help debug this…`,Vye=((e={},t={})=>(t.locale??U())===`fr`?zye(e):Bye(e)),Hye=()=>`Annuler`,Uye=()=>`Cancel`,Wye=((e={},t={})=>(t.locale??U())===`fr`?Hye(e):Uye(e)),Gye=()=>`Envoyer le signalement`,Kye=()=>`Send report`,qye=((e={},t={})=>(t.locale??U())===`fr`?Gye(e):Kye(e)),Jye=()=>`Envoi…`,Yye=()=>`Sending…`,Xye=((e={},t={})=>(t.locale??U())===`fr`?Jye(e):Yye(e)),Zye=()=>`Fermer`,Qye=()=>`Close`,$ye=((e={},t={})=>(t.locale??U())===`fr`?Zye(e):Qye(e)),ebe=()=>`Signalements d'échecs de sous-agents`,tbe=()=>`Sub-agent failure reports`,nbe=((e={},t={})=>(t.locale??U())===`fr`?ebe(e):tbe(e)),rbe=()=>`Aucun signalement d'échec de sous-agent.`,ibe=()=>`No sub-agent failure reports.`,abe=((e={},t={})=>(t.locale??U())===`fr`?rbe(e):ibe(e)),obe=()=>`La liste n'affiche que des métadonnées. Ouvrir le détail d'un signalement lit l'instantané figé et est`,sbe=()=>`The list shows metadata only. Opening a report's detail reads the frozen snapshot and is`,cbe=((e={},t={})=>(t.locale??U())===`fr`?obe(e):sbe(e)),lbe=()=>`audité`,ube=()=>`audited`,dbe=((e={},t={})=>(t.locale??U())===`fr`?lbe(e):ube(e)),fbe=()=>`comme un accès au contenu d'un autre utilisateur. La contrepartie sans contenu de chaque signalement est dans l'onglet Anomalies.`,pbe=()=>`as a cross-user content access. The content-free counterpart of each report is in the Anomalies tab.`,mbe=((e={},t={})=>(t.locale??U())===`fr`?fbe(e):pbe(e)),hbe=()=>`Quand`,gbe=()=>`When`,_be=((e={},t={})=>(t.locale??U())===`fr`?hbe(e):gbe(e)),vbe=()=>`Raison`,ybe=()=>`Reason`,bbe=((e={},t={})=>(t.locale??U())===`fr`?vbe(e):ybe(e)),xbe=()=>`En échec`,Sbe=()=>`Failed`,Cbe=((e={},t={})=>(t.locale??U())===`fr`?xbe(e):Sbe(e)),wbe=()=>`Auteur`,Tbe=()=>`Reporter`,Ebe=((e={},t={})=>(t.locale??U())===`fr`?wbe(e):Tbe(e)),Dbe=()=>`Note`,Obe=()=>`Note`,kbe=((e={},t={})=>(t.locale??U())===`fr`?Dbe(e):Obe(e)),Abe=()=>`Statut`,jbe=()=>`Status`,Mbe=((e={},t={})=>(t.locale??U())===`fr`?Abe(e):jbe(e)),Nbe=e=>`(via ${e?.operator})`,Pbe=e=>`(via ${e?.operator})`,Fbe=((e,t={})=>(t.locale??U())===`fr`?Nbe(e):Pbe(e)),Ibe=()=>`Répondu`,Lbe=()=>`Answered`,Rbe=((e={},t={})=>(t.locale??U())===`fr`?Ibe(e):Lbe(e)),zbe=()=>`En attente`,Bbe=()=>`Pending`,Vbe=((e={},t={})=>(t.locale??U())===`fr`?zbe(e):Bbe(e)),Hbe=()=>`Voir le détail`,Ube=()=>`View detail`,Wbe=((e={},t={})=>(t.locale??U())===`fr`?Hbe(e):Ube(e)),Gbe=()=>`Masquer le détail`,Kbe=()=>`Hide detail`,qbe=((e={},t={})=>(t.locale??U())===`fr`?Gbe(e):Kbe(e)),Jbe=()=>`Supprimer`,Ybe=()=>`Delete`,Xbe=((e={},t={})=>(t.locale??U())===`fr`?Jbe(e):Ybe(e)),Zbe=()=>`Bloqué / jamais terminé`,Qbe=()=>`Hung / never finished`,$be=((e={},t={})=>(t.locale??U())===`fr`?Zbe(e):Qbe(e)),exe=()=>`Résultat faux`,txe=()=>`Wrong result`,nxe=((e={},t={})=>(t.locale??U())===`fr`?exe(e):txe(e)),rxe=()=>`Échec avec erreur`,ixe=()=>`Failed with an error`,axe=((e={},t={})=>(t.locale??U())===`fr`?rxe(e):ixe(e)),oxe=()=>`Autre`,sxe=()=>`Other`,cxe=((e={},t={})=>(t.locale??U())===`fr`?oxe(e):sxe(e)),lxe=e=>`${e?.failed}/${e?.total} en échec`,uxe=e=>`${e?.failed}/${e?.total} failed`,dxe=((e,t={})=>(t.locale??U())===`fr`?lxe(e):uxe(e)),fxe=()=>`Commentaire de l'auteur`,pxe=()=>`Reporter comment`,mxe=((e={},t={})=>(t.locale??U())===`fr`?fxe(e):pxe(e)),hxe=()=>`Échange`,gxe=()=>`Exchange`,_xe=((e={},t={})=>(t.locale??U())===`fr`?hxe(e):gxe(e)),vxe=()=>`Administrateur`,yxe=()=>`Administrator`,bxe=((e={},t={})=>(t.locale??U())===`fr`?vxe(e):yxe(e)),xxe=()=>`Utilisateur`,Sxe=()=>`User`,Cxe=((e={},t={})=>(t.locale??U())===`fr`?xxe(e):Sxe(e)),wxe=()=>`Aucune réponse envoyée pour l'instant.`,Txe=()=>`No reply sent yet.`,Exe=((e={},t={})=>(t.locale??U())===`fr`?wxe(e):Txe(e)),Dxe=()=>`Répondre à l'auteur…`,Oxe=()=>`Reply to the reporter…`,kxe=((e={},t={})=>(t.locale??U())===`fr`?Dxe(e):Oxe(e)),Axe=()=>`Répondre`,jxe=()=>`Reply`,Mxe=((e={},t={})=>(t.locale??U())===`fr`?Axe(e):jxe(e)),Nxe=()=>`Envoi…`,Pxe=()=>`Sending…`,Fxe=((e={},t={})=>(t.locale??U())===`fr`?Nxe(e):Pxe(e)),Ixe=e=>`Sous-agents capturés (${e?.count})`,Lxe=e=>`Captured sub-agents (${e?.count})`,Rxe=((e,t={})=>(t.locale??U())===`fr`?Ixe(e):Lxe(e)),zxe=()=>`(tronqué)`,Bxe=()=>`(truncated)`,Vxe=((e={},t={})=>(t.locale??U())===`fr`?zxe(e):Bxe(e)),Hxe=()=>`(texte tronqué pour tenir)`,Uxe=()=>`(text clipped to fit)`,Wxe=((e={},t={})=>(t.locale??U())===`fr`?Hxe(e):Uxe(e)),Gxe=()=>`signalé`,Kxe=()=>`flagged`,qxe=((e={},t={})=>(t.locale??U())===`fr`?Gxe(e):Kxe(e)),Jxe=()=>`Tour de lancement`,Yxe=()=>`Spawning turn`,Xxe=((e={},t={})=>(t.locale??U())===`fr`?Jxe(e):Yxe(e)),Zxe=()=>`Contexte`,Qxe=()=>`Context`,$xe=((e={},t={})=>(t.locale??U())===`fr`?Zxe(e):Qxe(e)),eSe=()=>`Supprimer ce signalement ?`,tSe=()=>`Delete this report?`,nSe=((e={},t={})=>(t.locale??U())===`fr`?eSe(e):tSe(e)),rSe=()=>`L'instantané figé sera supprimé définitivement. Cette action est irréversible.`,iSe=()=>`The frozen snapshot will be permanently removed. This cannot be undone.`,aSe=((e={},t={})=>(t.locale??U())===`fr`?rSe(e):iSe(e)),oSe=()=>`Supprimer`,sSe=()=>`Delete`,cSe=((e={},t={})=>(t.locale??U())===`fr`?oSe(e):sSe(e)),lSe=()=>`Exporter la charte (.json)`,uSe=()=>`Export chart (.json)`,dSe=((e={},t={})=>(t.locale??U())===`fr`?lSe(e):uSe(e)),fSe=()=>`Pulsations cardiaques (BPM)`,pSe=()=>`Heartbeat — pulse (BPM)`,mSe=((e={},t={})=>(t.locale??U())===`fr`?fSe(e):pSe(e)),hSe=()=>`Statique`,gSe=()=>`Static`,_Se=((e={},t={})=>(t.locale??U())===`fr`?hSe(e):gSe(e)),vSe=()=>`0 = aucun mouvement. Sinon l'aura ambiante de la charte bat à ce rythme (effets ambiants requis).`,ySe=()=>`0 = no motion. Otherwise the chart's ambient aura beats at this tempo (requires ambient effects on).`,bSe=((e={},t={})=>(t.locale??U())===`fr`?vSe(e):ySe(e)),xSe=()=>`Synthèse d’historique (réhydratation)`,SSe=()=>`History summary (rehydration)`,CSe=((e={},t={})=>(t.locale??U())===`fr`?xSe(e):SSe(e)),wSe=()=>`Le cadrage qu’Atrium ajoute à la demande de synthèse d’historique (réhydratation hybride). Désactiver n’arrête PAS la synthèse : seul le cadrage Atrium est retiré et l’agent reçoit la matière brute (résumé existant + nouveaux messages) — utile si vous avez configuré un agent « Synthèse de conversation » dédié dont le briefing porte déjà ces instructions. Pour couper la fonctionnalité, désactivez la réhydratation de l’instance (onglet Bridge).`,TSe=()=>`The framing Atrium adds to the history-summary request (hybrid rehydration). Disabling does NOT stop summarization: only Atrium's framing is removed and the agent receives the bare material (existing summary + new messages) — useful when a dedicated "Conversation summary" agent's briefing already carries these instructions. To turn the feature off, disable the instance's rehydration (Bridge tab).`,ESe=((e={},t={})=>(t.locale??U())===`fr`?wSe(e):TSe(e)),DSe=()=>`Le résumé cumulatif existant (ou une mention explicite d’absence à la première synthèse).`,OSe=()=>`The existing cumulative summary (or an explicit none marker on the first pass).`,kSe=((e={},t={})=>(t.locale??U())===`fr`?DSe(e):OSe(e)),ASe=()=>`Les nouveaux messages de la conversation à intégrer au résumé (format Utilisateur :/Assistant :).`,jSe=()=>`The new conversation messages to fold into the summary (Utilisateur:/Assistant: format).`,MSe=((e={},t={})=>(t.locale??U())===`fr`?ASe(e):jSe(e)),NSe=()=>`La taille maximale du résumé en caractères.`,PSe=()=>`The maximum summary size in characters.`,FSe=((e={},t={})=>(t.locale??U())===`fr`?NSe(e):PSe(e)),ISe=()=>`Synthèse de conversation`,LSe=()=>`Conversation summary`,RSe=((e={},t={})=>(t.locale??U())===`fr`?ISe(e):LSe(e)),zSe=()=>`Agent appelé par Atrium pour maintenir le résumé cumulatif des conversations (réhydratation hybride). S’il n’est pas défini sur l’instance, c’est l’agent de chaque conversation qui fait sa propre synthèse.`,BSe=()=>`Agent Atrium calls to maintain the cumulative conversation summaries (hybrid rehydration). When none is set on the instance, each conversation's own agent summarizes itself.`,VSe=((e={},t={})=>(t.locale??U())===`fr`?zSe(e):BSe(e)),HSe=()=>`Curateur de fichiers`,USe=()=>`File curator`,WSe=((e={},t={})=>(t.locale??U())===`fr`?HSe(e):USe(e)),GSe=()=>`Rationalise les fichiers d'agent (mémoire, règles) qui dépassent leur budget, sans perdre les données pertinentes. Réservé aux jobs de curation.`,KSe=()=>`Rationalizes agent files (memory, rules) that exceed their budget, without losing relevant data. Reserved for curation jobs.`,qSe=((e={},t={})=>(t.locale??U())===`fr`?GSe(e):KSe(e)),JSe=()=>`Synthèse d’historique`,YSe=()=>`History summary`,XSe=((e={},t={})=>(t.locale??U())===`fr`?JSe(e):YSe(e)),ZSe=e=>`Couvre ${e?.count} messages · mise à jour ${e?.date}. Injectée avec les messages récents à la reprise de session.`,QSe=e=>`Covers ${e?.count} messages · updated ${e?.date}. Injected with the recent messages when the session resumes.`,$Se=((e,t={})=>(t.locale??U())===`fr`?ZSe(e):QSe(e)),eCe=e=>`Synthèse en échec (${e?.count} tentatives) — nouvel essai automatique programmé.`,tCe=e=>`Summarization failing (${e?.count} attempts) — automatic retry scheduled.`,nCe=((e,t={})=>(t.locale??U())===`fr`?eCe(e):tCe(e)),rCe=()=>`Aucune synthèse pour cette conversation (conversation courte, ou pas encore assez de contenu).`,iCe=()=>`No summary for this conversation (short conversation, or not enough content yet).`,aCe=((e={},t={})=>(t.locale??U())===`fr`?rCe(e):iCe(e)),oCe=()=>`Générer la synthèse`,sCe=()=>`Generate summary`,cCe=((e={},t={})=>(t.locale??U())===`fr`?oCe(e):sCe(e)),lCe=()=>`Synthèse lancée — elle apparaîtra ci-dessus dans quelques instants.`,uCe=()=>`Summary started — it will appear above shortly.`,dCe=((e={},t={})=>(t.locale??U())===`fr`?lCe(e):uCe(e)),fCe=()=>`Une synthèse est déjà en cours pour cette conversation.`,pCe=()=>`A summary is already running for this conversation.`,mCe=((e={},t={})=>(t.locale??U())===`fr`?fCe(e):pCe(e)),hCe=()=>`Rien à synthétiser pour l’instant : les messages récents sont déjà conservés en intégral.`,gCe=()=>`Nothing to summarize yet: the recent messages are already kept verbatim.`,_Ce=((e={},t={})=>(t.locale??U())===`fr`?hCe(e):gCe(e)),vCe=()=>`La réhydratation est désactivée sur cette instance — une synthèse n’aurait aucun effet.`,yCe=()=>`Rehydration is disabled on this instance — a summary would have no effect.`,bCe=((e={},t={})=>(t.locale??U())===`fr`?vCe(e):yCe(e)),xCe=()=>`Aucun agent disponible pour cette conversation.`,SCe=()=>`No agent available for this conversation.`,CCe=((e={},t={})=>(t.locale??U())===`fr`?xCe(e):SCe(e)),wCe=e=>`Générée par ${e?.agent}.`,TCe=e=>`Generated by ${e?.agent}.`,ECe=((e,t={})=>(t.locale??U())===`fr`?wCe(e):TCe(e)),DCe=()=>`Prochaine synthèse`,OCe=()=>`Next summary`,kCe=((e={},t={})=>(t.locale??U())===`fr`?DCe(e):OCe(e)),ACe=e=>`${e?.pending} / ${e?.threshold} caractères`,jCe=e=>`${e?.pending} / ${e?.threshold} characters`,MCe=((e,t={})=>(t.locale??U())===`fr`?ACe(e):jCe(e)),NCe=()=>`Seuil atteint — la synthèse se déclenchera au prochain tour de conversation.`,PCe=()=>`Threshold reached — the summary will trigger on the next conversation turn.`,FCe=((e={},t={})=>(t.locale??U())===`fr`?NCe(e):PCe(e)),ICe=()=>`Seuil de synthèse d’historique (caractères)`,LCe=()=>`History-summary threshold (characters)`,RCe=((e={},t={})=>(t.locale??U())===`fr`?ICe(e):LCe(e)),zCe=()=>`Volume de conversation non synthétisé qui déclenche automatiquement la génération du résumé (réhydratation hybride). Vide = valeur par défaut (8 000). La jauge « Prochaine synthèse » des Réglages de session mesure la progression vers ce seuil. Réglage Atrium (stocké dans la configuration de l’instance), appliqué immédiatement.`,BCe=()=>`Unsummarized conversation volume that automatically triggers summary generation (hybrid rehydration). Empty = default (8,000). The Session settings' "Next summary" gauge measures progress toward this threshold. Atrium setting (stored in the instance config), applied immediately.`,VCe=((e={},t={})=>(t.locale??U())===`fr`?zCe(e):BCe(e)),HCe=()=>`Curation automatique des fichiers d'agent`,UCe=()=>`Automatic agent-file curation`,WCe=((e={},t={})=>(t.locale??U())===`fr`?HCe(e):UCe(e)),GCe=()=>`Budget cible par fichier (caractères)`,KCe=()=>`Target budget per file (characters)`,qCe=((e={},t={})=>(t.locale??U())===`fr`?GCe(e):KCe(e)),JCe=()=>`Entrez un nombre entre 4000 et 60000.`,YCe=()=>`Enter a number between 4000 and 60000.`,XCe=((e={},t={})=>(t.locale??U())===`fr`?JCe(e):YCe(e)),ZCe=()=>`Quand un fichier d'agent (MEMORY.md, règles) dépasse son budget, un agent spécialiste « curator » propose une version rationalisée que vous relisez et approuvez — le fichier n'est jamais réécrit automatiquement. Nécessite un agent de type « Curateur ». Désactivé par défaut.`,QCe=()=>`When an agent file (MEMORY.md, rules) exceeds its budget, a specialist "curator" agent proposes a rationalized version you review and approve — the file is never rewritten automatically. Requires a "File curator" agent. Off by default.`,$Ce=((e={},t={})=>(t.locale??U())===`fr`?ZCe(e):QCe(e)),ewe=()=>`Valeur invalide : entier entre 1 000 et 200 000.`,twe=()=>`Invalid value: integer between 1,000 and 200,000.`,nwe=((e={},t={})=>(t.locale??U())===`fr`?ewe(e):twe(e)),rwe=()=>`Analyse de l’historique en cours — la génération se poursuit automatiquement.`,iwe=()=>`Scanning the history — generation continues automatically.`,awe=((e={},t={})=>(t.locale??U())===`fr`?rwe(e):iwe(e)),owe=()=>`Demande envoyée à l’agent…`,swe=()=>`Request sent to the agent…`,cwe=((e={},t={})=>(t.locale??U())===`fr`?owe(e):swe(e)),lwe=()=>`L’agent rédige la synthèse…`,uwe=()=>`The agent is writing the summary…`,dwe=((e={},t={})=>(t.locale??U())===`fr`?lwe(e):uwe(e)),fwe=()=>`Copier la synthèse`,pwe=()=>`Copy summary`,mwe=((e={},t={})=>(t.locale??U())===`fr`?fwe(e):pwe(e)),hwe=()=>`Agrandir`,gwe=()=>`Expand`,_we=((e={},t={})=>(t.locale??U())===`fr`?hwe(e):gwe(e)),vwe=()=>`Modifier la synthèse`,ywe=()=>`Edit summary`,bwe=((e={},t={})=>(t.locale??U())===`fr`?vwe(e):ywe(e)),xwe=()=>`Enregistrer`,Swe=()=>`Save`,Cwe=((e={},t={})=>(t.locale??U())===`fr`?xwe(e):Swe(e)),wwe=()=>`Échec de l’enregistrement (une synthèse est peut-être en cours) — réessayez.`,Twe=()=>`Save failed (a summary may be in progress) — try again.`,Ewe=((e={},t={})=>(t.locale??U())===`fr`?wwe(e):Twe(e)),Dwe=()=>`Votre version remplace le texte actuel et servira de base à la prochaine synthèse automatique.`,Owe=()=>`Your version replaces the current text and seeds the next automatic summary.`,kwe=((e={},t={})=>(t.locale??U())===`fr`?Dwe(e):Owe(e)),Awe=()=>`Le bridge doit être mis à jour (0.20+) pour activer la synthèse d’historique.`,jwe=()=>`The bridge must be updated (0.20+) to enable history summaries.`,Mwe=((e={},t={})=>(t.locale??U())===`fr`?Awe(e):jwe(e)),Nwe=e=>`${e?.count} terminé(s)`,Pwe=e=>`${e?.count} done`,Fwe=((e,t={})=>(t.locale??U())===`fr`?Nwe(e):Pwe(e)),Iwe=e=>`${e?.count} en cours`,Lwe=e=>`${e?.count} running`,Rwe=((e,t={})=>(t.locale??U())===`fr`?Iwe(e):Lwe(e)),zwe=e=>`${e?.count} en échec`,Bwe=e=>`${e?.count} failed`,Vwe=((e,t={})=>(t.locale??U())===`fr`?zwe(e):Bwe(e)),Hwe=()=>`non communiqué`,Uwe=()=>`not reported`,Wwe=((e={},t={})=>(t.locale??U())===`fr`?Hwe(e):Uwe(e)),Gwe=()=>`Contexte optimisé par la passerelle`,Kwe=()=>`Context optimized by the gateway`,qwe=((e={},t={})=>(t.locale??U())===`fr`?Gwe(e):Kwe(e)),Jwe=()=>`Avant de répondre, la passerelle a résumé le début de la conversation pour rester dans la limite du modèle. Les échanges récents sont conservés intégralement ; les plus anciens sont désormais condensés.`,Ywe=()=>`Before answering, the gateway summarized the beginning of the conversation to stay within the model limit. Recent exchanges are kept verbatim; older ones are now condensed.`,Xwe=((e={},t={})=>(t.locale??U())===`fr`?Jwe(e):Ywe(e)),Zwe=()=>`Pendant cette réponse, la passerelle a résumé le début de la conversation pour rester dans la limite du modèle, puis a repris. Les échanges récents sont conservés intégralement ; les plus anciens sont désormais condensés.`,Qwe=()=>`During this reply, the gateway summarized the beginning of the conversation to stay within the model limit, then resumed. Recent exchanges are kept verbatim; older ones are now condensed.`,$we=((e={},t={})=>(t.locale??U())===`fr`?Zwe(e):Qwe(e)),eTe=()=>`Ajuster à l'écran`,tTe=()=>`Fit to screen`,nTe=((e={},t={})=>(t.locale??U())===`fr`?eTe(e):tTe(e)),rTe=()=>`Taille réelle`,iTe=()=>`Actual size`,aTe=((e={},t={})=>(t.locale??U())===`fr`?rTe(e):iTe(e)),oTe=()=>`Plein écran`,sTe=()=>`Fullscreen`,cTe=((e={},t={})=>(t.locale??U())===`fr`?oTe(e):sTe(e)),lTe=()=>`Quitter le plein écran`,uTe=()=>`Exit fullscreen`,dTe=((e={},t={})=>(t.locale??U())===`fr`?lTe(e):uTe(e)),fTe=()=>`Ouvrir dans un onglet`,pTe=()=>`Open in a tab`,mTe=((e={},t={})=>(t.locale??U())===`fr`?fTe(e):pTe(e)),hTe=()=>`Fermer`,gTe=()=>`Close`,_Te=((e={},t={})=>(t.locale??U())===`fr`?hTe(e):gTe(e)),vTe=()=>`Référence du rapport :`,yTe=()=>`Report reference:`,bTe=((e={},t={})=>(t.locale??U())===`fr`?vTe(e):yTe(e)),xTe=()=>`Copier la référence`,STe=()=>`Copy the reference`,CTe=((e={},t={})=>(t.locale??U())===`fr`?xTe(e):STe(e)),wTe=()=>`Impossible de joindre un gros texte pendant qu'une réponse est en cours — attendez la fin du tour, puis recollez.`,TTe=()=>`Can't attach a large pasted text while a reply is running — wait for the turn to finish, then paste again.`,ETe=((e={},t={})=>(t.locale??U())===`fr`?wTe(e):TTe(e)),DTe=()=>`Le texte collé n'a pas pu être joint (trop volumineux pour la passerelle) — il reste dans votre presse-papiers ; réduisez-le ou envoyez-le en plusieurs parties.`,OTe=()=>`The pasted text could not be attached (too large for the gateway) — it is still in your clipboard; trim it or send it in parts.`,kTe=((e={},t={})=>(t.locale??U())===`fr`?DTe(e):OTe(e)),ATe=e=>`Texte collé volumineux converti en pièce jointe (${e?.lines} lignes) — le contexte de l'agent reste léger.`,jTe=e=>`Large pasted text converted into an attachment (${e?.lines} lines) — the agent's context stays light.`,MTe=((e,t={})=>(t.locale??U())===`fr`?ATe(e):jTe(e)),NTe=()=>`Afficher les fichiers auto-générés`,PTe=()=>`Show auto-generated files`,FTe=((e={},t={})=>(t.locale??U())===`fr`?NTe(e):PTe(e)),ITe=()=>`Auto-généré`,LTe=()=>`Auto-generated`,RTe=((e={},t={})=>(t.locale??U())===`fr`?ITe(e):LTe(e)),zTe=()=>`Indisponible pendant qu'une réponse est en cours`,BTe=()=>`Unavailable while a reply is running`,VTe=((e={},t={})=>(t.locale??U())===`fr`?zTe(e):BTe(e)),HTe=()=>`Agent de support`,UTe=()=>`Support agent`,WTe=((e={},t={})=>(t.locale??U())===`fr`?HTe(e):UTe(e)),GTe=()=>`Agent`,KTe=()=>`Agent`,qTe=((e={},t={})=>(t.locale??U())===`fr`?GTe(e):KTe(e)),JTe=()=>`Résolu`,YTe=()=>`Resolved`,XTe=((e={},t={})=>(t.locale??U())===`fr`?JTe(e):YTe(e)),ZTe=()=>`Résolu`,QTe=()=>`Resolved`,$Te=((e={},t={})=>(t.locale??U())===`fr`?ZTe(e):QTe(e)),eEe=()=>`Répondre aux signalements`,tEe=()=>`Respond to reports`,nEe=((e={},t={})=>(t.locale??U())===`fr`?eEe(e):tEe(e)),rEe=()=>`Signalement résolu`,iEe=()=>`Report resolved`,aEe=((e={},t={})=>(t.locale??U())===`fr`?rEe(e):iEe(e)),oEe=()=>`Votre signalement a été résolu — une explication vous attend dans le fil.`,sEe=()=>`Your report was resolved — an explanation awaits in its thread.`,cEe=((e={},t={})=>(t.locale??U())===`fr`?oEe(e):sEe(e)),lEe=()=>`Rationaliser`,uEe=()=>`Rationalize`,dEe=((e={},t={})=>(t.locale??U())===`fr`?lEe(e):uEe(e)),fEe=()=>`Revoir la proposition`,pEe=()=>`Review proposal`,mEe=((e={},t={})=>(t.locale??U())===`fr`?fEe(e):pEe(e)),hEe=()=>`Curation…`,gEe=()=>`Curating…`,_Ee=((e={},t={})=>(t.locale??U())===`fr`?hEe(e):gEe(e)),vEe=()=>`Curation lancée — la proposition arrivera bientôt.`,yEe=()=>`Curation started — the proposal will arrive shortly.`,bEe=((e={},t={})=>(t.locale??U())===`fr`?vEe(e):yEe(e)),xEe=e=>`Curation refusée : ${e?.reason}`,SEe=e=>`Curation refused: ${e?.reason}`,CEe=((e,t={})=>(t.locale??U())===`fr`?xEe(e):SEe(e)),wEe=()=>`Erreur pendant la curation.`,TEe=()=>`Error during curation.`,EEe=((e={},t={})=>(t.locale??U())===`fr`?wEe(e):TEe(e)),DEe=()=>`Fichier réécrit. Une révision est enregistrée (annulable).`,OEe=()=>`File rewritten. A revision was recorded (revertible).`,kEe=((e={},t={})=>(t.locale??U())===`fr`?DEe(e):OEe(e)),AEe=()=>`Proposition rejetée.`,jEe=()=>`Proposal rejected.`,MEe=((e={},t={})=>(t.locale??U())===`fr`?AEe(e):jEe(e)),NEe=()=>`Le fichier a changé depuis la lecture — relancez la curation.`,PEe=()=>`The file changed since it was read — re-run the curation.`,FEe=((e={},t={})=>(t.locale??U())===`fr`?NEe(e):PEe(e)),IEe=e=>`Échec de l'application : ${e?.reason}`,LEe=e=>`Apply failed: ${e?.reason}`,REe=((e,t={})=>(t.locale??U())===`fr`?IEe(e):LEe(e)),zEe=e=>`Proposition de curation — ${e?.name}`,BEe=e=>`Curation proposal — ${e?.name}`,VEe=((e,t={})=>(t.locale??U())===`fr`?zEe(e):BEe(e)),HEe=()=>`Relisez la version rationalisée avant de l'appliquer. Rien n'est écrit tant que vous n'approuvez pas ; l'application enregistre une révision annulable.`,UEe=()=>`Review the rationalized version before applying. Nothing is written until you approve; applying records a revertible revision.`,WEe=((e={},t={})=>(t.locale??U())===`fr`?HEe(e):UEe(e)),GEe=()=>`Cette proposition n'est plus disponible.`,KEe=()=>`This proposal is no longer available.`,qEe=((e={},t={})=>(t.locale??U())===`fr`?GEe(e):KEe(e)),JEe=e=>`Taille : ${e?.before} ko → ${e?.after} ko`,YEe=e=>`Size: ${e?.before} kB → ${e?.after} kB`,XEe=((e,t={})=>(t.locale??U())===`fr`?JEe(e):YEe(e)),ZEe=()=>`Toujours au-dessus du budget`,QEe=()=>`Still over budget`,$Ee=((e={},t={})=>(t.locale??U())===`fr`?ZEe(e):QEe(e)),eDe=e=>`${e?.added} ligne(s) ajoutée(s), ${e?.removed} retirée(s)`,tDe=e=>`${e?.added} line(s) added, ${e?.removed} removed`,nDe=((e,t={})=>(t.locale??U())===`fr`?eDe(e):tDe(e)),rDe=()=>`Contenu proposé`,iDe=()=>`Proposed content`,aDe=((e={},t={})=>(t.locale??U())===`fr`?rDe(e):iDe(e)),oDe=()=>`Rejeter`,sDe=()=>`Reject`,cDe=((e={},t={})=>(t.locale??U())===`fr`?oDe(e):sDe(e)),lDe=()=>`Appliquer`,uDe=()=>`Apply`,dDe=((e={},t={})=>(t.locale??U())===`fr`?lDe(e):uDe(e)),fDe=()=>`Contenu actuel`,pDe=()=>`Current content`,mDe=((e={},t={})=>(t.locale??U())===`fr`?fDe(e):pDe(e)),hDe=()=>`Extrait des lignes supprimées (vérifiez qu'aucune information importante n'est perdue) :`,gDe=()=>`Sample of removed lines (check no important information is lost):`,_De=((e={},t={})=>(t.locale??U())===`fr`?hDe(e):gDe(e)),vDe=()=>`Brief de curation de fichier d'agent`,yDe=()=>`Agent-file curation brief`,bDe=((e={},t={})=>(t.locale??U())===`fr`?vDe(e):yDe(e)),xDe=()=>`Instructions envoyées à l'agent « Curateur » quand une curation est lancée : le rôle de chaque fichier, l'objectif de taille, et le retour de l'admin en cas de relance. Personnalisez-le par instance (OpenClaw, Hermes…). Désactivez-le si votre agent curateur porte déjà son propre brief : seul le matériau brut (fichier + budget + retour) sera envoyé.`,SDe=()=>`Instructions sent to the "File curator" agent when a curation runs: each file's role, the size target, and the admin's feedback on a relaunch. Customize per instance (OpenClaw, Hermes…). Disable it if your curator agent carries its own brief: only the raw material (file + budget + feedback) is sent.`,CDe=((e={},t={})=>(t.locale??U())===`fr`?xDe(e):SDe(e)),wDe=()=>`Le nom du fichier d'agent en cours de curation (ex. MEMORY.md).`,TDe=()=>`The agent-file name being curated (e.g. MEMORY.md).`,EDe=((e={},t={})=>(t.locale??U())===`fr`?wDe(e):TDe(e)),DDe=()=>`Le budget cible en caractères configuré pour l'instance.`,ODe=()=>`The target budget in characters configured for the instance.`,kDe=((e={},t={})=>(t.locale??U())===`fr`?DDe(e):ODe(e)),ADe=()=>`Le commentaire de l'admin lors du rejet de la proposition précédente (ou « aucun » à la première passe).`,jDe=()=>`The admin's comment when rejecting the previous proposal (or "none" on the first pass).`,MDe=((e={},t={})=>(t.locale??U())===`fr`?ADe(e):jDe(e)),NDe=()=>`Le contenu actuel complet du fichier à rationaliser.`,PDe=()=>`The file's full current content to rationalize.`,FDe=((e={},t={})=>(t.locale??U())===`fr`?NDe(e):PDe(e)),IDe=()=>`Pourquoi refusez-vous cette proposition ?`,LDe=()=>`Why are you refusing this proposal?`,RDe=((e={},t={})=>(t.locale??U())===`fr`?IDe(e):LDe(e)),zDe=()=>`Ex. : trop agressif — les références supprimées étaient porteuses ; conserve les liens.`,BDe=()=>`E.g.: too aggressive — the removed references were load-bearing; keep the links.`,VDe=((e={},t={})=>(t.locale??U())===`fr`?zDe(e):BDe(e)),HDe=()=>`Annuler`,UDe=()=>`Cancel`,WDe=((e={},t={})=>(t.locale??U())===`fr`?HDe(e):UDe(e)),GDe=()=>`Rejeter`,KDe=()=>`Reject`,qDe=((e={},t={})=>(t.locale??U())===`fr`?GDe(e):KDe(e)),JDe=()=>`Rejeter et relancer`,YDe=()=>`Reject and relaunch`,XDe=((e={},t={})=>(t.locale??U())===`fr`?JDe(e):YDe(e)),ZDe=()=>`Proposition rejetée — une nouvelle curation intégrant votre commentaire est lancée.`,QDe=()=>`Proposal rejected — a new curation incorporating your comment has been launched.`,$De=((e={},t={})=>(t.locale??U())===`fr`?ZDe(e):QDe(e)),eOe=e=>`Relancée avec votre commentaire : « ${e?.feedback} »`,tOe=e=>`Relaunched with your comment: “${e?.feedback}”`,nOe=((e,t={})=>(t.locale??U())===`fr`?eOe(e):tOe(e)),rOe=()=>`Plage absolue`,iOe=()=>`Absolute range`,aOe=((e={},t={})=>(t.locale??U())===`fr`?rOe(e):iOe(e)),oOe=()=>`De`,sOe=()=>`From`,cOe=((e={},t={})=>(t.locale??U())===`fr`?oOe(e):sOe(e)),lOe=()=>`À`,uOe=()=>`To`,dOe=((e={},t={})=>(t.locale??U())===`fr`?lOe(e):uOe(e)),fOe=()=>`Appliquer`,pOe=()=>`Apply`,mOe=((e={},t={})=>(t.locale??U())===`fr`?fOe(e):pOe(e)),hOe=()=>`Rechercher une plage`,gOe=()=>`Search ranges`,_Oe=((e={},t={})=>(t.locale??U())===`fr`?hOe(e):gOe(e)),vOe=()=>`Rechercher une plage relative`,yOe=()=>`Search relative ranges`,bOe=((e={},t={})=>(t.locale??U())===`fr`?vOe(e):yOe(e)),xOe=()=>`Aucune plage.`,SOe=()=>`No ranges.`,COe=((e={},t={})=>(t.locale??U())===`fr`?xOe(e):SOe(e)),wOe=()=>`Annuler`,TOe=()=>`Cancel`,EOe=((e={},t={})=>(t.locale??U())===`fr`?wOe(e):TOe(e)),DOe=()=>`Supprimer`,OOe=()=>`Delete`,kOe=((e={},t={})=>(t.locale??U())===`fr`?DOe(e):OOe(e)),AOe=()=>`Valider`,jOe=()=>`Confirm`,MOe=((e={},t={})=>(t.locale??U())===`fr`?AOe(e):jOe(e)),NOe=()=>`Pour confirmer, saisissez`,POe=()=>`To confirm, type`,FOe=((e={},t={})=>(t.locale??U())===`fr`?NOe(e):POe(e)),IOe=()=>`ci-dessous.`,LOe=()=>`below.`,ROe=((e={},t={})=>(t.locale??U())===`fr`?IOe(e):LOe(e)),zOe=e=>`« ${e?.word} »`,BOe=e=>`“${e?.word}”`,VOe=((e,t={})=>(t.locale??U())===`fr`?zOe(e):BOe(e)),HOe=()=>`Erreur inconnue`,UOe=()=>`Unknown error`,WOe=((e={},t={})=>(t.locale??U())===`fr`?HOe(e):UOe(e)),GOe=()=>`Notifications`,KOe=()=>`Notifications`,qOe=((e={},t={})=>(t.locale??U())===`fr`?GOe(e):KOe(e)),JOe=()=>`Enregistrer`,YOe=()=>`Save`,XOe=((e={},t={})=>(t.locale??U())===`fr`?JOe(e):YOe(e)),ZOe=()=>`Annuler`,QOe=()=>`Cancel`,$Oe=((e={},t={})=>(t.locale??U())===`fr`?ZOe(e):QOe(e)),eke=()=>`Copier`,tke=()=>`Copy`,nke=((e={},t={})=>(t.locale??U())===`fr`?eke(e):tke(e)),rke=()=>`Copier le contenu`,ike=()=>`Copy content`,ake=((e={},t={})=>(t.locale??U())===`fr`?rke(e):ike(e)),oke=()=>`Configuration manquante\xA0:`,ske=()=>`Missing configuration:`,cke=((e={},t={})=>(t.locale??U())===`fr`?oke(e):ske(e)),lke=()=>`Télécharger l’audio`,uke=()=>`Download audio`,dke=((e={},t={})=>(t.locale??U())===`fr`?lke(e):uke(e)),fke=()=>`action`,pke=()=>`action`,mke=((e={},t={})=>(t.locale??U())===`fr`?fke(e):pke(e)),hke=()=>`acteur réel`,gke=()=>`real actor`,_ke=((e={},t={})=>(t.locale??U())===`fr`?hke(e):gke(e)),vke=()=>`au nom de`,yke=()=>`on behalf of`,bke=((e={},t={})=>(t.locale??U())===`fr`?vke(e):yke(e)),xke=()=>`usurpation`,Ske=()=>`impersonation`,Cke=((e={},t={})=>(t.locale??U())===`fr`?xke(e):Ske(e)),wke=()=>`ressource`,Tke=()=>`resource`,Eke=((e={},t={})=>(t.locale??U())===`fr`?wke(e):Tke(e)),Dke=()=>`id ressource`,Oke=()=>`resource id`,kke=((e={},t={})=>(t.locale??U())===`fr`?Dke(e):Oke(e)),Ake=()=>`latence (ms)`,jke=()=>`latency (ms)`,Mke=((e={},t={})=>(t.locale??U())===`fr`?Ake(e):jke(e)),Nke=()=>`principal`,Pke=()=>`principal`,Fke=((e={},t={})=>(t.locale??U())===`fr`?Nke(e):Pke(e)),Ike=()=>`rôle`,Lke=()=>`role`,Rke=((e={},t={})=>(t.locale??U())===`fr`?Ike(e):Lke(e)),zke=()=>`Proposition de curation prête`,Bke=()=>`Curation proposal ready`,Vke=((e={},t={})=>(t.locale??U())===`fr`?zke(e):Bke(e)),Hke=e=>`Une proposition pour ${e?.name} (${e?.agentId}) attend votre revue.`,Uke=e=>`A proposal for ${e?.name} (${e?.agentId}) awaits your review.`,Wke=((e,t={})=>(t.locale??U())===`fr`?Hke(e):Uke(e)),Gke=()=>`Curation échouée`,Kke=()=>`Curation failed`,qke=((e={},t={})=>(t.locale??U())===`fr`?Gke(e):Kke(e)),Jke=e=>`La curation de ${e?.name} a échoué (${e?.reason}).`,Yke=e=>`The curation of ${e?.name} failed (${e?.reason}).`,Xke=((e,t={})=>(t.locale??U())===`fr`?Jke(e):Yke(e)),Zke=()=>`Relance de curation impossible`,Qke=()=>`Curation relaunch not possible`,$ke=((e={},t={})=>(t.locale??U())===`fr`?Zke(e):Qke(e)),eAe=e=>`La nouvelle curation de ${e?.name} n'a pas pu être lancée (${e?.reason}).`,tAe=e=>`The new curation of ${e?.name} could not be launched (${e?.reason}).`,nAe=((e,t={})=>(t.locale??U())===`fr`?eAe(e):tAe(e)),rAe=e=>`Anomalie : ${e?.kind}`,iAe=e=>`Anomaly: ${e?.kind}`,aAe=((e,t={})=>(t.locale??U())===`fr`?rAe(e):iAe(e)),oAe=e=>`Anomalie résolue : ${e?.kind}`,sAe=e=>`Anomaly resolved: ${e?.kind}`,cAe=((e,t={})=>(t.locale??U())===`fr`?oAe(e):sAe(e)),lAe=()=>`Le service de chat n'est pas encore configuré. Contactez votre administrateur.`,uAe=()=>`The chat service is not configured yet. Contact your administrator.`,dAe=((e={},t={})=>(t.locale??U())===`fr`?lAe(e):uAe(e)),fAe=()=>`Aucun agent ne vous est assigné. Contactez votre administrateur pour qu'il vous en attribue un.`,pAe=()=>`No agent is assigned to you. Contact your administrator to get one.`,mAe=((e={},t={})=>(t.locale??U())===`fr`?fAe(e):pAe(e)),hAe=()=>`Cet agent ne vous est plus disponible : votre accès aux agents a été modifié. Démarrez un nouveau chat avec un agent disponible.`,gAe=()=>`This agent is no longer available to you: your agent access changed. Start a new chat with an available agent.`,_Ae=((e={},t={})=>(t.locale??U())===`fr`?hAe(e):gAe(e)),vAe=()=>`Le service de chat est momentanément indisponible. Réessayez ; si le problème persiste, contactez votre administrateur.`,yAe=()=>`The chat service is temporarily unavailable. Retry; if the problem persists, contact your administrator.`,bAe=((e={},t={})=>(t.locale??U())===`fr`?vAe(e):yAe(e)),xAe=()=>`La pièce jointe est trop volumineuse pour cet agent. Réessayez avec un fichier plus petit, ou envoyez votre message sans la pièce jointe.`,SAe=()=>`The attachment is too large for this agent. Retry with a smaller file, or send your message without the attachment.`,CAe=((e={},t={})=>(t.locale??U())===`fr`?xAe(e):SAe(e)),wAe=()=>`La pièce jointe n'a pas pu être traitée par le service. Réessayez avec un fichier plus petit, ou envoyez votre message sans la pièce jointe.`,TAe=()=>`The attachment could not be processed by the service. Retry with a smaller file, or send your message without the attachment.`,EAe=((e={},t={})=>(t.locale??U())===`fr`?wAe(e):TAe(e)),DAe=()=>`Langue des textes générés`,OAe=()=>`Language of generated texts`,kAe=((e={},t={})=>(t.locale??U())===`fr`?DAe(e):OAe(e)),AAe=()=>`Langue des instructions qu'Atrium génère pour les agents de cette instance (injections par défaut, cadrage de réhydratation, briefs). Par défaut : la langue par défaut d'Atrium.`,jAe=()=>`Language of the instructions Atrium generates for this instance's agents (default injections, rehydration framing, briefs). Default: Atrium's default language.`,MAe=((e={},t={})=>(t.locale??U())===`fr`?AAe(e):jAe(e)),NAe=e=>`Défaut (${e?.locale})`,PAe=e=>`Default (${e?.locale})`,FAe=((e,t={})=>(t.locale??U())===`fr`?NAe(e):PAe(e)),IAe=()=>`Transport`,LAe=()=>`Transport`,RAe=((e={},t={})=>(t.locale??U())===`fr`?IAe(e):LAe(e)),zAe=()=>`WebSocket (recommandé — plus de fonctions)`,BAe=()=>`WebSocket (recommended — richer features)`,VAe=((e={},t={})=>(t.locale??U())===`fr`?zAe(e):BAe(e)),HAe=()=>`REST (API server)`,UAe=()=>`REST (API server)`,WAe=((e={},t={})=>(t.locale??U())===`fr`?HAe(e):UAe(e)),GAe=e=>`Non disponible sur cette passerelle : le provider ${e?.provider} ne propose pas cette fonction.`,KAe=e=>`Not available on this gateway: the ${e?.provider} provider does not offer this feature.`,qAe=((e,t={})=>(t.locale??U())===`fr`?GAe(e):KAe(e)),U7=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),JAe=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),YAe=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),W7=e=>{let t=YAe(e);return t.charAt(0).toUpperCase()+t.slice(1)},G7={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},XAe=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},ZAe=(0,T.createContext)({}),QAe=()=>(0,T.useContext)(ZAe),$Ae=(0,T.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=QAe()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,T.createElement)(`svg`,{ref:c,...G7,width:t??l??G7.width,height:t??l??G7.height,stroke:e??f,strokeWidth:m,className:U7(`lucide`,p,i),...!a&&!XAe(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,T.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),eje=(e,t)=>{let n=(0,T.forwardRef)(({className:n,...r},i)=>(0,T.createElement)($Ae,{ref:i,iconNode:t,className:U7(`lucide-${JAe(W7(e))}`,`lucide-${e}`,n),...r}));return n.displayName=W7(e),n};function K7(e,t){return new Proxy({},{get(n,r){if(typeof r==`string`)return K7(e,[...t,r]);if(r===Ie){if(t.length<1){let n=[e,...t].join(`.`);throw Error(`API path is expected to be of the form \`${e}.childComponent.functionName\`. Found: \`${n}\``)}return`_reference/childComponent/`+t.join(`/`)}else return}})}var tje=()=>K7(`components`,[]),nje=He;tje();var q7=n(t(),1),W=i();function J7(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Y7(...e){return t=>{let n=!1,r=e.map(e=>{let r=J7(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():J7(e[t],null)}}}}function G(...e){return T.useCallback(Y7(...e),e)}function X7(e){let t=T.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Q7(r)&&typeof $7==`function`&&(r=$7(r._payload)),T.Children.forEach(r,e=>{if(cje(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Q7(n)&&typeof $7==`function`&&(n=$7(n._payload)),a=aje(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=T.cloneElement(a,void 0,s):!o&&T.Children.count(r)===1&&T.isValidElement(r)&&(a=r);let c=a?sje(a):void 0,l=G(n,c);if(!a){if(r||r===0)throw Error(o?fje(e):dje(e));return r}let u=oje(i,a.props??{});return a.type!==T.Fragment&&(u.ref=n?l:c),T.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var rje=X7(`Slot`),Z7=Symbol.for(`radix.slottable`);function ije(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=Z7,t}var aje=(e,t)=>{if(`child`in e.props){let t=e.props.child;return T.isValidElement(t)?T.cloneElement(t,void 0,e.props.children(t.props.children)):null}return T.isValidElement(t)?t:null};function oje(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function sje(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function cje(e){return T.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Z7}var lje=Symbol.for(`react.lazy`);function Q7(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===lje&&`_payload`in e&&uje(e._payload)}function uje(e){return typeof e==`object`&&!!e&&`then`in e}var dje=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,fje=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,$7=T.use,K=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=X7(`Primitive.${t}`),r=T.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,W.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function e9(e,t){e&&q7.flushSync(()=>e.dispatchEvent(t))}typeof window<`u`&&window.document&&window.document.createElement;function t9(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function q(e){let t=T.useRef(e);return T.useEffect(()=>{t.current=e}),T.useMemo(()=>((...e)=>t.current?.(...e)),[])}function n9(e,t=globalThis?.document){let n=q(e);T.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}function pje(e,t){let n=T.createContext(t);n.displayName=e+`Context`;let r=e=>{let{children:t,...r}=e,i=T.useMemo(()=>r,Object.values(r));return(0,W.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=T.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function mje(e,t=[]){let n=[];function r(t,r){let i=T.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=T.useMemo(()=>o,Object.values(o));return(0,W.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=T.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>T.createContext(e));return function(n){let r=n?.[e]||t;return T.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,hje(i,...t)]}function hje(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return T.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var J=globalThis?.document?T.useLayoutEffect:()=>{},gje=T.useInsertionEffect||J;function _je({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=vje({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=T.useRef(e!==void 0);T.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,T.useCallback(t=>{if(s){let n=yje(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function vje({defaultProp:e,onChange:t}){let[n,r]=T.useState(e),i=T.useRef(n),a=T.useRef(t);return gje(()=>{a.current=t},[t]),T.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function yje(e){return typeof e==`function`}function bje(e,t){return T.useReducer((e,n)=>t[e][n]??e,e)}var r9=e=>{let{present:t,children:n}=e,r=xje(t),i=typeof n==`function`?n({present:r.isPresent}):T.Children.only(n),a=Sje(r.ref,Cje(i));return typeof n==`function`||r.isPresent?T.cloneElement(i,{ref:a}):null};r9.displayName=`Presence`;function xje(e){let[t,n]=T.useState(),r=T.useRef(null),i=T.useRef(e),a=T.useRef(`none`),[o,s]=bje(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return T.useEffect(()=>{let e=a9(r.current);a.current=o===`mounted`?e:`none`},[o]),J(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=a9(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),J(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=a9(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=a9(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:T.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function i9(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Sje(...e){let t=T.useRef(e);return t.current=e,T.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=i9(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():i9(n[e],null)}}},[])}function a9(e){return e?.animationName||`none`}function Cje(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var wje=T.useId||(()=>void 0),Tje=0;function Eje(e){let[t,n]=T.useState(wje());return J(()=>{e||n(e=>e??String(Tje++))},[e]),e||(t?`radix-${t}`:``)}var Dje=`DismissableLayer`,o9=`dismissableLayer.update`,Oje=`dismissableLayer.pointerDownOutside`,kje=`dismissableLayer.focusOutside`,s9,c9=T.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),l9=T.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=T.useContext(c9),[u,d]=T.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=T.useState({}),m=G(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,ee=l.layersWithOutsidePointerEventsDisabled.size>0,y=v>=_,te=Mje(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!y||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),b=Nje(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return n9(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),T.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(s9=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),u9(),()=>{n&&(l.layersWithOutsidePointerEventsDisabled.delete(u),l.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=s9))}},[u,f,n,l]),T.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),u9())},[u,l]),T.useEffect(()=>{let e=()=>p({});return document.addEventListener(o9,e),()=>document.removeEventListener(o9,e)},[]),(0,W.jsx)(K.div,{...c,ref:m,style:{pointerEvents:ee?y?`auto`:`none`:void 0,...e.style},onFocusCapture:t9(e.onFocusCapture,b.onFocusCapture),onBlurCapture:t9(e.onBlurCapture,b.onBlurCapture),onPointerDownCapture:t9(e.onPointerDownCapture,te.onPointerDownCapture)})});l9.displayName=Dje;var Aje=`DismissableLayerBranch`,jje=T.forwardRef((e,t)=>{let n=T.useContext(c9),r=T.useRef(null),i=G(t,r);return T.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,W.jsx)(K.div,{...e,ref:i})});jje.displayName=Aje;function Mje(e,t=globalThis?.document){let n=q(e),r=T.useRef(!1),i=T.useRef(()=>{});return T.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){d9(Oje,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function Nje(e,t=globalThis?.document){let n=q(e),r=T.useRef(!1);return T.useEffect(()=>{let e=e=>{e.target&&!r.current&&d9(kje,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function u9(){let e=new CustomEvent(o9);document.dispatchEvent(e)}function d9(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?e9(i,a):i.dispatchEvent(a)}var f9=`focusScope.autoFocusOnMount`,p9=`focusScope.autoFocusOnUnmount`,m9={bubbles:!1,cancelable:!0},Pje=`FocusScope`,h9=T.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=T.useState(null),l=q(i),u=q(a),d=T.useRef(null),f=G(t,e=>c(e)),p=T.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;T.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Y(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Y(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Y(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),T.useEffect(()=>{if(s){v9.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(f9,m9);s.addEventListener(f9,l),s.dispatchEvent(t),t.defaultPrevented||(Fje(Bje(g9(s)),{select:!0}),document.activeElement===e&&Y(s))}return()=>{s.removeEventListener(f9,l),setTimeout(()=>{let t=new CustomEvent(p9,m9);s.addEventListener(p9,u),s.dispatchEvent(t),t.defaultPrevented||Y(e??document.body,{select:!0}),s.removeEventListener(p9,u),v9.remove(p)},0)}}},[s,l,u,p]);let m=T.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=Ije(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Y(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Y(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,W.jsx)(K.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});h9.displayName=Pje;function Fje(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Y(r,{select:t}),document.activeElement!==n)return}function Ije(e){let t=g9(e);return[_9(t,e),_9(t.reverse(),e)]}function g9(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function _9(e,t){for(let n of e)if(!Lje(n,{upTo:t}))return n}function Lje(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Rje(e){return e instanceof HTMLInputElement&&`select`in e}function Y(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Rje(e)&&t&&e.select()}}var v9=zje();function zje(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=y9(e,t),e.unshift(t)},remove(t){e=y9(e,t),e[0]?.resume()}}}function y9(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Bje(e){return e.filter(e=>e.tagName!==`A`)}var Vje=`Portal`,b9=T.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=T.useState(!1);J(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?q7.createPortal((0,W.jsx)(K.div,{...r,ref:t}),o):null});b9.displayName=Vje;var x9=0,S9=null;function Hje(){T.useEffect(()=>{S9||={start:C9(),end:C9()};let{start:e,end:t}=S9;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),x9++,()=>{x9===1&&(S9?.start.remove(),S9?.end.remove(),S9=null),x9=Math.max(0,x9-1)}},[])}function C9(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var X=function(){return X=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},X.apply(this,arguments)};function w9(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Uje(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var T9=`right-scroll-bar-position`,E9=`width-before-scroll-bar`,Wje=`with-scroll-bars-hidden`,Gje=`--removed-body-scroll-bar-size`;function D9(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Kje(e,t){var n=(0,T.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var qje=typeof window<`u`?T.useLayoutEffect:T.useEffect,O9=new WeakMap;function Jje(e,t){var n=Kje(t||null,function(t){return e.forEach(function(e){return D9(e,t)})});return qje(function(){var t=O9.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||D9(e,null)}),i.forEach(function(e){r.has(e)||D9(e,a)})}O9.set(n,e)},[e]),n}function Yje(e){return e}function Xje(e,t){t===void 0&&(t=Yje);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Zje(e){e===void 0&&(e={});var t=Xje(null);return t.options=X({async:!0,ssr:!1},e),t}var k9=function(e){var t=e.sideCar,n=w9(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return T.createElement(r,X({},n))};k9.isSideCarExport=!0;function Qje(e,t){return e.useMedium(t),k9}var A9=Zje(),j9=function(){},M9=T.forwardRef(function(e,t){var n=T.useRef(null),r=T.useState({onScrollCapture:j9,onWheelCapture:j9,onTouchMoveCapture:j9}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,ee=e.gapMode,y=w9(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),te=f,b=Jje([n,t]),x=X(X({},y),i);return T.createElement(T.Fragment,null,u&&T.createElement(te,{sideCar:A9,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:ee}),o?T.cloneElement(T.Children.only(s),X(X({},x),{ref:b})):T.createElement(v,X({},x,{className:c,ref:b}),s))});M9.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},M9.classNames={fullWidth:E9,zeroRight:T9};var N9,$je=function(){if(N9)return N9;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function eMe(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=$je();return t&&e.setAttribute(`nonce`,t),e}function tMe(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function nMe(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var rMe=function(){var e=0,t=null;return{add:function(n){e==0&&(t=eMe())&&(tMe(t,n),nMe(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},iMe=function(){var e=rMe();return function(t,n){T.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},P9=function(){var e=iMe();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},aMe={left:0,top:0,right:0,gap:0},F9=function(e){return parseInt(e||``,10)||0},oMe=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[F9(n),F9(r),F9(i)]},sMe=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return aMe;var t=oMe(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},cMe=P9(),I9=`data-scroll-locked`,lMe=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
5
|
-
.${Wje} {
|
|
6
|
-
overflow: hidden ${r};
|
|
7
|
-
padding-right: ${s}px ${r};
|
|
8
|
-
}
|
|
9
|
-
body[${I9}] {
|
|
10
|
-
overflow: hidden ${r};
|
|
11
|
-
overscroll-behavior: contain;
|
|
12
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
13
|
-
padding-left: ${i}px;
|
|
14
|
-
padding-top: ${a}px;
|
|
15
|
-
padding-right: ${o}px;
|
|
16
|
-
margin-left:0;
|
|
17
|
-
margin-top:0;
|
|
18
|
-
margin-right: ${s}px ${r};
|
|
19
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.${T9} {
|
|
23
|
-
right: ${s}px ${r};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.${E9} {
|
|
27
|
-
margin-right: ${s}px ${r};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.${T9} .${T9} {
|
|
31
|
-
right: 0 ${r};
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.${E9} .${E9} {
|
|
35
|
-
margin-right: 0 ${r};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
body[${I9}] {
|
|
39
|
-
${Gje}: ${s}px;
|
|
40
|
-
}
|
|
41
|
-
`},L9=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},uMe=function(){T.useEffect(function(){return document.body.setAttribute(I9,(L9()+1).toString()),function(){var e=L9()-1;e<=0?document.body.removeAttribute(I9):document.body.setAttribute(I9,e.toString())}},[])},dMe=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;uMe();var a=T.useMemo(function(){return sMe(i)},[i]);return T.createElement(cMe,{styles:lMe(a,!t,i,n?``:`!important`)})},R9=!1;if(typeof window<`u`)try{var z9=Object.defineProperty({},"passive",{get:function(){return R9=!0,!0}});window.addEventListener(`test`,z9,z9),window.removeEventListener(`test`,z9,z9)}catch{R9=!1}var Z=R9?{passive:!1}:!1,fMe=function(e){return e.tagName===`TEXTAREA`},B9=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!fMe(e)&&n[t]===`visible`)},pMe=function(e){return B9(e,`overflowY`)},mMe=function(e){return B9(e,`overflowX`)},V9=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),H9(e,r)){var i=U9(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},hMe=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},gMe=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},H9=function(e,t){return e===`v`?pMe(t):mMe(t)},U9=function(e,t){return e===`v`?hMe(t):gMe(t)},_Me=function(e,t){return e===`h`&&t===`rtl`?-1:1},vMe=function(e,t,n,r,i){var a=_Me(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=U9(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&H9(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},W9=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},G9=function(e){return[e.deltaX,e.deltaY]},K9=function(e){return e&&`current`in e?e.current:e},yMe=function(e,t){return e[0]===t[0]&&e[1]===t[1]},bMe=function(e){return`
|
|
42
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
43
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
44
|
-
`},xMe=0,Q=[];function SMe(e){var t=T.useRef([]),n=T.useRef([0,0]),r=T.useRef(),i=T.useState(xMe++)[0],a=T.useState(P9)[0],o=T.useRef(e);T.useEffect(function(){o.current=e},[e]),T.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Uje([e.lockRef.current],(e.shards||[]).map(K9),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=T.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=W9(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=V9(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=V9(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return vMe(h,t,e,h===`h`?s:c,!0)},[]),c=T.useCallback(function(e){var n=e;if(!(!Q.length||Q[Q.length-1]!==a)){var r=`deltaY`in n?G9(n):W9(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&yMe(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(K9).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=T.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:CMe(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=T.useCallback(function(e){n.current=W9(e),r.current=void 0},[]),d=T.useCallback(function(t){l(t.type,G9(t),t.target,s(t,e.lockRef.current))},[]),f=T.useCallback(function(t){l(t.type,W9(t),t.target,s(t,e.lockRef.current))},[]);T.useEffect(function(){return Q.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,Z),document.addEventListener(`touchmove`,c,Z),document.addEventListener(`touchstart`,u,Z),function(){Q=Q.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,Z),document.removeEventListener(`touchmove`,c,Z),document.removeEventListener(`touchstart`,u,Z)}},[]);var p=e.removeScrollBar,m=e.inert;return T.createElement(T.Fragment,null,m?T.createElement(a,{styles:bMe(i)}):null,p?T.createElement(dMe,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function CMe(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var wMe=Qje(A9,SMe),q9=T.forwardRef(function(e,t){return T.createElement(M9,X({},e,{ref:t,sideCar:wMe}))});q9.classNames=M9.classNames;var TMe=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},$=new WeakMap,J9=new WeakMap,Y9={},X9=0,Z9=function(e){return e&&(e.host||Z9(e.parentNode))},EMe=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Z9(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},DMe=function(e,t,n,r){var i=EMe(t,Array.isArray(e)?e:[e]);Y9[n]||(Y9[n]=new WeakMap);var a=Y9[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=($.get(e)||0)+1,l=(a.get(e)||0)+1;$.set(e,c),a.set(e,l),o.push(e),c===1&&i&&J9.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),X9++,function(){o.forEach(function(e){var t=$.get(e)-1,i=a.get(e)-1;$.set(e,t),a.set(e,i),t||(J9.has(e)||e.removeAttribute(r),J9.delete(e)),i||e.removeAttribute(n)}),X9--,X9||($=new WeakMap,$=new WeakMap,J9=new WeakMap,Y9={})}},OMe=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||TMe(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),DMe(r,i,n,`aria-hidden`)):function(){return null}};function kMe(e){let[t,n]=T.useState(void 0);return J(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}function AMe(...e){return a(r(e))}var Q9=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,$9=r,jMe=(e,t)=>n=>{if(t?.variants==null)return $9(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Q9(t)||Q9(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return $9(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};export{Eke as $,xe as $A,Jx as $C,ql as $D,Jf as $E,qo as $O,Jw as $S,Jh as $T,Jz as $_,Eme as $a,JA as $b,Eae as $c,q4 as $d,q1 as $f,JH as $g,JG as $h,E_e as $i,Kr as $k,Ene as $l,JJ as $m,ECe as $n,Ede as $o,JZ as $p,Ebe as $r,Ece as $s,EEe as $t,q8 as $u,JI as $v,Jv as $w,JD as $x,JN as $y,VAe as A,sn as AA,lC as AC,cd as AD,lm as AE,cc as AO,lE as AS,l_ as AT,lV as A_,Vhe as Aa,lM as Ab,Voe as Ac,c6 as Ad,c2 as Af,lW as Ag,lq as Ah,Vve as Ai,sa as Ak,Vre as Al,lX as Am,Vwe as An,Vfe as Ao,l$ as Ap,Vxe as Ar,Vle as As,VDe as At,c7 as Au,lR as Av,lb as Aw,lk as Ax,lF as Ay,dAe as B,U as BA,NS as BC,Mu as BD,Np as BE,Ms as BO,NT as BS,Ng as BT,NB as B_,dhe as Ba,Nj as Bb,doe as Bc,M3 as Bd,M0 as Bf,NU as Bg,NK as Bh,dve as Bi,ji as Bk,dre as Bl,NY as Bm,dwe as Bn,dfe as Bo,NQ as Bp,dxe as Br,dle as Bs,dDe as Bt,M5 as Bu,NL as Bv,Ny as Bw,NO as Bx,NP as By,ije as C,On as CA,AC as CC,kd as CD,Am as CE,kc as CO,AE as CS,A_ as CT,AV as C_,cge as Ca,AM as Cb,cse as Cc,k6 as Cd,k2 as Cf,AW as Cg,Aq as Ch,cye as Ci,Oa as Ck,cie as Cl,AX as Cm,cTe as Cn,cpe as Co,A$ as Cp,cSe as Cr,cue as Cs,cOe as Ct,k7 as Cu,AR as Cv,Ab as Cw,Ak as Cx,AF as Cy,eje as D,gn as DA,vC as DC,_d as DD,vm as DE,_c as DO,vE as DS,v_ as DT,vV as D_,Xhe as Da,vM as Db,Xoe as Dc,_6 as Dd,_2 as Df,vW as Dg,vq as Dh,Xve as Di,ga as Dk,Xre as Dl,vX as Dm,Xwe as Dn,Xfe as Do,v$ as Dp,Xxe as Dr,Xle as Ds,XDe as Dt,_7 as Du,vR as Dv,vb as Dw,vk as Dx,vF as Dy,nje as E,yn as EA,xC as EC,bd as ED,xm as EE,bc as EO,xE as ES,x_ as ET,xV as E_,$he as Ea,xM as Eb,$oe as Ec,b6 as Ed,b2 as Ef,xW as Eg,xq as Eh,$ve as Ei,ya as Ek,$re as El,xX as Em,$we as En,$fe as Eo,x$ as Ep,$xe as Er,$le as Es,$De as Et,b7 as Eu,xR as Ev,xb as Ew,xk as Ex,xF as Ey,EAe as F,Gt as FA,JS as FC,qu as FD,Jp as FE,qs as FO,JT as FS,Jg as FT,JB as F_,Ehe as Fa,Jj as Fb,Eoe as Fc,q3 as Fd,q0 as Ff,JU as Fg,JK as Fh,Eve as Fi,Ki as Fk,Ere as Fl,JY as Fm,Ewe as Fn,Efe as Fo,JQ as Fp,Exe as Fr,Ele as Fs,EDe as Ft,q5 as Fu,JL as Fv,Jy as Fw,JO as Fx,JP as Fy,Xke as G,st as GA,vS as GC,_u as GD,vp as GE,_s as GO,vT as GS,vg as GT,vB as G_,Xme as Ga,vj as Gb,Xae as Gc,_3 as Gd,_0 as Gf,vU as Gg,vK as Gh,X_e as Gi,gi as Gk,Xne as Gl,vY as Gm,XCe as Gn,Xde as Go,vQ as Gp,Xbe as Gr,Xce as Gs,XEe as Gt,_5 as Gu,vL as Gv,vy as Gw,vO as Gx,vP as Gy,aAe as H,hte as HA,DS as HC,Eu as HD,Dp as HE,Es as HO,DT as HS,Dg as HT,DB as H_,ahe as Ha,Dj as Hb,aoe as Hc,E3 as Hd,E0 as Hf,DU as Hg,DK as Hh,ave as Hi,Ti as Hk,are as Hl,DY as Hm,awe as Hn,afe as Ho,DQ as Hp,axe as Hr,ale as Hs,aDe as Ht,E5 as Hu,DL as Hv,Dy as Hw,DO as Hx,DP as Hy,CAe as I,Ht as IA,GS as IC,Wu as ID,Gp as IE,Ws as IO,GT as IS,Gg as IT,GB as I_,Che as Ia,Gj as Ib,Coe as Ic,W3 as Id,W0 as If,GU as Ig,GK as Ih,Cve as Ii,Ui as Ik,Cre as Il,GY as Im,Cwe as In,Cfe as Io,GQ as Ip,Cxe as Ir,Cle as Is,CDe as It,W5 as Iu,GL as Iv,Gy as Iw,GO as Ix,GP as Iy,Vke as J,P as JA,lS as JC,cu as JD,lp as JE,cs as JO,lT as JS,lg as JT,lB as J_,Vme as Ja,lj as Jb,Vae as Jc,c3 as Jd,c0 as Jf,lU as Jg,lK as Jh,V_e as Ji,si as Jk,Vne as Jl,lY as Jm,VCe as Jn,Vde as Jo,lQ as Jp,Vbe as Jr,Vce as Js,VEe as Jt,c5 as Ju,lL as Jv,ly as Jw,lO as Jx,lP as Jy,qke as K,_te as KA,hS as KC,mu as KD,hp as KE,ms as KO,hT as KS,hg as KT,hB as K_,qme as Ka,hj as Kb,qae as Kc,m3 as Kd,m0 as Kf,hU as Kg,hK as Kh,q_e as Ki,pi as Kk,qne as Kl,hY as Km,qCe as Kn,qde as Ko,hQ as Kp,qbe as Kr,qce as Ks,qEe as Kt,m5 as Ku,hL as Kv,hy as Kw,hO as Kx,hP as Ky,bAe as L,zt as LA,HS as LC,Vu as LD,Hp as LE,Vs as LO,HT as LS,Hg as LT,HB as L_,bhe as La,Hj as Lb,boe as Lc,V3 as Ld,V0 as Lf,HU as Lg,HK as Lh,bve as Li,Bi as Lk,bre as Ll,HY as Lm,bwe as Ln,bfe as Lo,HQ as Lp,bxe as Lr,ble as Ls,bDe as Lt,V5 as Lu,HL as Lv,Hy as Lw,HO as Lx,HP as Ly,FAe as M,en as MA,rC as MC,nd as MD,rm as ME,nc as MO,rE as MS,r_ as MT,rV as M_,Fhe as Ma,rM as Mb,Foe as Mc,n6 as Md,n2 as Mf,rW as Mg,rq as Mh,Fve as Mi,ta as Mk,Fre as Ml,rX as Mm,Fwe as Mn,Ffe as Mo,r$ as Mp,Fxe as Mr,Fle as Ms,FDe as Mt,n7 as Mu,rR as Mv,rb as Mw,rk as Mx,rF as My,MAe as N,Zt as NA,eC as NC,$u as ND,em as NE,$s as NO,eE as NS,e_ as NT,eV as N_,Mhe as Na,eM as Nb,Moe as Nc,$3 as Nd,$0 as Nf,eW as Ng,eq as Nh,Mve as Ni,Qi as Nk,Mre as Nl,eX as Nm,Mwe as Nn,Mfe as No,e$ as Np,Mxe as Nr,Mle as Ns,MDe as Nt,$5 as Nu,eR as Nv,eb as Nw,ek as Nx,eF as Ny,qAe as O,pn as OA,hC as OC,md as OD,hm as OE,mc as OO,hE as OS,h_ as OT,hV as O_,qhe as Oa,hM as Ob,qoe as Oc,m6 as Od,m2 as Of,hW as Og,hq as Oh,qve as Oi,pa as Ok,qre as Ol,hX as Om,qwe as On,qfe as Oo,h$ as Op,qxe as Or,qle as Os,qDe as Ot,m7 as Ou,hR as Ov,hb as Ow,hk as Ox,hF as Oy,kAe as P,Jt as PA,ZS as PC,Xu as PD,Zp as PE,Xs as PO,ZT as PS,Zg as PT,ZB as P_,khe as Pa,Zj as Pb,koe as Pc,X3 as Pd,X0 as Pf,ZU as Pg,ZK as Ph,kve as Pi,Yi as Pk,kre as Pl,ZY as Pm,kwe as Pn,kfe as Po,ZQ as Pp,kxe as Pr,kle as Ps,kDe as Pt,X5 as Pu,ZL as Pv,Zy as Pw,ZO as Px,ZP as Py,kke as Q,Se as QA,Zx as QC,Xl as QD,Zf as QE,Xo as QO,Zw as QS,Zh as QT,Zz as Q_,kme as Qa,ZA as Qb,kae as Qc,X4 as Qd,X1 as Qf,ZH as Qg,ZG as Qh,k_e as Qi,Yr as Qk,kne as Ql,ZJ as Qm,kCe as Qn,kde as Qo,ZZ as Qp,kbe as Qr,kce as Qs,kEe as Qt,X8 as Qu,ZI as Qv,Zv as Qw,ZD as Qx,ZN as Qy,_Ae as R,It as RA,zS as RC,Ru as RD,zp as RE,Rs as RO,zT as RS,zg as RT,zB as R_,_he as Ra,zj as Rb,_oe as Rc,R3 as Rd,R0 as Rf,zU as Rg,zK as Rh,_ve as Ri,Li as Rk,_re as Rl,zY as Rm,_we as Rn,_fe as Ro,zQ as Rp,_xe as Rr,_le as Rs,_De as Rt,R5 as Ru,zL as Rv,zy as Rw,zO as Rx,zP as Ry,X7 as S,jn as SA,NC as SC,Md as SD,Nm as SE,Mc as SO,NE as SS,N_ as ST,NV as S_,dge as Sa,NM as Sb,dse as Sc,M6 as Sd,M2 as Sf,NW as Sg,Nq as Sh,dye as Si,ja as Sk,die as Sl,NX as Sm,dTe as Sn,dpe as So,N$ as Sp,dSe as Sr,due as Ss,dOe as St,M7 as Su,NR as Sv,Nb as Sw,Nk as Sx,NF as Sy,G as T,Sn as TA,wC as TC,Cd as TD,wm as TE,Cc as TO,wE as TS,w_ as TT,wV as T_,nge as Ta,wM as Tb,nse as Tc,C6 as Td,C2 as Tf,wW as Tg,wq as Th,nye as Ti,Sa as Tk,nie as Tl,wX as Tm,nTe as Tn,npe as To,w$ as Tp,nSe as Tr,nue as Ts,nOe as Tt,C7 as Tu,wR as Tv,wb as Tw,wk as Tx,wF as Ty,nAe as U,mte as UA,wS as UC,Cu as UD,wp as UE,Cs as UO,wT as US,wg as UT,wB as U_,nhe as Ua,wj as Ub,noe as Uc,C3 as Ud,C0 as Uf,wU as Ug,wK as Uh,nve as Ui,Si as Uk,nre as Ul,wY as Um,nwe as Un,nfe as Uo,wQ as Up,nxe as Ur,nle as Us,nDe as Ut,C5 as Uu,wL as Uv,wy as Uw,wO as Ux,wP as Uy,cAe as V,Et as VA,AS as VC,ku as VD,Ap as VE,ks as VO,AT as VS,Ag as VT,AB as V_,che as Va,Aj as Vb,coe as Vc,k3 as Vd,k0 as Vf,AU as Vg,AK as Vh,cve as Vi,Oi as Vk,cre as Vl,AY as Vm,cwe as Vn,cfe as Vo,AQ as Vp,cxe as Vr,cle as Vs,cDe as Vt,k5 as Vu,AL as Vv,Ay as Vw,AO as Vx,AP as Vy,$ke as W,vte as WA,xS as WC,bu as WD,xp as WE,bs as WO,xT as WS,xg as WT,xB as W_,$me as Wa,xj as Wb,$ae as Wc,b3 as Wd,b0 as Wf,xU as Wg,xK as Wh,$_e as Wi,yi as Wk,$ne as Wl,xY as Wm,$Ce as Wn,$de as Wo,xQ as Wp,$be as Wr,$ce as Ws,$Ee as Wt,b5 as Wu,xL as Wv,xy as Ww,xO as Wx,xP as Wy,Fke as X,De as XA,rS as XC,nu as XD,rp as XE,ns as XO,rT as XS,rg as XT,rB as X_,Fme as Xa,rj as Xb,Fae as Xc,n3 as Xd,n0 as Xf,rU as Xg,rK as Xh,F_e as Xi,ti as Xk,Fne as Xl,rY as Xm,FCe as Xn,Fde as Xo,rQ as Xp,Fbe as Xr,Fce as Xs,FEe as Xt,n5 as Xu,rL as Xv,ry as Xw,rO as Xx,rP as Xy,Rke as Y,Ee as YA,oS as YC,au as YD,op as YE,as as YO,oT as YS,og as YT,oB as Y_,Rme as Ya,oj as Yb,Rae as Yc,a3 as Yd,a0 as Yf,oU as Yg,oK as Yh,R_e as Yi,ii as Yk,Rne as Yl,oY as Ym,RCe as Yn,Rde as Yo,oQ as Yp,Rbe as Yr,Rce as Ys,REe as Yt,a5 as Yu,oL as Yv,oy as Yw,oO as Yx,oP as Yy,Mke as Z,Oe as ZA,eS as ZC,$l as ZD,ep as ZE,$o as ZO,eT as ZS,eg as ZT,eB as Z_,Mme as Za,ej as Zb,Mae as Zc,$4 as Zd,$1 as Zf,eU as Zg,eK as Zh,M_e as Zi,Qr as Zk,Mne as Zl,eY as Zm,MCe as Zn,Mde as Zo,eQ as Zp,Mbe as Zr,Mce as Zs,MEe as Zt,$8 as Zu,eL as Zv,ey as Zw,eO as Zx,eP as Zy,q as _,Kn as _A,JC as _C,qd as _D,Jm as _E,qc as _O,JE as _S,J_ as _T,JV as __,Ege as _a,JM as _b,Ese as _c,q6 as _d,q2 as _f,JW as _g,Jq as _h,Eye as _i,Ka as _k,Eie as _l,JX as _m,ETe as _n,Epe as _o,J$ as _p,ESe as _r,Eue as _s,EOe as _t,Ete as _u,JR as _v,Jb as _w,Jk as _x,JF as _y,q9 as a,Or as aA,Aw as aC,Af as aD,Ah as aE,kl as aO,AD as aS,Av as aT,AH as a_,c_e as aa,AN as ab,cce as ac,k8 as ad,k4 as af,AG as ag,AJ as ah,cbe as ai,ko as ak,cae as al,AZ as am,cEe as an,cme as ao,A1 as ap,cCe as ar,cde as as,cke as at,cne as au,Az as av,Ax as aw,AA as ax,AI as ay,e9 as b,Ln as bA,zC as bC,Rd as bD,zm as bE,Rc as bO,zE as bS,z_ as bT,zV as b_,_ge as ba,zM as bb,_se as bc,R6 as bd,R2 as bf,zW as bg,zq as bh,_ye as bi,La as bk,_ie as bl,zX as bm,_Te as bn,_pe as bo,z$ as bp,_Se as br,_ue as bs,_Oe as bt,R7 as bu,zR as bv,zb as bw,zk as bx,zF as by,h9 as c,yr as cA,xw as cC,xf as cD,xh as cE,bl as cO,xD as cS,xv as cT,xH as c_,$ge as ca,xN as cb,$se as cc,b8 as cd,b4 as cf,xG as cg,xJ as ch,$ye as ci,bo as ck,$ie as cl,xZ as cm,$Te as cn,$pe as co,x1 as cp,$Se as cr,$ue as cs,$Oe as ct,$te as cu,xz as cv,xx as cw,xA as cx,xI as cy,r9 as d,ur as dA,fw as dC,ff as dD,fh as dE,dl as dO,fD as dS,fv as dT,fH as d_,Wge as da,fN as db,Wse as dc,d8 as dd,d4 as df,fG as dg,fJ as dh,Wye as di,uo as dk,Wie as dl,fZ as dm,WTe as dn,Wpe as do,f1 as dp,WSe as dr,Wue as ds,WOe as dt,Wte as du,fz as dv,fx as dw,fA as dx,fI as dy,Ur as eA,Gw as eC,Gf as eD,Gh as eE,Wl as eO,GD as eS,Gv as eT,GH as e_,C_e as ea,GN as eb,Cce as ec,W8 as ed,W4 as ef,GG as eg,GJ as eh,Cbe as ei,_e as ej,Wo as ek,Cae as el,GZ as em,CEe as en,Cme as eo,W1 as ep,CCe as er,Cde as es,Cke as et,Cne as eu,Gz as ev,Gx as ew,GA as ex,GI as ey,_je as f,sr as fA,lw as fC,lf as fD,lh as fE,cl as fO,lD as fS,lv as fT,lH as f_,Vge as fa,lN as fb,Vse as fc,c8 as fd,c4 as ff,lG as fg,lJ as fh,Vye as fi,so as fk,Vie as fl,lZ as fm,VTe as fn,Vpe as fo,l1 as fp,VSe as fr,Vue as fs,VOe as ft,Vte as fu,lz as fv,lx as fw,lA as fx,lI as fy,n9 as g,Yn as gA,ZC as gC,Xd as gD,Zm as gE,Xc as gO,ZE as gS,Z_ as gT,ZV as g_,kge as ga,ZM as gb,kse as gc,X6 as gd,X2 as gf,ZW as gg,Zq as gh,kye as gi,Ya as gk,kie as gl,ZX as gm,kTe as gn,kpe as go,Z$ as gp,kSe as gr,kue as gs,kOe as gt,kte as gu,ZR as gv,Zb as gw,Zk as gx,ZF as gy,mje as h,Qn as hA,ew as hC,$d as hD,eh as hE,$c as hO,eD as hS,ev as hT,eH as h_,Mge as ha,eN as hb,Mse as hc,$6 as hd,$2 as hf,eG as hg,eJ as hh,Mye as hi,Qa as hk,Mie as hl,eZ as hm,MTe as hn,Mpe as ho,e1 as hp,MSe as hr,Mue as hs,MOe as ht,Mte as hu,ez as hv,ex as hw,eA as hx,eI as hy,OMe as i,jr as iA,Nw as iC,Nf as iD,Nh as iE,Ml as iO,ND as iS,Nv as iT,NH as i_,d_e as ia,NN as ib,dce as ic,M8 as id,M4 as if,NG as ig,NJ as ih,dbe as ii,ee as ij,Mo as ik,dae as il,NZ as im,dEe as in,dme as io,N1 as ip,dCe as ir,dde as is,dke as it,dne as iu,Nz as iv,Nx as iw,NA as ix,NI as iy,RAe as j,rn as jA,oC as jC,ad as jD,om as jE,ac as jO,oE as jS,o_ as jT,oV as j_,Rhe as ja,oM as jb,Roe as jc,a6 as jd,a2 as jf,oW as jg,oq as jh,Rve as ji,ia as jk,Rre as jl,oX as jm,Rwe as jn,Rfe as jo,o$ as jp,Rxe as jr,Rle as js,RDe as jt,a7 as ju,oR as jv,ob as jw,ok as jx,oF as jy,WAe as k,un as kA,fC as kC,dd as kD,fm as kE,dc as kO,fE as kS,f_ as kT,fV as k_,Whe as ka,fM as kb,Woe as kc,d6 as kd,d2 as kf,fW as kg,fq as kh,Wve as ki,ua as kk,Wre as kl,fX as km,Wwe as kn,Wfe as ko,f$ as kp,Wxe as kr,Wle as ks,WDe as kt,d7 as ku,fR as kv,fb as kw,fk as kx,fF as ky,l9 as l,gr as lA,vw as lC,vf as lD,vh as lE,_l as lO,vD as lS,vv as lT,vH as l_,Xge as la,vN as lb,Xse as lc,_8 as ld,_4 as lf,vG as lg,vJ as lh,Xye as li,_o as lk,Xie as ll,vZ as lm,XTe as ln,Xpe as lo,v1 as lp,XSe as lr,Xue as ls,XOe as lt,Xte as lu,vz as lv,vx as lw,vA as lx,vI as ly,pje as m,tr as mA,rw as mC,nf as mD,rh as mE,nl as mO,rD as mS,rv as mT,rH as m_,Fge as ma,rN as mb,Fse as mc,n8 as md,n4 as mf,rG as mg,rJ as mh,Fye as mi,to as mk,Fie as ml,rZ as mm,FTe as mn,Fpe as mo,r1 as mp,FSe as mr,Fue as ms,FOe as mt,Fte as mu,rz as mv,rx as mw,rA as mx,rI as my,AMe as n,Lr as nA,zw as nC,zf as nD,zh as nE,Rl as nO,zD as nS,zv as nT,zH as n_,__e as na,zN as nb,_ce as nc,R8 as nd,R4 as nf,zG as ng,zJ as nh,_be as ni,S as nj,Ro as nk,_ae as nl,zZ as nm,_Ee as nn,_me as no,z1 as np,_Ce as nr,_de as ns,_ke as nt,_ne as nu,zz as nv,zx as nw,zA as nx,zI as ny,Hje as o,Tr as oA,Dw as oC,Df as oD,Dh as oE,El as oO,DD as oS,Dv as oT,DH as o_,a_e as oa,DN as ob,ace as oc,E8 as od,E4 as of,DG as og,DJ as oh,abe as oi,Eo as ok,aae as ol,DZ as om,aEe as on,ame as oo,D1 as op,aCe as or,ade as os,ake as ot,ane as ou,Dz as ov,Dx as ow,DA as ox,DI as oy,J as p,ir as pA,ow as pC,of as pD,oh as pE,al as pO,oD as pS,ov as pT,oH as p_,Rge as pa,oN as pb,Rse as pc,a8 as pd,a4 as pf,oG as pg,oJ as ph,Rye as pi,io as pk,Rie as pl,oZ as pm,RTe as pn,Rpe as po,o1 as pp,RSe as pr,Rue as ps,ROe as pt,Rte as pu,oz as pv,ox as pw,oA as px,oI as py,Wke as q,gte as qA,fS as qC,du as qD,fp as qE,ds as qO,fT as qS,fg as qT,fB as q_,Wme as qa,fj as qb,Wae as qc,d3 as qd,d0 as qf,fU as qg,fK as qh,W_e as qi,ui as qk,Wne as ql,fY as qm,WCe as qn,Wde as qo,fQ as qp,Wbe as qr,Wce as qs,WEe as qt,d5 as qu,fL as qv,fy as qw,fO as qx,fP as qy,kMe as r,Pr as rA,Iw as rC,If as rD,Ih as rE,Fl as rO,ID as rS,Iv as rT,IH as r_,m_e as ra,IN as rb,mce as rc,F8 as rd,F4 as rf,IG as rg,IJ as rh,mbe as ri,v as rj,Fo as rk,mae as rl,IZ as rm,mEe as rn,mme as ro,I1 as rp,mCe as rr,mde as rs,mke as rt,mne as ru,Iz as rv,Ix as rw,IA as rx,II as ry,b9 as s,Sr as sA,ww as sC,wf as sD,wh as sE,Cl as sO,wD as sS,wv as sT,wH as s_,n_e as sa,wN as sb,nce as sc,C8 as sd,C4 as sf,wG as sg,wJ as sh,nbe as si,Co as sk,nae as sl,wZ as sm,nEe as sn,nme as so,w1 as sp,nCe as sr,nde as ss,nke as st,nne as su,wz as sv,wx as sw,wA as sx,wI as sy,jMe as t,Br as tA,Hw as tC,Hf as tD,Hh as tE,Vl as tO,HD as tS,Hv as tT,HH as t_,b_e as ta,HN as tb,bce as tc,V8 as td,V4 as tf,HG as tg,HJ as th,bbe as ti,w as tj,Vo as tk,bae as tl,HZ as tm,bEe as tn,bme as to,H1 as tp,bCe as tr,bde as ts,bke as tt,bne as tu,Hz as tv,Hx as tw,HA as tx,HI as ty,Eje as u,pr as uA,hw as uC,hf as uD,hh as uE,ml as uO,hD as uS,hv as uT,hH as u_,qge as ua,hN as ub,qse as uc,m8 as ud,m4 as uf,hG as ug,hJ as uh,qye as ui,mo as uk,qie as ul,hZ as um,qTe as un,qpe as uo,h1 as up,qSe as ur,que as us,qOe as ut,qte as uu,hz as uv,hx as uw,hA as ux,hI as uy,t9 as v,Un as vA,GC as vC,Wd as vD,Gm as vE,Wc as vO,GE as vS,G_ as vT,GV as v_,Cge as va,GM as vb,Cse as vc,W6 as vd,W2 as vf,GW as vg,Gq as vh,Cye as vi,Ua as vk,Cie as vl,GX as vm,CTe as vn,Cpe as vo,G$ as vp,CSe as vr,Cue as vs,COe as vt,Cte as vu,GR as vv,Gb as vw,Gk as vx,GF as vy,Y7 as w,Tn as wA,DC as wC,Ed as wD,Dm as wE,Ec as wO,DE as wS,D_ as wT,DV as w_,age as wa,DM as wb,ase as wc,E6 as wd,E2 as wf,DW as wg,Dq as wh,aye as wi,Ta as wk,aie as wl,DX as wm,aTe as wn,ape as wo,D$ as wp,aSe as wr,aue as ws,aOe as wt,E7 as wu,DR as wv,Db as ww,Dk as wx,DF as wy,rje as x,Pn as xA,IC as xC,Fd as xD,Im as xE,Fc as xO,IE as xS,I_ as xT,IV as x_,mge as xa,IM as xb,mse as xc,F6 as xd,F2 as xf,IW as xg,Iq as xh,mye as xi,Pa as xk,mie as xl,IX as xm,mTe as xn,mpe as xo,I$ as xp,mSe as xr,mue as xs,mOe as xt,F7 as xu,IR as xv,Ib as xw,Ik as xx,IF as xy,K as y,Bn as yA,HC as yC,Vd as yD,Hm as yE,Vc as yO,HE as yS,H_ as yT,HV as y_,bge as ya,HM as yb,bse as yc,V6 as yd,V2 as yf,HW as yg,Hq as yh,bye as yi,Ba as yk,bie as yl,HX as ym,bTe as yn,bpe as yo,H$ as yp,bSe as yr,bue as ys,bOe as yt,V7 as yu,HR as yv,Hb as yw,Hk as yx,HF as yy,mAe as z,Nt as zA,IS as zC,Fu as zD,Ip as zE,Fs as zO,IT as zS,Ig as zT,IB as z_,mhe as za,Ij as zb,moe as zc,F3 as zd,F0 as zf,IU as zg,IK as zh,mve as zi,Pi as zk,mre as zl,IY as zm,mwe as zn,mfe as zo,IQ as zp,mxe as zr,mle as zs,mDe as zt,F5 as zu,IL as zv,Iy as zw,IO as zx,IP as zy};
|