@aiiware/aii 0.27.6 → 0.27.7

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/bin/aii CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @aiiware/aii v0.27.6
3
+ * @aiiware/aii v0.27.7
4
4
  *
5
5
  * AI-powered CLI assistant for terminal productivity
6
6
  *
@@ -26,7 +26,7 @@ const __dirname = dirname(__filename);
26
26
 
27
27
  var Ltt=Object.create;var bx=Object.defineProperty;var Ptt=Object.getOwnPropertyDescriptor;var Ftt=Object.getOwnPropertyNames;var Qtt=Object.getPrototypeOf,Utt=Object.prototype.hasOwnProperty;var V=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var b=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ae=(t,e)=>{for(var r in e)bx(t,r,{get:e[r],enumerable:!0})},Tle=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ftt(e))!Utt.call(t,o)&&o!==r&&bx(t,o,{get:()=>e[o],enumerable:!(n=Ptt(e,o))||n.enumerable});return t};var er=(t,e,r)=>(r=t!=null?Ltt(Qtt(t)):{},Tle(e||!t||!t.__esModule?bx(r,"default",{value:t,enumerable:!0}):r,t)),R8=t=>Tle(bx({},"__esModule",{value:!0}),t);function im(t){let e=t.AII_TELEMETRY;return e!==void 0&&e!==""&&e!=="on"}function Yg(t){return["CI","GITHUB_ACTIONS","GITLAB_CI","JENKINS_URL","BUILD_BUILDID","TEAMCITY_VERSION","CIRCLECI","TRAVIS","AII_INTERNAL_SUBAGENT"].some(e=>!!t[e]&&t[e]!=="false"&&t[e]!=="0")}var Au,wx,Ix=b(()=>{"use strict";Au="cli-telemetry-v2",wx=`Usage analytics is enabled by default. We collect limited product signals, never your prompts, files, API keys or access tokens. Cloudflare processes network/security metadata, including source IPs. Privacy: https://aiiware.com/privacy \xB7 Terms: https://aiiware.com/terms. Turn off with aii telemetry off or AII_TELEMETRY=off. Turning off through the command may send one minimal preference receipt recording the choice.
28
28
  `});import Gt from"node:fs";import v1 from"node:path";import $tt from"node:os";import{randomUUID as Gtt}from"node:crypto";import{createRequire as Htt}from"node:module";function Ytt(){if(process.platform!=="linux"&&process.platform!=="darwin")return!1;try{return T1??=Htt(import.meta.url)("fs-native-extensions"),typeof T1.tryLock=="function"&&typeof T1.unlock=="function"}catch{return!1}}function N8(t){return!process.getuid||t.uid===process.getuid()}function ztt(t){Gt.mkdirSync(t,{recursive:!0,mode:448});let e=Gt.lstatSync(t);if(!e.isDirectory()||e.isSymbolicLink()||!N8(e))throw new Error("Unsafe telemetry directory");Gt.chmodSync(t,448)}function vx(t,e){if(!Ytt())throw new Error("Telemetry locking unavailable");ztt(t);let r=Gt.openSync(v1.join(t,"telemetry.lock"),Gt.constants.O_CREAT|Gt.constants.O_RDWR|Gt.constants.O_NOFOLLOW,384);try{let n=Gt.fstatSync(r);if(!n.isFile()||!N8(n))throw new Error("Unsafe telemetry lock");if(Gt.fchmodSync(r,384),!T1.tryLock(r))throw new Error("Telemetry policy lock busy");try{return e()}finally{T1.unlock(r)}}finally{Gt.closeSync(r)}}function k1(t){let e=v1.join(t,"telemetry.json"),r;try{r=Gt.openSync(e,Gt.constants.O_RDONLY|Gt.constants.O_NOFOLLOW|Gt.constants.O_NONBLOCK)}catch(n){if(n.code==="ENOENT")return qtt();throw n}try{let n=Gt.fstatSync(r);if(!n.isFile()||!N8(n)||n.size>8192||n.mode&63)throw new Error("Unsafe telemetry state");let o=Gt.readFileSync(r,"utf8"),i=Array.from(o.matchAll(/"((?:\\.|[^"\\])*)"\s*:/g),c=>JSON.parse('"'+c[1]+'"'));if(new Set(i).size!==i.length)throw new Error("Duplicate telemetry state key");let s=JSON.parse(o);if(!s||typeof s!="object"||Array.isArray(s))throw new Error("Invalid telemetry state");let a=s;if(Object.keys(a).some(c=>!["schema_version","preference","revision","installation_id","notice_version","receipt_attempted_revision"].includes(c))||a.schema_version!==1||!["default","on","off"].includes(String(a.preference))||!Number.isSafeInteger(a.revision)||Number(a.revision)<0||a.installation_id!==void 0&&(typeof a.installation_id!="string"||!jtt.test(a.installation_id))||a.notice_version!==void 0&&(typeof a.notice_version!="string"||!/^[a-z0-9-]{1,64}$/.test(a.notice_version))||a.receipt_attempted_revision!==void 0&&(!Number.isSafeInteger(a.receipt_attempted_revision)||Number(a.receipt_attempted_revision)<0||Number(a.receipt_attempted_revision)>Number(a.revision)))throw new Error("Invalid telemetry state");return a}finally{Gt.closeSync(r)}}function kx(t,e){let r=v1.join(t,`.telemetry-${Gtt()}.tmp`);try{let n=Gt.openSync(r,Gt.constants.O_CREAT|Gt.constants.O_EXCL|Gt.constants.O_WRONLY|Gt.constants.O_NOFOLLOW,384);try{Gt.writeFileSync(n,JSON.stringify(e)+`
29
- `),Gt.fsyncSync(n)}finally{Gt.closeSync(n)}Gt.renameSync(r,v1.join(t,"telemetry.json"));let o=Gt.openSync(t,Gt.constants.O_RDONLY|Gt.constants.O_DIRECTORY|Gt.constants.O_NOFOLLOW);try{Gt.fsyncSync(o)}finally{Gt.closeSync(o)}}finally{try{Gt.unlinkSync(r)}catch{}}}var jtt,qtt,Tx,T1,x8=b(()=>{"use strict";jtt=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,qtt=()=>({schema_version:1,preference:"default",revision:0}),Tx=()=>v1.join($tt.homedir(),".aii")});function vle(){return new SharedArrayBuffer(1049616)}function kle(t){let e=new Int32Array(t,0,4);Atomics.store(e,2,1),new Uint8Array(t,1040).fill(0),Atomics.store(e,1,Atomics.load(e,0))}function Dle(t,e){let r=new Int32Array(t,0,4);if(Atomics.load(r,2))return!1;let n=new TextEncoder().encode(JSON.stringify(e)),o=Atomics.load(r,0)>>>0;if(n.length>4096||o-(Atomics.load(r,1)>>>0)>>>0>=256)return!1;let i=o%256;return new Uint8Array(t,1040+i*4096,n.length).set(n),Atomics.store(new Int32Array(t,16,256),i,n.length),Atomics.store(r,0,o+1|0),!0}var Rle=b(()=>{"use strict"});import{randomUUID as Wtt}from"node:crypto";import O8 from"node:os";function B8(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;if(Object.values(e).some(n=>typeof n!="string"))return!1;let r=e.event==="request_completed"?["outcome","duration_bucket","error_category"]:e.event==="setup_failed"?["error_category"]:[];return Object.keys(e).length!==xle.length+r.length||Object.keys(e).some(n=>![...xle,...r].includes(n))||!Nle.test(e.event_id)||!Nle.test(e.installation_id)||!/^(0|[1-9]\d{0,7})\.(0|[1-9]\d{0,7})\.(0|[1-9]\d{0,7})$/.test(e.cli_version)||e.cli_version.length>32||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e.occurred_at)||!Number.isFinite(Date.parse(e.occurred_at))||new Date(e.occurred_at).toISOString().replace(/\.\d{3}Z$/,"Z")!==e.occurred_at||!["cli_started","setup_completed","setup_failed","request_completed"].includes(e.event)||!["macos","linux","windows","other"].includes(e.os)||!["arm64","x64","other"].includes(e.arch)||!["interactive","one_shot"].includes(e.mode)||!["cloud","byoc","ollama","unknown"].includes(e.backend)||!["enabled_by_default","enabled_explicitly"].includes(e.preference)||e.notice_version!==Au?!1:e.event==="setup_failed"?["config","auth","network","provider","unknown"].includes(e.error_category):e.event!=="request_completed"?!0:["success","failure","cancelled"].includes(e.outcome)&&["lt1s","1to10s","10to60s","gt60s"].includes(e.duration_bucket)&&Vtt.includes(e.error_category)&&(e.outcome==="failure"?e.error_category!=="none":e.error_category==="none")}function Ole(t,e,r={}){if(Object.keys(r).some(o=>!["outcome","duration_bucket","error_category"].includes(o)))return;let n={event_id:Wtt(),installation_id:t.installationId,occurred_at:new Date().toISOString().replace(/\.\d{3}Z$/,"Z"),event:e,cli_version:t.version,os:{darwin:"macos",linux:"linux",win32:"windows"}[O8.platform()]??"other",arch:["arm64","x64"].includes(O8.arch())?O8.arch():"other",mode:t.mode,backend:t.backend,preference:t.preference,notice_version:Au,...r};return B8(n)?n:void 0}function Ble(t){return t<1e3?"lt1s":t<1e4?"1to10s":t<6e4?"10to60s":"gt60s"}function Mle(t){let e=t;return["AuthError","AuthenticationError"].includes(String(e?.name))?"auth":["ConfigurationError","ConfigError","BootstrapError"].includes(String(e?.name))?"config":["ECONNREFUSED","ECONNRESET","ENOTFOUND","ETIMEDOUT"].includes(String(e?.code))?"network":e?.name==="RateLimitError"?"rate_limit":"unknown"}var Nle,xle,Vtt,Lle=b(()=>{"use strict";Ix();Nle=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,xle=["event_id","installation_id","occurred_at","event","cli_version","os","arch","mode","backend","preference","notice_version"],Vtt=["none","network","auth","config","rate_limit","provider","unknown"]});import{Worker as Ktt}from"node:worker_threads";import Ple from"node:path";import{fileURLToPath as Jtt}from"node:url";import{randomUUID as Xtt}from"node:crypto";function P8(t,e){let r=e.workerPath??Ple.join(Ple.dirname(Jtt(import.meta.url)),"aii-telemetry-worker.mjs"),n=new Ktt(r,{execArgv:[],workerData:{...t,...e.testOrigin?{testOrigin:e.testOrigin}:{}},env:e.env??process.env});return n.on("error",()=>{}),n.unref(),n}function Fle(t,e,r={}){_u??=new M8(t,e,r),_u.emit("cli_started")}function F8(t,e={}){_u?.emit(t,e)}function R1(t){_u?.backend(t)}function Q8(t,e,r){_u?.turn(t,e,r)}function U8(){_u?.stop(),_u=void 0}function L8(t,e,r){if(_u?.collecting)try{_u.turn(e(),t,r)}catch{_u.turn("failure",t)}}function Dx(){let t=performance.now(),e=!1;return(r,n)=>{e||(e=!0,typeof r=="function"?L8(t,r,n):Q8(r,t,n))}}function Qle(t,e){let r=performance.now();return t().then(()=>L8(r,()=>e()),n=>{throw L8(r,()=>e(n)==="cancelled"?"cancelled":"failure",n),n})}var Ztt,M8,_u,By=b(()=>{"use strict";Ix();x8();Rle();Lle();Ztt="0.27.6";M8=class{buffer;worker;context;constructor(e,r,n={}){let o=n.env??process.env;if(!(n.released??!1)||im(o)||Yg(o))return;let i=n.directory??Tx();try{vx(i,()=>{let s=k1(i);if(s.preference!=="off"){if(s.notice_version!==Au){if(!(n.isTTY??(!!process.stdin.isTTY&&!!process.stdout.isTTY)))return;(n.notice??(a=>process.stderr.write(a)))(wx),s.notice_version=Au}s.installation_id??=Xtt(),kx(i,s),this.context={installationId:s.installation_id,version:n.version??Ztt,mode:e,backend:r,preference:s.preference==="on"?"enabled_explicitly":"enabled_by_default"},this.buffer=vle(),this.worker=P8({directory:i,queue:this.buffer,installationId:s.installation_id,revision:s.revision},n),this.worker.once("error",()=>this.stop())}})}catch{this.stop()}}emit(e,r={}){try{if(!this.context||!this.buffer)return;let n=Ole(this.context,e,r);n&&B8(n)&&Dle(this.buffer,n)}catch{}}turn(e,r,n){try{this.emit("request_completed",{outcome:e,duration_bucket:Ble(performance.now()-r),error_category:e==="failure"?Mle(n):"none"})}catch{}}get collecting(){return!!this.context}backend(e){this.context&&(this.context.backend=e)}stop(){this.buffer&&kle(this.buffer),this.context=void 0,this.worker?.terminate().catch(()=>{}),this.worker=void 0}}});import{randomUUID as ert}from"node:crypto";function Ule(t,e={},r=console.log){let n=e.directory??Tx(),o=e.env??process.env;try{if(t==="status"){let i=k1(n);return r(`Usage analytics: ${im(o)||Yg(o)||i.preference==="off"?"OFF":"ON"} (${im(o)?"environment override":Yg(o)?"automation excluded":i.preference})`),r("Controls: aii telemetry on|off|status; AII_TELEMETRY=off overrides local ON."),r(`Collection release gate: ${e.released??!1?"open":"closed"}; notice: ${i.notice_version===Au?"current":"not delivered"}`),!0}return t!=="on"&&t!=="off"?(r("Usage: aii telemetry on|off|status"),!1):(t==="off"&&U8(),vx(n,()=>{let i=k1(n),s=i.preference!=="off"&&!!i.installation_id&&i.notice_version===Au;t==="on"&&(e.isTTY??(!!process.stdin.isTTY&&!!process.stdout.isTTY))&&!im(o)&&!Yg(o)&&((e.notice??(l=>process.stderr.write(l)))(wx),i.notice_version=Au);let a=i.preference!==t;if(a){if(i.revision===Number.MAX_SAFE_INTEGER)throw new Error("Telemetry revision exhausted");i.revision++}i.preference=t;let c=t==="off"&&a&&s&&!im(o)&&!Yg(o)&&(e.released??!1);if(c&&(i.receipt_attempted_revision=i.revision),kx(n,i),c)try{P8({directory:n,revision:i.revision,receipt:{token:ert()}},e)}catch{}}),r(`Usage analytics: ${t.toUpperCase()}${t==="on"&&im(o)?" (environment OFF remains effective)":""}`),t==="on"&&!(e.released??!1)&&r("Collection release gate is closed; this preference does not activate collection."),!0)}catch{return U8(),r("Telemetry setting could not be saved/read; collection is suppressed for this process. Use AII_TELEMETRY=off to disable before launch."),!1}}var $le=b(()=>{"use strict";Ix();x8();By()});var Hle={};ae(Hle,{LOCAL_ID_SHAPE:()=>tc,SessionRecoveryError:()=>de,ULID_SHAPE:()=>Eu,UUID_SHAPE:()=>il,controlId:()=>rc,safeEndpoint:()=>yu,validateRemoteConversation:()=>up});import{randomBytes as trt}from"node:crypto";function rc(){let t=BigInt(Date.now()),e="";for(let o=0;o<10;o++)e=Gle[Number(t&31n)]+e,t>>=5n;let r=BigInt("0x"+trt(10).toString("hex")),n="";for(let o=0;o<16;o++)n=Gle[Number(r&31n)]+n,r>>=5n;return e+n}function yu(t){if(typeof t!="string")throw new de("context_unavailable","Invalid inference endpoint");let e;try{e=new URL(t)}catch{throw new de("context_unavailable","Invalid inference endpoint")}if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash)throw new de("context_unavailable","Endpoint must be credential-free HTTP(S)");return e.href.replace(/\/$/,"")}function up(t){if(!t||typeof t!="object")throw new de("context_unavailable");let e=t,r=(n,o)=>Object.keys(n).every(i=>o.split(" ").includes(i));if(!r(e,"schema origin installationId workspaceIdentity logicalSessionId deviceId canonicalWorkspace binding inference revision checkpointId exposure lastRuntimeId turn pendingOutcomes syncUnavailable")||e.syncUnavailable!==void 0&&typeof e.syncUnavailable!="boolean")throw new de("invalid_snapshot");if(e.schema!==1)throw new de("unsupported_snapshot");if(!["cli","web-device"].includes(e.origin)||![e.installationId,e.workspaceIdentity,e.logicalSessionId,e.deviceId].every(n=>typeof n=="string"&&il.test(n))||typeof e.canonicalWorkspace!="string"||!e.canonicalWorkspace.startsWith("/")||!Number.isSafeInteger(e.revision)||e.revision<0||!Eu.test(e.checkpointId)||!e.exposure||!Number.isSafeInteger(e.exposure.fromRevision)||e.exposure.fromRevision<0||!e.inference||!["cloud","server"].includes(e.inference.backend)||![e.inference.provider,e.inference.model].every(n=>typeof n=="string"&&n.length>0&&Buffer.byteLength(n)<=256&&!/[\x00-\x1f\x7f]/.test(n)))throw new de("context_unavailable","Invalid saved identity");if(yu(e.inference.endpoint),!r(e.inference,"backend endpoint provider model openrouterProvider reasoningEffort")||!r(e.exposure,"fromRevision")||e.lastRuntimeId!==void 0&&!il.test(e.lastRuntimeId)||e.origin==="cli"&&e.logicalSessionId!==e.deviceId)throw new de("invalid_snapshot");if(e.binding&&(!Eu.test(e.binding.taskId)||!e.binding.accountId||!/^\d+$/.test(e.binding.accountId)||!r(e.binding,"gatewayOrigin accountId taskId chatUrl")||typeof e.binding.gatewayOrigin!="string"||typeof e.binding.chatUrl!="string"))throw new de("binding_mismatch");if(e.binding&&(yu(e.binding.gatewayOrigin),yu(e.binding.chatUrl)),e.turn&&(!Eu.test(e.turn.turnId)||!il.test(e.turn.runtimeId)||!r(e.turn,"turnId runtimeId promptId dispatchId state inferenceStarted executionDirty")||typeof e.turn.executionDirty!="boolean"||typeof e.turn.inferenceStarted!="boolean"||!["prepared","admitted","running","completed","failed","interrupted","unconfirmed"].includes(e.turn.state)))throw new de("context_unavailable","Invalid saved turn");if(!Array.isArray(e.pendingOutcomes)||e.pendingOutcomes.length>128||Buffer.byteLength(JSON.stringify(e.pendingOutcomes))>8*1024*1024||e.pendingOutcomes.some(n=>!n||!Eu.test(n.turn_id)||!il.test(n.producing_runtime_id)||!Number.isSafeInteger(n.seq)||n.seq<1||!["agent_started","agent_complete","agent_error","permission_request","permission_settled"].includes(n.type)||!r(n,"type turn_id producing_runtime_id seq origin prompt_id attempt_id dispatch_id prompt backend model answer reason checkpoint_id request_id tool_name action risk evidence_incomplete path detail settlement_required decision source")||typeof n.answer=="string"&&Buffer.byteLength(n.answer)>1024*1024))throw new de("sync_unavailable");return structuredClone(e)}var il,Eu,tc,Gle,de,wr=b(()=>{"use strict";il=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Eu=/^[0-9A-HJKMNP-TV-Z]{26}$/,tc=/^[A-Za-z0-9_-]{4,64}$/,Gle="0123456789ABCDEFGHJKMNPQRSTVWXYZ";de=class extends Error{reason;constructor(e,r){super(`${e}${r?": "+r:""}`),this.reason=e,this.name="SessionRecoveryError"}}});var jle=b(()=>{});import*as qle from"net";import*as Yle from"http";import{Agent as rrt}from"https";var Su,Rx,zle=b(()=>{jle();Su=Symbol("AgentBaseInternalState"),Rx=class extends Yle.Agent{constructor(e){super(e),this[Su]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
29
+ `),Gt.fsyncSync(n)}finally{Gt.closeSync(n)}Gt.renameSync(r,v1.join(t,"telemetry.json"));let o=Gt.openSync(t,Gt.constants.O_RDONLY|Gt.constants.O_DIRECTORY|Gt.constants.O_NOFOLLOW);try{Gt.fsyncSync(o)}finally{Gt.closeSync(o)}}finally{try{Gt.unlinkSync(r)}catch{}}}var jtt,qtt,Tx,T1,x8=b(()=>{"use strict";jtt=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,qtt=()=>({schema_version:1,preference:"default",revision:0}),Tx=()=>v1.join($tt.homedir(),".aii")});function vle(){return new SharedArrayBuffer(1049616)}function kle(t){let e=new Int32Array(t,0,4);Atomics.store(e,2,1),new Uint8Array(t,1040).fill(0),Atomics.store(e,1,Atomics.load(e,0))}function Dle(t,e){let r=new Int32Array(t,0,4);if(Atomics.load(r,2))return!1;let n=new TextEncoder().encode(JSON.stringify(e)),o=Atomics.load(r,0)>>>0;if(n.length>4096||o-(Atomics.load(r,1)>>>0)>>>0>=256)return!1;let i=o%256;return new Uint8Array(t,1040+i*4096,n.length).set(n),Atomics.store(new Int32Array(t,16,256),i,n.length),Atomics.store(r,0,o+1|0),!0}var Rle=b(()=>{"use strict"});import{randomUUID as Wtt}from"node:crypto";import O8 from"node:os";function B8(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;if(Object.values(e).some(n=>typeof n!="string"))return!1;let r=e.event==="request_completed"?["outcome","duration_bucket","error_category"]:e.event==="setup_failed"?["error_category"]:[];return Object.keys(e).length!==xle.length+r.length||Object.keys(e).some(n=>![...xle,...r].includes(n))||!Nle.test(e.event_id)||!Nle.test(e.installation_id)||!/^(0|[1-9]\d{0,7})\.(0|[1-9]\d{0,7})\.(0|[1-9]\d{0,7})$/.test(e.cli_version)||e.cli_version.length>32||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$/.test(e.occurred_at)||!Number.isFinite(Date.parse(e.occurred_at))||new Date(e.occurred_at).toISOString().replace(/\.\d{3}Z$/,"Z")!==e.occurred_at||!["cli_started","setup_completed","setup_failed","request_completed"].includes(e.event)||!["macos","linux","windows","other"].includes(e.os)||!["arm64","x64","other"].includes(e.arch)||!["interactive","one_shot"].includes(e.mode)||!["cloud","byoc","ollama","unknown"].includes(e.backend)||!["enabled_by_default","enabled_explicitly"].includes(e.preference)||e.notice_version!==Au?!1:e.event==="setup_failed"?["config","auth","network","provider","unknown"].includes(e.error_category):e.event!=="request_completed"?!0:["success","failure","cancelled"].includes(e.outcome)&&["lt1s","1to10s","10to60s","gt60s"].includes(e.duration_bucket)&&Vtt.includes(e.error_category)&&(e.outcome==="failure"?e.error_category!=="none":e.error_category==="none")}function Ole(t,e,r={}){if(Object.keys(r).some(o=>!["outcome","duration_bucket","error_category"].includes(o)))return;let n={event_id:Wtt(),installation_id:t.installationId,occurred_at:new Date().toISOString().replace(/\.\d{3}Z$/,"Z"),event:e,cli_version:t.version,os:{darwin:"macos",linux:"linux",win32:"windows"}[O8.platform()]??"other",arch:["arm64","x64"].includes(O8.arch())?O8.arch():"other",mode:t.mode,backend:t.backend,preference:t.preference,notice_version:Au,...r};return B8(n)?n:void 0}function Ble(t){return t<1e3?"lt1s":t<1e4?"1to10s":t<6e4?"10to60s":"gt60s"}function Mle(t){let e=t;return["AuthError","AuthenticationError"].includes(String(e?.name))?"auth":["ConfigurationError","ConfigError","BootstrapError"].includes(String(e?.name))?"config":["ECONNREFUSED","ECONNRESET","ENOTFOUND","ETIMEDOUT"].includes(String(e?.code))?"network":e?.name==="RateLimitError"?"rate_limit":"unknown"}var Nle,xle,Vtt,Lle=b(()=>{"use strict";Ix();Nle=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,xle=["event_id","installation_id","occurred_at","event","cli_version","os","arch","mode","backend","preference","notice_version"],Vtt=["none","network","auth","config","rate_limit","provider","unknown"]});import{Worker as Ktt}from"node:worker_threads";import Ple from"node:path";import{fileURLToPath as Jtt}from"node:url";import{randomUUID as Xtt}from"node:crypto";function P8(t,e){let r=e.workerPath??Ple.join(Ple.dirname(Jtt(import.meta.url)),"aii-telemetry-worker.mjs"),n=new Ktt(r,{execArgv:[],workerData:{...t,...e.testOrigin?{testOrigin:e.testOrigin}:{}},env:e.env??process.env});return n.on("error",()=>{}),n.unref(),n}function Fle(t,e,r={}){_u??=new M8(t,e,r),_u.emit("cli_started")}function F8(t,e={}){_u?.emit(t,e)}function R1(t){_u?.backend(t)}function Q8(t,e,r){_u?.turn(t,e,r)}function U8(){_u?.stop(),_u=void 0}function L8(t,e,r){if(_u?.collecting)try{_u.turn(e(),t,r)}catch{_u.turn("failure",t)}}function Dx(){let t=performance.now(),e=!1;return(r,n)=>{e||(e=!0,typeof r=="function"?L8(t,r,n):Q8(r,t,n))}}function Qle(t,e){let r=performance.now();return t().then(()=>L8(r,()=>e()),n=>{throw L8(r,()=>e(n)==="cancelled"?"cancelled":"failure",n),n})}var Ztt,M8,_u,By=b(()=>{"use strict";Ix();x8();Rle();Lle();Ztt="0.27.7";M8=class{buffer;worker;context;constructor(e,r,n={}){let o=n.env??process.env;if(!(n.released??!1)||im(o)||Yg(o))return;let i=n.directory??Tx();try{vx(i,()=>{let s=k1(i);if(s.preference!=="off"){if(s.notice_version!==Au){if(!(n.isTTY??(!!process.stdin.isTTY&&!!process.stdout.isTTY)))return;(n.notice??(a=>process.stderr.write(a)))(wx),s.notice_version=Au}s.installation_id??=Xtt(),kx(i,s),this.context={installationId:s.installation_id,version:n.version??Ztt,mode:e,backend:r,preference:s.preference==="on"?"enabled_explicitly":"enabled_by_default"},this.buffer=vle(),this.worker=P8({directory:i,queue:this.buffer,installationId:s.installation_id,revision:s.revision},n),this.worker.once("error",()=>this.stop())}})}catch{this.stop()}}emit(e,r={}){try{if(!this.context||!this.buffer)return;let n=Ole(this.context,e,r);n&&B8(n)&&Dle(this.buffer,n)}catch{}}turn(e,r,n){try{this.emit("request_completed",{outcome:e,duration_bucket:Ble(performance.now()-r),error_category:e==="failure"?Mle(n):"none"})}catch{}}get collecting(){return!!this.context}backend(e){this.context&&(this.context.backend=e)}stop(){this.buffer&&kle(this.buffer),this.context=void 0,this.worker?.terminate().catch(()=>{}),this.worker=void 0}}});import{randomUUID as ert}from"node:crypto";function Ule(t,e={},r=console.log){let n=e.directory??Tx(),o=e.env??process.env;try{if(t==="status"){let i=k1(n);return r(`Usage analytics: ${im(o)||Yg(o)||i.preference==="off"?"OFF":"ON"} (${im(o)?"environment override":Yg(o)?"automation excluded":i.preference})`),r("Controls: aii telemetry on|off|status; AII_TELEMETRY=off overrides local ON."),r(`Collection release gate: ${e.released??!1?"open":"closed"}; notice: ${i.notice_version===Au?"current":"not delivered"}`),!0}return t!=="on"&&t!=="off"?(r("Usage: aii telemetry on|off|status"),!1):(t==="off"&&U8(),vx(n,()=>{let i=k1(n),s=i.preference!=="off"&&!!i.installation_id&&i.notice_version===Au;t==="on"&&(e.isTTY??(!!process.stdin.isTTY&&!!process.stdout.isTTY))&&!im(o)&&!Yg(o)&&((e.notice??(l=>process.stderr.write(l)))(wx),i.notice_version=Au);let a=i.preference!==t;if(a){if(i.revision===Number.MAX_SAFE_INTEGER)throw new Error("Telemetry revision exhausted");i.revision++}i.preference=t;let c=t==="off"&&a&&s&&!im(o)&&!Yg(o)&&(e.released??!1);if(c&&(i.receipt_attempted_revision=i.revision),kx(n,i),c)try{P8({directory:n,revision:i.revision,receipt:{token:ert()}},e)}catch{}}),r(`Usage analytics: ${t.toUpperCase()}${t==="on"&&im(o)?" (environment OFF remains effective)":""}`),t==="on"&&!(e.released??!1)&&r("Collection release gate is closed; this preference does not activate collection."),!0)}catch{return U8(),r("Telemetry setting could not be saved/read; collection is suppressed for this process. Use AII_TELEMETRY=off to disable before launch."),!1}}var $le=b(()=>{"use strict";Ix();x8();By()});var Hle={};ae(Hle,{LOCAL_ID_SHAPE:()=>tc,SessionRecoveryError:()=>de,ULID_SHAPE:()=>Eu,UUID_SHAPE:()=>il,controlId:()=>rc,safeEndpoint:()=>yu,validateRemoteConversation:()=>up});import{randomBytes as trt}from"node:crypto";function rc(){let t=BigInt(Date.now()),e="";for(let o=0;o<10;o++)e=Gle[Number(t&31n)]+e,t>>=5n;let r=BigInt("0x"+trt(10).toString("hex")),n="";for(let o=0;o<16;o++)n=Gle[Number(r&31n)]+n,r>>=5n;return e+n}function yu(t){if(typeof t!="string")throw new de("context_unavailable","Invalid inference endpoint");let e;try{e=new URL(t)}catch{throw new de("context_unavailable","Invalid inference endpoint")}if(!["http:","https:"].includes(e.protocol)||e.username||e.password||e.search||e.hash)throw new de("context_unavailable","Endpoint must be credential-free HTTP(S)");return e.href.replace(/\/$/,"")}function up(t){if(!t||typeof t!="object")throw new de("context_unavailable");let e=t,r=(n,o)=>Object.keys(n).every(i=>o.split(" ").includes(i));if(!r(e,"schema origin installationId workspaceIdentity logicalSessionId deviceId canonicalWorkspace binding inference revision checkpointId exposure lastRuntimeId turn pendingOutcomes syncUnavailable")||e.syncUnavailable!==void 0&&typeof e.syncUnavailable!="boolean")throw new de("invalid_snapshot");if(e.schema!==1)throw new de("unsupported_snapshot");if(!["cli","web-device"].includes(e.origin)||![e.installationId,e.workspaceIdentity,e.logicalSessionId,e.deviceId].every(n=>typeof n=="string"&&il.test(n))||typeof e.canonicalWorkspace!="string"||!e.canonicalWorkspace.startsWith("/")||!Number.isSafeInteger(e.revision)||e.revision<0||!Eu.test(e.checkpointId)||!e.exposure||!Number.isSafeInteger(e.exposure.fromRevision)||e.exposure.fromRevision<0||!e.inference||!["cloud","server"].includes(e.inference.backend)||![e.inference.provider,e.inference.model].every(n=>typeof n=="string"&&n.length>0&&Buffer.byteLength(n)<=256&&!/[\x00-\x1f\x7f]/.test(n)))throw new de("context_unavailable","Invalid saved identity");if(yu(e.inference.endpoint),!r(e.inference,"backend endpoint provider model openrouterProvider reasoningEffort")||!r(e.exposure,"fromRevision")||e.lastRuntimeId!==void 0&&!il.test(e.lastRuntimeId)||e.origin==="cli"&&e.logicalSessionId!==e.deviceId)throw new de("invalid_snapshot");if(e.binding&&(!Eu.test(e.binding.taskId)||!e.binding.accountId||!/^\d+$/.test(e.binding.accountId)||!r(e.binding,"gatewayOrigin accountId taskId chatUrl")||typeof e.binding.gatewayOrigin!="string"||typeof e.binding.chatUrl!="string"))throw new de("binding_mismatch");if(e.binding&&(yu(e.binding.gatewayOrigin),yu(e.binding.chatUrl)),e.turn&&(!Eu.test(e.turn.turnId)||!il.test(e.turn.runtimeId)||!r(e.turn,"turnId runtimeId promptId dispatchId state inferenceStarted executionDirty")||typeof e.turn.executionDirty!="boolean"||typeof e.turn.inferenceStarted!="boolean"||!["prepared","admitted","running","completed","failed","interrupted","unconfirmed"].includes(e.turn.state)))throw new de("context_unavailable","Invalid saved turn");if(!Array.isArray(e.pendingOutcomes)||e.pendingOutcomes.length>128||Buffer.byteLength(JSON.stringify(e.pendingOutcomes))>8*1024*1024||e.pendingOutcomes.some(n=>!n||!Eu.test(n.turn_id)||!il.test(n.producing_runtime_id)||!Number.isSafeInteger(n.seq)||n.seq<1||!["agent_started","agent_complete","agent_error","permission_request","permission_settled"].includes(n.type)||!r(n,"type turn_id producing_runtime_id seq origin prompt_id attempt_id dispatch_id prompt backend model answer reason checkpoint_id request_id tool_name action risk evidence_incomplete path detail settlement_required decision source")||typeof n.answer=="string"&&Buffer.byteLength(n.answer)>1024*1024))throw new de("sync_unavailable");return structuredClone(e)}var il,Eu,tc,Gle,de,wr=b(()=>{"use strict";il=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Eu=/^[0-9A-HJKMNP-TV-Z]{26}$/,tc=/^[A-Za-z0-9_-]{4,64}$/,Gle="0123456789ABCDEFGHJKMNPQRSTVWXYZ";de=class extends Error{reason;constructor(e,r){super(`${e}${r?": "+r:""}`),this.reason=e,this.name="SessionRecoveryError"}}});var jle=b(()=>{});import*as qle from"net";import*as Yle from"http";import{Agent as rrt}from"https";var Su,Rx,zle=b(()=>{jle();Su=Symbol("AgentBaseInternalState"),Rx=class extends Yle.Agent{constructor(e){super(e),this[Su]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
30
30
  `).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new qle.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?rrt.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(o),s=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,o)).then(a=>{if(this.decrementSockets(i,s),typeof a.addRequest=="function")try{return a.addRequest(e,o)}catch(c){return n(c)}this[Su].currentSocket=a,super.createSocket(e,r,n)},a=>{this.decrementSockets(i,s),n(a)})}createConnection(){let e=this[Su].currentSocket;if(this[Su].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Su].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Su]&&(this[Su].defaultPort=e)}get protocol(){return this[Su].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Su]&&(this[Su].protocol=e)}}});var cn=I((Mor,Wle)=>{Wle.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Ht=I((Lor,Eue)=>{"use strict";var Vle=Symbol.for("undici.error.UND_ERR"),ln=class extends Error{constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[Vle]===!0}[Vle]=!0},Kle=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),$8=class extends ln{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[Kle]===!0}[Kle]=!0},Jle=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),G8=class extends ln{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[Jle]===!0}[Jle]=!0},Xle=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),H8=class extends ln{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[Xle]===!0}[Xle]=!0},Zle=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),j8=class extends ln{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[Zle]===!0}[Zle]=!0},eue=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),q8=class extends ln{constructor(e,r,n,o){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=o,this.status=r,this.statusCode=r,this.headers=n}static[Symbol.hasInstance](e){return e&&e[eue]===!0}[eue]=!0},tue=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),Y8=class extends ln{constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[tue]===!0}[tue]=!0},rue=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),z8=class extends ln{constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[rue]===!0}[rue]=!0},nue=Symbol.for("undici.error.UND_ERR_ABORT"),Nx=class extends ln{constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[nue]===!0}[nue]=!0},oue=Symbol.for("undici.error.UND_ERR_ABORTED"),W8=class extends Nx{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[oue]===!0}[oue]=!0},iue=Symbol.for("undici.error.UND_ERR_INFO"),V8=class extends ln{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[iue]===!0}[iue]=!0},sue=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),K8=class extends ln{constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[sue]===!0}[sue]=!0},aue=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),J8=class extends ln{constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[aue]===!0}[aue]=!0},cue=Symbol.for("undici.error.UND_ERR_DESTROYED"),X8=class extends ln{constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[cue]===!0}[cue]=!0},lue=Symbol.for("undici.error.UND_ERR_CLOSED"),Z8=class extends ln{constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[lue]===!0}[lue]=!0},uue=Symbol.for("undici.error.UND_ERR_SOCKET"),e3=class extends ln{constructor(e,r){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=r}static[Symbol.hasInstance](e){return e&&e[uue]===!0}[uue]=!0},due=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),t3=class extends ln{constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[due]===!0}[due]=!0},pue=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),r3=class extends ln{constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[pue]===!0}[pue]=!0},fue=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),n3=class extends Error{constructor(e,r,n){super(e),this.name="HTTPParserError",this.code=r?`HPE_${r}`:void 0,this.data=n?n.toString():void 0}static[Symbol.hasInstance](e){return e&&e[fue]===!0}[fue]=!0},mue=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),o3=class extends ln{constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[mue]===!0}[mue]=!0},hue=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),i3=class extends ln{constructor(e,r,{headers:n,data:o}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=r,this.data=o,this.headers=n}static[Symbol.hasInstance](e){return e&&e[hue]===!0}[hue]=!0},gue=Symbol.for("undici.error.UND_ERR_RESPONSE"),s3=class extends ln{constructor(e,r,{headers:n,data:o}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=r,this.data=o,this.headers=n}static[Symbol.hasInstance](e){return e&&e[gue]===!0}[gue]=!0},Aue=Symbol.for("undici.error.UND_ERR_PRX_TLS"),a3=class extends ln{constructor(e,r,n){super(r,{cause:e,...n??{}}),this.name="SecureProxyConnectionError",this.message=r||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[Aue]===!0}[Aue]=!0},_ue=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),c3=class extends ln{constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[_ue]===!0}get[_ue](){return!0}};Eue.exports={AbortError:Nx,HTTPParserError:n3,UndiciError:ln,HeadersTimeoutError:G8,HeadersOverflowError:H8,BodyTimeoutError:j8,RequestContentLengthMismatchError:K8,ConnectTimeoutError:$8,ResponseStatusCodeError:q8,InvalidArgumentError:Y8,InvalidReturnValueError:z8,RequestAbortedError:W8,ClientDestroyedError:X8,ClientClosedError:Z8,InformationalError:V8,SocketError:e3,NotSupportedError:t3,ResponseContentLengthMismatchError:J8,BalancedPoolMissingUpstreamError:r3,ResponseExceededMaxSizeError:o3,RequestRetryError:i3,ResponseError:s3,SecureProxyConnectionError:a3,MessageSizeExceededError:c3}});var Ox=I((Por,yue)=>{"use strict";var xx={},l3=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let t=0;t<l3.length;++t){let e=l3[t],r=e.toLowerCase();xx[e]=xx[r]=r}Object.setPrototypeOf(xx,null);yue.exports={wellknownHeaderNames:l3,headerNameLowerCasedRecord:xx}});var wue=I((For,bue)=>{"use strict";var{wellknownHeaderNames:Sue,headerNameLowerCasedRecord:nrt}=Ox(),u3=class t{value=null;left=null;middle=null;right=null;code;constructor(e,r,n){if(n===void 0||n>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(n))>127)throw new TypeError("key must be ascii string");e.length!==++n?this.middle=new t(e,r,n):this.value=r}add(e,r){let n=e.length;if(n===0)throw new TypeError("Unreachable");let o=0,i=this;for(;;){let s=e.charCodeAt(o);if(s>127)throw new TypeError("key must be ascii string");if(i.code===s)if(n===++o){i.value=r;break}else if(i.middle!==null)i=i.middle;else{i.middle=new t(e,r,o);break}else if(i.code<s)if(i.left!==null)i=i.left;else{i.left=new t(e,r,o);break}else if(i.right!==null)i=i.right;else{i.right=new t(e,r,o);break}}}search(e){let r=e.length,n=0,o=this;for(;o!==null&&n<r;){let i=e[n];for(i<=90&&i>=65&&(i|=32);o!==null;){if(i===o.code){if(r===++n)return o;o=o.middle;break}o=o.code<i?o.left:o.right}}return null}},Bx=class{node=null;insert(e,r){this.node===null?this.node=new u3(e,r,0):this.node.add(e,r)}lookup(e){return this.node?.search(e)?.value??null}},Cue=new Bx;for(let t=0;t<Sue.length;++t){let e=nrt[Sue[t]];Cue.insert(e,e)}bue.exports={TernarySearchTree:Bx,tree:Cue}});var yt=I((Qor,Uue)=>{"use strict";var N1=V("node:assert"),{kDestroyed:Tue,kBodyUsed:My,kListeners:d3,kBody:Iue}=cn(),{IncomingMessage:ort}=V("node:http"),Px=V("node:stream"),irt=V("node:net"),{Blob:srt}=V("node:buffer"),art=V("node:util"),{stringify:crt}=V("node:querystring"),{EventEmitter:lrt}=V("node:events"),{InvalidArgumentError:Bo}=Ht(),{headerNameLowerCasedRecord:urt}=Ox(),{tree:vue}=wue(),[drt,prt]=process.versions.node.split(".").map(t=>Number(t)),Lx=class{constructor(e){this[Iue]=e,this[My]=!1}async*[Symbol.asyncIterator](){N1(!this[My],"disturbed"),this[My]=!0,yield*this[Iue]}};function frt(t){return Fx(t)?(xue(t)===0&&t.on("data",function(){N1(!1)}),typeof t.readableDidRead!="boolean"&&(t[My]=!1,lrt.prototype.on.call(t,"data",function(){this[My]=!0})),t):t&&typeof t.pipeTo=="function"?new Lx(t):t&&typeof t!="string"&&!ArrayBuffer.isView(t)&&Nue(t)?new Lx(t):t}function mrt(){}function Fx(t){return t&&typeof t=="object"&&typeof t.pipe=="function"&&typeof t.on=="function"}function kue(t){if(t===null)return!1;if(t instanceof srt)return!0;if(typeof t!="object")return!1;{let e=t[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in t&&typeof t.stream=="function"||"arrayBuffer"in t&&typeof t.arrayBuffer=="function")}}function hrt(t,e){if(t.includes("?")||t.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let r=crt(e);return r&&(t+="?"+r),t}function Due(t){let e=parseInt(t,10);return e===Number(t)&&e>=0&&e<=65535}function Mx(t){return t!=null&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&(t[4]===":"||t[4]==="s"&&t[5]===":")}function Rue(t){if(typeof t=="string"){if(t=new URL(t),!Mx(t.origin||t.protocol))throw new Bo("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}if(!t||typeof t!="object")throw new Bo("Invalid URL: The URL argument must be a non-null object.");if(!(t instanceof URL)){if(t.port!=null&&t.port!==""&&Due(t.port)===!1)throw new Bo("Invalid URL: port must be a valid integer or a string representation of an integer.");if(t.path!=null&&typeof t.path!="string")throw new Bo("Invalid URL path: the path must be a string or null/undefined.");if(t.pathname!=null&&typeof t.pathname!="string")throw new Bo("Invalid URL pathname: the pathname must be a string or null/undefined.");if(t.hostname!=null&&typeof t.hostname!="string")throw new Bo("Invalid URL hostname: the hostname must be a string or null/undefined.");if(t.origin!=null&&typeof t.origin!="string")throw new Bo("Invalid URL origin: the origin must be a string or null/undefined.");if(!Mx(t.origin||t.protocol))throw new Bo("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=t.port!=null?t.port:t.protocol==="https:"?443:80,r=t.origin!=null?t.origin:`${t.protocol||""}//${t.hostname||""}:${e}`,n=t.path!=null?t.path:`${t.pathname||""}${t.search||""}`;return r[r.length-1]==="/"&&(r=r.slice(0,r.length-1)),n&&n[0]!=="/"&&(n=`/${n}`),new URL(`${r}${n}`)}if(!Mx(t.origin||t.protocol))throw new Bo("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}function grt(t){if(t=Rue(t),t.pathname!=="/"||t.search||t.hash)throw new Bo("invalid url");return t}function Art(t){if(t[0]==="["){let r=t.indexOf("]");return N1(r!==-1),t.substring(1,r)}let e=t.indexOf(":");return e===-1?t:t.substring(0,e)}function _rt(t){if(!t)return null;N1(typeof t=="string");let e=Art(t);return irt.isIP(e)?"":e}function Ert(t){return JSON.parse(JSON.stringify(t))}function yrt(t){return t!=null&&typeof t[Symbol.asyncIterator]=="function"}function Nue(t){return t!=null&&(typeof t[Symbol.iterator]=="function"||typeof t[Symbol.asyncIterator]=="function")}function xue(t){if(t==null)return 0;if(Fx(t)){let e=t._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(kue(t))return t.size!=null?t.size:null;if(Mue(t))return t.byteLength}return null}function Oue(t){return t&&!!(t.destroyed||t[Tue]||Px.isDestroyed?.(t))}function Srt(t,e){t==null||!Fx(t)||Oue(t)||(typeof t.destroy=="function"?(Object.getPrototypeOf(t).constructor===ort&&(t.socket=null),t.destroy(e)):e&&queueMicrotask(()=>{t.emit("error",e)}),t.destroyed!==!0&&(t[Tue]=!0))}var Crt=/timeout=(\d+)/;function brt(t){let e=t.toString().match(Crt);return e?parseInt(e[1],10)*1e3:null}function Bue(t){return typeof t=="string"?urt[t]??t.toLowerCase():vue.lookup(t)??t.toString("latin1").toLowerCase()}function wrt(t){return vue.lookup(t)??t.toString("latin1").toLowerCase()}function Irt(t,e){e===void 0&&(e={});for(let r=0;r<t.length;r+=2){let n=Bue(t[r]),o=e[n];if(o)typeof o=="string"&&(o=[o],e[n]=o),o.push(t[r+1].toString("utf8"));else{let i=t[r+1];typeof i=="string"?e[n]=i:e[n]=Array.isArray(i)?i.map(s=>s.toString("utf8")):i.toString("utf8")}}return"content-length"in e&&"content-disposition"in e&&(e["content-disposition"]=Buffer.from(e["content-disposition"]).toString("latin1")),e}function Trt(t){let e=t.length,r=new Array(e),n=!1,o=-1,i,s,a=0;for(let c=0;c<t.length;c+=2)i=t[c],s=t[c+1],typeof i!="string"&&(i=i.toString()),typeof s!="string"&&(s=s.toString("utf8")),a=i.length,a===14&&i[7]==="-"&&(i==="content-length"||i.toLowerCase()==="content-length")?n=!0:a===19&&i[7]==="-"&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")&&(o=c+1),r[c]=i,r[c+1]=s;return n&&o!==-1&&(r[o]=Buffer.from(r[o]).toString("latin1")),r}function Mue(t){return t instanceof Uint8Array||Buffer.isBuffer(t)}function vrt(t,e,r){if(!t||typeof t!="object")throw new Bo("handler must be an object");if(typeof t.onConnect!="function")throw new Bo("invalid onConnect method");if(typeof t.onError!="function")throw new Bo("invalid onError method");if(typeof t.onBodySent!="function"&&t.onBodySent!==void 0)throw new Bo("invalid onBodySent method");if(r||e==="CONNECT"){if(typeof t.onUpgrade!="function")throw new Bo("invalid onUpgrade method")}else{if(typeof t.onHeaders!="function")throw new Bo("invalid onHeaders method");if(typeof t.onData!="function")throw new Bo("invalid onData method");if(typeof t.onComplete!="function")throw new Bo("invalid onComplete method")}}function krt(t){return!!(t&&(Px.isDisturbed(t)||t[My]))}function Drt(t){return!!(t&&Px.isErrored(t))}function Rrt(t){return!!(t&&Px.isReadable(t))}function Nrt(t){return{localAddress:t.localAddress,localPort:t.localPort,remoteAddress:t.remoteAddress,remotePort:t.remotePort,remoteFamily:t.remoteFamily,timeout:t.timeout,bytesWritten:t.bytesWritten,bytesRead:t.bytesRead}}function xrt(t){let e;return new ReadableStream({async start(){e=t[Symbol.asyncIterator]()},async pull(r){let{done:n,value:o}=await e.next();if(n)queueMicrotask(()=>{r.close(),r.byobRequest?.respond(0)});else{let i=Buffer.isBuffer(o)?o:Buffer.from(o);i.byteLength&&r.enqueue(new Uint8Array(i))}return r.desiredSize>0},async cancel(r){await e.return()},type:"bytes"})}function Ort(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function Brt(t,e){return"addEventListener"in t?(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)):(t.addListener("abort",e),()=>t.removeListener("abort",e))}var Mrt=typeof String.prototype.toWellFormed=="function",Lrt=typeof String.prototype.isWellFormed=="function";function Lue(t){return Mrt?`${t}`.toWellFormed():art.toUSVString(t)}function Prt(t){return Lrt?`${t}`.isWellFormed():Lue(t)===`${t}`}function Pue(t){switch(t){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return t>=33&&t<=126}}function Frt(t){if(t.length===0)return!1;for(let e=0;e<t.length;++e)if(!Pue(t.charCodeAt(e)))return!1;return!0}var Qrt=/[^\t\x20-\x7e\x80-\xff]/;function Urt(t){return!Qrt.test(t)}function $rt(t){if(t==null||t==="")return{start:0,end:null,size:null};let e=t?t.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function Grt(t,e,r){return(t[d3]??=[]).push([e,r]),t.on(e,r),t}function Hrt(t){for(let[e,r]of t[d3]??[])t.removeListener(e,r);t[d3]=null}function jrt(t,e,r){try{e.onError(r),N1(e.aborted)}catch(n){t.emit("error",n)}}var Fue=Object.create(null);Fue.enumerable=!0;var p3={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},Que={...p3,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(p3,null);Object.setPrototypeOf(Que,null);Uue.exports={kEnumerableProperty:Fue,nop:mrt,isDisturbed:krt,isErrored:Drt,isReadable:Rrt,toUSVString:Lue,isUSVString:Prt,isBlobLike:kue,parseOrigin:grt,parseURL:Rue,getServerName:_rt,isStream:Fx,isIterable:Nue,isAsyncIterable:yrt,isDestroyed:Oue,headerNameToString:Bue,bufferToLowerCasedHeaderName:wrt,addListener:Grt,removeAllListeners:Hrt,errorRequest:jrt,parseRawHeaders:Trt,parseHeaders:Irt,parseKeepAliveTimeout:brt,destroy:Srt,bodyLength:xue,deepClone:Ert,ReadableStreamFrom:xrt,isBuffer:Mue,validateHandler:vrt,getSocketInfo:Nrt,isFormDataLike:Ort,buildURL:hrt,addAbortListener:Brt,isValidHTTPToken:Frt,isValidHeaderValue:Urt,isTokenCharCode:Pue,parseRangeHeader:$rt,normalizedMethodRecordsBase:p3,normalizedMethodRecords:Que,isValidPort:Due,isHttpOrHttpsPrefixed:Mx,nodeMajor:drt,nodeMinor:prt,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"],wrapRequestBody:frt}});var Ly=I((Uor,Gue)=>{"use strict";var tr=V("node:diagnostics_channel"),m3=V("node:util"),Qx=m3.debuglog("undici"),f3=m3.debuglog("fetch"),zg=m3.debuglog("websocket"),$ue=!1,qrt={beforeConnect:tr.channel("undici:client:beforeConnect"),connected:tr.channel("undici:client:connected"),connectError:tr.channel("undici:client:connectError"),sendHeaders:tr.channel("undici:client:sendHeaders"),create:tr.channel("undici:request:create"),bodySent:tr.channel("undici:request:bodySent"),headers:tr.channel("undici:request:headers"),trailers:tr.channel("undici:request:trailers"),error:tr.channel("undici:request:error"),open:tr.channel("undici:websocket:open"),close:tr.channel("undici:websocket:close"),socketError:tr.channel("undici:websocket:socket_error"),ping:tr.channel("undici:websocket:ping"),pong:tr.channel("undici:websocket:pong")};if(Qx.enabled||f3.enabled){let t=f3.enabled?f3:Qx;tr.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i}}=e;t("connecting to %s using %s%s",`${i}${o?`:${o}`:""}`,n,r)}),tr.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i}}=e;t("connected to %s using %s%s",`${i}${o?`:${o}`:""}`,n,r)}),tr.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i},error:s}=e;t("connection to %s using %s%s errored - %s",`${i}${o?`:${o}`:""}`,n,r,s.message)}),tr.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:r,path:n,origin:o}}=e;t("sending request to %s %s/%s",r,o,n)}),tr.channel("undici:request:headers").subscribe(e=>{let{request:{method:r,path:n,origin:o},response:{statusCode:i}}=e;t("received response to %s %s/%s - HTTP %d",r,o,n,i)}),tr.channel("undici:request:trailers").subscribe(e=>{let{request:{method:r,path:n,origin:o}}=e;t("trailers received from %s %s/%s",r,o,n)}),tr.channel("undici:request:error").subscribe(e=>{let{request:{method:r,path:n,origin:o},error:i}=e;t("request to %s %s/%s errored - %s",r,o,n,i.message)}),$ue=!0}if(zg.enabled){if(!$ue){let t=Qx.enabled?Qx:zg;tr.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i}}=e;t("connecting to %s%s using %s%s",i,o?`:${o}`:"",n,r)}),tr.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i}}=e;t("connected to %s%s using %s%s",i,o?`:${o}`:"",n,r)}),tr.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:r,protocol:n,port:o,host:i},error:s}=e;t("connection to %s%s using %s%s errored - %s",i,o?`:${o}`:"",n,r,s.message)}),tr.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:r,path:n,origin:o}}=e;t("sending request to %s %s/%s",r,o,n)})}tr.channel("undici:websocket:open").subscribe(t=>{let{address:{address:e,port:r}}=t;zg("connection opened %s%s",e,r?`:${r}`:"")}),tr.channel("undici:websocket:close").subscribe(t=>{let{websocket:e,code:r,reason:n}=t;zg("closed connection to %s - %s %s",e.url,r,n)}),tr.channel("undici:websocket:socket_error").subscribe(t=>{zg("connection errored - %s",t.message)}),tr.channel("undici:websocket:ping").subscribe(t=>{zg("ping received")}),tr.channel("undici:websocket:pong").subscribe(t=>{zg("pong received")})}Gue.exports={channels:qrt}});var Yue=I(($or,que)=>{"use strict";var{InvalidArgumentError:mr,NotSupportedError:Yrt}=Ht(),dp=V("node:assert"),{isValidHTTPToken:jue,isValidHeaderValue:x1,isStream:zrt,destroy:Wrt,isBuffer:Vrt,isFormDataLike:Krt,isIterable:Jrt,isBlobLike:Xrt,buildURL:Zrt,validateHandler:ent,getServerName:tnt,normalizedMethodRecords:rnt}=yt(),{channels:Cu}=Ly(),{headerNameLowerCasedRecord:Hue}=Ox(),nnt=/[^\u0021-\u00ff]/,nc=Symbol("handler"),h3=class{constructor(e,{path:r,method:n,body:o,headers:i,query:s,idempotent:a,blocking:c,upgrade:l,headersTimeout:u,bodyTimeout:d,reset:p,throwOnError:f,expectContinue:m,servername:h},A){if(typeof r!="string")throw new mr("path must be a string");if(r[0]!=="/"&&!(r.startsWith("http://")||r.startsWith("https://"))&&n!=="CONNECT")throw new mr("path must be an absolute URL or start with a slash");if(nnt.test(r))throw new mr("invalid request path");if(typeof n!="string")throw new mr("method must be a string");if(rnt[n]===void 0&&!jue(n))throw new mr("invalid request method");if(l&&typeof l!="string")throw new mr("upgrade must be a string");if(l&&!x1(l))throw new mr("invalid upgrade header");if(u!=null&&(!Number.isFinite(u)||u<0))throw new mr("invalid headersTimeout");if(d!=null&&(!Number.isFinite(d)||d<0))throw new mr("invalid bodyTimeout");if(p!=null&&typeof p!="boolean")throw new mr("invalid reset");if(m!=null&&typeof m!="boolean")throw new mr("invalid expectContinue");if(this.headersTimeout=u,this.bodyTimeout=d,this.throwOnError=f===!0,this.method=n,this.abort=null,o==null)this.body=null;else if(zrt(o)){this.body=o;let _=this.body._readableState;(!_||!_.autoDestroy)&&(this.endHandler=function(){Wrt(this)},this.body.on("end",this.endHandler)),this.errorHandler=E=>{this.abort?this.abort(E):this.error=E},this.body.on("error",this.errorHandler)}else if(Vrt(o))this.body=o.byteLength?o:null;else if(ArrayBuffer.isView(o))this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null;else if(o instanceof ArrayBuffer)this.body=o.byteLength?Buffer.from(o):null;else if(typeof o=="string")this.body=o.length?Buffer.from(o):null;else if(Krt(o)||Jrt(o)||Xrt(o))this.body=o;else throw new mr("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=l||null,this.path=s?Zrt(r,s):r,this.origin=e,this.idempotent=a??(n==="HEAD"||n==="GET"),this.blocking=c??!1,this.reset=p??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=m??!1,Array.isArray(i)){if(i.length%2!==0)throw new mr("headers array must be even");for(let _=0;_<i.length;_+=2)Ux(this,i[_],i[_+1])}else if(i&&typeof i=="object")if(i[Symbol.iterator])for(let _ of i){if(!Array.isArray(_)||_.length!==2)throw new mr("headers must be in key-value pair format");Ux(this,_[0],_[1])}else{let _=Object.keys(i);for(let E=0;E<_.length;++E)Ux(this,_[E],i[_[E]])}else if(i!=null)throw new mr("headers must be an object or an array");ent(A,n,l),this.servername=h||tnt(this.host),this[nc]=A,Cu.create.hasSubscribers&&Cu.create.publish({request:this})}onBodySent(e){if(this[nc].onBodySent)try{return this[nc].onBodySent(e)}catch(r){this.abort(r)}}onRequestSent(){if(Cu.bodySent.hasSubscribers&&Cu.bodySent.publish({request:this}),this[nc].onRequestSent)try{return this[nc].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(dp(!this.aborted),dp(!this.completed),this.error)e(this.error);else return this.abort=e,this[nc].onConnect(e)}onResponseStarted(){return this[nc].onResponseStarted?.()}onHeaders(e,r,n,o){dp(!this.aborted),dp(!this.completed),Cu.headers.hasSubscribers&&Cu.headers.publish({request:this,response:{statusCode:e,headers:r,statusText:o}});try{return this[nc].onHeaders(e,r,n,o)}catch(i){this.abort(i)}}onData(e){dp(!this.aborted),dp(!this.completed);try{return this[nc].onData(e)}catch(r){return this.abort(r),!1}}onUpgrade(e,r,n){return dp(!this.aborted),dp(!this.completed),this[nc].onUpgrade(e,r,n)}onComplete(e){this.onFinally(),dp(!this.aborted),this.completed=!0,Cu.trailers.hasSubscribers&&Cu.trailers.publish({request:this,trailers:e});try{return this[nc].onComplete(e)}catch(r){this.onError(r)}}onError(e){if(this.onFinally(),Cu.error.hasSubscribers&&Cu.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[nc].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,r){return Ux(this,e,r),this}};function Ux(t,e,r){if(r&&typeof r=="object"&&!Array.isArray(r))throw new mr(`invalid ${e} header`);if(r===void 0)return;let n=Hue[e];if(n===void 0&&(n=e.toLowerCase(),Hue[n]===void 0&&!jue(n)))throw new mr("invalid header key");if(Array.isArray(r)){let o=[];for(let i=0;i<r.length;i++)if(typeof r[i]=="string"){if(!x1(r[i]))throw new mr(`invalid ${e} header`);o.push(r[i])}else if(r[i]===null)o.push("");else{if(typeof r[i]=="object")throw new mr(`invalid ${e} header`);{let s=`${r[i]}`;if(!x1(s))throw new mr(`invalid ${e} header`);o.push(s)}}r=o}else if(typeof r=="string"){if(!x1(r))throw new mr(`invalid ${e} header`)}else if(r===null)r="";else if(r=`${r}`,!x1(r))throw new mr(`invalid ${e} header`);if(n==="host"){if(t.host!==null)throw new mr("duplicate host header");if(typeof r!="string")throw new mr("invalid host header");t.host=r}else if(n==="content-length"){if(t.contentLength!==null)throw new mr("duplicate content-length header");if(t.contentLength=parseInt(r,10),!Number.isFinite(t.contentLength))throw new mr("invalid content-length header")}else if(t.contentType===null&&n==="content-type")t.contentType=r,t.headers.push(e,r);else{if(n==="transfer-encoding"||n==="keep-alive"||n==="upgrade")throw new mr(`invalid ${n} header`);if(n==="connection"){let o=typeof r=="string"?r.toLowerCase():null;if(o!=="close"&&o!=="keep-alive")throw new mr("invalid connection header");o==="close"&&(t.reset=!0)}else{if(n==="expect")throw new Yrt("expect header not supported");t.headers.push(e,r)}}}que.exports=h3});var O1=I((Gor,zue)=>{"use strict";var ont=V("node:events"),$x=class extends ont{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let r=Array.isArray(e[0])?e[0]:e,n=this.dispatch.bind(this);for(let o of r)if(o!=null){if(typeof o!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof o}`);if(n=o(n),n==null||typeof n!="function"||n.length!==2)throw new TypeError("invalid interceptor")}return new g3(this,n)}},g3=class extends $x{#e=null;#t=null;constructor(e,r){super(),this.#e=e,this.#t=r}dispatch(...e){this.#t(...e)}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}};zue.exports=$x});var Uy=I((Hor,Wue)=>{"use strict";var int=O1(),{ClientDestroyedError:A3,ClientClosedError:snt,InvalidArgumentError:Py}=Ht(),{kDestroy:ant,kClose:cnt,kClosed:B1,kDestroyed:Fy,kDispatch:_3,kInterceptors:Wg}=cn(),pp=Symbol("onDestroyed"),Qy=Symbol("onClosed"),Gx=Symbol("Intercepted Dispatch"),E3=Symbol("webSocketOptions"),y3=class extends int{constructor(e){super(),this[Fy]=!1,this[pp]=null,this[B1]=!1,this[Qy]=[],this[E3]=e?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[E3].maxFragments??131072,maxPayloadSize:this[E3].maxPayloadSize??128*1024*1024}}get destroyed(){return this[Fy]}get closed(){return this[B1]}get interceptors(){return this[Wg]}set interceptors(e){if(e){for(let r=e.length-1;r>=0;r--)if(typeof this[Wg][r]!="function")throw new Py("interceptor must be an function")}this[Wg]=e}close(e){if(e===void 0)return new Promise((n,o)=>{this.close((i,s)=>i?o(i):n(s))});if(typeof e!="function")throw new Py("invalid callback");if(this[Fy]){queueMicrotask(()=>e(new A3,null));return}if(this[B1]){this[Qy]?this[Qy].push(e):queueMicrotask(()=>e(null,null));return}this[B1]=!0,this[Qy].push(e);let r=()=>{let n=this[Qy];this[Qy]=null;for(let o=0;o<n.length;o++)n[o](null,null)};this[cnt]().then(()=>this.destroy()).then(()=>{queueMicrotask(r)})}destroy(e,r){if(typeof e=="function"&&(r=e,e=null),r===void 0)return new Promise((o,i)=>{this.destroy(e,(s,a)=>s?i(s):o(a))});if(typeof r!="function")throw new Py("invalid callback");if(this[Fy]){this[pp]?this[pp].push(r):queueMicrotask(()=>r(null,null));return}e||(e=new A3),this[Fy]=!0,this[pp]=this[pp]||[],this[pp].push(r);let n=()=>{let o=this[pp];this[pp]=null;for(let i=0;i<o.length;i++)o[i](null,null)};this[ant](e).then(()=>{queueMicrotask(n)})}[Gx](e,r){if(!this[Wg]||this[Wg].length===0)return this[Gx]=this[_3],this[_3](e,r);let n=this[_3].bind(this);for(let o=this[Wg].length-1;o>=0;o--)n=this[Wg][o](n);return this[Gx]=n,n(e,r)}dispatch(e,r){if(!r||typeof r!="object")throw new Py("handler must be an object");try{if(!e||typeof e!="object")throw new Py("opts must be an object.");if(this[Fy]||this[pp])throw new A3;if(this[B1])throw new snt;return this[Gx](e,r)}catch(n){if(typeof r.onError!="function")throw new Py("invalid onError method");return r.onError(n),!1}}};Wue.exports=y3});var v3=I((jor,Xue)=>{"use strict";var $y=0,S3=1e3,C3=(S3>>1)-1,fp,b3=Symbol("kFastTimer"),mp=[],w3=-2,I3=-1,Kue=0,Vue=1;function T3(){$y+=C3;let t=0,e=mp.length;for(;t<e;){let r=mp[t];r._state===Kue?(r._idleStart=$y-C3,r._state=Vue):r._state===Vue&&$y>=r._idleStart+r._idleTimeout&&(r._state=I3,r._idleStart=-1,r._onTimeout(r._timerArg)),r._state===I3?(r._state=w3,--e!==0&&(mp[t]=mp[e])):++t}mp.length=e,mp.length!==0&&Jue()}function Jue(){fp?fp.refresh():(clearTimeout(fp),fp=setTimeout(T3,C3),fp.unref&&fp.unref())}var Hx=class{[b3]=!0;_state=w3;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,r,n){this._onTimeout=e,this._idleTimeout=r,this._timerArg=n,this.refresh()}refresh(){this._state===w3&&mp.push(this),(!fp||mp.length===1)&&Jue(),this._state=Kue}clear(){this._state=I3,this._idleStart=-1}};Xue.exports={setTimeout(t,e,r){return e<=S3?setTimeout(t,e,r):new Hx(t,e,r)},clearTimeout(t){t[b3]?t.clear():clearTimeout(t)},setFastTimeout(t,e,r){return new Hx(t,e,r)},clearFastTimeout(t){t.clear()},now(){return $y},tick(t=0){$y+=t-S3+1,T3(),T3()},reset(){$y=0,mp.length=0,clearTimeout(fp),fp=null},kFastTimer:b3}});var M1=I((zor,nde)=>{"use strict";var lnt=V("node:net"),Zue=V("node:assert"),rde=yt(),{InvalidArgumentError:unt,ConnectTimeoutError:dnt}=Ht(),jx=v3();function ede(){}var k3,D3;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?D3=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(r=>{if(this._sessionCache.size<this._maxCachedSessions)return;let n=this._sessionCache.get(r);n!==void 0&&n.deref()===void 0&&this._sessionCache.delete(r)})}get(e){let r=this._sessionCache.get(e);return r?r.deref():null}set(e,r){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(r)),this._sessionRegistry.register(r,e))}}:D3=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map}get(e){return this._sessionCache.get(e)}set(e,r){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:n}=this._sessionCache.keys().next();this._sessionCache.delete(n)}this._sessionCache.set(e,r)}}};function pnt({allowH2:t,maxCachedSessions:e,socketPath:r,timeout:n,session:o,...i}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new unt("maxCachedSessions must be a positive integer or zero");let s={path:r,...i},a=new D3(e??100);return n=n??1e4,t=t??!1,function({hostname:l,host:u,protocol:d,port:p,servername:f,localAddress:m,httpSocket:h},A){let _;if(d==="https:"){k3||(k3=V("node:tls")),f=f||s.servername||rde.getServerName(u)||null;let y=f||l;Zue(y);let C=o||a.get(y)||null;p=p||443,_=k3.connect({highWaterMark:16384,...s,servername:f,session:C,localAddress:m,ALPNProtocols:t?["http/1.1","h2"]:["http/1.1"],socket:h,port:p,host:l}),_.on("session",function(S){a.set(y,S)})}else Zue(!h,"httpSocket can only be sent on TLS update"),p=p||80,_=lnt.connect({highWaterMark:64*1024,...s,localAddress:m,port:p,host:l});if(s.keepAlive==null||s.keepAlive){let y=s.keepAliveInitialDelay===void 0?6e4:s.keepAliveInitialDelay;_.setKeepAlive(!0,y)}let E=fnt(new WeakRef(_),{timeout:n,hostname:l,port:p});return _.setNoDelay(!0).once(d==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(E),A){let y=A;A=null,y(null,this)}}).on("error",function(y){if(queueMicrotask(E),A){let C=A;A=null,C(y)}}),_}}var fnt=process.platform==="win32"?(t,e)=>{if(!e.timeout)return ede;let r=null,n=null,o=jx.setFastTimeout(()=>{r=setImmediate(()=>{n=setImmediate(()=>tde(t.deref(),e))})},e.timeout);return()=>{jx.clearFastTimeout(o),clearImmediate(r),clearImmediate(n)}}:(t,e)=>{if(!e.timeout)return ede;let r=null,n=jx.setFastTimeout(()=>{r=setImmediate(()=>{tde(t.deref(),e)})},e.timeout);return()=>{jx.clearFastTimeout(n),clearImmediate(r)}};function tde(t,e){if(t==null)return;let r="Connect Timeout Error";Array.isArray(t.autoSelectFamilyAttemptedAddresses)?r+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(", ")},`:r+=` (attempted address: ${e.hostname}:${e.port},`,r+=` timeout: ${e.timeout}ms)`,rde.destroy(t,new dnt(r))}nde.exports=pnt});var ode=I(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});qx.enumToMap=void 0;function mnt(t){let e={};return Object.keys(t).forEach(r=>{let n=t[r];typeof n=="number"&&(e[r]=n)}),e}qx.enumToMap=mnt});var ide=I(Ee=>{"use strict";Object.defineProperty(Ee,"__esModule",{value:!0});Ee.SPECIAL_HEADERS=Ee.HEADER_STATE=Ee.MINOR=Ee.MAJOR=Ee.CONNECTION_TOKEN_CHARS=Ee.HEADER_CHARS=Ee.TOKEN=Ee.STRICT_TOKEN=Ee.HEX=Ee.URL_CHAR=Ee.STRICT_URL_CHAR=Ee.USERINFO_CHARS=Ee.MARK=Ee.ALPHANUM=Ee.NUM=Ee.HEX_MAP=Ee.NUM_MAP=Ee.ALPHA=Ee.FINISH=Ee.H_METHOD_MAP=Ee.METHOD_MAP=Ee.METHODS_RTSP=Ee.METHODS_ICE=Ee.METHODS_HTTP=Ee.METHODS=Ee.LENIENT_FLAGS=Ee.FLAGS=Ee.TYPE=Ee.ERROR=void 0;var hnt=ode(),gnt;(function(t){t[t.OK=0]="OK",t[t.INTERNAL=1]="INTERNAL",t[t.STRICT=2]="STRICT",t[t.LF_EXPECTED=3]="LF_EXPECTED",t[t.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",t[t.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",t[t.INVALID_METHOD=6]="INVALID_METHOD",t[t.INVALID_URL=7]="INVALID_URL",t[t.INVALID_CONSTANT=8]="INVALID_CONSTANT",t[t.INVALID_VERSION=9]="INVALID_VERSION",t[t.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",t[t.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",t[t.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",t[t.INVALID_STATUS=13]="INVALID_STATUS",t[t.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",t[t.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",t[t.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",t[t.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",t[t.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",t[t.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",t[t.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",t[t.PAUSED=21]="PAUSED",t[t.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",t[t.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",t[t.USER=24]="USER"})(gnt=Ee.ERROR||(Ee.ERROR={}));var Ant;(function(t){t[t.BOTH=0]="BOTH",t[t.REQUEST=1]="REQUEST",t[t.RESPONSE=2]="RESPONSE"})(Ant=Ee.TYPE||(Ee.TYPE={}));var _nt;(function(t){t[t.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",t[t.CHUNKED=8]="CHUNKED",t[t.UPGRADE=16]="UPGRADE",t[t.CONTENT_LENGTH=32]="CONTENT_LENGTH",t[t.SKIPBODY=64]="SKIPBODY",t[t.TRAILING=128]="TRAILING",t[t.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(_nt=Ee.FLAGS||(Ee.FLAGS={}));var Ent;(function(t){t[t.HEADERS=1]="HEADERS",t[t.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",t[t.KEEP_ALIVE=4]="KEEP_ALIVE"})(Ent=Ee.LENIENT_FLAGS||(Ee.LENIENT_FLAGS={}));var je;(function(t){t[t.DELETE=0]="DELETE",t[t.GET=1]="GET",t[t.HEAD=2]="HEAD",t[t.POST=3]="POST",t[t.PUT=4]="PUT",t[t.CONNECT=5]="CONNECT",t[t.OPTIONS=6]="OPTIONS",t[t.TRACE=7]="TRACE",t[t.COPY=8]="COPY",t[t.LOCK=9]="LOCK",t[t.MKCOL=10]="MKCOL",t[t.MOVE=11]="MOVE",t[t.PROPFIND=12]="PROPFIND",t[t.PROPPATCH=13]="PROPPATCH",t[t.SEARCH=14]="SEARCH",t[t.UNLOCK=15]="UNLOCK",t[t.BIND=16]="BIND",t[t.REBIND=17]="REBIND",t[t.UNBIND=18]="UNBIND",t[t.ACL=19]="ACL",t[t.REPORT=20]="REPORT",t[t.MKACTIVITY=21]="MKACTIVITY",t[t.CHECKOUT=22]="CHECKOUT",t[t.MERGE=23]="MERGE",t[t["M-SEARCH"]=24]="M-SEARCH",t[t.NOTIFY=25]="NOTIFY",t[t.SUBSCRIBE=26]="SUBSCRIBE",t[t.UNSUBSCRIBE=27]="UNSUBSCRIBE",t[t.PATCH=28]="PATCH",t[t.PURGE=29]="PURGE",t[t.MKCALENDAR=30]="MKCALENDAR",t[t.LINK=31]="LINK",t[t.UNLINK=32]="UNLINK",t[t.SOURCE=33]="SOURCE",t[t.PRI=34]="PRI",t[t.DESCRIBE=35]="DESCRIBE",t[t.ANNOUNCE=36]="ANNOUNCE",t[t.SETUP=37]="SETUP",t[t.PLAY=38]="PLAY",t[t.PAUSE=39]="PAUSE",t[t.TEARDOWN=40]="TEARDOWN",t[t.GET_PARAMETER=41]="GET_PARAMETER",t[t.SET_PARAMETER=42]="SET_PARAMETER",t[t.REDIRECT=43]="REDIRECT",t[t.RECORD=44]="RECORD",t[t.FLUSH=45]="FLUSH"})(je=Ee.METHODS||(Ee.METHODS={}));Ee.METHODS_HTTP=[je.DELETE,je.GET,je.HEAD,je.POST,je.PUT,je.CONNECT,je.OPTIONS,je.TRACE,je.COPY,je.LOCK,je.MKCOL,je.MOVE,je.PROPFIND,je.PROPPATCH,je.SEARCH,je.UNLOCK,je.BIND,je.REBIND,je.UNBIND,je.ACL,je.REPORT,je.MKACTIVITY,je.CHECKOUT,je.MERGE,je["M-SEARCH"],je.NOTIFY,je.SUBSCRIBE,je.UNSUBSCRIBE,je.PATCH,je.PURGE,je.MKCALENDAR,je.LINK,je.UNLINK,je.PRI,je.SOURCE];Ee.METHODS_ICE=[je.SOURCE];Ee.METHODS_RTSP=[je.OPTIONS,je.DESCRIBE,je.ANNOUNCE,je.SETUP,je.PLAY,je.PAUSE,je.TEARDOWN,je.GET_PARAMETER,je.SET_PARAMETER,je.REDIRECT,je.RECORD,je.FLUSH,je.GET,je.POST];Ee.METHOD_MAP=hnt.enumToMap(je);Ee.H_METHOD_MAP={};Object.keys(Ee.METHOD_MAP).forEach(t=>{/^H/.test(t)&&(Ee.H_METHOD_MAP[t]=Ee.METHOD_MAP[t])});var ynt;(function(t){t[t.SAFE=0]="SAFE",t[t.SAFE_WITH_CB=1]="SAFE_WITH_CB",t[t.UNSAFE=2]="UNSAFE"})(ynt=Ee.FINISH||(Ee.FINISH={}));Ee.ALPHA=[];for(let t=65;t<=90;t++)Ee.ALPHA.push(String.fromCharCode(t)),Ee.ALPHA.push(String.fromCharCode(t+32));Ee.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};Ee.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};Ee.NUM=["0","1","2","3","4","5","6","7","8","9"];Ee.ALPHANUM=Ee.ALPHA.concat(Ee.NUM);Ee.MARK=["-","_",".","!","~","*","'","(",")"];Ee.USERINFO_CHARS=Ee.ALPHANUM.concat(Ee.MARK).concat(["%",";",":","&","=","+","$",","]);Ee.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(Ee.ALPHANUM);Ee.URL_CHAR=Ee.STRICT_URL_CHAR.concat([" ","\f"]);for(let t=128;t<=255;t++)Ee.URL_CHAR.push(t);Ee.HEX=Ee.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);Ee.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(Ee.ALPHANUM);Ee.TOKEN=Ee.STRICT_TOKEN.concat([" "]);Ee.HEADER_CHARS=[" "];for(let t=32;t<=255;t++)t!==127&&Ee.HEADER_CHARS.push(t);Ee.CONNECTION_TOKEN_CHARS=Ee.HEADER_CHARS.filter(t=>t!==44);Ee.MAJOR=Ee.NUM_MAP;Ee.MINOR=Ee.MAJOR;var Gy;(function(t){t[t.GENERAL=0]="GENERAL",t[t.CONNECTION=1]="CONNECTION",t[t.CONTENT_LENGTH=2]="CONTENT_LENGTH",t[t.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",t[t.UPGRADE=4]="UPGRADE",t[t.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",t[t.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(Gy=Ee.HEADER_STATE||(Ee.HEADER_STATE={}));Ee.SPECIAL_HEADERS={connection:Gy.CONNECTION,"content-length":Gy.CONTENT_LENGTH,"proxy-connection":Gy.CONNECTION,"transfer-encoding":Gy.TRANSFER_ENCODING,upgrade:Gy.UPGRADE}});var R3=I((Kor,sde)=>{"use strict";var{Buffer:Snt}=V("node:buffer");sde.exports=Snt.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var cde=I((Jor,ade)=>{"use strict";var{Buffer:Cnt}=V("node:buffer");ade.exports=Cnt.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var L1=I((Xor,gde)=>{"use strict";var lde=["GET","HEAD","POST"],bnt=new Set(lde),wnt=[101,204,205,304],ude=[301,302,303,307,308],Int=new Set(ude),dde=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],Tnt=new Set(dde),pde=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],vnt=new Set(pde),knt=["follow","manual","error"],fde=["GET","HEAD","OPTIONS","TRACE"],Dnt=new Set(fde),Rnt=["navigate","same-origin","no-cors","cors"],Nnt=["omit","same-origin","include"],xnt=["default","no-store","reload","no-cache","force-cache","only-if-cached"],Ont=["content-encoding","content-language","content-location","content-type","content-length"],Bnt=["half"],mde=["CONNECT","TRACE","TRACK"],Mnt=new Set(mde),hde=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],Lnt=new Set(hde);gde.exports={subresource:hde,forbiddenMethods:mde,requestBodyHeader:Ont,referrerPolicy:pde,requestRedirect:knt,requestMode:Rnt,requestCredentials:Nnt,requestCache:xnt,redirectStatus:ude,corsSafeListedMethods:lde,nullBodyStatus:wnt,safeMethods:fde,badPorts:dde,requestDuplex:Bnt,subresourceSet:Lnt,badPortsSet:Tnt,redirectStatusSet:Int,corsSafeListedMethodsSet:bnt,safeMethodsSet:Dnt,forbiddenMethodsSet:Mnt,referrerPolicySet:vnt}});var x3=I((Zor,Ade)=>{"use strict";var N3=Symbol.for("undici.globalOrigin.1");function Pnt(){return globalThis[N3]}function Fnt(t){if(t===void 0){Object.defineProperty(globalThis,N3,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(t);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,N3,{value:e,writable:!0,enumerable:!1,configurable:!1})}Ade.exports={getGlobalOrigin:Pnt,setGlobalOrigin:Fnt}});var ws=I((eir,wde)=>{"use strict";var zx=V("node:assert"),Qnt=new TextEncoder,P1=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,Unt=/[\u000A\u000D\u0009\u0020]/,$nt=/[\u0009\u000A\u000C\u000D\u0020]/g,Gnt=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Hnt(t){zx(t.protocol==="data:");let e=yde(t,!0);e=e.slice(5);let r={position:0},n=Hy(",",e,r),o=n.length;if(n=Vnt(n,!0,!0),r.position>=e.length)return"failure";r.position++;let i=e.slice(o+1),s=Sde(i);if(/;(\u0020){0,}base64$/i.test(n)){let c=bde(s);if(s=qnt(c),s==="failure")return"failure";n=n.slice(0,-6),n=n.replace(/(\u0020)+$/,""),n=n.slice(0,-1)}n.startsWith(";")&&(n="text/plain"+n);let a=O3(n);return a==="failure"&&(a=O3("text/plain;charset=US-ASCII")),{mimeType:a,body:s}}function yde(t,e=!1){if(!e)return t.href;let r=t.href,n=t.hash.length,o=n===0?r:r.substring(0,r.length-n);return!n&&r.endsWith("#")?o.slice(0,-1):o}function Wx(t,e,r){let n="";for(;r.position<e.length&&t(e[r.position]);)n+=e[r.position],r.position++;return n}function Hy(t,e,r){let n=e.indexOf(t,r.position),o=r.position;return n===-1?(r.position=e.length,e.slice(o)):(r.position=n,e.slice(o,r.position))}function Sde(t){let e=Qnt.encode(t);return jnt(e)}function _de(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Ede(t){return t>=48&&t<=57?t-48:(t&223)-55}function jnt(t){let e=t.length,r=new Uint8Array(e),n=0;for(let o=0;o<e;++o){let i=t[o];i!==37?r[n++]=i:i===37&&!(_de(t[o+1])&&_de(t[o+2]))?r[n++]=37:(r[n++]=Ede(t[o+1])<<4|Ede(t[o+2]),o+=2)}return e===n?r:r.subarray(0,n)}function O3(t){t=Yx(t,!0,!0);let e={position:0},r=Hy("/",t,e);if(r.length===0||!P1.test(r)||e.position>t.length)return"failure";e.position++;let n=Hy(";",t,e);if(n=Yx(n,!1,!0),n.length===0||!P1.test(n))return"failure";let o=r.toLowerCase(),i=n.toLowerCase(),s={type:o,subtype:i,parameters:new Map,essence:`${o}/${i}`};for(;e.position<t.length;){e.position++,Wx(l=>Unt.test(l),t,e);let a=Wx(l=>l!==";"&&l!=="=",t,e);if(a=a.toLowerCase(),e.position<t.length){if(t[e.position]===";")continue;e.position++}if(e.position>t.length)break;let c=null;if(t[e.position]==='"')c=Cde(t,e,!0),Hy(";",t,e);else if(c=Hy(";",t,e),c=Yx(c,!1,!0),c.length===0)continue;a.length!==0&&P1.test(a)&&(c.length===0||Gnt.test(c))&&!s.parameters.has(a)&&s.parameters.set(a,c)}return s}function qnt(t){t=t.replace($nt,"");let e=t.length;if(e%4===0&&t.charCodeAt(e-1)===61&&(--e,t.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(t.length===e?t:t.substring(0,e)))return"failure";let r=Buffer.from(t,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Cde(t,e,r){let n=e.position,o="";for(zx(t[e.position]==='"'),e.position++;o+=Wx(s=>s!=='"'&&s!=="\\",t,e),!(e.position>=t.length);){let i=t[e.position];if(e.position++,i==="\\"){if(e.position>=t.length){o+="\\";break}o+=t[e.position],e.position++}else{zx(i==='"');break}}return r?o:t.slice(n,e.position)}function Ynt(t){zx(t!=="failure");let{parameters:e,essence:r}=t,n=r;for(let[o,i]of e.entries())n+=";",n+=o,n+="=",P1.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),n+=i;return n}function znt(t){return t===13||t===10||t===9||t===32}function Yx(t,e=!0,r=!0){return B3(t,e,r,znt)}function Wnt(t){return t===13||t===10||t===9||t===12||t===32}function Vnt(t,e=!0,r=!0){return B3(t,e,r,Wnt)}function B3(t,e,r,n){let o=0,i=t.length-1;if(e)for(;o<t.length&&n(t.charCodeAt(o));)o++;if(r)for(;i>0&&n(t.charCodeAt(i));)i--;return o===0&&i===t.length-1?t:t.slice(o,i+1)}function bde(t){let e=t.length;if(65535>e)return String.fromCharCode.apply(null,t);let r="",n=0,o=65535;for(;n<e;)n+o>e&&(o=e-n),r+=String.fromCharCode.apply(null,t.subarray(n,n+=o));return r}function Knt(t){switch(t.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return t.subtype.endsWith("+json")?"application/json":t.subtype.endsWith("+xml")?"application/xml":""}wde.exports={dataURLProcessor:Hnt,URLSerializer:yde,collectASequenceOfCodePoints:Wx,collectASequenceOfCodePointsFast:Hy,stringPercentDecode:Sde,parseMIMEType:O3,collectAnHTTPQuotedString:Cde,serializeAMimeType:Ynt,removeChars:B3,removeHTTPWhitespace:Yx,minimizeSupportedMimeType:Knt,HTTP_TOKEN_CODEPOINTS:P1,isomorphicDecode:bde}});var Jo=I((tir,Ide)=>{"use strict";var{types:bu,inspect:Jnt}=V("node:util"),{markAsUncloneable:Xnt}=V("node:worker_threads"),{toUSVString:Znt}=yt(),me={};me.converters={};me.util={};me.errors={};me.errors.exception=function(t){return new TypeError(`${t.header}: ${t.message}`)};me.errors.conversionFailed=function(t){let e=t.types.length===1?"":" one of",r=`${t.argument} could not be converted to${e}: ${t.types.join(", ")}.`;return me.errors.exception({header:t.prefix,message:r})};me.errors.invalidArgument=function(t){return me.errors.exception({header:t.prefix,message:`"${t.value}" is an invalid ${t.type}.`})};me.brandCheck=function(t,e,r){if(r?.strict!==!1){if(!(t instanceof e)){let n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}}else if(t?.[Symbol.toStringTag]!==e.prototype[Symbol.toStringTag]){let n=new TypeError("Illegal invocation");throw n.code="ERR_INVALID_THIS",n}};me.argumentLengthCheck=function({length:t},e,r){if(t<e)throw me.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${t?" only":""} ${t} found.`,header:r})};me.illegalConstructor=function(){throw me.errors.exception({header:"TypeError",message:"Illegal constructor"})};me.util.Type=function(t){switch(typeof t){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return t===null?"Null":"Object"}};me.util.markAsUncloneable=Xnt||(()=>{});me.util.ConvertToInt=function(t,e,r,n){let o,i;e===64?(o=Math.pow(2,53)-1,r==="unsigned"?i=0:i=Math.pow(-2,53)+1):r==="unsigned"?(i=0,o=Math.pow(2,e)-1):(i=Math.pow(-2,e)-1,o=Math.pow(2,e-1)-1);let s=Number(t);if(s===0&&(s=0),n?.enforceRange===!0){if(Number.isNaN(s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)throw me.errors.exception({header:"Integer conversion",message:`Could not convert ${me.util.Stringify(t)} to an integer.`});if(s=me.util.IntegerPart(s),s<i||s>o)throw me.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${o}, got ${s}.`});return s}return!Number.isNaN(s)&&n?.clamp===!0?(s=Math.min(Math.max(s,i),o),Math.floor(s)%2===0?s=Math.floor(s):s=Math.ceil(s),s):Number.isNaN(s)||s===0&&Object.is(0,s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY?0:(s=me.util.IntegerPart(s),s=s%Math.pow(2,e),r==="signed"&&s>=Math.pow(2,e)-1?s-Math.pow(2,e):s)};me.util.IntegerPart=function(t){let e=Math.floor(Math.abs(t));return t<0?-1*e:e};me.util.Stringify=function(t){switch(me.util.Type(t)){case"Symbol":return`Symbol(${t.description})`;case"Object":return Jnt(t);case"String":return`"${t}"`;default:return`${t}`}};me.sequenceConverter=function(t){return(e,r,n,o)=>{if(me.util.Type(e)!=="Object")throw me.errors.exception({header:r,message:`${n} (${me.util.Stringify(e)}) is not iterable.`});let i=typeof o=="function"?o():e?.[Symbol.iterator]?.(),s=[],a=0;if(i===void 0||typeof i.next!="function")throw me.errors.exception({header:r,message:`${n} is not iterable.`});for(;;){let{done:c,value:l}=i.next();if(c)break;s.push(t(l,r,`${n}[${a++}]`))}return s}};me.recordConverter=function(t,e){return(r,n,o)=>{if(me.util.Type(r)!=="Object")throw me.errors.exception({header:n,message:`${o} ("${me.util.Type(r)}") is not an Object.`});let i={};if(!bu.isProxy(r)){let a=[...Object.getOwnPropertyNames(r),...Object.getOwnPropertySymbols(r)];for(let c of a){let l=t(c,n,o),u=e(r[c],n,o);i[l]=u}return i}let s=Reflect.ownKeys(r);for(let a of s)if(Reflect.getOwnPropertyDescriptor(r,a)?.enumerable){let l=t(a,n,o),u=e(r[a],n,o);i[l]=u}return i}};me.interfaceConverter=function(t){return(e,r,n,o)=>{if(o?.strict!==!1&&!(e instanceof t))throw me.errors.exception({header:r,message:`Expected ${n} ("${me.util.Stringify(e)}") to be an instance of ${t.name}.`});return e}};me.dictionaryConverter=function(t){return(e,r,n)=>{let o=me.util.Type(e),i={};if(o==="Null"||o==="Undefined")return i;if(o!=="Object")throw me.errors.exception({header:r,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let s of t){let{key:a,defaultValue:c,required:l,converter:u}=s;if(l===!0&&!Object.hasOwn(e,a))throw me.errors.exception({header:r,message:`Missing required key "${a}".`});let d=e[a],p=Object.hasOwn(s,"defaultValue");if(p&&d!==null&&(d??=c()),l||p||d!==void 0){if(d=u(d,r,`${n}.${a}`),s.allowedValues&&!s.allowedValues.includes(d))throw me.errors.exception({header:r,message:`${d} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`});i[a]=d}}return i}};me.nullableConverter=function(t){return(e,r,n)=>e===null?e:t(e,r,n)};me.converters.DOMString=function(t,e,r,n){if(t===null&&n?.legacyNullToEmptyString)return"";if(typeof t=="symbol")throw me.errors.exception({header:e,message:`${r} is a symbol, which cannot be converted to a DOMString.`});return String(t)};me.converters.ByteString=function(t,e,r){let n=me.converters.DOMString(t,e,r);for(let o=0;o<n.length;o++)if(n.charCodeAt(o)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${o} has a value of ${n.charCodeAt(o)} which is greater than 255.`);return n};me.converters.USVString=Znt;me.converters.boolean=function(t){return!!t};me.converters.any=function(t){return t};me.converters["long long"]=function(t,e,r){return me.util.ConvertToInt(t,64,"signed",void 0,e,r)};me.converters["unsigned long long"]=function(t,e,r){return me.util.ConvertToInt(t,64,"unsigned",void 0,e,r)};me.converters["unsigned long"]=function(t,e,r){return me.util.ConvertToInt(t,32,"unsigned",void 0,e,r)};me.converters["unsigned short"]=function(t,e,r,n){return me.util.ConvertToInt(t,16,"unsigned",n,e,r)};me.converters.ArrayBuffer=function(t,e,r,n){if(me.util.Type(t)!=="Object"||!bu.isAnyArrayBuffer(t))throw me.errors.conversionFailed({prefix:e,argument:`${r} ("${me.util.Stringify(t)}")`,types:["ArrayBuffer"]});if(n?.allowShared===!1&&bu.isSharedArrayBuffer(t))throw me.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.resizable||t.growable)throw me.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};me.converters.TypedArray=function(t,e,r,n,o){if(me.util.Type(t)!=="Object"||!bu.isTypedArray(t)||t.constructor.name!==e.name)throw me.errors.conversionFailed({prefix:r,argument:`${n} ("${me.util.Stringify(t)}")`,types:[e.name]});if(o?.allowShared===!1&&bu.isSharedArrayBuffer(t.buffer))throw me.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw me.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};me.converters.DataView=function(t,e,r,n){if(me.util.Type(t)!=="Object"||!bu.isDataView(t))throw me.errors.exception({header:e,message:`${r} is not a DataView.`});if(n?.allowShared===!1&&bu.isSharedArrayBuffer(t.buffer))throw me.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw me.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};me.converters.BufferSource=function(t,e,r,n){if(bu.isAnyArrayBuffer(t))return me.converters.ArrayBuffer(t,e,r,{...n,allowShared:!1});if(bu.isTypedArray(t))return me.converters.TypedArray(t,t.constructor,e,r,{...n,allowShared:!1});if(bu.isDataView(t))return me.converters.DataView(t,e,r,{...n,allowShared:!1});throw me.errors.conversionFailed({prefix:e,argument:`${r} ("${me.util.Stringify(t)}")`,types:["BufferSource"]})};me.converters["sequence<ByteString>"]=me.sequenceConverter(me.converters.ByteString);me.converters["sequence<sequence<ByteString>>"]=me.sequenceConverter(me.converters["sequence<ByteString>"]);me.converters["record<ByteString, ByteString>"]=me.recordConverter(me.converters.ByteString,me.converters.ByteString);Ide.exports={webidl:me}});var da=I((rir,Qde)=>{"use strict";var{Transform:eot}=V("node:stream"),Tde=V("node:zlib"),{redirectStatusSet:tot,referrerPolicySet:rot,badPortsSet:not}=L1(),{getGlobalOrigin:vde}=x3(),{collectASequenceOfCodePoints:Vg,collectAnHTTPQuotedString:oot,removeChars:iot,parseMIMEType:sot}=ws(),{performance:aot}=V("node:perf_hooks"),{isBlobLike:cot,ReadableStreamFrom:lot,isValidHTTPToken:kde,normalizedMethodRecordsBase:uot}=yt(),Kg=V("node:assert"),{isUint8Array:dot}=V("node:util/types"),{webidl:F1}=Jo(),Dde=[],Kx;try{Kx=V("node:crypto");let t=["sha256","sha384","sha512"];Dde=Kx.getHashes().filter(e=>t.includes(e))}catch{}function Rde(t){let e=t.urlList,r=e.length;return r===0?null:e[r-1].toString()}function pot(t,e){if(!tot.has(t.status))return null;let r=t.headersList.get("location",!0);return r!==null&&xde(r)&&(Nde(r)||(r=fot(r)),r=new URL(r,Rde(t))),r&&!r.hash&&(r.hash=e),r}function Nde(t){for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r>126||r<32)return!1}return!0}function fot(t){return Buffer.from(t,"binary").toString("utf8")}function U1(t){return t.urlList[t.urlList.length-1]}function mot(t){let e=U1(t);return Pde(e)&&not.has(e.port)?"blocked":"allowed"}function hot(t){return t instanceof Error||t?.constructor?.name==="Error"||t?.constructor?.name==="DOMException"}function got(t){for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(!(r===9||r>=32&&r<=126||r>=128&&r<=255))return!1}return!0}var Aot=kde;function xde(t){return(t[0]===" "||t[0]===" "||t[t.length-1]===" "||t[t.length-1]===" "||t.includes(`
31
31
  `)||t.includes("\r")||t.includes("\0"))===!1}function _ot(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),o="";if(n.length>0)for(let i=n.length;i!==0;i--){let s=n[i-1].trim();if(rot.has(s)){o=s;break}}o!==""&&(t.referrerPolicy=o)}function Eot(){return"allowed"}function yot(){return"success"}function Sot(){return"success"}function Cot(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function bot(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&L3(t.origin)&&!L3(U1(t))&&(e=null);break;case"same-origin":Jx(t,U1(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function jy(t,e){return t}function wot(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:jy(t.domainLookupStartTime,r),domainLookupEndTime:jy(t.domainLookupEndTime,r),connectionStartTime:jy(t.connectionStartTime,r),connectionEndTime:jy(t.connectionEndTime,r),secureConnectionStartTime:jy(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}function Iot(t){return jy(aot.now(),t)}function Tot(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function Ode(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function vot(t){return{referrerPolicy:t.referrerPolicy}}function kot(t){let e=t.referrerPolicy;Kg(e);let r=null;if(t.referrer==="client"){let a=vde();if(!a||a.origin==="null")return"no-referrer";r=new URL(a)}else t.referrer instanceof URL&&(r=t.referrer);let n=M3(r),o=M3(r,!0);n.toString().length>4096&&(n=o);let i=Jx(t,n),s=Q1(n)&&!Q1(t.url);switch(e){case"origin":return o??M3(r,!0);case"unsafe-url":return n;case"same-origin":return i?o:"no-referrer";case"origin-when-cross-origin":return i?n:o;case"strict-origin-when-cross-origin":{let a=U1(t);return Jx(n,a)?n:Q1(n)&&!Q1(a)?"no-referrer":o}case"strict-origin":case"no-referrer-when-downgrade":default:return s?"no-referrer":o}}function M3(t,e){return Kg(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function Q1(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}function Dot(t,e){if(Kx===void 0)return!0;let r=Bde(e);if(r==="no metadata"||r.length===0)return!0;let n=Not(r),o=xot(r,n);for(let i of o){let s=i.algo,a=i.hash,c=Kx.createHash(s).update(t).digest("base64");if(c[c.length-1]==="="&&(c[c.length-2]==="="?c=c.slice(0,-2):c=c.slice(0,-1)),Oot(c,a))return!0}return!1}var Rot=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function Bde(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let o=Rot.exec(n);if(o===null||o.groups===void 0||o.groups.algo===void 0)continue;let i=o.groups.algo.toLowerCase();Dde.includes(i)&&e.push(o.groups)}return r===!0?"no metadata":e}function Not(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}function xot(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}function Oot(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}function Bot(t){}function Jx(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function Mot(){let t,e;return{promise:new Promise((n,o)=>{t=n,e=o}),resolve:t,reject:e}}function Lot(t){return t.controller.state==="aborted"}function Pot(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function Fot(t){return uot[t.toLowerCase()]??t}function Qot(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Kg(typeof e=="string"),e}var Uot=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function Mde(t,e,r=0,n=1){class o{#e;#t;#r;constructor(s,a){this.#e=s,this.#t=a,this.#r=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`);let s=this.#r,a=this.#e[e],c=a.length;if(s>=c)return{value:void 0,done:!0};let{[r]:l,[n]:u}=a[s];this.#r=s+1;let d;switch(this.#t){case"key":d=l;break;case"value":d=u;break;case"key+value":d=[l,u];break}return{value:d,done:!1}}}return delete o.prototype.constructor,Object.setPrototypeOf(o.prototype,Uot),Object.defineProperties(o.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${t} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(i,s){return new o(i,s)}}function $ot(t,e,r,n=0,o=1){let i=Mde(t,r,n,o),s={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return F1.brandCheck(this,e),i(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return F1.brandCheck(this,e),i(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return F1.brandCheck(this,e),i(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,l=globalThis){if(F1.brandCheck(this,e),F1.argumentLengthCheck(arguments,1,`${t}.forEach`),typeof c!="function")throw new TypeError(`Failed to execute 'forEach' on '${t}': parameter 1 is not of type 'Function'.`);for(let{0:u,1:d}of i(this,"key+value"))c.call(l,d,u,this)}}};return Object.defineProperties(e.prototype,{...s,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:s.entries.value}})}async function Got(t,e,r){let n=e,o=r,i;try{i=t.stream.getReader()}catch(s){o(s);return}try{n(await Lde(i))}catch(s){o(s)}}function Hot(t){return t instanceof ReadableStream||t[Symbol.toStringTag]==="ReadableStream"&&typeof t.tee=="function"}function jot(t){try{t.close(),t.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}var qot=/[^\x00-\xFF]/;function Vx(t){return Kg(!qot.test(t)),t}async function Lde(t){let e=[],r=0;for(;;){let{done:n,value:o}=await t.read();if(n)return Buffer.concat(e,r);if(!dot(o))throw new TypeError("Received non-Uint8Array chunk");e.push(o),r+=o.length}}function Yot(t){Kg("protocol"in t);let e=t.protocol;return e==="about:"||e==="blob:"||e==="data:"}function L3(t){return typeof t=="string"&&t[5]===":"&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&t[4]==="s"||t.protocol==="https:"}function Pde(t){Kg("protocol"in t);let e=t.protocol;return e==="http:"||e==="https:"}function zot(t,e){let r=t;if(!r.startsWith("bytes"))return"failure";let n={position:5};if(e&&Vg(c=>c===" "||c===" ",r,n),r.charCodeAt(n.position)!==61)return"failure";n.position++,e&&Vg(c=>c===" "||c===" ",r,n);let o=Vg(c=>{let l=c.charCodeAt(0);return l>=48&&l<=57},r,n),i=o.length?Number(o):null;if(e&&Vg(c=>c===" "||c===" ",r,n),r.charCodeAt(n.position)!==45)return"failure";n.position++,e&&Vg(c=>c===" "||c===" ",r,n);let s=Vg(c=>{let l=c.charCodeAt(0);return l>=48&&l<=57},r,n),a=s.length?Number(s):null;return n.position<r.length||a===null&&i===null||i>a?"failure":{rangeStartValue:i,rangeEndValue:a}}function Wot(t,e,r){let n="bytes ";return n+=Vx(`${t}`),n+="-",n+=Vx(`${e}`),n+="/",n+=Vx(`${r}`),n}var P3=class extends eot{#e;constructor(e){super(),this.#e=e}_transform(e,r,n){if(!this._inflateStream){if(e.length===0){n();return}this._inflateStream=(e[0]&15)===8?Tde.createInflate(this.#e):Tde.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",o=>this.destroy(o))}this._inflateStream.write(e,r,n)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function Vot(t){return new P3(t)}function Kot(t){let e=null,r=null,n=null,o=Fde("content-type",t);if(o===null)return"failure";for(let i of o){let s=sot(i);s==="failure"||s.essence==="*/*"||(n=s,n.essence!==r?(e=null,n.parameters.has("charset")&&(e=n.parameters.get("charset")),r=n.essence):!n.parameters.has("charset")&&e!==null&&n.parameters.set("charset",e))}return n??"failure"}function Jot(t){let e=t,r={position:0},n=[],o="";for(;r.position<e.length;){if(o+=Vg(i=>i!=='"'&&i!==",",e,r),r.position<e.length)if(e.charCodeAt(r.position)===34){if(o+=oot(e,r),r.position<e.length)continue}else Kg(e.charCodeAt(r.position)===44),r.position++;o=iot(o,!0,!0,i=>i===9||i===32),n.push(o),o=""}return n}function Fde(t,e){let r=e.get(t,!0);return r===null?null:Jot(r)}var Xot=new TextDecoder;function Zot(t){return t.length===0?"":(t[0]===239&&t[1]===187&&t[2]===191&&(t=t.subarray(3)),Xot.decode(t))}var F3=class{get baseUrl(){return vde()}get origin(){return this.baseUrl?.origin}policyContainer=Ode()},Q3=class{settingsObject=new F3},eit=new Q3;Qde.exports={isAborted:Lot,isCancelled:Pot,isValidEncodedURL:Nde,createDeferredPromise:Mot,ReadableStreamFrom:lot,tryUpgradeRequestToAPotentiallyTrustworthyURL:Bot,clampAndCoarsenConnectionTimingInfo:wot,coarsenedSharedCurrentTime:Iot,determineRequestsReferrer:kot,makePolicyContainer:Ode,clonePolicyContainer:vot,appendFetchMetadata:Cot,appendRequestOriginHeader:bot,TAOCheck:Sot,corsCheck:yot,crossOriginResourcePolicyCheck:Eot,createOpaqueTimingInfo:Tot,setRequestReferrerPolicyOnRedirect:_ot,isValidHTTPToken:kde,requestBadPort:mot,requestCurrentURL:U1,responseURL:Rde,responseLocationURL:pot,isBlobLike:cot,isURLPotentiallyTrustworthy:Q1,isValidReasonPhrase:got,sameOrigin:Jx,normalizeMethod:Fot,serializeJavascriptValueToJSONString:Qot,iteratorMixin:$ot,createIterator:Mde,isValidHeaderName:Aot,isValidHeaderValue:xde,isErrorLike:hot,fullyReadBody:Got,bytesMatch:Dot,isReadableStreamLike:Hot,readableStreamClose:jot,isomorphicEncode:Vx,urlIsLocal:Yot,urlHasHttpsScheme:L3,urlIsHttpHttpsScheme:Pde,readAllBytes:Lde,simpleRangeHeaderValue:zot,buildContentRange:Wot,parseMetadata:Bde,createInflate:Vot,extractMimeType:Kot,getDecodeSplit:Fde,utf8DecodeBytes:Zot,environmentSettingsObject:eit}});var sm=I((nir,Ude)=>{"use strict";Ude.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var $3=I((oir,$de)=>{"use strict";var{Blob:tit,File:rit}=V("node:buffer"),{kState:hp}=sm(),{webidl:wu}=Jo(),U3=class t{constructor(e,r,n={}){let o=r,i=n.type,s=n.lastModified??Date.now();this[hp]={blobLike:e,name:o,type:i,lastModified:s}}stream(...e){return wu.brandCheck(this,t),this[hp].blobLike.stream(...e)}arrayBuffer(...e){return wu.brandCheck(this,t),this[hp].blobLike.arrayBuffer(...e)}slice(...e){return wu.brandCheck(this,t),this[hp].blobLike.slice(...e)}text(...e){return wu.brandCheck(this,t),this[hp].blobLike.text(...e)}get size(){return wu.brandCheck(this,t),this[hp].blobLike.size}get type(){return wu.brandCheck(this,t),this[hp].blobLike.type}get name(){return wu.brandCheck(this,t),this[hp].name}get lastModified(){return wu.brandCheck(this,t),this[hp].lastModified}get[Symbol.toStringTag](){return"File"}};wu.converters.Blob=wu.interfaceConverter(tit);function nit(t){return t instanceof rit||t&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&t[Symbol.toStringTag]==="File"}$de.exports={FileLike:U3,isFileLike:nit}});var G1=I((iir,Yde)=>{"use strict";var{isBlobLike:Xx,iteratorMixin:oit}=da(),{kState:ns}=sm(),{kEnumerableProperty:qy}=yt(),{FileLike:Gde,isFileLike:iit}=$3(),{webidl:Fr}=Jo(),{File:qde}=V("node:buffer"),Hde=V("node:util"),jde=globalThis.File??qde,$1=class t{constructor(e){if(Fr.util.markAsUncloneable(this),e!==void 0)throw Fr.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[ns]=[]}append(e,r,n=void 0){Fr.brandCheck(this,t);let o="FormData.append";if(Fr.argumentLengthCheck(arguments,2,o),arguments.length===3&&!Xx(r))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");e=Fr.converters.USVString(e,o,"name"),r=Xx(r)?Fr.converters.Blob(r,o,"value",{strict:!1}):Fr.converters.USVString(r,o,"value"),n=arguments.length===3?Fr.converters.USVString(n,o,"filename"):void 0;let i=G3(e,r,n);this[ns].push(i)}delete(e){Fr.brandCheck(this,t);let r="FormData.delete";Fr.argumentLengthCheck(arguments,1,r),e=Fr.converters.USVString(e,r,"name"),this[ns]=this[ns].filter(n=>n.name!==e)}get(e){Fr.brandCheck(this,t);let r="FormData.get";Fr.argumentLengthCheck(arguments,1,r),e=Fr.converters.USVString(e,r,"name");let n=this[ns].findIndex(o=>o.name===e);return n===-1?null:this[ns][n].value}getAll(e){Fr.brandCheck(this,t);let r="FormData.getAll";return Fr.argumentLengthCheck(arguments,1,r),e=Fr.converters.USVString(e,r,"name"),this[ns].filter(n=>n.name===e).map(n=>n.value)}has(e){Fr.brandCheck(this,t);let r="FormData.has";return Fr.argumentLengthCheck(arguments,1,r),e=Fr.converters.USVString(e,r,"name"),this[ns].findIndex(n=>n.name===e)!==-1}set(e,r,n=void 0){Fr.brandCheck(this,t);let o="FormData.set";if(Fr.argumentLengthCheck(arguments,2,o),arguments.length===3&&!Xx(r))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");e=Fr.converters.USVString(e,o,"name"),r=Xx(r)?Fr.converters.Blob(r,o,"name",{strict:!1}):Fr.converters.USVString(r,o,"name"),n=arguments.length===3?Fr.converters.USVString(n,o,"name"):void 0;let i=G3(e,r,n),s=this[ns].findIndex(a=>a.name===e);s!==-1?this[ns]=[...this[ns].slice(0,s),i,...this[ns].slice(s+1).filter(a=>a.name!==e)]:this[ns].push(i)}[Hde.inspect.custom](e,r){let n=this[ns].reduce((i,s)=>(i[s.name]?Array.isArray(i[s.name])?i[s.name].push(s.value):i[s.name]=[i[s.name],s.value]:i[s.name]=s.value,i),{__proto__:null});r.depth??=e,r.colors??=!0;let o=Hde.formatWithOptions(r,n);return`FormData ${o.slice(o.indexOf("]")+2)}`}};oit("FormData",$1,ns,"name","value");Object.defineProperties($1.prototype,{append:qy,delete:qy,get:qy,getAll:qy,has:qy,set:qy,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function G3(t,e,r){if(typeof e!="string"){if(iit(e)||(e=e instanceof Blob?new jde([e],"blob",{type:e.type}):new Gde(e,"blob",{type:e.type})),r!==void 0){let n={type:e.type,lastModified:e.lastModified};e=e instanceof qde?new jde([e],r,n):new Gde(e,r,n)}}return{name:t,value:e}}Yde.exports={FormData:$1,makeEntry:G3}});var Xde=I((sir,Jde)=>{"use strict";var{isUSVString:zde,bufferToLowerCasedHeaderName:sit}=yt(),{utf8DecodeBytes:ait}=da(),{HTTP_TOKEN_CODEPOINTS:cit,isomorphicDecode:Wde}=ws(),{isFileLike:lit}=$3(),{makeEntry:uit}=G1(),Zx=V("node:assert"),{File:dit}=V("node:buffer"),pit=globalThis.File??dit,fit=Buffer.from('form-data; name="'),Vde=Buffer.from("; filename"),mit=Buffer.from("--"),hit=Buffer.from(`--\r
32
32
  `);function git(t){for(let e=0;e<t.length;++e)if(t.charCodeAt(e)&-128)return!1;return!0}function Ait(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function _it(t,e){Zx(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),o=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let s=t.length;for(;t[s-1]===10&&t[s-2]===13;)s-=2;for(s!==t.length&&(t=t.subarray(0,s));;){if(t.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else return"failure";if(i.position===t.length-2&&eO(t,mit,i)||i.position===t.length-4&&eO(t,hit,i))return o;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let a=Eit(t,i);if(a==="failure")return"failure";let{name:c,filename:l,contentType:u,encoding:d}=a;i.position+=2;let p;{let m=t.indexOf(n.subarray(2),i.position);if(m===-1)return"failure";p=t.subarray(i.position,m-4),i.position+=p.length,d==="base64"&&(p=Buffer.from(p.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let f;l!==null?(u??="text/plain",git(u)||(u=""),f=new pit([p],l,{type:u})):f=ait(Buffer.from(p)),Zx(zde(c)),Zx(typeof f=="string"&&zde(f)||lit(f)),o.push(uit(c,f,l))}}function Eit(t,e){let r=null,n=null,o=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:o,encoding:i};let s=Yy(a=>a!==10&&a!==13&&a!==58,t,e);if(s=H3(s,!0,!0,a=>a===9||a===32),!cit.test(s.toString())||t[e.position]!==58)return"failure";switch(e.position++,Yy(a=>a===32||a===9,t,e),sit(s)){case"content-disposition":{if(r=n=null,!eO(t,fit,e)||(e.position+=17,r=Kde(t,e),r===null))return"failure";if(eO(t,Vde,e)){let a=e.position+Vde.length;if(t[a]===42&&(e.position+=1,a+=1),t[a]!==61||t[a+1]!==34||(e.position+=12,n=Kde(t,e),n===null))return"failure"}break}case"content-type":{let a=Yy(c=>c!==10&&c!==13,t,e);a=H3(a,!1,!0,c=>c===9||c===32),o=Wde(a);break}case"content-transfer-encoding":{let a=Yy(c=>c!==10&&c!==13,t,e);a=H3(a,!1,!0,c=>c===9||c===32),i=Wde(a);break}default:Yy(a=>a!==10&&a!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}function Kde(t,e){Zx(t[e.position-1]===34);let r=Yy(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
@@ -368,7 +368,7 @@ Expecting one of '${n.join("', '")}'`);let o=`${e}Help`;return this.on(o,i=>{let
368
368
  ${t}
369
369
  </context>
370
370
 
371
- ${e}`:e}var _bt,YL=b(()=>{"use strict";_bt=100*1024});function Xu(t,e,r,n){return t.clean?"clean":t.thinking||t.verbose?"thinking":t.standard?"standard":e&&r?.[e]?r[e]:e&&zz[e]?zz[e]:n||zz._default}var xe,zz,r_=b(()=>{"use strict";(function(t){t[t.LOCAL=1]="LOCAL",t[t.SERVER=2]="SERVER"})(xe||(xe={}));zz={translate:"clean",shell:"clean",shell_generate:"clean",mcp:"standard",explain:"standard",code_generate:"standard",code_review:"standard",summarize:"standard",research:"standard",_default:"standard"}});function Ebt(t){let e=new Map;for(let r of t){if(!r.name)throw new Error("CLI command descriptor is missing a name");if(r.tier!==xe.LOCAL&&r.tier!==xe.SERVER)throw new Error(`CLI command "${r.name}" has an invalid tier: ${String(r.tier)}`);for(let n of[r.name,...r.aliases??[]]){if(e.has(n))throw new Error(`Duplicate CLI command name/alias: "${n}"`);e.set(n,r)}}return e}function _we(t){return ybt.get(t)?.tier}var zL,ybt,Ppr,Wz=b(()=>{"use strict";r_();zL=[{name:"config",tier:xe.LOCAL},{name:"telemetry",tier:xe.LOCAL},{name:"help",tier:xe.LOCAL},{name:"version",tier:xe.LOCAL},{name:"doctor",tier:xe.LOCAL},{name:"mcp",tier:xe.LOCAL},{name:"prompt",tier:xe.LOCAL},{name:"stats",tier:xe.LOCAL},{name:"history",tier:xe.LOCAL},{name:"query",tier:xe.SERVER},{name:"chat",tier:xe.SERVER},{name:"run",tier:xe.SERVER},{name:"agent",tier:xe.SERVER},{name:"loop",tier:xe.SERVER},{name:"telegram",tier:xe.SERVER},{name:"sessions",tier:xe.LOCAL},{name:"goals",tier:xe.LOCAL},{name:"install",tier:xe.LOCAL},{name:"worktree",tier:xe.LOCAL},{name:"soul",tier:xe.LOCAL},{name:"skill",tier:xe.LOCAL},{name:"plugin",tier:xe.LOCAL},{name:"persona",tier:xe.LOCAL},{name:"cloud",tier:xe.LOCAL},{name:"login",tier:xe.LOCAL},{name:"connect",tier:xe.LOCAL},{name:"disconnect",tier:xe.LOCAL},{name:"connections",tier:xe.LOCAL},{name:"upgrade",tier:xe.LOCAL}];ybt=Ebt(zL);Ppr=Object.fromEntries(zL.map(t=>[t.name,t.tier]))});function Ewe(t,e){let r=t.slice(0,2),n,o,i,s;for(let a=2;a<t.length;a++){let c=t[a],[l]=c.split("=",1);if(c==="--"){r.push(...t.slice(a));break}if(l==="--remote"||l==="--local")throw new Error(`${l} was removed. Use ${l==="--remote"?"--remote-control":"--inference server"}.`);if(l==="--remote-control"){if(c!==l)throw new Error("--remote-control does not take a value.");i=!0;continue}if(l==="--inference"){let u=c.includes("=")?c.slice(c.indexOf("=")+1):t[++a];if(u!=="cloud"&&u!=="server")throw new Error("--inference must be cloud or server.");if(o&&o!==u)throw new Error("Choose one --inference backend.");o=u;continue}if(e.has(l)){r.push(c),!c.includes("=")&&a+1<t.length&&r.push(t[++a]);continue}if(!c.startsWith("-"))if(n){if(n==="cloud"){if(c==="connect")throw new Error("aii cloud connect was removed. Start aii --remote-control; inference is selected independently with --inference cloud|server.");n="cloud-action"}else if(n==="run"){if(c==="git"&&["commit","pr"].includes(t[a+1])){r.push(c,t[++a]),n="owned-operation";continue}r.push(...t.slice(a));break}else if(s)throw new Error("Resume the session first, then type your prompt.")}else{if(n=c,n==="mcp"){r.push(...t.slice(a));break}if(n==="resume"){let u=t[++a];if(!u||!/^[A-Za-z0-9_-][A-Za-z0-9_.-]{3,63}$/.test(u)||u.includes(".."))throw new Error("Usage: aii resume <exact-session-id> [--remote-control]");s=u;continue}}r.push(c)}return{argv:r,inference:o,remoteControl:i,resumeId:s}}var ywe=b(()=>{"use strict"});function bbt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(n==="--"){e.push(...t.slice(r+1));break}let o=n.indexOf("="),i=o>0?n.slice(0,o):n;if(Cbt.has(i)){o===-1&&wC.has(i)&&r++;continue}e.push(n)}return e}function bwe(t){for(let e=2;e<t.length;e++){let r=t[e];if(r==="--")return;if(r.startsWith("-")){!r.includes("=")&&wC.has(r)&&e++;continue}return r}}function wbt(t){for(let e=2;e<t.length;e++){if(t[e]==="--")return e;!t[e].includes("=")&&wC.has(t[e])&&e++}return-1}function Ibt(t){for(let e=0;e<t.length;e++){let r=t[e];if(r==="--")return e+1<t.length;if(r.startsWith("-")){!r.includes("=")&&wC.has(r)&&e++;continue}return!0}return!1}function Tbt(t){let e=bwe(t);if(e!==void 0&&e!=="agent"&&Cwe.has(e))return{argv:t};let r=t.slice(0,2),n,o;for(let i=2;i<t.length;i++){let s=t[i];if(s==="--"){r.push(...t.slice(i));break}if(wC.has(s.split("=",1)[0])){r.push(s),!s.includes("=")&&i+1<t.length&&r.push(t[++i]);continue}if(s==="--continue"){r.push(s);let a=t[i+1];n===void 0&&o===void 0&&a!==void 0&&!a.startsWith("-")&&Swe.test(a)&&(Ibt(t.slice(i+2))?o=`--continue ${a} \u2026: ambiguous \u2014 quote the text (aii --continue "${a} \u2026") to run it as a prompt, or run \`aii --continue ${a}\` alone to resume that session.`:(n=a,i++));continue}if(s.startsWith("--continue=")){let a=s.slice(11);r.push("--continue"),Swe.test(a)?n===void 0&&(n=a):o=`--continue=${a}: not a session id (2-40 letters/digits/underscores). \`aii goals\` lists this project's sessions.`;continue}r.push(s)}return{argv:r,continueId:n,error:o}}function vbt(t){if(t===void 0)return;let e=Number(t);if(!Number.isInteger(e)||e<0)throw new Error(`Invalid --max-turns "${t}": expected a non-negative integer`);return e}function kbt(t){if(t===void 0)return;let e=/^\d+$/.test(t.trim())?Number(t.trim()):NaN;if(!Number.isInteger(e)||e<0||e>3600){let r=t.replace(/[\x00-\x1F\x7F-\x9F]/g,"").slice(0,40);throw new Error(`Invalid --reconnect-window "${r}": expected an integer 0\u20133600 (seconds)`)}return e}function wwe(t){if(t===void 0)return;let e=t.trim();if(!/^\d+$/.test(e))return;let r=Number(e);return Number.isInteger(r)&&r>=0&&r<=3600?r:void 0}function Dbt(t){if(t===void 0)return;let e=Number(t);if(!Number.isFinite(e)||e<0)throw new Error(`Invalid --max-budget-usd "${t}": expected a non-negative number`);return e}function Rbt(){let t=new hwe;t.name("aii").description("AI-powered CLI assistant").version(Sbt,"-V, --version","Show version number").helpOption(!1).enablePositionalOptions().argument("[query...]","Natural language query").option("--clean","Clean output mode (just the result)").option("--standard","Standard output mode (result + metrics)").option("--thinking","Currently identical to --standard \u2014 no extra reasoning is surfaced").option("-v, --verbose","--thinking plus an end-of-run token/cost/tool line (one-shot agent runs)").option("-d, --debug","Debug output").option("--model <model>","Override LLM model (e.g., ollama/llama3.1:8b, deepseek/deepseek-chat)").option("--openrouter-provider <slug>","Pin OpenRouter requests to a specific backend provider").option("--host <host>","Local server host:port for one-shot, -i chat, run git and prompt lanes; also opts out of AiiCloud").option("--inference <backend>","Inference backend: cloud or configured server").option("--remote-control","Continue this conversation in AiiCloud and host new web conversations").option("-y, --yes","Auto-confirm shell commands (does NOT authorise installing third-party code \u2014 use --trust-source)").option("--trust-source","Accept installing third-party code from the named source (skills, plugins and personas)").option("--offline","Skip MCP servers for this run (web tools stay available)").option("-D, --direct","Direct mode (bypass server intent recognition)").option("-i, --interactive","Force agent mode (default with no query; with a query it is still a one-shot run)").option("-c, --continue-chat <id>","DEPRECATED \u2014 no effect; the id is discarded. Use --continue <id>").option("-n, --new-chat","DEPRECATED \u2014 no effect. Use /new in-session").option("--auto","Auto-approve tool prompts (write fence, sensitive-path reads and project deny rules still apply)").option("--auto-background-timeout <seconds>","Auto-convert foreground agents to background after N seconds (0 to disable)","120").option("--no-project-config","Skip this repo's config, slash commands, skills, agents and instruction files for this session: .aii/settings.json + settings.local.json (and their deny rules), project slash commands, project skills, project .aii/agents, and AGENTS.md / AII.md / CLAUDE.md. Does NOT cover .aii/hooks.json or .aii/soul.").option("--no-colors","Disable colored output (one-shot + command output; the interactive agent UI is unaffected)").option("--no-emojis","Disable emoji icons (one-shot + command output; the interactive agent UI is unaffected)").option("--no-animations","Disable animations").option("--no-streaming","Disable streaming").option("--show-tokens","DEPRECATED \u2014 no effect. Use -v for a token/cost line").option("--show-cost","DEPRECATED \u2014 no effect. Use -v for a token/cost line").option("--output-format <format>","Output format: json or stream-json (one-shot only)").option("--tools <list>",'Allowlist of BUILT-IN tools (comma-separated, e.g., "Read,Bash,Edit"); MCP and subagent tools are not filtered').option("--exclude-tools <list>",'Exclude BUILT-IN tools (comma-separated, e.g., "WebSearch,WebFetch"); --tools wins if both are given').option("--max-turns <n>","Max ReAct iterations within a turn (0/unset = default 500)").option("--reconnect-window <seconds>","One-shot runs: retry dropped connections for up to N seconds (default 0 = fail fast)").option("--max-budget-usd <amount>","Interactive sessions: stop before a NEW turn once cumulative est. cost reaches $amount (does not pre-empt a turn in progress)").option("--bare","Result to stdout only; all status/chrome to stderr (one-shot)").option("--show-tools","With --bare or --output-format: write the tool transcript to stderr (stdout untouched)").option("--append-system-prompt <text>","Append additive instructions to this run").option("--append-system-prompt-file <path>","Append a workspace file of additive instructions to this run").option("--continue","Resume the most recent local session of this project (conversation + goal)").option("-h, --help","Show help"),t.command("config").description("Configuration management").argument("[action]","Action: init, show, validate, set").argument("[key]","Config key (for set)").argument("[value]","Config value (for set)").allowUnknownOption().helpOption(!1).action(()=>{}),t.command("mcp").description("MCP server management").argument("[action]","Action: list, add, remove, status, etc.").argument("[rest...]","Server name and arguments").passThroughOptions().action(()=>{}),t.command("prompt").description("Prompt library").argument("[action]","Action: list, show, use, create").argument("[rest...]","Prompt name and arguments").allowUnknownOption().action(()=>{}),t.command("stats").description("Usage statistics").argument("[type]","Type: models, cost").action(()=>{}),t.command("history").description("Chat history").argument("[action]","Action: list, search, export, delete").argument("[query]","Search query or ID").action(()=>{}),t.command("doctor").description("System health check").action(()=>{}),t.command("install [target...]").description("Install or update Aii CLI, skills, or MCP servers").allowUnknownOption().helpOption(!1).action(()=>{}),t.command("chat").description("Interactive chat mode").action(()=>{}),t.command("agent").description("Interactive agent mode with tool execution").argument("[query...]","Optional query (non-interactive if provided)").action(()=>{}),t.command("loop").description("Autonomous agent loop (Ralph Wiggum pattern)").argument("[args...]","Loop arguments (prompt, --max, --verify, --budget, etc.)").allowUnknownOption().action(()=>{}),t.command("telegram").description("Telegram bot channel (chat with Aii from Telegram)").argument("[action]","Action: start, pair, status, unpair").argument("[args...]","Additional arguments").allowUnknownOption().action(()=>{}),t.command("sessions").description("Browse saved conversations (list, info); use server for server-managed sessions").argument("[action]","Action: list, info, server").argument("[args...]","Additional arguments (session ID, name, etc.)").allowUnknownOption().action(()=>{}),t.command("goals").description("List goals across this project's local sessions (pick one up with --continue <id>)").action(()=>{}),t.command("worktree").description("Manage git worktrees for isolated development").argument("[action]","Action: create, list, remove, clean").argument("[name]","Worktree name (for create/remove)").allowUnknownOption().action(()=>{}),t.command("soul").description("Manage agent soul (personality & identity)").argument("[action]","Action: switch, show").argument("[name]","Soul name (for switch)").allowUnknownOption().action(()=>{}),t.command("telemetry").description("Manage usage analytics preference").argument("[action]","on, off, status").action(()=>{}),t.command("cloud").description("Manage AiiCloud account and workspaces; use aii --remote-control for web control").argument("[action]","Action: login, status, workspace, help").allowUnknownOption().action(()=>{}),t.command("login").description("Sign in to your Aii Cloud account").argument("[args...]","Options: --force; legacy status/about/GLM compatibility").allowUnknownOption().action(()=>{});for(let[e,r]of[["connect","Connect ChatGPT or Grok subscription credentials"],["disconnect","Remove a ChatGPT or Grok subscription connection"],["connections","Inspect saved service and Aii Cloud connections"]])t.command(e).description(r).argument("[args...]","Service or command-specific options").allowUnknownOption().action(()=>{});return t.command("skill").description("Manage AI skills").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("plugin").description("Manage skill plugins").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("persona").description("Manage workspace personas").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("upgrade").description("Update Aii CLI to latest version").argument("[version]","Target version (default: latest)").action(()=>{}),t.command("run").description("Run domain-specific operations").argument("<operation>","Operation (e.g., git commit)").argument("[args...]","Additional arguments").allowUnknownOption().action(()=>{}),t.command("help").description("display help for command").argument("[command]","Command to show help for").action(()=>{}),t.command("version").description("Show version number").action(()=>{}),t}async function Iwe(t){let e=Ewe(t,wC),r=Tbt(e.argv),n=r.argv,o=wbt(n),i=o>=0&&bwe(n)===void 0?n.slice(0,o):n,s=Rbt();s.exitOverride(),s.configureOutput({writeErr:()=>{}});let a="query",c,l=[];try{s.parse(i),l=s.args;let m=s.args[0];m&&Cwe.has(m)&&(a=m,c=s.args[1],l=s.args.slice(2))}catch(m){if(m instanceof qz&&(m.code==="commander.version"||m.code==="commander.helpDisplayed")&&process.exit(0),e.resumeId&&!(m instanceof qz&&m.code==="commander.help"))throw m;l=bbt(n.slice(2))}let u=s.opts(),d={clean:u.clean??!1,standard:u.standard??!1,thinking:u.thinking??!1,verbose:u.verbose??!1,debug:u.debug??!1,model:u.model,host:u.host,inference:e.inference,remoteControl:e.remoteControl??!1,openrouterProvider:u.openrouterProvider,yes:u.yes??!1,trustSource:u.trustSource??!1,offline:u.offline??!1,direct:u.direct??!1,interactive:u.interactive??!1,continueChat:u.continueChat,newChat:u.newChat??!1,auto:u.auto??!1,quiet:!1,noProjectConfig:u.projectConfig===!1,autoBackgroundTimeout:(()=>{let m=parseInt(u.autoBackgroundTimeout??"120",10);return isNaN(m)||m===0?0:Math.max(30,Math.min(600,m))*1e3})(),noColors:!u.colors,noEmojis:!u.emojis,noAnimations:!u.animations,noStreaming:!u.streaming,showTools:u.showTools??!1,showTokens:u.showTokens??!1,showCost:u.showCost??!1,outputFormat:u.outputFormat,tools:u.tools,excludeTools:u.excludeTools,maxTurns:vbt(u.maxTurns),maxBudgetUsd:Dbt(u.maxBudgetUsd),reconnectWindow:kbt(u.reconnectWindow),bare:u.bare??!1,appendSystemPrompt:u.appendSystemPrompt,appendSystemPromptFile:u.appendSystemPromptFile,continue:u.continue??!1,continueId:e.resumeId??r.continueId,continueIdError:r.error,help:u.help??!1,version:u.version??!1},p;Yz()&&(p=await Awe()),(a==="chat"||d.interactive)&&(a="agent"),a==="query"&&!l.length&&!p&&(a="agent");let f;if(a==="query"&&l.length>0)f=l.join(" ");else if(a==="agent"){let m=[];c&&m.push(c),l.length>0&&m.push(...l),m.length>0&&(f=m.join(" "))}return{command:a,subcommand:c,args:l,flags:d,stdinContent:p,query:f}}var Cwe,Sbt,Cbt,wC,Swe,Twe=b(()=>{"use strict";gwe();YL();Wz();ywe();Cwe=new Set(zL.filter(t=>t.name!=="query").flatMap(t=>[t.name,...t.aliases??[]])),Sbt="0.27.6",Cbt=new Set(["--clean","--standard","--thinking","-v","--verbose","-d","--debug","--model","--openrouter-provider","--host","-y","--yes","--trust-source","--offline","-D","--direct","-i","--interactive","-c","--continue-chat","-n","--new-chat","--auto","--auto-background-timeout","--no-colors","--colors","--no-emojis","--emojis","--no-animations","--animations","--no-streaming","--streaming","--show-tokens","--show-cost","--output-format","--tools","--exclude-tools","--max-turns","--max-budget-usd","--bare","--show-tools","--append-system-prompt","--append-system-prompt-file","--reconnect-window","--continue","--signature","--no-signature","--no-project-config","--project-config","--inference","--remote-control","-h","--help","-V","--version"]),wC=new Set(["--inference","--model","--openrouter-provider","--host","-c","--continue-chat","--auto-background-timeout","--output-format","--tools","--exclude-tools","--max-turns","--max-budget-usd","--append-system-prompt","--append-system-prompt-file","--signature","--reconnect-window"]);Swe=/^[a-z0-9_]{2,40}$/i});function WL(t,e){switch(t){case"local_flag":case"host_flag":case"api_url_env":return"Remote control supports the selected server. Run aii --remote-control --inference server"+(e?` with the configured endpoint (${Ou(e,200)}).`:".");case"not_interactive":return"--remote-control arms an interactive session. Start one \u2014 run `aii` with no query \u2014 and the flag applies to that session.";case"cloud_disabled":return"--remote-control needs AiiCloud, which is not connected on this machine. Run `aii cloud login`, then start the session again.";case"gateway_too_old":return"AiiCloud does not serve remote session prompts yet. This session runs normally; it just cannot be continued from another device. Try again after the next AiiCloud update.";case"history_off":return"This session cannot be continued from another device because chat history is off for your account \u2014 there is nothing for the other device to open. Turn history on in AiiCloud, then start the session again."}}function vwe(t){return t.remote&&(t.handler!=="agent"||t.hasQuery)?{cause:"not_interactive",message:WL("not_interactive")}:null}var VL=b(()=>{"use strict";Ip()});var kwe={};ae(kwe,{STATUS_ID:()=>KL,isStatusTail:()=>JL,routeLoopArgs:()=>ev});function JL(t){let e=0,r=0,n=0;for(let o of t)if(o==="--json")r++;else if(o==="--all")n++;else if(KL.test(o))e++;else return!1;return e<=1&&r<=1&&n<=1}function ev(t){return t[0]==="list"&&t.length===1?{sub:"list",rest:[]}:t[0]==="resume"?{sub:"resume",rest:t.slice(1)}:t[0]==="status"&&JL(t.slice(1))?{sub:"status",rest:t.slice(1)}:null}var KL,XL=b(()=>{"use strict";KL=/^#[a-z0-9]{4}$|^\d+$|^loop-\d{4}-\d{2}-\d{2}T\d{4}-\d+-[a-z0-9-]+(\.status\.jsonl)?$|^loop_[a-z0-9]+_[a-z0-9]{4}$/});function Dwe(t){let e=_we(t.command)??xe.SERVER;switch(t.command){case"telemetry":return{tier:xe.LOCAL,handler:"telemetry",params:{}};case"config":return Nbt(t);case"mcp":return xbt(t);case"prompt":return Obt(t);case"stats":return Bbt(t);case"history":return Mbt(t);case"doctor":return{tier:xe.LOCAL,handler:"doctor",params:{}};case"goals":return{tier:xe.LOCAL,handler:"goals",params:{}};case"install":return{tier:xe.LOCAL,handler:"install",params:{}};case"chat":return{tier:xe.SERVER,handler:"chat",params:{continueChat:t.flags.continueChat}};case"run":return Pbt(t);case"agent":return{tier:xe.SERVER,handler:"agent",params:{interactive:!t.query}};case"loop":{let r=[...t.subcommand?[t.subcommand]:[],...t.args??[]];return ev(r)?.sub==="status"?{tier:xe.LOCAL,handler:"loop-status",params:{}}:{tier:xe.SERVER,handler:"loop",params:{}}}case"telegram":return{tier:xe.SERVER,handler:"telegram",params:{action:t.subcommand??t.args[0]??"start"}};case"sessions":return{tier:xe.LOCAL,handler:"sessions",params:{action:t.subcommand??t.args[0]??"list"}};case"worktree":return{tier:xe.LOCAL,handler:"worktree",params:{action:t.subcommand??t.args[0]??"list",name:t.subcommand?t.args[0]:t.args[1]}};case"soul":return{tier:xe.LOCAL,handler:"soul",params:{action:t.subcommand??t.args[0]??"show",name:t.subcommand?t.args[0]:t.args[1]}};case"cloud":return{tier:xe.LOCAL,handler:"cloud",params:{action:t.subcommand??t.args[0]??"status"}};case"connect":case"disconnect":case"connections":case"login":return{tier:xe.LOCAL,handler:"connections",params:{}};case"skill":return{tier:xe.LOCAL,handler:"skill",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"plugin":return{tier:xe.LOCAL,handler:"plugin",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"persona":return{tier:xe.LOCAL,handler:"persona",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"upgrade":return{tier:xe.LOCAL,handler:"upgrade",params:{version:t.args[0]||null}};case"help":return{tier:xe.LOCAL,handler:"help",params:{command:t.subcommand}};case"version":return{tier:xe.LOCAL,handler:"version",params:{}};case"query":default:return{tier:e,handler:"query",params:{query:t.query,stdinContent:t.stdinContent}}}}function Nbt(t){let e=t.subcommand??t.args[0]??"show";return{tier:xe.LOCAL,handler:`config:${e}`,params:{key:t.args[0],value:t.args[1]}}}function xbt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`mcp:${e}`,params:{name:t.args[0],args:t.args.slice(1)}}}function Obt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`prompt:${e}`,params:{name:t.args[0],args:t.args.slice(1)}}}function Bbt(t){let e=t.subcommand??t.args[0];return{tier:xe.LOCAL,handler:e?`stats:${e}`:"stats",params:{}}}function Mbt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`history:${e}`,params:{query:t.args[0],id:t.args[0]}}}function Pbt(t){let e=[...t.subcommand?[t.subcommand]:[],...t.args],r=[];for(let o=0;o<e.length;o++){let i=e[o];if(Lbt.has(i)){e[o+1]!==void 0&&!e[o+1].startsWith("-")&&o++;continue}i.startsWith("-")||r.push(i)}let n=r.join(" ");return{tier:xe.SERVER,handler:"run",params:{operation:n}}}var Lbt,Rwe=b(()=>{"use strict";r_();Wz();XL();Lbt=new Set(["--inference","--model","--host","--continue-chat","-c","--signature","--base"])});import*as Zm from"fs";import*as Ir from"path";import{homedir as Vz}from"os";function Jz(t,e){return e?t.replace(Ubt,e):t}function At(t,e,r){let n=Jz(t,r?.tempDir);for(let o of Qbt){if(n===o){n=Vz();break}if(n.startsWith(`${o}/`)){n=Ir.join(Vz(),n.slice(o.length+1));break}}return $bt.test(n)?{ok:!1,reason:"invalid-home-form",form:t}:{ok:!0,resolved:Ir.isAbsolute(n)?n:Ir.resolve(e,n)}}function Tr(t){return t.session?.projectPath||t.cwd||process.cwd()}function Cc(t){return`Invalid file_path '${t.form}': '~name' home expansion is not supported. Use an absolute path, a workspace-relative path, or '~/'.`}function Gbt(t){if(Ir.isAbsolute(t))return t;let e=`path-guard: expected an absolute path but got '${t}'. Resolve it with resolveToolPath(raw, base) first (AF-147).`;if(process.env.VITEST||process.env.NODE_ENV==="test"||process.env.NODE_ENV==="development")throw new Error(e);return process.emitWarning(e),Ir.resolve(process.cwd(),t)}function ii(t){return Nwe?t.toLowerCase():t}function yo(t){let e=Gbt(t),r=[],n=e;for(;;)try{let o=Zm.realpathSync(n);return r.length?Ir.join(o,...r.reverse()):o}catch{let o=Ir.dirname(n);if(o===n)return e;r.push(Ir.basename(n)),n=o}}function Xz(t,e){let r=yo(e),n=ii(t),o=ii(r);if(n===o)return!0;let i=Ir.relative(o,n);return i.length>0&&!i.startsWith("..")&&!Ir.isAbsolute(i)}function Hbt(t){let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${e}$`,Nwe?"i":"")}function jbt(t,e=!1){for(let n of Kz){if(e&&n==="~/.aii")continue;let o=At(n,Vz());if(!o.ok)throw new Error(`path-guard: SENSITIVE_DIRS entry '${n}' is not a resolvable path form`);if(Xz(t,o.resolved))return!0}let r=Ir.basename(t);for(let n of Fbt)if(Hbt(n).test(r))return!0;return!1}function ZL(t,e){let r=e.projectMemoryDir;if(!r||!Ir.isAbsolute(r))return!1;let n=At(t,e.base,{tempDir:e.tempDir});if(!n.ok)return!1;let o=Ir.resolve(n.resolved);if(Ir.dirname(o)!==Ir.resolve(r)||!/^[a-z0-9][a-z0-9_-]{0,99}\.md$/.test(Ir.basename(o)))return!1;try{if(Zm.realpathSync(r)!==Ir.resolve(r)||Zm.lstatSync(r).isSymbolicLink())return!1;let i=Zm.lstatSync(o);if(i.isSymbolicLink()||!i.isFile())return!1}catch(i){if(i.code!=="ENOENT"||!Zm.existsSync(r))return!1}return Ir.dirname(yo(o))===Ir.resolve(r)}function qbt(t){return ii(t).split(Ir.sep).includes(".git")}function Ma(t,e){return Xz(yo(t),e)}function Hn(t,e){let r=At(t,e.base,{tempDir:e.tempDir});if(!r.ok)return"deny-sensitive";let n=yo(r.resolved),o=ZL(t,e);if(jbt(n,o))return"deny-sensitive";if(e.op==="write"){if(qbt(n))return"deny-sensitive";let i=[e.workspaceRoot,...e.allowWrite??[]];if(!(o||i.some(a=>Xz(n,a))))return"deny-outside-workspace"}return"allow"}var Nwe,Kz,Fbt,Qbt,Ubt,$bt,ro=b(()=>{"use strict";Nwe=process.platform==="darwin"||process.platform==="win32",Kz=["~/.ssh","~/.aws","~/.config/aws","~/.gnupg","~/.kube","~/.docker","~/.config/gcloud","~/.config/gh","~/.config/anthropic","~/.config/openai","~/.aii","~/.config/aii"],Fbt=[".env",".env.*","*.pem","*.key","id_rsa","id_*","*_rsa","*_ed25519",".netrc",".pgpass",".git-credentials",".npmrc","*_history"],Qbt=["~","$HOME","${HOME}"],Ubt=/^\$\{?AII_TMPDIR\}?(?=\/|$)/,$bt=/^~(?![/\\]|$)/});import*as eh from"path";function zbt(t,e){let r=At(t,e);return r.ok?r.resolved:eh.resolve(e,t)}function eP(t,e){if(!t||t.denyWrite.length===0&&t.denyTools.length===0){vl=null;return}vl={projectRoot:yo(zbt(e,process.cwd())),denyWrite:[...t.denyWrite],denyTools:new Set(t.denyTools.map(r=>r.toLowerCase())),sources:t.sources}}function jp(t,e){if(!vl)return null;let r=o=>({message:`denied by project config \u2014 ${vl.sources.get(`tool:${o.toLowerCase()}`)??".aii/settings.json"}: permissions.deny_tools includes "${o}". ${xwe}`}),n=t.toLowerCase();if(vl.denyTools.has(n))return r(t);if(e){let o=`mcp__${e.toLowerCase()}`;if(vl.denyTools.has(o))return r(o)}return null}function th(t,e){if(!vl||vl.denyWrite.length===0)return null;let r=At(t,e);if(!r.ok)return null;let n=yo(r.resolved),o=eh.relative(vl.projectRoot,n);if(o===""||o.startsWith("..")||eh.isAbsolute(o))return null;o=o.split(eh.sep).join("/");let i=o.match(/^\.aii\/worktrees\/[^/]+\/(.+)$/);i&&(o=i[1]);for(let s of vl.denyWrite)if(Wbt(s,o))return{message:`denied by project config \u2014 ${vl.sources.get(`write:${s}`)??".aii/settings.json"}: permissions.deny_write ${JSON.stringify([s])}. ${xwe}`};return null}function Wbt(t,e){let r=t.replace(/\\/g,"/"),n=e.replace(/\\/g,"/"),o="";for(let i=0;i<r.length;i++){let s=r[i];s==="*"?r[i+1]==="*"?r[i+2]==="/"?(o+="(?:.*/)?",i+=2):(o+=".*",i+=1):o+="[^/]*":s==="?"?o+="[^/]":o+=s.replace(/[.+^${}()|[\]\\]/g,"\\$&")}return new RegExp(`^${o}$`,Ybt?"i":"").test(n)}var Ybt,vl,xwe,IC=b(()=>{"use strict";ro();Ybt=process.platform==="darwin"||process.platform==="win32",vl=null;xwe="Project config can only narrow permissions, never widen them. Override for this session: aii --no-project-config"});var eW={};ae(eW,{MCPConfigManager:()=>hn,MCP_CATALOG:()=>n_});import*as qp from"fs";import*as tP from"path";import*as Zz from"os";var n_,hn,Zu=b(()=>{"use strict";Gu();n_={github:{name:"GitHub",description:"GitHub API integration for repos, issues, PRs, and more",command:"npx",args:["-y","@modelcontextprotocol/server-github"],env:{GITHUB_PERSONAL_ACCESS_TOKEN:"${GITHUB_TOKEN}"},category:"development"},filesystem:{name:"Filesystem",description:"Read/write files on the local filesystem",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem",Zz.homedir()],category:"system"},"brave-search":{name:"Brave Search",description:"Web search using Brave Search API",command:"npx",args:["-y","@brave/brave-search-mcp-server"],env:{BRAVE_API_KEY:"${BRAVE_API_KEY}"},category:"search"},sqlite:{name:"SQLite",description:"Query SQLite databases",command:"uvx",args:["mcp-server-sqlite","--db-path","./database.db"],category:"database"},postgres:{name:"PostgreSQL",description:"Query PostgreSQL databases",command:"npx",args:["-y","@anthropic/mcp-server-postgres"],env:{DATABASE_URL:"${DATABASE_URL}"},category:"database"},"chrome-devtools":{name:"Chrome DevTools",description:"Control Chrome browser via DevTools protocol",command:"npx",args:["chrome-devtools-mcp@latest"],category:"browser"},memory:{name:"Memory",description:"Persistent memory storage for conversation context",command:"npx",args:["-y","@modelcontextprotocol/server-memory"],category:"utility"},puppeteer:{name:"Puppeteer",description:"Browser automation with Puppeteer",command:"npx",args:["-y","@anthropic/mcp-server-puppeteer"],category:"browser"}},hn=class{configPath;constructor(e){this.configPath=e||tP.join(Zz.homedir(),".aii","mcp_servers.json"),this.ensureConfigDir()}ensureConfigDir(){cs(tP.dirname(this.configPath),448)}loadConfig(){if(!qp.existsSync(this.configPath))return{mcpServers:{}};try{let e=qp.readFileSync(this.configPath,"utf-8"),r=JSON.parse(e);return typeof r=="object"&&r!==null?r:{mcpServers:{}}}catch{return{mcpServers:{}}}}saveConfig(e){try{return this.ensureConfigDir(),qp.writeFileSync(this.configPath,JSON.stringify(e,null,2),"utf-8"),!0}catch{return!1}}backupConfig(){if(!qp.existsSync(this.configPath))return!0;try{let e=this.configPath+".backup";return qp.copyFileSync(this.configPath,e),!0}catch{return!1}}getConfigPath(){return this.configPath}}});function Xbt(t){let e=[];for(let[r,n]of Object.entries(t))if(typeof n=="string")Jbt.some(o=>r.endsWith(o))||e.push(n);else if(n&&typeof n=="object")for(let o of Object.values(n))typeof o=="string"&&e.push(o);return e}function Zbt(t){let e=[];if(t){t.secretStrings&&e.push(...t.secretStrings),t.secrets&&e.push(...Xbt(t.secrets));let r=t.env??{};for(let n of Owe){let o=r[n];typeof o=="string"&&e.push(o)}if(t.mcpEnv)for(let n of Object.values(t.mcpEnv))typeof n=="string"&&e.push(n);return t.apiKeys&&e.push(...t.apiKeys),e}try{e.push(...ie().getAllSecretStrings())}catch{}for(let r of Owe){let n=process.env[r];typeof n=="string"&&e.push(n)}try{let r=new hn().loadConfig();for(let n of Object.values(r.mcpServers??{})){let o=n.env;if(o)for(let i of Object.values(o))typeof i=="string"&&e.push(i)}}catch{}try{let r=ie().getConfig();r?.api?.key&&e.push(r.api.key),Array.isArray(r?.api?.keys)&&e.push(...r.api.keys.filter(n=>typeof n=="string"))}catch{}return e}function Bwe(t){let e=Array.from(new Set(t??Zbt())).filter(r=>typeof r=="string"&&r.length>=Vbt).sort((r,n)=>n.length-r.length);return e.length===0?r=>r:r=>{let n=r;for(let o of e)n.includes(o)&&(n=n.split(o).join(Kbt));return n}}function Mwe(t,e){try{return Hn(t,{op:"read",workspaceRoot:e,base:e,allowWrite:[]})==="deny-sensitive"}catch{return!1}}var Vbt,Kbt,Jbt,Owe,Lwe=b(()=>{"use strict";ro();Qe();Zu();Vbt=8,Kbt="[REDACTED]",Jbt=["_url","_expiry","_refreshed_at","_account"],Owe=["ANTHROPIC_API_KEY","OPENAI_API_KEY","GEMINI_API_KEY","DEEPSEEK_API_KEY","MOONSHOT_API_KEY","ZAI_API_KEY","OPENROUTER_API_KEY","XAI_API_KEY","AII_API_KEY","AII_ANTHROPIC_API_KEY","AII_OPENAI_API_KEY","AII_GEMINI_API_KEY","AII_DEEPSEEK_API_KEY","AII_MOONSHOT_API_KEY","AII_ZAI_API_KEY","AII_OPENROUTER_API_KEY","AII_XAI_API_KEY"]});var iW={};ae(iW,{EXIT_CLEANUP_DEADLINE_MS:()=>oi,TRACE_FLUSH_DEADLINE_MS:()=>jwe,TRACE_MAX_FILE_BYTES:()=>$we,TRACE_PROMPT_MAX_BYTES:()=>nP,TRACE_TEXT_FLUSH_BYTES:()=>Gwe,TRACE_TEXT_FLUSH_MS:()=>Hwe,TRACE_TOOL_IO_MAX_BYTES:()=>rP,TRACE_WITHHELD:()=>rW,TraceWriter:()=>iP,attachTraceWriter:()=>oW,exitAfterTraceFlush:()=>fs,flushTraceWriters:()=>ih,isTracingEnabled:()=>qwe,shutdownAndExit:()=>Yp,withDeadline:()=>oh});import{appendFile as ewt,chmod as Pwe,mkdir as twt,stat as rwt}from"fs/promises";import{existsSync as nwt}from"fs";import{dirname as Fwe}from"path";function rh(t,e){let r=Buffer.byteLength(t,"utf8");if(r<=e)return t;let n=Buffer.from(t,"utf8").subarray(0,e),o=n.length;for(;o>0&&(n[o-1]&192)===128;)o--;return o>0&&n[o-1]&128&&o--,n.subarray(0,o).toString("utf8")+`\u2026 [truncated ${r-e} bytes]`}function Qwe(t){return t.replace(/[\x00-\x08\x0B-\x1F\x7F-\x9F]/g,"").replace(/\/\/\S+@/g,"//")}function oh(t,e){return new Promise(r=>{let n=setTimeout(r,e);n.unref?.(),Promise.resolve(t).catch(()=>{}).finally(()=>{clearTimeout(n),r()})})}async function ih(t=jwe){let e=[];for(let s of tv){let a=s.deref();a?e.push(a):tv.delete(s)}for(let s of e)try{s.closeOpenTurnAbandoned()}catch{}let r=[...oP];if(e.length===0&&r.length===0)return;let n=Date.now();await oh(Promise.all([...e.map(s=>s.flushNow()),...r]),t);let o=[...oP].filter(s=>!r.includes(s));if(o.length===0)return;let i=t-(Date.now()-n);i<=0||await oh(Promise.all(o),i)}function nW(){return rv||(rv=(async()=>{await oh(ut.cleanup(),oi),ut.restoreTerminal(),await ih()})()),rv}async function Yp(t){return nh=Math.max(nh,t),await nW().catch(()=>{}),process.exit(nh)}function fs(t){if(nh=Math.max(nh,t),rv&&tW){ut.restoreTerminal(),process.exit(nh);return}if(rv){tW=!0,nW().finally(()=>process.exit(nh));return}tW=!0;let e=setTimeout(()=>{try{process.stderr.isTTY&&process.stderr.write(`
371
+ ${e}`:e}var _bt,YL=b(()=>{"use strict";_bt=100*1024});function Xu(t,e,r,n){return t.clean?"clean":t.thinking||t.verbose?"thinking":t.standard?"standard":e&&r?.[e]?r[e]:e&&zz[e]?zz[e]:n||zz._default}var xe,zz,r_=b(()=>{"use strict";(function(t){t[t.LOCAL=1]="LOCAL",t[t.SERVER=2]="SERVER"})(xe||(xe={}));zz={translate:"clean",shell:"clean",shell_generate:"clean",mcp:"standard",explain:"standard",code_generate:"standard",code_review:"standard",summarize:"standard",research:"standard",_default:"standard"}});function Ebt(t){let e=new Map;for(let r of t){if(!r.name)throw new Error("CLI command descriptor is missing a name");if(r.tier!==xe.LOCAL&&r.tier!==xe.SERVER)throw new Error(`CLI command "${r.name}" has an invalid tier: ${String(r.tier)}`);for(let n of[r.name,...r.aliases??[]]){if(e.has(n))throw new Error(`Duplicate CLI command name/alias: "${n}"`);e.set(n,r)}}return e}function _we(t){return ybt.get(t)?.tier}var zL,ybt,Ppr,Wz=b(()=>{"use strict";r_();zL=[{name:"config",tier:xe.LOCAL},{name:"telemetry",tier:xe.LOCAL},{name:"help",tier:xe.LOCAL},{name:"version",tier:xe.LOCAL},{name:"doctor",tier:xe.LOCAL},{name:"mcp",tier:xe.LOCAL},{name:"prompt",tier:xe.LOCAL},{name:"stats",tier:xe.LOCAL},{name:"history",tier:xe.LOCAL},{name:"query",tier:xe.SERVER},{name:"chat",tier:xe.SERVER},{name:"run",tier:xe.SERVER},{name:"agent",tier:xe.SERVER},{name:"loop",tier:xe.SERVER},{name:"telegram",tier:xe.SERVER},{name:"sessions",tier:xe.LOCAL},{name:"goals",tier:xe.LOCAL},{name:"install",tier:xe.LOCAL},{name:"worktree",tier:xe.LOCAL},{name:"soul",tier:xe.LOCAL},{name:"skill",tier:xe.LOCAL},{name:"plugin",tier:xe.LOCAL},{name:"persona",tier:xe.LOCAL},{name:"cloud",tier:xe.LOCAL},{name:"login",tier:xe.LOCAL},{name:"connect",tier:xe.LOCAL},{name:"disconnect",tier:xe.LOCAL},{name:"connections",tier:xe.LOCAL},{name:"upgrade",tier:xe.LOCAL}];ybt=Ebt(zL);Ppr=Object.fromEntries(zL.map(t=>[t.name,t.tier]))});function Ewe(t,e){let r=t.slice(0,2),n,o,i,s;for(let a=2;a<t.length;a++){let c=t[a],[l]=c.split("=",1);if(c==="--"){r.push(...t.slice(a));break}if(l==="--remote"||l==="--local")throw new Error(`${l} was removed. Use ${l==="--remote"?"--remote-control":"--inference server"}.`);if(l==="--remote-control"){if(c!==l)throw new Error("--remote-control does not take a value.");i=!0;continue}if(l==="--inference"){let u=c.includes("=")?c.slice(c.indexOf("=")+1):t[++a];if(u!=="cloud"&&u!=="server")throw new Error("--inference must be cloud or server.");if(o&&o!==u)throw new Error("Choose one --inference backend.");o=u;continue}if(e.has(l)){r.push(c),!c.includes("=")&&a+1<t.length&&r.push(t[++a]);continue}if(!c.startsWith("-"))if(n){if(n==="cloud"){if(c==="connect")throw new Error("aii cloud connect was removed. Start aii --remote-control; inference is selected independently with --inference cloud|server.");n="cloud-action"}else if(n==="run"){if(c==="git"&&["commit","pr"].includes(t[a+1])){r.push(c,t[++a]),n="owned-operation";continue}r.push(...t.slice(a));break}else if(s)throw new Error("Resume the session first, then type your prompt.")}else{if(n=c,n==="mcp"){r.push(...t.slice(a));break}if(n==="resume"){let u=t[++a];if(!u||!/^[A-Za-z0-9_-][A-Za-z0-9_.-]{3,63}$/.test(u)||u.includes(".."))throw new Error("Usage: aii resume <exact-session-id> [--remote-control]");s=u;continue}}r.push(c)}return{argv:r,inference:o,remoteControl:i,resumeId:s}}var ywe=b(()=>{"use strict"});function bbt(t){let e=[];for(let r=0;r<t.length;r++){let n=t[r];if(n==="--"){e.push(...t.slice(r+1));break}let o=n.indexOf("="),i=o>0?n.slice(0,o):n;if(Cbt.has(i)){o===-1&&wC.has(i)&&r++;continue}e.push(n)}return e}function bwe(t){for(let e=2;e<t.length;e++){let r=t[e];if(r==="--")return;if(r.startsWith("-")){!r.includes("=")&&wC.has(r)&&e++;continue}return r}}function wbt(t){for(let e=2;e<t.length;e++){if(t[e]==="--")return e;!t[e].includes("=")&&wC.has(t[e])&&e++}return-1}function Ibt(t){for(let e=0;e<t.length;e++){let r=t[e];if(r==="--")return e+1<t.length;if(r.startsWith("-")){!r.includes("=")&&wC.has(r)&&e++;continue}return!0}return!1}function Tbt(t){let e=bwe(t);if(e!==void 0&&e!=="agent"&&Cwe.has(e))return{argv:t};let r=t.slice(0,2),n,o;for(let i=2;i<t.length;i++){let s=t[i];if(s==="--"){r.push(...t.slice(i));break}if(wC.has(s.split("=",1)[0])){r.push(s),!s.includes("=")&&i+1<t.length&&r.push(t[++i]);continue}if(s==="--continue"){r.push(s);let a=t[i+1];n===void 0&&o===void 0&&a!==void 0&&!a.startsWith("-")&&Swe.test(a)&&(Ibt(t.slice(i+2))?o=`--continue ${a} \u2026: ambiguous \u2014 quote the text (aii --continue "${a} \u2026") to run it as a prompt, or run \`aii --continue ${a}\` alone to resume that session.`:(n=a,i++));continue}if(s.startsWith("--continue=")){let a=s.slice(11);r.push("--continue"),Swe.test(a)?n===void 0&&(n=a):o=`--continue=${a}: not a session id (2-40 letters/digits/underscores). \`aii goals\` lists this project's sessions.`;continue}r.push(s)}return{argv:r,continueId:n,error:o}}function vbt(t){if(t===void 0)return;let e=Number(t);if(!Number.isInteger(e)||e<0)throw new Error(`Invalid --max-turns "${t}": expected a non-negative integer`);return e}function kbt(t){if(t===void 0)return;let e=/^\d+$/.test(t.trim())?Number(t.trim()):NaN;if(!Number.isInteger(e)||e<0||e>3600){let r=t.replace(/[\x00-\x1F\x7F-\x9F]/g,"").slice(0,40);throw new Error(`Invalid --reconnect-window "${r}": expected an integer 0\u20133600 (seconds)`)}return e}function wwe(t){if(t===void 0)return;let e=t.trim();if(!/^\d+$/.test(e))return;let r=Number(e);return Number.isInteger(r)&&r>=0&&r<=3600?r:void 0}function Dbt(t){if(t===void 0)return;let e=Number(t);if(!Number.isFinite(e)||e<0)throw new Error(`Invalid --max-budget-usd "${t}": expected a non-negative number`);return e}function Rbt(){let t=new hwe;t.name("aii").description("AI-powered CLI assistant").version(Sbt,"-V, --version","Show version number").helpOption(!1).enablePositionalOptions().argument("[query...]","Natural language query").option("--clean","Clean output mode (just the result)").option("--standard","Standard output mode (result + metrics)").option("--thinking","Currently identical to --standard \u2014 no extra reasoning is surfaced").option("-v, --verbose","--thinking plus an end-of-run token/cost/tool line (one-shot agent runs)").option("-d, --debug","Debug output").option("--model <model>","Override LLM model (e.g., ollama/llama3.1:8b, deepseek/deepseek-chat)").option("--openrouter-provider <slug>","Pin OpenRouter requests to a specific backend provider").option("--host <host>","Local server host:port for one-shot, -i chat, run git and prompt lanes; also opts out of AiiCloud").option("--inference <backend>","Inference backend: cloud or configured server").option("--remote-control","Continue this conversation in AiiCloud and host new web conversations").option("-y, --yes","Auto-confirm shell commands (does NOT authorise installing third-party code \u2014 use --trust-source)").option("--trust-source","Accept installing third-party code from the named source (skills, plugins and personas)").option("--offline","Skip MCP servers for this run (web tools stay available)").option("-D, --direct","Direct mode (bypass server intent recognition)").option("-i, --interactive","Force agent mode (default with no query; with a query it is still a one-shot run)").option("-c, --continue-chat <id>","DEPRECATED \u2014 no effect; the id is discarded. Use --continue <id>").option("-n, --new-chat","DEPRECATED \u2014 no effect. Use /new in-session").option("--auto","Auto-approve tool prompts (write fence, sensitive-path reads and project deny rules still apply)").option("--auto-background-timeout <seconds>","Auto-convert foreground agents to background after N seconds (0 to disable)","120").option("--no-project-config","Skip this repo's config, slash commands, skills, agents and instruction files for this session: .aii/settings.json + settings.local.json (and their deny rules), project slash commands, project skills, project .aii/agents, and AGENTS.md / AII.md / CLAUDE.md. Does NOT cover .aii/hooks.json or .aii/soul.").option("--no-colors","Disable colored output (one-shot + command output; the interactive agent UI is unaffected)").option("--no-emojis","Disable emoji icons (one-shot + command output; the interactive agent UI is unaffected)").option("--no-animations","Disable animations").option("--no-streaming","Disable streaming").option("--show-tokens","DEPRECATED \u2014 no effect. Use -v for a token/cost line").option("--show-cost","DEPRECATED \u2014 no effect. Use -v for a token/cost line").option("--output-format <format>","Output format: json or stream-json (one-shot only)").option("--tools <list>",'Allowlist of BUILT-IN tools (comma-separated, e.g., "Read,Bash,Edit"); MCP and subagent tools are not filtered').option("--exclude-tools <list>",'Exclude BUILT-IN tools (comma-separated, e.g., "WebSearch,WebFetch"); --tools wins if both are given').option("--max-turns <n>","Max ReAct iterations within a turn (0/unset = default 500)").option("--reconnect-window <seconds>","One-shot runs: retry dropped connections for up to N seconds (default 0 = fail fast)").option("--max-budget-usd <amount>","Interactive sessions: stop before a NEW turn once cumulative est. cost reaches $amount (does not pre-empt a turn in progress)").option("--bare","Result to stdout only; all status/chrome to stderr (one-shot)").option("--show-tools","With --bare or --output-format: write the tool transcript to stderr (stdout untouched)").option("--append-system-prompt <text>","Append additive instructions to this run").option("--append-system-prompt-file <path>","Append a workspace file of additive instructions to this run").option("--continue","Resume the most recent local session of this project (conversation + goal)").option("-h, --help","Show help"),t.command("config").description("Configuration management").argument("[action]","Action: init, show, validate, set").argument("[key]","Config key (for set)").argument("[value]","Config value (for set)").allowUnknownOption().helpOption(!1).action(()=>{}),t.command("mcp").description("MCP server management").argument("[action]","Action: list, add, remove, status, etc.").argument("[rest...]","Server name and arguments").passThroughOptions().action(()=>{}),t.command("prompt").description("Prompt library").argument("[action]","Action: list, show, use, create").argument("[rest...]","Prompt name and arguments").allowUnknownOption().action(()=>{}),t.command("stats").description("Usage statistics").argument("[type]","Type: models, cost").action(()=>{}),t.command("history").description("Chat history").argument("[action]","Action: list, search, export, delete").argument("[query]","Search query or ID").action(()=>{}),t.command("doctor").description("System health check").action(()=>{}),t.command("install [target...]").description("Install or update Aii CLI, skills, or MCP servers").allowUnknownOption().helpOption(!1).action(()=>{}),t.command("chat").description("Interactive chat mode").action(()=>{}),t.command("agent").description("Interactive agent mode with tool execution").argument("[query...]","Optional query (non-interactive if provided)").action(()=>{}),t.command("loop").description("Autonomous agent loop (Ralph Wiggum pattern)").argument("[args...]","Loop arguments (prompt, --max, --verify, --budget, etc.)").allowUnknownOption().action(()=>{}),t.command("telegram").description("Telegram bot channel (chat with Aii from Telegram)").argument("[action]","Action: start, pair, status, unpair").argument("[args...]","Additional arguments").allowUnknownOption().action(()=>{}),t.command("sessions").description("Browse saved conversations (list, info); use server for server-managed sessions").argument("[action]","Action: list, info, server").argument("[args...]","Additional arguments (session ID, name, etc.)").allowUnknownOption().action(()=>{}),t.command("goals").description("List goals across this project's local sessions (pick one up with --continue <id>)").action(()=>{}),t.command("worktree").description("Manage git worktrees for isolated development").argument("[action]","Action: create, list, remove, clean").argument("[name]","Worktree name (for create/remove)").allowUnknownOption().action(()=>{}),t.command("soul").description("Manage agent soul (personality & identity)").argument("[action]","Action: switch, show").argument("[name]","Soul name (for switch)").allowUnknownOption().action(()=>{}),t.command("telemetry").description("Manage usage analytics preference").argument("[action]","on, off, status").action(()=>{}),t.command("cloud").description("Manage AiiCloud account and workspaces; use aii --remote-control for web control").argument("[action]","Action: login, status, workspace, help").allowUnknownOption().action(()=>{}),t.command("login").description("Sign in to your Aii Cloud account").argument("[args...]","Options: --force; legacy status/about/GLM compatibility").allowUnknownOption().action(()=>{});for(let[e,r]of[["connect","Connect ChatGPT or Grok subscription credentials"],["disconnect","Remove a ChatGPT or Grok subscription connection"],["connections","Inspect saved service and Aii Cloud connections"]])t.command(e).description(r).argument("[args...]","Service or command-specific options").allowUnknownOption().action(()=>{});return t.command("skill").description("Manage AI skills").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("plugin").description("Manage skill plugins").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("persona").description("Manage workspace personas").allowUnknownOption().passThroughOptions().action(()=>{}),t.command("upgrade").description("Update Aii CLI to latest version").argument("[version]","Target version (default: latest)").action(()=>{}),t.command("run").description("Run domain-specific operations").argument("<operation>","Operation (e.g., git commit)").argument("[args...]","Additional arguments").allowUnknownOption().action(()=>{}),t.command("help").description("display help for command").argument("[command]","Command to show help for").action(()=>{}),t.command("version").description("Show version number").action(()=>{}),t}async function Iwe(t){let e=Ewe(t,wC),r=Tbt(e.argv),n=r.argv,o=wbt(n),i=o>=0&&bwe(n)===void 0?n.slice(0,o):n,s=Rbt();s.exitOverride(),s.configureOutput({writeErr:()=>{}});let a="query",c,l=[];try{s.parse(i),l=s.args;let m=s.args[0];m&&Cwe.has(m)&&(a=m,c=s.args[1],l=s.args.slice(2))}catch(m){if(m instanceof qz&&(m.code==="commander.version"||m.code==="commander.helpDisplayed")&&process.exit(0),e.resumeId&&!(m instanceof qz&&m.code==="commander.help"))throw m;l=bbt(n.slice(2))}let u=s.opts(),d={clean:u.clean??!1,standard:u.standard??!1,thinking:u.thinking??!1,verbose:u.verbose??!1,debug:u.debug??!1,model:u.model,host:u.host,inference:e.inference,remoteControl:e.remoteControl??!1,openrouterProvider:u.openrouterProvider,yes:u.yes??!1,trustSource:u.trustSource??!1,offline:u.offline??!1,direct:u.direct??!1,interactive:u.interactive??!1,continueChat:u.continueChat,newChat:u.newChat??!1,auto:u.auto??!1,quiet:!1,noProjectConfig:u.projectConfig===!1,autoBackgroundTimeout:(()=>{let m=parseInt(u.autoBackgroundTimeout??"120",10);return isNaN(m)||m===0?0:Math.max(30,Math.min(600,m))*1e3})(),noColors:!u.colors,noEmojis:!u.emojis,noAnimations:!u.animations,noStreaming:!u.streaming,showTools:u.showTools??!1,showTokens:u.showTokens??!1,showCost:u.showCost??!1,outputFormat:u.outputFormat,tools:u.tools,excludeTools:u.excludeTools,maxTurns:vbt(u.maxTurns),maxBudgetUsd:Dbt(u.maxBudgetUsd),reconnectWindow:kbt(u.reconnectWindow),bare:u.bare??!1,appendSystemPrompt:u.appendSystemPrompt,appendSystemPromptFile:u.appendSystemPromptFile,continue:u.continue??!1,continueId:e.resumeId??r.continueId,continueIdError:r.error,help:u.help??!1,version:u.version??!1},p;Yz()&&(p=await Awe()),(a==="chat"||d.interactive)&&(a="agent"),a==="query"&&!l.length&&!p&&(a="agent");let f;if(a==="query"&&l.length>0)f=l.join(" ");else if(a==="agent"){let m=[];c&&m.push(c),l.length>0&&m.push(...l),m.length>0&&(f=m.join(" "))}return{command:a,subcommand:c,args:l,flags:d,stdinContent:p,query:f}}var Cwe,Sbt,Cbt,wC,Swe,Twe=b(()=>{"use strict";gwe();YL();Wz();ywe();Cwe=new Set(zL.filter(t=>t.name!=="query").flatMap(t=>[t.name,...t.aliases??[]])),Sbt="0.27.7",Cbt=new Set(["--clean","--standard","--thinking","-v","--verbose","-d","--debug","--model","--openrouter-provider","--host","-y","--yes","--trust-source","--offline","-D","--direct","-i","--interactive","-c","--continue-chat","-n","--new-chat","--auto","--auto-background-timeout","--no-colors","--colors","--no-emojis","--emojis","--no-animations","--animations","--no-streaming","--streaming","--show-tokens","--show-cost","--output-format","--tools","--exclude-tools","--max-turns","--max-budget-usd","--bare","--show-tools","--append-system-prompt","--append-system-prompt-file","--reconnect-window","--continue","--signature","--no-signature","--no-project-config","--project-config","--inference","--remote-control","-h","--help","-V","--version"]),wC=new Set(["--inference","--model","--openrouter-provider","--host","-c","--continue-chat","--auto-background-timeout","--output-format","--tools","--exclude-tools","--max-turns","--max-budget-usd","--append-system-prompt","--append-system-prompt-file","--signature","--reconnect-window"]);Swe=/^[a-z0-9_]{2,40}$/i});function WL(t,e){switch(t){case"local_flag":case"host_flag":case"api_url_env":return"Remote control supports the selected server. Run aii --remote-control --inference server"+(e?` with the configured endpoint (${Ou(e,200)}).`:".");case"not_interactive":return"--remote-control arms an interactive session. Start one \u2014 run `aii` with no query \u2014 and the flag applies to that session.";case"cloud_disabled":return"--remote-control needs AiiCloud, which is not connected on this machine. Run `aii cloud login`, then start the session again.";case"gateway_too_old":return"AiiCloud does not serve remote session prompts yet. This session runs normally; it just cannot be continued from another device. Try again after the next AiiCloud update.";case"history_off":return"This session cannot be continued from another device because chat history is off for your account \u2014 there is nothing for the other device to open. Turn history on in AiiCloud, then start the session again."}}function vwe(t){return t.remote&&(t.handler!=="agent"||t.hasQuery)?{cause:"not_interactive",message:WL("not_interactive")}:null}var VL=b(()=>{"use strict";Ip()});var kwe={};ae(kwe,{STATUS_ID:()=>KL,isStatusTail:()=>JL,routeLoopArgs:()=>ev});function JL(t){let e=0,r=0,n=0;for(let o of t)if(o==="--json")r++;else if(o==="--all")n++;else if(KL.test(o))e++;else return!1;return e<=1&&r<=1&&n<=1}function ev(t){return t[0]==="list"&&t.length===1?{sub:"list",rest:[]}:t[0]==="resume"?{sub:"resume",rest:t.slice(1)}:t[0]==="status"&&JL(t.slice(1))?{sub:"status",rest:t.slice(1)}:null}var KL,XL=b(()=>{"use strict";KL=/^#[a-z0-9]{4}$|^\d+$|^loop-\d{4}-\d{2}-\d{2}T\d{4}-\d+-[a-z0-9-]+(\.status\.jsonl)?$|^loop_[a-z0-9]+_[a-z0-9]{4}$/});function Dwe(t){let e=_we(t.command)??xe.SERVER;switch(t.command){case"telemetry":return{tier:xe.LOCAL,handler:"telemetry",params:{}};case"config":return Nbt(t);case"mcp":return xbt(t);case"prompt":return Obt(t);case"stats":return Bbt(t);case"history":return Mbt(t);case"doctor":return{tier:xe.LOCAL,handler:"doctor",params:{}};case"goals":return{tier:xe.LOCAL,handler:"goals",params:{}};case"install":return{tier:xe.LOCAL,handler:"install",params:{}};case"chat":return{tier:xe.SERVER,handler:"chat",params:{continueChat:t.flags.continueChat}};case"run":return Pbt(t);case"agent":return{tier:xe.SERVER,handler:"agent",params:{interactive:!t.query}};case"loop":{let r=[...t.subcommand?[t.subcommand]:[],...t.args??[]];return ev(r)?.sub==="status"?{tier:xe.LOCAL,handler:"loop-status",params:{}}:{tier:xe.SERVER,handler:"loop",params:{}}}case"telegram":return{tier:xe.SERVER,handler:"telegram",params:{action:t.subcommand??t.args[0]??"start"}};case"sessions":return{tier:xe.LOCAL,handler:"sessions",params:{action:t.subcommand??t.args[0]??"list"}};case"worktree":return{tier:xe.LOCAL,handler:"worktree",params:{action:t.subcommand??t.args[0]??"list",name:t.subcommand?t.args[0]:t.args[1]}};case"soul":return{tier:xe.LOCAL,handler:"soul",params:{action:t.subcommand??t.args[0]??"show",name:t.subcommand?t.args[0]:t.args[1]}};case"cloud":return{tier:xe.LOCAL,handler:"cloud",params:{action:t.subcommand??t.args[0]??"status"}};case"connect":case"disconnect":case"connections":case"login":return{tier:xe.LOCAL,handler:"connections",params:{}};case"skill":return{tier:xe.LOCAL,handler:"skill",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"plugin":return{tier:xe.LOCAL,handler:"plugin",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"persona":return{tier:xe.LOCAL,handler:"persona",params:{action:t.args[0]||"help",target:t.args[1]||null,extraArgs:t.args.slice(2)}};case"upgrade":return{tier:xe.LOCAL,handler:"upgrade",params:{version:t.args[0]||null}};case"help":return{tier:xe.LOCAL,handler:"help",params:{command:t.subcommand}};case"version":return{tier:xe.LOCAL,handler:"version",params:{}};case"query":default:return{tier:e,handler:"query",params:{query:t.query,stdinContent:t.stdinContent}}}}function Nbt(t){let e=t.subcommand??t.args[0]??"show";return{tier:xe.LOCAL,handler:`config:${e}`,params:{key:t.args[0],value:t.args[1]}}}function xbt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`mcp:${e}`,params:{name:t.args[0],args:t.args.slice(1)}}}function Obt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`prompt:${e}`,params:{name:t.args[0],args:t.args.slice(1)}}}function Bbt(t){let e=t.subcommand??t.args[0];return{tier:xe.LOCAL,handler:e?`stats:${e}`:"stats",params:{}}}function Mbt(t){let e=t.subcommand??t.args[0]??"list";return{tier:xe.LOCAL,handler:`history:${e}`,params:{query:t.args[0],id:t.args[0]}}}function Pbt(t){let e=[...t.subcommand?[t.subcommand]:[],...t.args],r=[];for(let o=0;o<e.length;o++){let i=e[o];if(Lbt.has(i)){e[o+1]!==void 0&&!e[o+1].startsWith("-")&&o++;continue}i.startsWith("-")||r.push(i)}let n=r.join(" ");return{tier:xe.SERVER,handler:"run",params:{operation:n}}}var Lbt,Rwe=b(()=>{"use strict";r_();Wz();XL();Lbt=new Set(["--inference","--model","--host","--continue-chat","-c","--signature","--base"])});import*as Zm from"fs";import*as Ir from"path";import{homedir as Vz}from"os";function Jz(t,e){return e?t.replace(Ubt,e):t}function At(t,e,r){let n=Jz(t,r?.tempDir);for(let o of Qbt){if(n===o){n=Vz();break}if(n.startsWith(`${o}/`)){n=Ir.join(Vz(),n.slice(o.length+1));break}}return $bt.test(n)?{ok:!1,reason:"invalid-home-form",form:t}:{ok:!0,resolved:Ir.isAbsolute(n)?n:Ir.resolve(e,n)}}function Tr(t){return t.session?.projectPath||t.cwd||process.cwd()}function Cc(t){return`Invalid file_path '${t.form}': '~name' home expansion is not supported. Use an absolute path, a workspace-relative path, or '~/'.`}function Gbt(t){if(Ir.isAbsolute(t))return t;let e=`path-guard: expected an absolute path but got '${t}'. Resolve it with resolveToolPath(raw, base) first (AF-147).`;if(process.env.VITEST||process.env.NODE_ENV==="test"||process.env.NODE_ENV==="development")throw new Error(e);return process.emitWarning(e),Ir.resolve(process.cwd(),t)}function ii(t){return Nwe?t.toLowerCase():t}function yo(t){let e=Gbt(t),r=[],n=e;for(;;)try{let o=Zm.realpathSync(n);return r.length?Ir.join(o,...r.reverse()):o}catch{let o=Ir.dirname(n);if(o===n)return e;r.push(Ir.basename(n)),n=o}}function Xz(t,e){let r=yo(e),n=ii(t),o=ii(r);if(n===o)return!0;let i=Ir.relative(o,n);return i.length>0&&!i.startsWith("..")&&!Ir.isAbsolute(i)}function Hbt(t){let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${e}$`,Nwe?"i":"")}function jbt(t,e=!1){for(let n of Kz){if(e&&n==="~/.aii")continue;let o=At(n,Vz());if(!o.ok)throw new Error(`path-guard: SENSITIVE_DIRS entry '${n}' is not a resolvable path form`);if(Xz(t,o.resolved))return!0}let r=Ir.basename(t);for(let n of Fbt)if(Hbt(n).test(r))return!0;return!1}function ZL(t,e){let r=e.projectMemoryDir;if(!r||!Ir.isAbsolute(r))return!1;let n=At(t,e.base,{tempDir:e.tempDir});if(!n.ok)return!1;let o=Ir.resolve(n.resolved);if(Ir.dirname(o)!==Ir.resolve(r)||!/^[a-z0-9][a-z0-9_-]{0,99}\.md$/.test(Ir.basename(o)))return!1;try{if(Zm.realpathSync(r)!==Ir.resolve(r)||Zm.lstatSync(r).isSymbolicLink())return!1;let i=Zm.lstatSync(o);if(i.isSymbolicLink()||!i.isFile())return!1}catch(i){if(i.code!=="ENOENT"||!Zm.existsSync(r))return!1}return Ir.dirname(yo(o))===Ir.resolve(r)}function qbt(t){return ii(t).split(Ir.sep).includes(".git")}function Ma(t,e){return Xz(yo(t),e)}function Hn(t,e){let r=At(t,e.base,{tempDir:e.tempDir});if(!r.ok)return"deny-sensitive";let n=yo(r.resolved),o=ZL(t,e);if(jbt(n,o))return"deny-sensitive";if(e.op==="write"){if(qbt(n))return"deny-sensitive";let i=[e.workspaceRoot,...e.allowWrite??[]];if(!(o||i.some(a=>Xz(n,a))))return"deny-outside-workspace"}return"allow"}var Nwe,Kz,Fbt,Qbt,Ubt,$bt,ro=b(()=>{"use strict";Nwe=process.platform==="darwin"||process.platform==="win32",Kz=["~/.ssh","~/.aws","~/.config/aws","~/.gnupg","~/.kube","~/.docker","~/.config/gcloud","~/.config/gh","~/.config/anthropic","~/.config/openai","~/.aii","~/.config/aii"],Fbt=[".env",".env.*","*.pem","*.key","id_rsa","id_*","*_rsa","*_ed25519",".netrc",".pgpass",".git-credentials",".npmrc","*_history"],Qbt=["~","$HOME","${HOME}"],Ubt=/^\$\{?AII_TMPDIR\}?(?=\/|$)/,$bt=/^~(?![/\\]|$)/});import*as eh from"path";function zbt(t,e){let r=At(t,e);return r.ok?r.resolved:eh.resolve(e,t)}function eP(t,e){if(!t||t.denyWrite.length===0&&t.denyTools.length===0){vl=null;return}vl={projectRoot:yo(zbt(e,process.cwd())),denyWrite:[...t.denyWrite],denyTools:new Set(t.denyTools.map(r=>r.toLowerCase())),sources:t.sources}}function jp(t,e){if(!vl)return null;let r=o=>({message:`denied by project config \u2014 ${vl.sources.get(`tool:${o.toLowerCase()}`)??".aii/settings.json"}: permissions.deny_tools includes "${o}". ${xwe}`}),n=t.toLowerCase();if(vl.denyTools.has(n))return r(t);if(e){let o=`mcp__${e.toLowerCase()}`;if(vl.denyTools.has(o))return r(o)}return null}function th(t,e){if(!vl||vl.denyWrite.length===0)return null;let r=At(t,e);if(!r.ok)return null;let n=yo(r.resolved),o=eh.relative(vl.projectRoot,n);if(o===""||o.startsWith("..")||eh.isAbsolute(o))return null;o=o.split(eh.sep).join("/");let i=o.match(/^\.aii\/worktrees\/[^/]+\/(.+)$/);i&&(o=i[1]);for(let s of vl.denyWrite)if(Wbt(s,o))return{message:`denied by project config \u2014 ${vl.sources.get(`write:${s}`)??".aii/settings.json"}: permissions.deny_write ${JSON.stringify([s])}. ${xwe}`};return null}function Wbt(t,e){let r=t.replace(/\\/g,"/"),n=e.replace(/\\/g,"/"),o="";for(let i=0;i<r.length;i++){let s=r[i];s==="*"?r[i+1]==="*"?r[i+2]==="/"?(o+="(?:.*/)?",i+=2):(o+=".*",i+=1):o+="[^/]*":s==="?"?o+="[^/]":o+=s.replace(/[.+^${}()|[\]\\]/g,"\\$&")}return new RegExp(`^${o}$`,Ybt?"i":"").test(n)}var Ybt,vl,xwe,IC=b(()=>{"use strict";ro();Ybt=process.platform==="darwin"||process.platform==="win32",vl=null;xwe="Project config can only narrow permissions, never widen them. Override for this session: aii --no-project-config"});var eW={};ae(eW,{MCPConfigManager:()=>hn,MCP_CATALOG:()=>n_});import*as qp from"fs";import*as tP from"path";import*as Zz from"os";var n_,hn,Zu=b(()=>{"use strict";Gu();n_={github:{name:"GitHub",description:"GitHub API integration for repos, issues, PRs, and more",command:"npx",args:["-y","@modelcontextprotocol/server-github"],env:{GITHUB_PERSONAL_ACCESS_TOKEN:"${GITHUB_TOKEN}"},category:"development"},filesystem:{name:"Filesystem",description:"Read/write files on the local filesystem",command:"npx",args:["-y","@modelcontextprotocol/server-filesystem",Zz.homedir()],category:"system"},"brave-search":{name:"Brave Search",description:"Web search using Brave Search API",command:"npx",args:["-y","@brave/brave-search-mcp-server"],env:{BRAVE_API_KEY:"${BRAVE_API_KEY}"},category:"search"},sqlite:{name:"SQLite",description:"Query SQLite databases",command:"uvx",args:["mcp-server-sqlite","--db-path","./database.db"],category:"database"},postgres:{name:"PostgreSQL",description:"Query PostgreSQL databases",command:"npx",args:["-y","@anthropic/mcp-server-postgres"],env:{DATABASE_URL:"${DATABASE_URL}"},category:"database"},"chrome-devtools":{name:"Chrome DevTools",description:"Control Chrome browser via DevTools protocol",command:"npx",args:["chrome-devtools-mcp@latest"],category:"browser"},memory:{name:"Memory",description:"Persistent memory storage for conversation context",command:"npx",args:["-y","@modelcontextprotocol/server-memory"],category:"utility"},puppeteer:{name:"Puppeteer",description:"Browser automation with Puppeteer",command:"npx",args:["-y","@anthropic/mcp-server-puppeteer"],category:"browser"}},hn=class{configPath;constructor(e){this.configPath=e||tP.join(Zz.homedir(),".aii","mcp_servers.json"),this.ensureConfigDir()}ensureConfigDir(){cs(tP.dirname(this.configPath),448)}loadConfig(){if(!qp.existsSync(this.configPath))return{mcpServers:{}};try{let e=qp.readFileSync(this.configPath,"utf-8"),r=JSON.parse(e);return typeof r=="object"&&r!==null?r:{mcpServers:{}}}catch{return{mcpServers:{}}}}saveConfig(e){try{return this.ensureConfigDir(),qp.writeFileSync(this.configPath,JSON.stringify(e,null,2),"utf-8"),!0}catch{return!1}}backupConfig(){if(!qp.existsSync(this.configPath))return!0;try{let e=this.configPath+".backup";return qp.copyFileSync(this.configPath,e),!0}catch{return!1}}getConfigPath(){return this.configPath}}});function Xbt(t){let e=[];for(let[r,n]of Object.entries(t))if(typeof n=="string")Jbt.some(o=>r.endsWith(o))||e.push(n);else if(n&&typeof n=="object")for(let o of Object.values(n))typeof o=="string"&&e.push(o);return e}function Zbt(t){let e=[];if(t){t.secretStrings&&e.push(...t.secretStrings),t.secrets&&e.push(...Xbt(t.secrets));let r=t.env??{};for(let n of Owe){let o=r[n];typeof o=="string"&&e.push(o)}if(t.mcpEnv)for(let n of Object.values(t.mcpEnv))typeof n=="string"&&e.push(n);return t.apiKeys&&e.push(...t.apiKeys),e}try{e.push(...ie().getAllSecretStrings())}catch{}for(let r of Owe){let n=process.env[r];typeof n=="string"&&e.push(n)}try{let r=new hn().loadConfig();for(let n of Object.values(r.mcpServers??{})){let o=n.env;if(o)for(let i of Object.values(o))typeof i=="string"&&e.push(i)}}catch{}try{let r=ie().getConfig();r?.api?.key&&e.push(r.api.key),Array.isArray(r?.api?.keys)&&e.push(...r.api.keys.filter(n=>typeof n=="string"))}catch{}return e}function Bwe(t){let e=Array.from(new Set(t??Zbt())).filter(r=>typeof r=="string"&&r.length>=Vbt).sort((r,n)=>n.length-r.length);return e.length===0?r=>r:r=>{let n=r;for(let o of e)n.includes(o)&&(n=n.split(o).join(Kbt));return n}}function Mwe(t,e){try{return Hn(t,{op:"read",workspaceRoot:e,base:e,allowWrite:[]})==="deny-sensitive"}catch{return!1}}var Vbt,Kbt,Jbt,Owe,Lwe=b(()=>{"use strict";ro();Qe();Zu();Vbt=8,Kbt="[REDACTED]",Jbt=["_url","_expiry","_refreshed_at","_account"],Owe=["ANTHROPIC_API_KEY","OPENAI_API_KEY","GEMINI_API_KEY","DEEPSEEK_API_KEY","MOONSHOT_API_KEY","ZAI_API_KEY","OPENROUTER_API_KEY","XAI_API_KEY","AII_API_KEY","AII_ANTHROPIC_API_KEY","AII_OPENAI_API_KEY","AII_GEMINI_API_KEY","AII_DEEPSEEK_API_KEY","AII_MOONSHOT_API_KEY","AII_ZAI_API_KEY","AII_OPENROUTER_API_KEY","AII_XAI_API_KEY"]});var iW={};ae(iW,{EXIT_CLEANUP_DEADLINE_MS:()=>oi,TRACE_FLUSH_DEADLINE_MS:()=>jwe,TRACE_MAX_FILE_BYTES:()=>$we,TRACE_PROMPT_MAX_BYTES:()=>nP,TRACE_TEXT_FLUSH_BYTES:()=>Gwe,TRACE_TEXT_FLUSH_MS:()=>Hwe,TRACE_TOOL_IO_MAX_BYTES:()=>rP,TRACE_WITHHELD:()=>rW,TraceWriter:()=>iP,attachTraceWriter:()=>oW,exitAfterTraceFlush:()=>fs,flushTraceWriters:()=>ih,isTracingEnabled:()=>qwe,shutdownAndExit:()=>Yp,withDeadline:()=>oh});import{appendFile as ewt,chmod as Pwe,mkdir as twt,stat as rwt}from"fs/promises";import{existsSync as nwt}from"fs";import{dirname as Fwe}from"path";function rh(t,e){let r=Buffer.byteLength(t,"utf8");if(r<=e)return t;let n=Buffer.from(t,"utf8").subarray(0,e),o=n.length;for(;o>0&&(n[o-1]&192)===128;)o--;return o>0&&n[o-1]&128&&o--,n.subarray(0,o).toString("utf8")+`\u2026 [truncated ${r-e} bytes]`}function Qwe(t){return t.replace(/[\x00-\x08\x0B-\x1F\x7F-\x9F]/g,"").replace(/\/\/\S+@/g,"//")}function oh(t,e){return new Promise(r=>{let n=setTimeout(r,e);n.unref?.(),Promise.resolve(t).catch(()=>{}).finally(()=>{clearTimeout(n),r()})})}async function ih(t=jwe){let e=[];for(let s of tv){let a=s.deref();a?e.push(a):tv.delete(s)}for(let s of e)try{s.closeOpenTurnAbandoned()}catch{}let r=[...oP];if(e.length===0&&r.length===0)return;let n=Date.now();await oh(Promise.all([...e.map(s=>s.flushNow()),...r]),t);let o=[...oP].filter(s=>!r.includes(s));if(o.length===0)return;let i=t-(Date.now()-n);i<=0||await oh(Promise.all(o),i)}function nW(){return rv||(rv=(async()=>{await oh(ut.cleanup(),oi),ut.restoreTerminal(),await ih()})()),rv}async function Yp(t){return nh=Math.max(nh,t),await nW().catch(()=>{}),process.exit(nh)}function fs(t){if(nh=Math.max(nh,t),rv&&tW){ut.restoreTerminal(),process.exit(nh);return}if(rv){tW=!0,nW().finally(()=>process.exit(nh));return}tW=!0;let e=setTimeout(()=>{try{process.stderr.isTTY&&process.stderr.write(`
372
372
  shutting down\u2026 (Ctrl+C again to force)
373
373
  `)}catch{}},300);e.unref?.(),nW().finally(()=>{clearTimeout(e),process.exit(nh)})}function qwe(){let e=process.env.AII_TRACE?.trim().toLowerCase();if(e){if(e==="0"||e==="false"||e==="off"||e==="no")return!1;if(e==="1"||e==="true"||e==="on"||e==="yes")return!0}try{if(ie().getConfig()?.trace?.enabled===!1)return!1}catch{}return!0}function oW(t,e={}){if(!qwe())return null;try{let r=new iP(t,e);for(let n of tv)n.deref()||tv.delete(n);return r.registerSelf(tv),Uwe||(Uwe=!0,ut.registerFinal("trace-writer-flush",()=>ih())),r}catch{return null}}var $we,rP,nP,Gwe,Hwe,rW,owt,tv,oP,Uwe,jwe,rv,nh,tW,iP,kl=b(()=>{"use strict";Ec();Lwe();Qe();yc();ZA();ZA();$we=10*1024*1024,rP=4096,nP=16*1024,Gwe=8*1024,Hwe=1e3,rW="[withheld: sensitive path]";owt=["content","new_string","old_string","text","replacement","data"];tv=new Set,oP=new Set,Uwe=!1,jwe=250;rv=null,nh=0,tW=!1;iP=class{baseDir;maxFileBytes;redactorFactory;isSensitive;clock;sessionId=null;cwd=process.cwd();turnId=null;redact=e=>e;bytesWritten=0;inert=!1;opened=!1;textBuffer="";textTimer=null;withheldCallIds=new Set;knownCallIds=new Set;pendingSensitive=0;chain=Promise.resolve();emitterRef=null;handlers=[];selfRef=null;registry=null;constructor(e,r={}){this.baseDir=r.baseDir??Gs(),this.maxFileBytes=r.maxFileBytes??$we,this.redactorFactory=r.redactor??(()=>Bwe()),this.isSensitive=r.isSensitivePath??Mwe,this.clock=r.clock??Date.now,this.subscribe(e)}subscribe(e){this.emitterRef=e;let r=(n,o)=>{this.handlers.push([n,o]),e.on(n,o)};r("turnStart",(n,o,i,s,a,c)=>{if(typeof i=="string"&&i.startsWith("subagent_")){this.inert=!0;return}this.sessionId&&this.sessionId!==i&&(this.opened=!1,this.bytesWritten=0,this.inert=!1),this.sessionId=i,this.cwd=c||process.cwd(),this.turnId=n,this.redact=this.redactorFactory(),this.write({type:"turn_start",turn_id:n,session_id:i,provider:s,model:a,cwd:c,input:rh(this.redact(o??""),nP)})}),r("turnEnd",(n,o,i,s)=>{this.flushText(),this.write({type:"turn_end",turn_id:n,status:o,duration_ms:i,final_answer:s===null?null:rh(this.redact(s),nP)}),this.turnId=null}),r("stateChange",n=>{this.flushText(),this.write({type:"state",state:n})}),r("paused",()=>{this.flushText(),this.write({type:"paused"})}),r("token",n=>{if(this.textBuffer+=n,Buffer.byteLength(this.textBuffer,"utf8")>=Gwe){this.flushText();return}this.textTimer||(this.textTimer=setTimeout(()=>this.flushText(),Hwe),this.textTimer.unref?.())}),r("toolCall",(n,o,i)=>{this.flushText();let s=this.argsTouchSensitivePath(o);s&&(i&&this.withheldCallIds.add(i),this.pendingSensitive++),this.knownCallIds.add(i??""),this.write({type:"tool_call",call_id:i??null,name:n,args:this.serializeArgs(o,s)})}),r("toolResultCompleted",(n,o,i,s,a)=>{this.flushText(),this.redact=this.redactorFactory();let c=a??n,l=c?this.knownCallIds.has(c):!1,u=(c?this.withheldCallIds.has(c):!1)||!l&&this.pendingSensitive>0;this.write({type:"tool_result",call_id:c??null,local_call_id:n??null,name:o,success:i?.success??!1,duration_ms:typeof s=="number"?s:null,output:u?rW:rh(this.redact(i?.output??""),rP),error:i?.error?rh(this.redact(i.error),rP):void 0}),c&&this.withheldCallIds.delete(c)&&(this.pendingSensitive=Math.max(0,this.pendingSensitive-1)),c&&this.knownCallIds.delete(c)}),r("iterationUsage",(n,o,i,s)=>{this.write({type:"usage",scope:"iteration",iteration:n,input_tokens:o,output_tokens:i,cost_usd:s})}),r("usage",(n,o,i)=>{this.write({type:"usage",scope:"turn",input_tokens:n,output_tokens:o,cost_usd:i})}),r("connEvent",n=>{this.flushText(),n.errorClass!==void 0&&(this.redact=this.redactorFactory());let o={lost:"conn_lost",retry:"conn_retry",restored:"conn_restored",abandoned:"window_abandoned"}[n.kind];o&&this.write({type:o,...n.errorClass!==void 0?{error_class:rh(this.redact(Qwe(n.errorClass)),200)}:{},...n.attempt!==void 0?{attempt:n.attempt}:{},...n.elapsedMs!==void 0?{elapsed_ms:n.elapsedMs}:{},...n.outageMs!==void 0?{outage_ms:n.outageMs}:{},...n.reason!==void 0?{reason:n.reason}:{},...n.spentMs!==void 0?{spent_ms:n.spentMs}:{},...n.madeProgress!==void 0?{made_progress:n.madeProgress}:{}})}),r("loopEnd",n=>{this.flushText(),this.write({type:"loop_end",status:n.status,exit_reason:rh(this.redact(Qwe(n.exitReason)),100),iterations:n.iterations,duration_ms:n.durationMs})})}argsTouchSensitivePath(e){if(!e)return!1;for(let[r,n]of Object.entries(e))if(typeof n=="string"&&/path|file|dir/i.test(r)&&this.isSensitive(n,this.cwd))return!0;return!1}serializeArgs(e,r){if(!e)return"{}";let n=(s,a)=>{if(r&&a!==void 0&&owt.includes(a))return rW;if(typeof s=="string")return this.redact(s);if(Array.isArray(s))return s.map(c=>n(c));if(s&&typeof s=="object"){let c={};for(let[l,u]of Object.entries(s))c[l]=n(u,l);return c}return s},o=n(e),i;try{i=JSON.stringify(o)??"{}"}catch{i='"[unserializable args]"'}return rh(this.redact(i),rP)}flushText(){if(this.textTimer&&(clearTimeout(this.textTimer),this.textTimer=null),!this.textBuffer)return;let e=this.textBuffer;this.textBuffer="",this.write({type:"text",content:rh(this.redact(e),nP)})}write(e){if(!(this.inert||!this.sessionId))try{this.writeUnsafe(e)}catch{this.inert=!0}}writeUnsafe(e){let r=JSON.stringify({ts:new Date(this.clock()).toISOString(),...this.turnId?{turn_id:this.turnId}:{},...e})+`
374
374
  `,n=Buffer.byteLength(r,"utf8");if(this.bytesWritten+n>this.maxFileBytes){this.inert=!0;let o=JSON.stringify({ts:new Date(this.clock()).toISOString(),type:"truncated",reason:"size-cap"})+`
@@ -390,7 +390,7 @@ shutting down\u2026 (Ctrl+C again to force)
390
390
  `),s1e="CODEX_ENTITLEMENT_DENIED:",t1t=["\u25A0 OpenAI accepted your sign-in but declined Codex access for your current plan."," OpenAI decides which ChatGPT subscription tiers may use Codex sign-in \u2014 this is not an Aii bug."," Today: paste an OpenAI API key instead (aii setup \u2192 OpenAI) \xB7 keep the sign-in; it activates if OpenAI enables your tier."].join(`
391
391
  `),UW=[{prefix:JIt,wall:XIt},{prefix:ZIt,wall:e1t},{prefix:s1e,wall:t1t}],r1t="PROVIDER_AUTH_REJECTED:",n1t="upstream 401 Unauthorized:",o1t=`${r1t} ${n1t}`,i1t=/"status":\s*401\b|token_expired/;CP="\u25D0 Your provider credential was rejected upstream \u2014 expired, rotated, or invalid. Sign-in lanes: aii connections \xB7 API keys: aii setup";$W="\u25D0 Your sign-in token was refreshed mid-turn \u2014 retry this step (autonomous runs retry automatically).",s1t=[ZM,CY,CP,$W];a1t="Note: Z.ai limits Coding Plans to their officially supported tools; Aii isn't listed yet.",c1t={zai:"glm"};hv={xai:{tier:"sanctioned",kind:"oauth",description:"SuperGrok / X Premium"},glm:{tier:"unofficial",kind:"plan-key",disclosure:"notice",notice:a1t,description:"GLM Coding Plan (flat-rate)"},claude:{tier:"blocked",wall:VIt},openai:{tier:"unofficial",kind:"oauth",disclosure:"consent",consentCopy:wCe,description:"ChatGPT subscription (Codex)"},google:{tier:"blocked",wall:KIt}},l1t={sanctioned:"sanctioned",unofficial:"unofficial (explicit consent required)",blocked:"blocked (provider terms)",unavailable:"unavailable (pending provider sanction)"},GW="Other providers use API keys \u2014 aii setup.",HW="Sign in: aii connect grok \xB7 status: aii connections"});function UC(t,e){let r=typeof t=="object"&&t!==null?t:{},n=r.error,o="",i=typeof r.error_description=="string"?r.error_description:"";if(typeof n=="string")o=n;else if(typeof n=="object"&&n!==null){let c=n;o=[c.code,c.type,c.error].find(l=>typeof l=="string")??"",!i&&typeof c.message=="string"&&(i=c.message)}let s=[o,i].filter(c=>c.length>0),a=s.length>0?s.join(": "):`HTTP ${e}`;return{code:o,detail:pe(a).slice(0,160)}}function l1e(t){return t.code==="invalid_grant"||/invalid_grant/i.test(t.detail)}var vP=b(()=>{"use strict";Lt()});import{execFileSync as qW}from"node:child_process";function zW(t){if(!t)return!1;try{let e=new URL(t).protocol;return e==="https:"||e==="http:"}catch{return!1}}function WW(t){zW(t)&&(process.platform==="darwin"?qW("open",[t],{stdio:"ignore"}):process.platform==="win32"?qW("cmd",["/c","start","",t],{stdio:"ignore"}):qW("xdg-open",[t],{stdio:"ignore"}))}function YW(t){if(t?.aborted)throw new Fa}async function p_(t,e,r,n){let o=new AbortController,i=setTimeout(()=>o.abort(),n);try{let s=await t(e,{method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(r).toString(),signal:o.signal}),a=await s.text();return{ok:s.ok,status:s.status,text:a}}finally{clearTimeout(i)}}async function u1e(t,e={}){let r=e.fetchImpl??fetch,n=e.openBrowser??WW,o=e.sleep??(A=>new Promise(_=>setTimeout(_,A))),i=e.now??(()=>Date.now()),s=e.print??(A=>process.stdout.write(A+`
392
392
  `)),a=e.signal,c=e.requestTimeoutMs??1e4,l=(A,_)=>p_(r,A,_,c);YW(a);let u;try{u=await l(t.deviceEndpoint,{client_id:t.clientId,scope:t.scopes})}catch(A){throw A.name==="AbortError"?new Ar(`Sign-in unreachable (${new URL(t.deviceEndpoint).hostname} timed out). Check your network and retry.`):A}if(!u.ok)throw new Ar(`Device authorization failed to start (HTTP ${u.status}).`);let d;try{d=JSON.parse(u.text)}catch{throw new Ar("Device authorization returned an unreadable response.")}if(!d.device_code||!d.user_code||!d.verification_uri)throw new Ar("Device authorization response is missing required fields.");if(!zW(d.verification_uri))throw new Ar("Sign-in aborted: the provider returned a suspicious verification URL \u2014 refusing to open or display it.");let p=zW(d.verification_uri_complete)?d.verification_uri_complete:d.verification_uri;s(`\u2192 Opening ${pe(d.verification_uri)} in your browser${t.label?` (${t.label})`:""}`),s(`\u2192 If asked, enter the code: ${pe(d.user_code)}`),s("\u2192 Waiting for you to approve in the browser \u2026 (Ctrl+C to cancel)"),s(""),s(" Only enter this code if you started 'aii login' yourself \u2014 never from a link someone sent you.");try{n(p)}catch{s(" (Could not open a browser here \u2014 open the URL above on any device.)")}let f=Math.max(1,d.interval??p1t)*1e3,m=Number.isFinite(d.expires_in)&&d.expires_in>0?d.expires_in:d1t,h=i()+m*1e3;for(;;){YW(a);try{let A=await l(t.tokenEndpoint,{grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:d.device_code,client_id:t.clientId}),_;try{_=JSON.parse(A.text)}catch{_={}}if(A.ok&&typeof _.access_token=="string"&&_.access_token.length>0)return _;switch(UC(_,A.status).code||void 0){case"authorization_pending":break;case"slow_down":f+=f1t;break;case"access_denied":throw new Ar("Sign-in declined in the browser \u2014 nothing was saved.");case"expired_token":throw new Ar("The sign-in code expired. Run the command again to retry.");case void 0:break;default:throw new Ar(`Sign-in failed (${pe(String(_.error))}${_.error_description?`: ${pe(String(_.error_description))}`:""}).`)}}catch(A){if(A instanceof Ar||A instanceof Fa)throw A}if(i()>=h)throw new Ar("Timed out waiting for sign-in. Run the command again to retry.");await o(f),YW(a)}}var Ar,Fa,d1t,p1t,f1t,gv=b(()=>{"use strict";vP();Lt();Ar=class extends Error{constructor(e){super(e),this.name="ProviderAuthError"}},Fa=class extends Error{constructor(e="Sign-in cancelled \u2014 nothing was saved."){super(e),this.name="ProviderAuthCancelled"}},d1t=300,p1t=5,f1t=5e3});function VW(t,e){return Object.values(e.keys).some(r=>!!t.getSecret(r))}async function $C(t,e){if(!VW(t,e))return!1;if(e.keys.connected&&t.getSecret(e.keys.connected)!=="1")try{await t.setSecret(e.keys.connected,"1")}catch{throw new Tc}return!0}function KW(t){return t instanceof Error&&["InsecureTransportError","LaneUnavailableError","SubscriptionIntentError","BillingConsentRequiredError"].includes(t.name)}var Tc,sd,f_=b(()=>{"use strict";Tc=class extends Error{constructor(){super("Could not safely read or save subscription connection state. Repair your local credentials before retrying."),this.name="SubscriptionIntentError"}},sd=class extends Error{constructor(e){let r=e==="openai"?"chatgpt":"grok";super(`Your ${r} subscription could not be used. Run aii connect ${r} to reconnect, or deliberately run aii disconnect ${r} to use configured API access. Paid API billing was not authorized.`),this.name="BillingConsentRequiredError"}}});function m1e(t,e){d1e.has(e)||(d1e.add(e),t(e))}function p1e(t){try{let e=t.split(".");return e.length!==3?void 0:JSON.parse(Buffer.from(e[1],"base64url").toString("utf-8"))}catch{return}}async function kP(t,e,r={},n=gc){let o=r.now??(()=>Date.now());if(!e||typeof e.access_token!="string"||e.access_token.length===0)throw new Ar("Refusing to persist an incomplete token response.");let i=o()/1e3,s;if(typeof e.expires_in=="number"&&Number.isFinite(e.expires_in)&&e.expires_in>0)s=i+e.expires_in;else{let c=Number(p1e(e.access_token)?.exp);s=Number.isFinite(c)&&c>i?c:i+h1t}let a;if(e.id_token){let c=p1e(e.id_token),l=c?.email??c?.preferred_username??c?.sub;if(typeof l=="string"){let u=pe(l).trim();u&&(a=u)}}if(n.keys.connected)try{await t.setSecret(n.keys.connected,"1")}catch{throw new Tc}await t.setSecret(n.keys.access,e.access_token),e.refresh_token&&await t.setSecret(n.keys.refresh,e.refresh_token),await t.setSecret(n.keys.expiry,String(s)),await t.setSecret(n.keys.refreshedAt,String(i)),a&&await t.setSecret(n.keys.account,a),t.getSecret(n.keys.dead)&&await t.setSecret(n.keys.dead,"")}async function f1e(t,e,r){await $C(t,r),await t.setSecret(r.keys.dead,"1"),await t.setSecret(r.keys.access,""),await t.setSecret(r.keys.expiry,""),m1e(e,r.pl04Line)}async function GC(t,e={},r={},n=gc){let o=e.now??(()=>Date.now()),i=e.print??(E=>process.stdout.write(E+`
393
- `)),s=n.provider==="openai"?"OpenAI":"xAI";if(t.getSecret(n.keys.dead)==="1")return m1e(i,n.pl04Line),{status:"dead"};let a=t.getSecret(n.keys.access),c=t.getSecret(n.keys.refresh);if(!a&&!c)return{status:"none"};let l=o()/1e3,u=Number(t.getSecret(n.keys.expiry)),d=!!a&&Number.isFinite(u)&&l<u;if(!!a&&Number.isFinite(u)&&l<u-m1t&&!r.force)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};if(!c)return d?{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)}:(await f1e(t,i,n),{status:"dead"});let f=e.fetchImpl??fetch,m=e.requestTimeoutMs??1e4,h;try{h=await p_(f,n.tokenEndpoint,{grant_type:"refresh_token",refresh_token:c,client_id:n.clientId},m)}catch{if(d)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};throw new Ar(`Could not refresh your ${s} sign-in (network error). Check your connection and retry.`)}let A;try{A=JSON.parse(h.text)}catch{A={}}if(h.ok&&typeof A.access_token=="string"&&A.access_token.length>0)return await kP(t,A,e,n),{status:"ok",accessToken:A.access_token,account:t.getSecret(n.keys.account)};let _=UC(A,h.status);if(l1e(_))return await f1e(t,i,n),{status:"dead"};if(d)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};throw new Ar(`Could not refresh your ${s} sign-in (${_.detail}). Run aii connect ${n.provider==="openai"?"chatgpt":"grok"} to reconnect.`)}var m1t,h1t,d1e,Av=b(()=>{"use strict";gv();Qs();Qs();Lt();vP();f_();m1t=120,h1t=3600,d1e=new Set});function _v(t){return t?t===CP||FC(t)?!0:bP(t)?!1:/\b401\b|unauthoriz/i.test(t):!1}function DP(t){if(t)try{let e=ie();return e.reloadSecretsSync(),GCe().find(r=>e.getSecret(r.keys.access)===t)}catch{return}}async function RP(t=gc,e){let r=JW.get(t.provider);if(r)return r;ne(`reactive-401: refreshing ${t.provider} lane`);let n=(async()=>{try{let o=ie();o.reloadSecretsSync();let i=o.getSecret(t.keys.access);if(e&&i&&i!==e)return{status:"ok",accessToken:i};let s=await GC(o,{print:()=>{}},{force:!0},t);return s.status==="ok"?{status:"ok",accessToken:s.accessToken}:s.status==="dead"?{status:"dead"}:{status:"unavailable"}}catch{return{status:"unavailable"}}})().finally(()=>{JW.delete(t.provider)});return JW.set(t.provider,n),n}var JW,NP=b(()=>{"use strict";Qe();Av();QC();oC();pt();oC();JW=new Map});function h1e(t){return typeof t=="number"&&Number.isInteger(t)&&t>0?t:1}function xP(t,e){if(typeof t!="object"||t===null)return{kind:"malformed",reason:"frame is not an object"};let r=t.type;return typeof r!="string"?{kind:"malformed",reason:'frame has no string "type"'}:e.has(r)?{kind:"ok",frame:t}:{kind:"unknown",type:r,protocolVersion:h1e(t.protocol_version)}}function OP(t){if(typeof t!="object"||t===null||typeof t.type=="string")return null;let e=t.error;return typeof e!="string"||e===""?null:{unknown_model:"That model is not available on AiiCloud. Pick a model from your cloud dashboard (cloud.aiiware.com) or run with --inference server.",insufficient_credits:"Out of AiiCloud credits.",quota_exceeded:"Daily free-tier budget reached on AiiCloud.",quota_check_failed:"AiiCloud could not verify your quota \u2014 please retry.",worker_unavailable:"AiiCloud is temporarily unavailable \u2014 please retry, or run with --inference server."}[e]??`AiiCloud error: ${e}`}function m_(t){switch((t??"").toLowerCase()){case"quota_exceeded":case"insufficient_credits":return"budget_exhausted";case"worker_unavailable":case"quota_check_failed":return"transient";default:return"fatal"}}function BP(t){if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e.error=="string")return e.error}catch{}return t}function XW(t){return t==null||typeof t=="object"}function LP(t){switch(t.type){case"tool_request":return XW(t.input);case"mcp_tool_request":return XW(t.params);case"tool_batch_request":{let e=t.tools;return e==null||Array.isArray(e)&&e.every(r=>r==null||typeof r=="object"&&XW(r.input))}default:return!0}}function PP(t){return h1e(t)>2?"hard":"compatible"}function FP(t){return`This Aii Server speaks protocol v${t}, but your CLI speaks v2. Some responses may not work correctly. Update with: aii upgrade`}var Pi,g1e,A1e,MP,ef=b(()=>{"use strict";Pi=class extends Error{wireCode;origin;code="CLOUD_EXHAUSTED";constructor(e,r){super("cloud_exhausted"),this.wireCode=e,this.origin=r,this.name="CloudExhaustedError"}};g1e=new Set(["token","complete","error","purpose_ack","mcp_query_tools","mcp_tool_request","reasoning","reasoning_label","web_search_started","web_search_completed","follow_ups","task.step.updated","task.artifact.added"]),A1e=new Set(["output_budget","session_started","turn_ready","token","iteration_tokens_usage","tool_request","tool_batch_request","tool_status","complete","error","mcp_tools_loaded","permission_request","permission_resolution","mcp_query_tools","mcp_tool_request","reasoning","reasoning_label","web_search_started","web_search_completed","follow_ups","task.step.updated","task.artifact.added"]),MP=new Set(["tool_request","tool_batch_request","mcp_tool_request"])});var QP={};ae(QP,{HEADLESS_DEFAULT_POLICY:()=>eV,isAutonomous:()=>tf,mapPermissionMode:()=>tV,resolvePermissionPolicy:()=>si});function tV(t){switch(t){case"bypassPermissions":return"bypass";case"dontAsk":return"dontAsk";case"acceptEdits":return"acceptEdits";case"plan":return"plan";case"default":case void 0:return"auto";default:return U.warn(`Unrecognised permissionMode '${String(t)}' \u2014 falling back to 'dontAsk'. Valid values: default, acceptEdits, auto, dontAsk, bypassPermissions.`),"dontAsk"}}function g1t(t){let e=t.mode;return e==="normal"?"interactive":e in ZW?e:"interactive"}function si(t){let e=g1t(t),r={...ZW[e]};(t.outputFormat==="json"||t.outputFormat==="stream-json")&&(r.canPrompt=!1);let n=e==="interactive"&&t.connectionMode==="cloud",o=e==="interactive"&&t.connectionMode==="local";return{posture:e,...r,relayMirror:n,portalMirror:o}}function tf(t){return si(t).autonomous}var ZW,eV,Rl=b(()=>{"use strict";pt();ZW={interactive:{mutating:"prompt",riskyNonMutating:"prompt",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!0,autonomous:!1},auto:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},plan:{mutating:"autoDeny",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!1},dontAsk:{mutating:"autoDeny",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},acceptEdits:{mutating:"editsOnly",riskyNonMutating:"prompt",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!0,autonomous:!1},bypass:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!1,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},headless:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0}},eV={posture:"headless",...ZW.headless,relayMirror:!1,portalMirror:!1}});import UP from"node:fs";import _1e from"node:path";function E1e(t){if(!Object.hasOwn(t,"working_directory"))return;let e=t.working_directory;if(typeof e!="string"||!e.trim()||A1t.test(e)||_1e.isAbsolute(e)||e.startsWith("~")||e.includes("$")||e.includes("`"))throw new Error("Invalid working_directory: use an existing workspace-relative directory.");return e}function _1t(t,e){return Hn(t,{workspaceRoot:e,base:e,op:"read"})==="deny-sensitive"}function y1e(t,e){let r=Tr(e),n=_1e.resolve(r,t);if(_1t(n,r))throw new Error("Permission denied \u2014 command directory is a sensitive location.");try{let o=UP.realpathSync(n),i=UP.realpathSync(r),s=UP.statSync(i),a=UP.statSync(o);if(!a.isDirectory())throw new Error("not-directory");return{workspace:r,workspaceReal:i,workspaceDevice:s.dev,workspaceInode:s.ino,requested:t,resolved:n,canonical:o,device:a.dev,inode:a.ino,outside:!Ma(o,i),session:e.session,policy:JSON.stringify(si(e.session))}}catch{throw new Error('Command directory is unavailable; no command was executed. Omit working_directory or use exactly "." to run in the default workspace directory; otherwise choose an existing directory.')}}function $P(t,e){if(dh.has(t))return t;let r=E1e(t);if(r===void 0||r===".")return t;let n={...t};return dh.set(n,y1e(r,e)),Object.freeze(n)}function rV(t,e){return dh.get(t)?.canonical??e}function S1e(t){return dh.get(t)?.outside??!1}function Ev(t){return dh.get(t)?.canonical}function C1e(t){let e=dh.get(t);return e?JSON.stringify([e.canonical,e.device,e.inode,e.workspaceDevice,e.workspaceInode]):void 0}function ph(t){let e=dh.get(t);if(e)return`Directory: ${e.canonical}${e.outside?" (outside workspace)":""}`;let r=t.working_directory;return typeof r=="string"&&r!=="."?`Requested directory: ${r}`:void 0}function GP(t,e){let r=dh.get(t);if(!r)return E1e(t),e.cwd;if(e.session!==r.session||JSON.stringify(si(e.session))!==r.policy||Tr(e)!==r.workspace)throw new Error("Command directory changed; no command was executed.");let n=y1e(r.requested,e);if(n.workspaceReal!==r.workspaceReal||n.workspaceDevice!==r.workspaceDevice||n.workspaceInode!==r.workspaceInode||n.canonical!==r.canonical||n.device!==r.device||n.inode!==r.inode||n.outside!==r.outside)throw new Error("Command directory changed; no command was executed.");if(si(e.session).mutating==="autoDeny")throw new Error("Permission denied \u2014 this session cannot run commands.");return r.canonical}var dh,A1t,yv=b(()=>{"use strict";ro();Rl();dh=new WeakMap,A1t=/[\u0000-\u001f\u007f-\u009f]/});import{createHash as E1t}from"node:crypto";function nV(t){let e=t.trim().split(/\s+/).filter(Boolean),r=e[0]??"",n=y1t.has(r)?2:1;return`bash:${e.slice(0,n).join(" ")}`}function T1t(t){let e=t.trim().split(/\s+/).filter(Boolean),r=0;for(;r<e.length&&(e[r]==="sudo"||e[r]==="env"||/^\w+=/.test(e[r]));)r++;let n=e[r]?e[r].split("/").pop()??"":"",o=e[r+1]??"";return!!(n==="xargs"||n==="make"||n==="git"&&o==="config"||(n==="docker"||n==="podman")&&(o==="run"||o==="exec"||o==="create")||n==="find"&&e.some(i=>I1t.includes(i)))}function b1e(t,e){return oV(t,e)===null}function oV(t,e){if(t!=="Bash")return null;let r=typeof e.command=="string"?e.command:"";return S1t.test(r)?b1t.test(r)?"substitution":w1t.test(r)?"chained":"redirection":C1t.test(r)?"injection-flag":T1t(r)?"second-action":null}function v1t(t){try{return String(t)}catch{return"~unstringifiable"}}function HC(t,e){if(t===null)return"null";let r=typeof t;if(r==="undefined")return"~undef";if(r==="bigint")return`~big:${t.toString()}`;if(r==="number"){let n=t;return Number.isFinite(n)?JSON.stringify(n):`~num:${String(n)}`}if(r==="boolean"||r==="string")return JSON.stringify(t);if(r==="function"||r==="symbol")return`~${r}`;if(typeof t=="object"){let n=t;if(e.has(n))return"~cycle";e.add(n);try{if(Array.isArray(n))return`[${n.map(a=>HC(a,e)).join(",")}]`;let o=Object.getPrototypeOf(n);if(o!==Object.prototype&&o!==null)return n instanceof Map?`~map:[${[...n.entries()].map(([c,l])=>`${HC(c,e)}=>${HC(l,e)}`).sort().join(",")}]`:n instanceof Set?`~set:[${[...n.values()].map(c=>HC(c,e)).sort().join(",")}]`:`~exotic:${Object.prototype.toString.call(n)}:${v1t(n)}`;let i=Object.getOwnPropertySymbols(n).map(a=>a.toString()).sort().join(",");return`{${Object.keys(n).sort().map(a=>`${JSON.stringify(a)}:${HC(n[a],e)}`).join(",")}${i?`|sym:${i}`:""}}`}finally{e.delete(n)}}return"~unknown"}function iV(t){return E1t("sha256").update(HC(t??{},new WeakSet)).digest("hex").slice(0,16)}function sV(t,e,r,n){if(t==="Bash"){let o=typeof e.command=="string"?e.command:"",i=C1e(e);return i?`${nV(o)} @ ${i}`:nV(o)}if(t==="Write"||t==="Edit"){let o=typeof e.file_path=="string"?e.file_path:"";if(!o)return`${t}:`;let i=At(o,r,n);return i.ok?`${t}:${yo(i.resolved)}`:`${t}:invalid:${o}`}return`${t}:${iV(e)}`}function w1e(t,e,r,n){return t==="Bash"&&Ev(e)?`${nV(String(e.command??"")).replace(/^bash:/,"")} @ ${JSON.stringify(Ev(e))}`:t==="Bash"||t==="Write"||t==="Edit"?sV(t,e,r,n).replace(/^bash:/,""):`${t} (these exact arguments)`}var y1t,S1t,C1t,b1t,w1t,I1t,aV=b(()=>{"use strict";yv();ro();y1t=new Set(["git","npm","yarn","pnpm","make","docker","env","sudo","xargs","find","ssh","bash","sh","node","python","python3"]),S1t=/[;&|<>`\n]|\$\(/,C1t=/(^|\s)(-c|--config|-e|-o)(=|\s|$)/,b1t=/[`]|\$\(/,w1t=/[;&|\n]/,I1t=["-exec","-execdir","-ok","-okdir","-delete","-fprint","-fprintf"]});function HP(t){let e=t.findIndex(r=>r.value==="no");return e>=0?e:0}function cV(t,e){return t!==void 0&&t>=0&&t<e?t:0}function I1e(t,e){return{selectedIndex:cV(t?.defaultIndex,t?.options?.length??e),scrollOffset:0,isScrollMode:!1,isFeedbackMode:!1,feedbackText:""}}var lV=b(()=>{"use strict"});function dV(t){return t.replace(uV,"")}function k1t(t){return t.replace(/[\r\n\v\f\u0085\u2028\u2029]+/g," \u23CE ").replace(/\t+/g," ")}function Ur(t){return dV(pe(k1t(t??"")))}var uV,Qa=b(()=>{"use strict";Lt();uV=/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\u200B-\u200D\u2060\uFEFF\u00AD]/g});function T1e(t,e){if(t==="LoopWait")return e?"Loop \xB7 Resume scheduled":"Loop \xB7 Wait not scheduled";if(t==="LoopOutcome")return e?"Application \xB7 Outcome reported":"Application \xB7 Outcome not reported"}function v1e(t,e,r){if(!(t!=="LoopWait"&&t!=="LoopOutcome")){if(!r)return`${t==="LoopWait"?"Wait not scheduled":"Outcome not reported"} \xB7 ${Ur(e).slice(0,100)||"Expand for details"}`;try{let n=JSON.parse(e);if(t==="LoopWait"&&n.scheduled===!0&&typeof n.wake_at=="string"){let o=Date.parse(n.wake_at);if(Number.isFinite(o))return`Next cycle in ${Math.max(0,Math.ceil((o-Date.now())/1e3))}s \xB7 ${Ur(typeof n.reason=="string"?n.reason:"Scheduled continuation").slice(0,80)}`}if(t==="LoopOutcome"&&n.provenance==="adapter-reported"&&["confirmed","deferred","failed","unknown"].includes(n.status))return`Adapter reported: ${n.status} \xB7 ${Ur(typeof n.summary=="string"?n.summary:"").slice(0,80)}`}catch{}return"Unexpected host response \xB7 expand for details"}}var pV=b(()=>{"use strict";Qa()});var D1t,R1t,N1t,x1t,O1t,B1t,M1t,fh,Sv,rf,fV=b(()=>{"use strict";De();D1t={name:"classic",label:"Classic",description:"Aii jellyfish blue-purple (default)",accentColorName:"#3B82F6",userInputTextColorName:"#93C5FD",colors:{accent:g.hex("#3B82F6"),userInput:g.hex("#3B82F6"),userInputText:g.hex("#93C5FD"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#A855F7"),link:g.hex("#3B82F6").underline,heading:g.hex("#A855F7").bold,filePath:g.hex("#3B82F6"),indicator:g.hex("#3B82F6")}},R1t={name:"brand",label:"Brand",description:"aiiware.com official palette",accentColorName:"#4E6BF5",userInputTextColorName:"#A5B4FC",colors:{accent:g.hex("#4E6BF5"),userInput:g.hex("#4E6BF5"),userInputText:g.hex("#A5B4FC"),success:g.hex("#28CA41"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#4E6BF5"),link:g.hex("#4E6BF5").underline,heading:g.hex("#4E6BF5").bold,filePath:g.hex("#4E6BF5"),indicator:g.hex("#4E6BF5")}},N1t={name:"teal",label:"Teal",description:"Original teal accent",accentColorName:"#00BCD4",userInputTextColorName:"#67E8F9",colors:{accent:g.hex("#00BCD4"),userInput:g.hex("#00BCD4"),userInputText:g.hex("#67E8F9"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#00BCD4"),link:g.hex("#00BCD4").underline,heading:g.hex("#00BCD4").bold,filePath:g.hex("#00BCD4"),indicator:g.hex("#00BCD4")}},x1t={name:"indigo",label:"Indigo",description:"Bright periwinkle-blue",accentColorName:"#6B8AFF",userInputTextColorName:"#A5B4FC",colors:{accent:g.hex("#6B8AFF"),userInput:g.hex("#6B8AFF"),userInputText:g.hex("#A5B4FC"),success:g.hex("#28CA41"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#6B8AFF"),link:g.hex("#6B8AFF").underline,heading:g.hex("#6B8AFF").bold,filePath:g.hex("#6B8AFF"),indicator:g.hex("#6B8AFF")}},O1t={name:"forest",label:"Forest",description:"Natural green",accentColorName:"#22C55E",userInputTextColorName:"#86EFAC",colors:{accent:g.hex("#22C55E"),userInput:g.hex("#22C55E"),userInputText:g.hex("#86EFAC"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#22C55E"),link:g.hex("#22C55E").underline,heading:g.hex("#22C55E").bold,filePath:g.hex("#22C55E"),indicator:g.hex("#22C55E")}},B1t={name:"amber",label:"Amber",description:"Warm orange-gold",accentColorName:"#F59E0B",userInputTextColorName:"#FCD34D",colors:{accent:g.hex("#F59E0B"),userInput:g.hex("#F59E0B"),userInputText:g.hex("#FCD34D"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#F59E0B"),link:g.hex("#F59E0B").underline,heading:g.hex("#F59E0B").bold,filePath:g.hex("#F59E0B"),indicator:g.hex("#F59E0B")}},M1t={name:"grayscale",label:"Grayscale",description:"Accessible, no colors",accentColorName:"white",userInputTextColorName:"#CBD5E1",colors:{accent:g.reset,userInput:g.reset,userInputText:g.hex("#CBD5E1"),success:g.reset,warning:g.reset,error:g.bold,muted:g.dim,dim:g.dim,code:g.reset,link:g.underline,heading:g.bold,filePath:g.reset,indicator:g.bold}},fh={classic:D1t,brand:R1t,teal:N1t,indigo:x1t,forest:O1t,amber:B1t,grayscale:M1t},Sv="classic",rf=["classic","brand","teal","indigo","forest","amber","grayscale"]});var mh={};ae(mh,{BAND_STYLE_INFO:()=>jC,BAND_STYLE_ORDER:()=>nf,DEFAULT_BAND_STYLE:()=>jP,ThemeManager:()=>vc,getAccentColorName:()=>ze,getThemeColors:()=>oe,getUserInputTextColorName:()=>Cv,resolveBandBg:()=>h_});function h_(t,e){let r=jC[t];if(r.blend===null)return L1t;let n=/^#[0-9a-fA-F]{6}$/.test(e)?e:"#8B98A9",o=parseInt(n.replace("#",""),16),i=r.blend,s=(a,c)=>Math.round(a*i+c*(1-i));return"#"+(s(o>>16&255,mV[0])<<16|s(o>>8&255,mV[1])<<8|s(o&255,mV[2])).toString(16).padStart(6,"0")}function oe(){return vc.getInstance().getColors()}function ze(){return vc.getInstance().getAccentColorName()}function Cv(){return vc.getInstance().getUserInputTextColorName()}var nf,jC,jP,mV,L1t,vc,of=b(()=>{"use strict";fV();Qe();nf=["subtle","themed","neutral","bold"],jC={subtle:{blend:.16,description:"Faint theme tint \u2014 quietest"},themed:{blend:.28,description:"Theme-tinted band (default)"},neutral:{blend:null,description:"Fixed neutral gray (theme-independent)"},bold:{blend:.4,description:"Strong theme tint \u2014 selection-like"}},jP="themed",mV=[20,22,27],L1t="#262C34";vc=class t{static instance=null;activeTheme;bandStyle=null;constructor(){this.activeTheme=fh[Sv]}static getInstance(){return t.instance||(t.instance=new t),t.instance}getTheme(){return this.activeTheme}getColors(){return this.activeTheme.colors}getThemeName(){return this.activeTheme.name}setTheme(e){let r=fh[e];if(!this.isValidTheme(e)){let n=rf.join(", ");throw new Error(`Unknown theme: "${e}". Available themes: ${n}`)}this.activeTheme=r}isValidTheme(e){return Object.hasOwn(fh,e)}getAvailableThemes(){return rf.map(e=>fh[e])}getAccentColorName(){return this.activeTheme.accentColorName}getUserInputTextColorName(){return this.activeTheme.userInputTextColorName}getBandStyle(){if(this.bandStyle)return this.bandStyle;try{let e=ie().get("theme_band");if(e&&this.isValidBandStyle(e))return this.bandStyle=e,this.bandStyle}catch{}return this.bandStyle=jP,this.bandStyle}setBandStyle(e){if(!this.isValidBandStyle(e))throw new Error(`Unknown band style: "${e}". Available: ${nf.join(", ")}`);this.bandStyle=e}isValidBandStyle(e){return nf.includes(e)}reset(){this.activeTheme=fh[Sv],this.bandStyle=null}}});var k1e={};ae(k1e,{BAND_STYLE_INFO:()=>jC,BAND_STYLE_ORDER:()=>nf,BUILT_IN_THEMES:()=>fh,DEFAULT_BAND_STYLE:()=>jP,DEFAULT_THEME:()=>Sv,THEME_ORDER:()=>rf,ThemeManager:()=>vc,getAccentColorName:()=>ze,getThemeColors:()=>oe,getUserInputTextColorName:()=>Cv,resolveBandBg:()=>h_});var ur=b(()=>{"use strict";fV();of()});import{resolve as P1t}from"path";import{pathToFileURL as F1t}from"node:url";function Q1t(){let t=process.env.TERM??"",e=process.env.TERM_PROGRAM??"",r=process.env.COLORTERM??"",n=process.env.WT_SESSION??"",o=process.env.VSCODE_INJECTION??process.env.TERM_PROGRAM==="vscode";return process.stdout.isTTY?e==="iTerm.app"||e==="Hyper"||e==="vscode"||e==="WezTerm"||e==="Alacritty"||n||o||t.includes("xterm-256color")||t.includes("screen-256color")||t.includes("tmux")||t==="xterm-kitty"||r==="truecolor"?!0:t!=="dumb":!1}function qC(){return hV===null&&(hV=Q1t()),hV}function U1t(){return process.platform==="darwin"?"Cmd":"Ctrl"}function R1e(){return D1e||!qC()?"":(D1e=!0,` (${U1t()}+Click to open)`)}function $1t(t,e){return qC()?`\x1B]8;;${e}\x07${t}\x1B]8;;\x07`:t}function G1t(t,e,r){let n=e??t;if(!qC())return n;let o=P1t(t),i=F1t(o).href;return r!==void 0&&r>0&&(i+=`#L${r}`),$1t(n,i)}function N1e(t,e,r){let n=process.env.HOME??process.env.USERPROFILE??"",o=t;n&&t.startsWith(n)&&(o="~"+t.slice(n.length));let i=r??(e?`${o}:${e}`:o);if(!qC())return oe().filePath(i);let s=oe().accent(i);return G1t(t,s,e)}var hV,D1e,x1e=b(()=>{"use strict";ur();hV=null,D1e=!1});function H1t(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=196608&&t<=201551||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=12784&&t<=12799||t>=44032&&t<=55215||t>=4352&&t<=4607||t>=12592&&t<=12687||t>=65280&&t<=65519&&(t>=65281&&t<=65376||t>=65504&&t<=65510)||t>=12288&&t<=12351||t>=12800&&t<=13055||t>=13056&&t<=13311||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=128512&&t<=128591||t>=128640&&t<=128767||t>=129648&&t<=129791||t>=9984&&t<=10175||t>=9728&&t<=9983}function j1t(t){return t<32&&t!==9||t===127||t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65056&&t<=65071||t===8203||t===8204||t===8205||t===65279||t>=65024&&t<=65039||t>=917760&&t<=917999}function So(t){let e=t.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),r=0;for(let n of e){let o=n.codePointAt(0)??0;j1t(o)||(H1t(o)?r+=2:r+=1)}return r}function ad(t,e){if(e<=0)return"";let r=0,n="";for(let o of t){let i=So(o);if(r+i>e)break;n+=o,r+=i}return n}var g_=b(()=>{"use strict"});var L1e={};ae(L1e,{VERSION:()=>A_,colors:()=>q,formatCode:()=>eTt,formatPath:()=>M1e,getActionIndicator:()=>Z1t,padEndAnsi:()=>oTt,printDivider:()=>B1e,printError:()=>J1t,printExitSummary:()=>AV,printHeader:()=>X1t,printSuccess:()=>V1t,printToolResultCompact:()=>Nl,printWarning:()=>K1t,shortenPath:()=>rTt});function q1t(t){return t.startsWith("/")||t.startsWith("~/")||t.startsWith("./")||t.startsWith("../")||/^[a-zA-Z]:\\/.test(t)||/\.(ts|tsx|js|jsx|json|md|py|go|rs|java|c|cpp|h|hpp|css|scss|html|xml|yaml|yml|toml|sh|bash|zsh)$/.test(t)||/^src\//.test(t)||/^lib\//.test(t)||/^test[s]?\//.test(t)}function W1t(t){return z1t.test(t)}function Nl(t,e,r=!0,n,o=console.log,i=!0,s=0,a=process.stdout,c){let l=(D,k)=>{o(D),c?.(D,k)},u=r?q.success("\u25CF"):q.error("\u25CF"),d=process.env.HOME??process.env.USERPROFILE??"",p=t.toLowerCase()!=="bash"&&q1t(e),f=p&&d&&e.startsWith(d+"/")?"~"+e.slice(d.length):e,m=Ur(f),h=So(t)+6+s,A=Math.max(Y1t,(a.columns||80)-h),E=So(m)>A?ad(m,A-1).replace(/\u200D+$/,"")+"\u2026":m,y=a===process.stdout?!0:a.isTTY===!0,C=p&&!W1t(e)&&y;if(C){let D=e.match(/:(\d+)$/),k=D?parseInt(D[1],10):void 0,R=D?e.replace(/:(\d+)$/,""):e;E=M1e(R,k,E)}let S=T1e(t,r);l(S?`${u} ${g.bold(S)}`:`${u} ${g.bold(t)}(${E})`,"heading"),t==="LoopWait"&&r&&l(q.dim(" Waiting begins after this turn finishes; existing limits apply."),"detail");let w=i&&C?q.dim(R1e()):"",v=i&&!w&&!O1e?q.dim(" (ctrl+o to expand)"):"";if(v&&(O1e=!0),n){let D=r?q.dim:q.error;l(D(`\u2514 ${n}`)+w+v,"detail")}else{let D=r?"(No content)":"(Error)",k=r?q.dim:q.error;l(k(`\u2514 ${D}`)+w+v,"detail")}}function V1t(t){console.log(q.success("\u2713 ")+t)}function K1t(t){console.log(q.warning("\u26A0 ")+t)}function J1t(t){console.log(q.error("\u2717 ")+t)}function B1e(t=60){console.log(q.dim("\u2500".repeat(t)))}function X1t(t){console.log(q.logo(t)),B1e(t.length)}function Z1t(t){return q.thinking(`[${t}]`)}function M1e(t,e,r){if(qC())return N1e(t,e,r);let n=process.env.HOME??process.env.USERPROFILE??"",o=t;return n&&t.startsWith(n)&&(o="~"+t.slice(n.length)),e&&(o+=`:${e}`),q.filePath(r??o)}function eTt(t){return q.code(t)}function tTt(){return process.stdout.columns||80}function rTt(t,e=40){let r=process.env.HOME??process.env.USERPROFILE??"",n=t;if(r&&t.startsWith(r)&&(n="~"+t.slice(r.length)),n.length<=e)return n;let o=n.split("/").filter(s=>s.length>0);if(o.length>=2){let s=o.slice(-2).join("/");if(s.length<=e-4)return".../"+s}return".../"+(o[o.length-1]||o[o.length-2])}function nTt(t){return t.replace(/\x1b\[[0-9;]*m/g,"").length}function oTt(t,e){let r=nTt(t),n=Math.max(0,e-r);return t+" ".repeat(n)}function iTt(t){if(t<60)return`${t}s`;let e=Math.floor(t/60),r=t%60;return r>0?`${e}m ${r}s`:`${e}m`}function gV(t){return t>=1e3?`${(t/1e3).toFixed(1)}K`:t.toString()}function AV(t){let e=tTt(),r=Math.min(e-2,76),n=r-4,o=(A,_)=>{let E=A.replace(/\x1b\[[0-9;]*m/g,"").length;return A+" ".repeat(Math.max(0,_-E))},i=A=>q.border("\u2502")+" "+o(A,n)+" "+q.border("\u2502"),s=(A,_,E,y)=>{let C=Math.floor(n/2),S=q.dim(A.padEnd(15))+_,w=q.dim(E.padEnd(15))+y;return i(o(S,C)+w)},a=iTt(t.durationSeconds),c=gV(t.tokensIn),l=gV(t.tokensOut),u=`$${t.totalCost.toFixed(4)}`,d=t.cloud?`\u2601\uFE0F Cloud \xB7 ${t.model}`:`${t.provider}/${t.model.replace("claude-","").replace("-latest","")}`;console.log(""),console.log(q.border("\u250C"+"\u2500".repeat(r-2)+"\u2510")),console.log(i(q.logo("Session complete. \u{1FABC}"))),console.log(q.border("\u251C"+"\u2500".repeat(r-2)+"\u2524")),console.log(i(q.logo("Session Summary"))),console.log(i(q.dim("\u2500".repeat(15)))),console.log(s("Duration",a,"Tool Calls",t.toolCalls.toString())),console.log(s("Turns",t.turns.toString(),"Files Modified",t.filesModified.toString())),console.log(i("")),console.log(i(q.logo("Token Usage"))),console.log(i(q.dim("\u2500".repeat(11)))),console.log(s("Input",c,"Output",l));let p=t.cachedTokens??0;if(p>0){let A=Math.min(100,Math.round(100*p/Math.max(1,t.tokensIn)));console.log(i(q.dim("Cached".padEnd(15))+`${gV(p)} (${A}%)`))}let f=t.cacheSavings??0,m=f>0?q.dim(` \xB7 saved ~$${f.toFixed(4)} by prompt caching`):"";console.log(i(q.dim("Cost".padEnd(15))+u+m)),console.log(i(""));let h=(A,_)=>A.length>_?`${A.slice(0,Math.max(0,_-1))}\u2026`:A;if(t.goalLine){let A=t.goalLine.replace(/^Goal:\s*/,"");console.log(i(q.dim("Goal: ")+h(A,n-6)))}t.goalResumeLine&&console.log(i(q.dim(h(` ${t.goalResumeLine}`,n)))),console.log(i(q.dim("Model: ")+q.model(d))),console.log(q.border("\u2514"+"\u2500".repeat(r-2)+"\u2518")),console.log("")}var A_,q,Y1t,z1t,O1e,Wr=b(()=>{"use strict";pV();De();x1e();ur();g_();Qa();A_="0.27.6",q={get logo(){return oe().accent.bold},get prompt(){return oe().accent.bold},get model(){return oe().accent},get success(){return oe().success},get warning(){return oe().warning},get error(){return oe().error},get thinking(){return oe().dim},get filePath(){return oe().filePath},get code(){return oe().code},get muted(){return oe().muted},get dim(){return oe().dim},get safe(){return oe().success},get risky(){return oe().warning},get destructive(){return oe().error},get border(){return oe().accent},get bannerBorder(){return oe().accent}};Y1t=24,z1t=/[\x00-\x1F\x7F-\x9F\u2028\u2029\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\u200B-\u200D\u2060\uFEFF\u00AD]/;O1e=!1});var EV={};ae(EV,{MAX_RETAINED_TOASTS:()=>_V,MAX_VISIBLE_TOASTS:()=>bv,getNotificationStore:()=>Ct,useNotificationStore:()=>Go});import{create as sTt}from"zustand";function P1e(t){return t.length<=_V?t:t.slice(-_V)}var bv,_V,Go,Ct,cd=b(()=>{"use strict";bv=5,_V=200;Go=sTt((t,e)=>({toasts:[],nextId:1,showToast:(r,n=!1,o)=>{t(i=>{let s={id:i.nextId,text:r,persistent:n,expiresAt:o};if(!n){let c=i.toasts.filter(l=>l.persistent);return{toasts:P1e([...c,s]),nextId:i.nextId+1}}let a=i.toasts.filter(c=>c.persistent);return{toasts:P1e([...a,s]),nextId:i.nextId+1}})},clearToast:r=>{t(n=>r===void 0?{toasts:[]}:{toasts:n.toasts.filter(o=>o.id!==r)})},clearPersistent:()=>{t(r=>({toasts:r.toasts.filter(n=>!n.persistent)}))},clearFirstPersistent:()=>{t(r=>{let n=r.toasts.findIndex(o=>o.persistent);return n===-1?r:{toasts:[...r.toasts.slice(0,n),...r.toasts.slice(n+1)]}})},reset:()=>t({toasts:[],nextId:1}),visibleToasts:()=>e().toasts.slice(0,bv),overflowCount:()=>Math.max(0,e().toasts.length-bv)}));Object.defineProperty(Go,"toast",{get:()=>{let t=Go.getState().toasts;return t.length>0?t[t.length-1]:null}});Ct=Go.getState});var Q1e={};ae(Q1e,{getUserEchoSink:()=>yV,setUserEchoSink:()=>aTt});function aTt(t){F1e=t}function yV(){return F1e}var F1e,SV=b(()=>{"use strict";F1e=null});import{create as cTt}from"zustand";var U1e,__,qP=b(()=>{"use strict";cd();SV();U1e=cTt((t,e)=>({pendingNote:null,pendingOrigin:"keyboard",noteToastId:null,setPendingNote:r=>t({pendingNote:r,pendingOrigin:"keyboard",onRemoteConsume:void 0}),offerRemoteNote:(r,n)=>e().pendingNote?!1:(t({pendingNote:r,pendingOrigin:"remote",onRemoteConsume:n}),!0),setNoteToastId:r=>t({noteToastId:r}),getPendingNote:()=>e().pendingNote,onNoteInjected:()=>{let r=e().pendingNote,n=e().pendingOrigin;r&&n==="remote"&&e().onRemoteConsume?.();let o=e().noteToastId;if(o!==null&&Ct().clearToast(o),t({pendingNote:null,noteToastId:null,pendingOrigin:"keyboard",onRemoteConsume:void 0}),r){let i=yV();if(i)try{i(r,n)}catch{}}},reset:()=>t({pendingNote:null,noteToastId:null,pendingOrigin:"keyboard",onRemoteConsume:void 0})})),__=U1e.getState});import{create as lTt}from"zustand";var YC,Co,E_=b(()=>{"use strict";YC=null,Co=lTt((t,e)=>({active:!1,startedAt:null,bgAgentCount:0,elapsedSec:0,lastRelease:null,begin:r=>{t({active:!0,startedAt:Date.now(),bgAgentCount:r,elapsedSec:0,lastRelease:null}),YC!==null&&clearInterval(YC),YC=setInterval(()=>{let n=e();!n.active||n.startedAt===null||t({elapsedSec:Math.floor((Date.now()-n.startedAt)/1e3)})},1e3)},release:r=>{YC!==null&&(clearInterval(YC),YC=null),t({active:!1,startedAt:null,bgAgentCount:0,elapsedSec:0,lastRelease:r})},setCount:r=>t({bgAgentCount:r})}))});var YP={};ae(YP,{getUIStore:()=>ot,useUIStore:()=>ai});import{create as uTt}from"zustand";var $1e,ai,ot,sf=b(()=>{"use strict";$1e={mode:"welcome",agentMode:"normal",status:"",isThinking:!1,isStreaming:!1,currentIteration:0,iterationStartTime:Date.now(),iterationTokens:0,contextPercent:0,contextLevel:"normal",contextTokens:0,contextLimit:2e5,sessionCost:0,freeBudgetRemaining:null,freeBudgetResetAt:null,goalSegment:"",goalTurnActive:!1,sessionTokensIn:0,sessionCachedTokens:0,provider:"",model:"",reasoningEffort:"",openrouterProvider:"",connectionMode:"local",projectPath:process.cwd(),branch:void 0,worktreeName:void 0,baseBranch:void 0,soulName:"",personaName:"",toolsCount:0,mcpServersCount:0,mcpFailedCount:0,contextFilesCount:0,skillsCount:0,sessionStartTime:Date.now(),agentExecMs:0,agentTurnStartTime:null,renderEpoch:0,loopMode:!1,loopStartTime:null,loopMaxIterations:0,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0,loopPaused:!1,loopPauseUntil:null,loopDurationSeconds:0},ai=uTt(t=>({...$1e,setMode:e=>t({mode:e}),setAgentMode:e=>t({agentMode:e}),setStatus:e=>t({status:e}),setThinking:e=>t({isThinking:e}),setStreaming:e=>t(r=>{if(e&&!r.agentTurnStartTime)return{isStreaming:e,agentTurnStartTime:Date.now()};if(!e&&r.agentTurnStartTime){let n=Date.now()-r.agentTurnStartTime;return{isStreaming:e,agentExecMs:r.agentExecMs+n,agentTurnStartTime:null}}return{isStreaming:e}}),incrementIteration:()=>t(e=>({currentIteration:e.currentIteration+1,iterationStartTime:Date.now(),iterationTokens:0})),addIterationTokens:e=>t(r=>({iterationTokens:r.iterationTokens+e})),setIterationTokens:e=>t({iterationTokens:e}),updateContext:(e,r)=>{let n=r>0?Math.round(e/r*100):0,o=n>=90?"critical":n>=70?"warning":"normal";t({contextTokens:e,contextLimit:r,contextPercent:n,contextLevel:o})},updateSession:e=>t(e),updateResources:e=>t(e),setLoopMode:e=>t(e?{loopMode:e}:{loopMode:e,loopStartTime:null,loopMaxIterations:0,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0,loopPaused:!1,loopPauseUntil:null,loopDurationSeconds:0}),startLoop:(e,r)=>t({loopStartTime:e,loopMaxIterations:r,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0}),updateLoopStats:(e,r,n,o)=>t({loopTotalInputTokens:e,loopTotalOutputTokens:r,loopCost:n,loopToolCalls:o}),setLoopIteration:e=>t({loopCurrentIteration:e}),setLoopPaused:(e,r)=>t({loopPaused:e,loopPauseUntil:r}),setLoopDurationSeconds:e=>t({loopDurationSeconds:e}),incrementRenderEpoch:()=>t(e=>({renderEpoch:e.renderEpoch+1})),reset:()=>t($1e)})),ot=ai.getState});var wv={};ae(wv,{getInputStore:()=>zC,useInputStore:()=>bo});import{create as dTt}from"zustand";var G1e,pTt,fTt,bo,zC,ld=b(()=>{"use strict";De();cd();sf();G1e={lines:[""],cursorLine:0,cursorCol:0,typeAheadBuffer:"",isTypeAheadActive:!1,typeAheadQueue:[],history:[],historyIndex:-1,undoStack:[],redoStack:[]},pTt=100,fTt=50,bo=dTt((t,e)=>({...G1e,insertChar:r=>{e().saveSnapshot(),t(o=>{let i=[...o.lines],s=i[o.cursorLine];return i[o.cursorLine]=s.slice(0,o.cursorCol)+r+s.slice(o.cursorCol),{lines:i,cursorCol:o.cursorCol+r.length,redoStack:[]}})},deleteChar:()=>{let r=e();r.cursorCol===0&&r.cursorLine===0||(r.saveSnapshot(),t(n=>{let o=[...n.lines];if(n.cursorCol>0){let i=o[n.cursorLine];return o[n.cursorLine]=i.slice(0,n.cursorCol-1)+i.slice(n.cursorCol),{lines:o,cursorCol:n.cursorCol-1,redoStack:[]}}else if(n.cursorLine>0){let i=o[n.cursorLine-1],s=o[n.cursorLine];return o[n.cursorLine-1]=i+s,o.splice(n.cursorLine,1),{lines:o,cursorLine:n.cursorLine-1,cursorCol:i.length,redoStack:[]}}return n}))},newLine:()=>{e().saveSnapshot(),t(n=>{let o=[...n.lines],i=o[n.cursorLine],s=i.slice(0,n.cursorCol),a=i.slice(n.cursorCol);return o[n.cursorLine]=s,o.splice(n.cursorLine+1,0,a),{lines:o,cursorLine:n.cursorLine+1,cursorCol:0,redoStack:[]}})},moveCursor:r=>{t(n=>{switch(r){case"left":if(n.cursorCol>0)return{cursorCol:n.cursorCol-1};if(n.cursorLine>0)return{cursorLine:n.cursorLine-1,cursorCol:n.lines[n.cursorLine-1].length};break;case"right":if(n.cursorCol<n.lines[n.cursorLine].length)return{cursorCol:n.cursorCol+1};if(n.cursorLine<n.lines.length-1)return{cursorLine:n.cursorLine+1,cursorCol:0};break;case"up":if(n.cursorLine>0){let o=n.cursorLine-1,i=Math.min(n.cursorCol,n.lines[o].length);return{cursorLine:o,cursorCol:i}}break;case"down":if(n.cursorLine<n.lines.length-1){let o=n.cursorLine+1,i=Math.min(n.cursorCol,n.lines[o].length);return{cursorLine:o,cursorCol:i}}break}return n})},setText:r=>{let n=r.split(`
393
+ `)),s=n.provider==="openai"?"OpenAI":"xAI";if(t.getSecret(n.keys.dead)==="1")return m1e(i,n.pl04Line),{status:"dead"};let a=t.getSecret(n.keys.access),c=t.getSecret(n.keys.refresh);if(!a&&!c)return{status:"none"};let l=o()/1e3,u=Number(t.getSecret(n.keys.expiry)),d=!!a&&Number.isFinite(u)&&l<u;if(!!a&&Number.isFinite(u)&&l<u-m1t&&!r.force)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};if(!c)return d?{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)}:(await f1e(t,i,n),{status:"dead"});let f=e.fetchImpl??fetch,m=e.requestTimeoutMs??1e4,h;try{h=await p_(f,n.tokenEndpoint,{grant_type:"refresh_token",refresh_token:c,client_id:n.clientId},m)}catch{if(d)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};throw new Ar(`Could not refresh your ${s} sign-in (network error). Check your connection and retry.`)}let A;try{A=JSON.parse(h.text)}catch{A={}}if(h.ok&&typeof A.access_token=="string"&&A.access_token.length>0)return await kP(t,A,e,n),{status:"ok",accessToken:A.access_token,account:t.getSecret(n.keys.account)};let _=UC(A,h.status);if(l1e(_))return await f1e(t,i,n),{status:"dead"};if(d)return{status:"ok",accessToken:a,account:t.getSecret(n.keys.account)};throw new Ar(`Could not refresh your ${s} sign-in (${_.detail}). Run aii connect ${n.provider==="openai"?"chatgpt":"grok"} to reconnect.`)}var m1t,h1t,d1e,Av=b(()=>{"use strict";gv();Qs();Qs();Lt();vP();f_();m1t=120,h1t=3600,d1e=new Set});function _v(t){return t?t===CP||FC(t)?!0:bP(t)?!1:/\b401\b|unauthoriz/i.test(t):!1}function DP(t){if(t)try{let e=ie();return e.reloadSecretsSync(),GCe().find(r=>e.getSecret(r.keys.access)===t)}catch{return}}async function RP(t=gc,e){let r=JW.get(t.provider);if(r)return r;ne(`reactive-401: refreshing ${t.provider} lane`);let n=(async()=>{try{let o=ie();o.reloadSecretsSync();let i=o.getSecret(t.keys.access);if(e&&i&&i!==e)return{status:"ok",accessToken:i};let s=await GC(o,{print:()=>{}},{force:!0},t);return s.status==="ok"?{status:"ok",accessToken:s.accessToken}:s.status==="dead"?{status:"dead"}:{status:"unavailable"}}catch{return{status:"unavailable"}}})().finally(()=>{JW.delete(t.provider)});return JW.set(t.provider,n),n}var JW,NP=b(()=>{"use strict";Qe();Av();QC();oC();pt();oC();JW=new Map});function h1e(t){return typeof t=="number"&&Number.isInteger(t)&&t>0?t:1}function xP(t,e){if(typeof t!="object"||t===null)return{kind:"malformed",reason:"frame is not an object"};let r=t.type;return typeof r!="string"?{kind:"malformed",reason:'frame has no string "type"'}:e.has(r)?{kind:"ok",frame:t}:{kind:"unknown",type:r,protocolVersion:h1e(t.protocol_version)}}function OP(t){if(typeof t!="object"||t===null||typeof t.type=="string")return null;let e=t.error;return typeof e!="string"||e===""?null:{unknown_model:"That model is not available on AiiCloud. Pick a model from your cloud dashboard (cloud.aiiware.com) or run with --inference server.",insufficient_credits:"Out of AiiCloud credits.",quota_exceeded:"Daily free-tier budget reached on AiiCloud.",quota_check_failed:"AiiCloud could not verify your quota \u2014 please retry.",worker_unavailable:"AiiCloud is temporarily unavailable \u2014 please retry, or run with --inference server."}[e]??`AiiCloud error: ${e}`}function m_(t){switch((t??"").toLowerCase()){case"quota_exceeded":case"insufficient_credits":return"budget_exhausted";case"worker_unavailable":case"quota_check_failed":return"transient";default:return"fatal"}}function BP(t){if(!t)return null;try{let e=JSON.parse(t);if(e&&typeof e.error=="string")return e.error}catch{}return t}function XW(t){return t==null||typeof t=="object"}function LP(t){switch(t.type){case"tool_request":return XW(t.input);case"mcp_tool_request":return XW(t.params);case"tool_batch_request":{let e=t.tools;return e==null||Array.isArray(e)&&e.every(r=>r==null||typeof r=="object"&&XW(r.input))}default:return!0}}function PP(t){return h1e(t)>2?"hard":"compatible"}function FP(t){return`This Aii Server speaks protocol v${t}, but your CLI speaks v2. Some responses may not work correctly. Update with: aii upgrade`}var Pi,g1e,A1e,MP,ef=b(()=>{"use strict";Pi=class extends Error{wireCode;origin;code="CLOUD_EXHAUSTED";constructor(e,r){super("cloud_exhausted"),this.wireCode=e,this.origin=r,this.name="CloudExhaustedError"}};g1e=new Set(["token","complete","error","purpose_ack","mcp_query_tools","mcp_tool_request","reasoning","reasoning_label","web_search_started","web_search_completed","follow_ups","task.step.updated","task.artifact.added"]),A1e=new Set(["output_budget","session_started","turn_ready","token","iteration_tokens_usage","tool_request","tool_batch_request","tool_status","complete","error","mcp_tools_loaded","permission_request","permission_resolution","mcp_query_tools","mcp_tool_request","reasoning","reasoning_label","web_search_started","web_search_completed","follow_ups","task.step.updated","task.artifact.added"]),MP=new Set(["tool_request","tool_batch_request","mcp_tool_request"])});var QP={};ae(QP,{HEADLESS_DEFAULT_POLICY:()=>eV,isAutonomous:()=>tf,mapPermissionMode:()=>tV,resolvePermissionPolicy:()=>si});function tV(t){switch(t){case"bypassPermissions":return"bypass";case"dontAsk":return"dontAsk";case"acceptEdits":return"acceptEdits";case"plan":return"plan";case"default":case void 0:return"auto";default:return U.warn(`Unrecognised permissionMode '${String(t)}' \u2014 falling back to 'dontAsk'. Valid values: default, acceptEdits, auto, dontAsk, bypassPermissions.`),"dontAsk"}}function g1t(t){let e=t.mode;return e==="normal"?"interactive":e in ZW?e:"interactive"}function si(t){let e=g1t(t),r={...ZW[e]};(t.outputFormat==="json"||t.outputFormat==="stream-json")&&(r.canPrompt=!1);let n=e==="interactive"&&t.connectionMode==="cloud",o=e==="interactive"&&t.connectionMode==="local";return{posture:e,...r,relayMirror:n,portalMirror:o}}function tf(t){return si(t).autonomous}var ZW,eV,Rl=b(()=>{"use strict";pt();ZW={interactive:{mutating:"prompt",riskyNonMutating:"prompt",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!0,autonomous:!1},auto:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},plan:{mutating:"autoDeny",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!1},dontAsk:{mutating:"autoDeny",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},acceptEdits:{mutating:"editsOnly",riskyNonMutating:"prompt",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!0,autonomous:!1},bypass:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!1,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0},headless:{mutating:"autoApprove",riskyNonMutating:"autoApprove",fenceEnforced:!0,sensitiveReadDenied:!0,canPrompt:!1,autonomous:!0}},eV={posture:"headless",...ZW.headless,relayMirror:!1,portalMirror:!1}});import UP from"node:fs";import _1e from"node:path";function E1e(t){if(!Object.hasOwn(t,"working_directory"))return;let e=t.working_directory;if(typeof e!="string"||!e.trim()||A1t.test(e)||_1e.isAbsolute(e)||e.startsWith("~")||e.includes("$")||e.includes("`"))throw new Error("Invalid working_directory: use an existing workspace-relative directory.");return e}function _1t(t,e){return Hn(t,{workspaceRoot:e,base:e,op:"read"})==="deny-sensitive"}function y1e(t,e){let r=Tr(e),n=_1e.resolve(r,t);if(_1t(n,r))throw new Error("Permission denied \u2014 command directory is a sensitive location.");try{let o=UP.realpathSync(n),i=UP.realpathSync(r),s=UP.statSync(i),a=UP.statSync(o);if(!a.isDirectory())throw new Error("not-directory");return{workspace:r,workspaceReal:i,workspaceDevice:s.dev,workspaceInode:s.ino,requested:t,resolved:n,canonical:o,device:a.dev,inode:a.ino,outside:!Ma(o,i),session:e.session,policy:JSON.stringify(si(e.session))}}catch{throw new Error('Command directory is unavailable; no command was executed. Omit working_directory or use exactly "." to run in the default workspace directory; otherwise choose an existing directory.')}}function $P(t,e){if(dh.has(t))return t;let r=E1e(t);if(r===void 0||r===".")return t;let n={...t};return dh.set(n,y1e(r,e)),Object.freeze(n)}function rV(t,e){return dh.get(t)?.canonical??e}function S1e(t){return dh.get(t)?.outside??!1}function Ev(t){return dh.get(t)?.canonical}function C1e(t){let e=dh.get(t);return e?JSON.stringify([e.canonical,e.device,e.inode,e.workspaceDevice,e.workspaceInode]):void 0}function ph(t){let e=dh.get(t);if(e)return`Directory: ${e.canonical}${e.outside?" (outside workspace)":""}`;let r=t.working_directory;return typeof r=="string"&&r!=="."?`Requested directory: ${r}`:void 0}function GP(t,e){let r=dh.get(t);if(!r)return E1e(t),e.cwd;if(e.session!==r.session||JSON.stringify(si(e.session))!==r.policy||Tr(e)!==r.workspace)throw new Error("Command directory changed; no command was executed.");let n=y1e(r.requested,e);if(n.workspaceReal!==r.workspaceReal||n.workspaceDevice!==r.workspaceDevice||n.workspaceInode!==r.workspaceInode||n.canonical!==r.canonical||n.device!==r.device||n.inode!==r.inode||n.outside!==r.outside)throw new Error("Command directory changed; no command was executed.");if(si(e.session).mutating==="autoDeny")throw new Error("Permission denied \u2014 this session cannot run commands.");return r.canonical}var dh,A1t,yv=b(()=>{"use strict";ro();Rl();dh=new WeakMap,A1t=/[\u0000-\u001f\u007f-\u009f]/});import{createHash as E1t}from"node:crypto";function nV(t){let e=t.trim().split(/\s+/).filter(Boolean),r=e[0]??"",n=y1t.has(r)?2:1;return`bash:${e.slice(0,n).join(" ")}`}function T1t(t){let e=t.trim().split(/\s+/).filter(Boolean),r=0;for(;r<e.length&&(e[r]==="sudo"||e[r]==="env"||/^\w+=/.test(e[r]));)r++;let n=e[r]?e[r].split("/").pop()??"":"",o=e[r+1]??"";return!!(n==="xargs"||n==="make"||n==="git"&&o==="config"||(n==="docker"||n==="podman")&&(o==="run"||o==="exec"||o==="create")||n==="find"&&e.some(i=>I1t.includes(i)))}function b1e(t,e){return oV(t,e)===null}function oV(t,e){if(t!=="Bash")return null;let r=typeof e.command=="string"?e.command:"";return S1t.test(r)?b1t.test(r)?"substitution":w1t.test(r)?"chained":"redirection":C1t.test(r)?"injection-flag":T1t(r)?"second-action":null}function v1t(t){try{return String(t)}catch{return"~unstringifiable"}}function HC(t,e){if(t===null)return"null";let r=typeof t;if(r==="undefined")return"~undef";if(r==="bigint")return`~big:${t.toString()}`;if(r==="number"){let n=t;return Number.isFinite(n)?JSON.stringify(n):`~num:${String(n)}`}if(r==="boolean"||r==="string")return JSON.stringify(t);if(r==="function"||r==="symbol")return`~${r}`;if(typeof t=="object"){let n=t;if(e.has(n))return"~cycle";e.add(n);try{if(Array.isArray(n))return`[${n.map(a=>HC(a,e)).join(",")}]`;let o=Object.getPrototypeOf(n);if(o!==Object.prototype&&o!==null)return n instanceof Map?`~map:[${[...n.entries()].map(([c,l])=>`${HC(c,e)}=>${HC(l,e)}`).sort().join(",")}]`:n instanceof Set?`~set:[${[...n.values()].map(c=>HC(c,e)).sort().join(",")}]`:`~exotic:${Object.prototype.toString.call(n)}:${v1t(n)}`;let i=Object.getOwnPropertySymbols(n).map(a=>a.toString()).sort().join(",");return`{${Object.keys(n).sort().map(a=>`${JSON.stringify(a)}:${HC(n[a],e)}`).join(",")}${i?`|sym:${i}`:""}}`}finally{e.delete(n)}}return"~unknown"}function iV(t){return E1t("sha256").update(HC(t??{},new WeakSet)).digest("hex").slice(0,16)}function sV(t,e,r,n){if(t==="Bash"){let o=typeof e.command=="string"?e.command:"",i=C1e(e);return i?`${nV(o)} @ ${i}`:nV(o)}if(t==="Write"||t==="Edit"){let o=typeof e.file_path=="string"?e.file_path:"";if(!o)return`${t}:`;let i=At(o,r,n);return i.ok?`${t}:${yo(i.resolved)}`:`${t}:invalid:${o}`}return`${t}:${iV(e)}`}function w1e(t,e,r,n){return t==="Bash"&&Ev(e)?`${nV(String(e.command??"")).replace(/^bash:/,"")} @ ${JSON.stringify(Ev(e))}`:t==="Bash"||t==="Write"||t==="Edit"?sV(t,e,r,n).replace(/^bash:/,""):`${t} (these exact arguments)`}var y1t,S1t,C1t,b1t,w1t,I1t,aV=b(()=>{"use strict";yv();ro();y1t=new Set(["git","npm","yarn","pnpm","make","docker","env","sudo","xargs","find","ssh","bash","sh","node","python","python3"]),S1t=/[;&|<>`\n]|\$\(/,C1t=/(^|\s)(-c|--config|-e|-o)(=|\s|$)/,b1t=/[`]|\$\(/,w1t=/[;&|\n]/,I1t=["-exec","-execdir","-ok","-okdir","-delete","-fprint","-fprintf"]});function HP(t){let e=t.findIndex(r=>r.value==="no");return e>=0?e:0}function cV(t,e){return t!==void 0&&t>=0&&t<e?t:0}function I1e(t,e){return{selectedIndex:cV(t?.defaultIndex,t?.options?.length??e),scrollOffset:0,isScrollMode:!1,isFeedbackMode:!1,feedbackText:""}}var lV=b(()=>{"use strict"});function dV(t){return t.replace(uV,"")}function k1t(t){return t.replace(/[\r\n\v\f\u0085\u2028\u2029]+/g," \u23CE ").replace(/\t+/g," ")}function Ur(t){return dV(pe(k1t(t??"")))}var uV,Qa=b(()=>{"use strict";Lt();uV=/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\u200B-\u200D\u2060\uFEFF\u00AD]/g});function T1e(t,e){if(t==="LoopWait")return e?"Loop \xB7 Resume scheduled":"Loop \xB7 Wait not scheduled";if(t==="LoopOutcome")return e?"Application \xB7 Outcome reported":"Application \xB7 Outcome not reported"}function v1e(t,e,r){if(!(t!=="LoopWait"&&t!=="LoopOutcome")){if(!r)return`${t==="LoopWait"?"Wait not scheduled":"Outcome not reported"} \xB7 ${Ur(e).slice(0,100)||"Expand for details"}`;try{let n=JSON.parse(e);if(t==="LoopWait"&&n.scheduled===!0&&typeof n.wake_at=="string"){let o=Date.parse(n.wake_at);if(Number.isFinite(o))return`Next cycle in ${Math.max(0,Math.ceil((o-Date.now())/1e3))}s \xB7 ${Ur(typeof n.reason=="string"?n.reason:"Scheduled continuation").slice(0,80)}`}if(t==="LoopOutcome"&&n.provenance==="adapter-reported"&&["confirmed","deferred","failed","unknown"].includes(n.status))return`Adapter reported: ${n.status} \xB7 ${Ur(typeof n.summary=="string"?n.summary:"").slice(0,80)}`}catch{}return"Unexpected host response \xB7 expand for details"}}var pV=b(()=>{"use strict";Qa()});var D1t,R1t,N1t,x1t,O1t,B1t,M1t,fh,Sv,rf,fV=b(()=>{"use strict";De();D1t={name:"classic",label:"Classic",description:"Aii jellyfish blue-purple (default)",accentColorName:"#3B82F6",userInputTextColorName:"#93C5FD",colors:{accent:g.hex("#3B82F6"),userInput:g.hex("#3B82F6"),userInputText:g.hex("#93C5FD"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#A855F7"),link:g.hex("#3B82F6").underline,heading:g.hex("#A855F7").bold,filePath:g.hex("#3B82F6"),indicator:g.hex("#3B82F6")}},R1t={name:"brand",label:"Brand",description:"aiiware.com official palette",accentColorName:"#4E6BF5",userInputTextColorName:"#A5B4FC",colors:{accent:g.hex("#4E6BF5"),userInput:g.hex("#4E6BF5"),userInputText:g.hex("#A5B4FC"),success:g.hex("#28CA41"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#4E6BF5"),link:g.hex("#4E6BF5").underline,heading:g.hex("#4E6BF5").bold,filePath:g.hex("#4E6BF5"),indicator:g.hex("#4E6BF5")}},N1t={name:"teal",label:"Teal",description:"Original teal accent",accentColorName:"#00BCD4",userInputTextColorName:"#67E8F9",colors:{accent:g.hex("#00BCD4"),userInput:g.hex("#00BCD4"),userInputText:g.hex("#67E8F9"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#00BCD4"),link:g.hex("#00BCD4").underline,heading:g.hex("#00BCD4").bold,filePath:g.hex("#00BCD4"),indicator:g.hex("#00BCD4")}},x1t={name:"indigo",label:"Indigo",description:"Bright periwinkle-blue",accentColorName:"#6B8AFF",userInputTextColorName:"#A5B4FC",colors:{accent:g.hex("#6B8AFF"),userInput:g.hex("#6B8AFF"),userInputText:g.hex("#A5B4FC"),success:g.hex("#28CA41"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#6B8AFF"),link:g.hex("#6B8AFF").underline,heading:g.hex("#6B8AFF").bold,filePath:g.hex("#6B8AFF"),indicator:g.hex("#6B8AFF")}},O1t={name:"forest",label:"Forest",description:"Natural green",accentColorName:"#22C55E",userInputTextColorName:"#86EFAC",colors:{accent:g.hex("#22C55E"),userInput:g.hex("#22C55E"),userInputText:g.hex("#86EFAC"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#22C55E"),link:g.hex("#22C55E").underline,heading:g.hex("#22C55E").bold,filePath:g.hex("#22C55E"),indicator:g.hex("#22C55E")}},B1t={name:"amber",label:"Amber",description:"Warm orange-gold",accentColorName:"#F59E0B",userInputTextColorName:"#FCD34D",colors:{accent:g.hex("#F59E0B"),userInput:g.hex("#F59E0B"),userInputText:g.hex("#FCD34D"),success:g.hex("#22C55E"),warning:g.hex("#EAB308"),error:g.hex("#EF4444"),muted:g.hex("#94A3B8"),dim:g.dim,code:g.hex("#F59E0B"),link:g.hex("#F59E0B").underline,heading:g.hex("#F59E0B").bold,filePath:g.hex("#F59E0B"),indicator:g.hex("#F59E0B")}},M1t={name:"grayscale",label:"Grayscale",description:"Accessible, no colors",accentColorName:"white",userInputTextColorName:"#CBD5E1",colors:{accent:g.reset,userInput:g.reset,userInputText:g.hex("#CBD5E1"),success:g.reset,warning:g.reset,error:g.bold,muted:g.dim,dim:g.dim,code:g.reset,link:g.underline,heading:g.bold,filePath:g.reset,indicator:g.bold}},fh={classic:D1t,brand:R1t,teal:N1t,indigo:x1t,forest:O1t,amber:B1t,grayscale:M1t},Sv="classic",rf=["classic","brand","teal","indigo","forest","amber","grayscale"]});var mh={};ae(mh,{BAND_STYLE_INFO:()=>jC,BAND_STYLE_ORDER:()=>nf,DEFAULT_BAND_STYLE:()=>jP,ThemeManager:()=>vc,getAccentColorName:()=>ze,getThemeColors:()=>oe,getUserInputTextColorName:()=>Cv,resolveBandBg:()=>h_});function h_(t,e){let r=jC[t];if(r.blend===null)return L1t;let n=/^#[0-9a-fA-F]{6}$/.test(e)?e:"#8B98A9",o=parseInt(n.replace("#",""),16),i=r.blend,s=(a,c)=>Math.round(a*i+c*(1-i));return"#"+(s(o>>16&255,mV[0])<<16|s(o>>8&255,mV[1])<<8|s(o&255,mV[2])).toString(16).padStart(6,"0")}function oe(){return vc.getInstance().getColors()}function ze(){return vc.getInstance().getAccentColorName()}function Cv(){return vc.getInstance().getUserInputTextColorName()}var nf,jC,jP,mV,L1t,vc,of=b(()=>{"use strict";fV();Qe();nf=["subtle","themed","neutral","bold"],jC={subtle:{blend:.16,description:"Faint theme tint \u2014 quietest"},themed:{blend:.28,description:"Theme-tinted band (default)"},neutral:{blend:null,description:"Fixed neutral gray (theme-independent)"},bold:{blend:.4,description:"Strong theme tint \u2014 selection-like"}},jP="themed",mV=[20,22,27],L1t="#262C34";vc=class t{static instance=null;activeTheme;bandStyle=null;constructor(){this.activeTheme=fh[Sv]}static getInstance(){return t.instance||(t.instance=new t),t.instance}getTheme(){return this.activeTheme}getColors(){return this.activeTheme.colors}getThemeName(){return this.activeTheme.name}setTheme(e){let r=fh[e];if(!this.isValidTheme(e)){let n=rf.join(", ");throw new Error(`Unknown theme: "${e}". Available themes: ${n}`)}this.activeTheme=r}isValidTheme(e){return Object.hasOwn(fh,e)}getAvailableThemes(){return rf.map(e=>fh[e])}getAccentColorName(){return this.activeTheme.accentColorName}getUserInputTextColorName(){return this.activeTheme.userInputTextColorName}getBandStyle(){if(this.bandStyle)return this.bandStyle;try{let e=ie().get("theme_band");if(e&&this.isValidBandStyle(e))return this.bandStyle=e,this.bandStyle}catch{}return this.bandStyle=jP,this.bandStyle}setBandStyle(e){if(!this.isValidBandStyle(e))throw new Error(`Unknown band style: "${e}". Available: ${nf.join(", ")}`);this.bandStyle=e}isValidBandStyle(e){return nf.includes(e)}reset(){this.activeTheme=fh[Sv],this.bandStyle=null}}});var k1e={};ae(k1e,{BAND_STYLE_INFO:()=>jC,BAND_STYLE_ORDER:()=>nf,BUILT_IN_THEMES:()=>fh,DEFAULT_BAND_STYLE:()=>jP,DEFAULT_THEME:()=>Sv,THEME_ORDER:()=>rf,ThemeManager:()=>vc,getAccentColorName:()=>ze,getThemeColors:()=>oe,getUserInputTextColorName:()=>Cv,resolveBandBg:()=>h_});var ur=b(()=>{"use strict";fV();of()});import{resolve as P1t}from"path";import{pathToFileURL as F1t}from"node:url";function Q1t(){let t=process.env.TERM??"",e=process.env.TERM_PROGRAM??"",r=process.env.COLORTERM??"",n=process.env.WT_SESSION??"",o=process.env.VSCODE_INJECTION??process.env.TERM_PROGRAM==="vscode";return process.stdout.isTTY?e==="iTerm.app"||e==="Hyper"||e==="vscode"||e==="WezTerm"||e==="Alacritty"||n||o||t.includes("xterm-256color")||t.includes("screen-256color")||t.includes("tmux")||t==="xterm-kitty"||r==="truecolor"?!0:t!=="dumb":!1}function qC(){return hV===null&&(hV=Q1t()),hV}function U1t(){return process.platform==="darwin"?"Cmd":"Ctrl"}function R1e(){return D1e||!qC()?"":(D1e=!0,` (${U1t()}+Click to open)`)}function $1t(t,e){return qC()?`\x1B]8;;${e}\x07${t}\x1B]8;;\x07`:t}function G1t(t,e,r){let n=e??t;if(!qC())return n;let o=P1t(t),i=F1t(o).href;return r!==void 0&&r>0&&(i+=`#L${r}`),$1t(n,i)}function N1e(t,e,r){let n=process.env.HOME??process.env.USERPROFILE??"",o=t;n&&t.startsWith(n)&&(o="~"+t.slice(n.length));let i=r??(e?`${o}:${e}`:o);if(!qC())return oe().filePath(i);let s=oe().accent(i);return G1t(t,s,e)}var hV,D1e,x1e=b(()=>{"use strict";ur();hV=null,D1e=!1});function H1t(t){return t>=19968&&t<=40959||t>=13312&&t<=19903||t>=131072&&t<=173791||t>=173824&&t<=177983||t>=177984&&t<=178207||t>=178208&&t<=183983||t>=183984&&t<=191471||t>=196608&&t<=201551||t>=63744&&t<=64255||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=12784&&t<=12799||t>=44032&&t<=55215||t>=4352&&t<=4607||t>=12592&&t<=12687||t>=65280&&t<=65519&&(t>=65281&&t<=65376||t>=65504&&t<=65510)||t>=12288&&t<=12351||t>=12800&&t<=13055||t>=13056&&t<=13311||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=128512&&t<=128591||t>=128640&&t<=128767||t>=129648&&t<=129791||t>=9984&&t<=10175||t>=9728&&t<=9983}function j1t(t){return t<32&&t!==9||t===127||t>=768&&t<=879||t>=6832&&t<=6911||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65056&&t<=65071||t===8203||t===8204||t===8205||t===65279||t>=65024&&t<=65039||t>=917760&&t<=917999}function So(t){let e=t.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,""),r=0;for(let n of e){let o=n.codePointAt(0)??0;j1t(o)||(H1t(o)?r+=2:r+=1)}return r}function ad(t,e){if(e<=0)return"";let r=0,n="";for(let o of t){let i=So(o);if(r+i>e)break;n+=o,r+=i}return n}var g_=b(()=>{"use strict"});var L1e={};ae(L1e,{VERSION:()=>A_,colors:()=>q,formatCode:()=>eTt,formatPath:()=>M1e,getActionIndicator:()=>Z1t,padEndAnsi:()=>oTt,printDivider:()=>B1e,printError:()=>J1t,printExitSummary:()=>AV,printHeader:()=>X1t,printSuccess:()=>V1t,printToolResultCompact:()=>Nl,printWarning:()=>K1t,shortenPath:()=>rTt});function q1t(t){return t.startsWith("/")||t.startsWith("~/")||t.startsWith("./")||t.startsWith("../")||/^[a-zA-Z]:\\/.test(t)||/\.(ts|tsx|js|jsx|json|md|py|go|rs|java|c|cpp|h|hpp|css|scss|html|xml|yaml|yml|toml|sh|bash|zsh)$/.test(t)||/^src\//.test(t)||/^lib\//.test(t)||/^test[s]?\//.test(t)}function W1t(t){return z1t.test(t)}function Nl(t,e,r=!0,n,o=console.log,i=!0,s=0,a=process.stdout,c){let l=(D,k)=>{o(D),c?.(D,k)},u=r?q.success("\u25CF"):q.error("\u25CF"),d=process.env.HOME??process.env.USERPROFILE??"",p=t.toLowerCase()!=="bash"&&q1t(e),f=p&&d&&e.startsWith(d+"/")?"~"+e.slice(d.length):e,m=Ur(f),h=So(t)+6+s,A=Math.max(Y1t,(a.columns||80)-h),E=So(m)>A?ad(m,A-1).replace(/\u200D+$/,"")+"\u2026":m,y=a===process.stdout?!0:a.isTTY===!0,C=p&&!W1t(e)&&y;if(C){let D=e.match(/:(\d+)$/),k=D?parseInt(D[1],10):void 0,R=D?e.replace(/:(\d+)$/,""):e;E=M1e(R,k,E)}let S=T1e(t,r);l(S?`${u} ${g.bold(S)}`:`${u} ${g.bold(t)}(${E})`,"heading"),t==="LoopWait"&&r&&l(q.dim(" Waiting begins after this turn finishes; existing limits apply."),"detail");let w=i&&C?q.dim(R1e()):"",v=i&&!w&&!O1e?q.dim(" (ctrl+o to expand)"):"";if(v&&(O1e=!0),n){let D=r?q.dim:q.error;l(D(`\u2514 ${n}`)+w+v,"detail")}else{let D=r?"(No content)":"(Error)",k=r?q.dim:q.error;l(k(`\u2514 ${D}`)+w+v,"detail")}}function V1t(t){console.log(q.success("\u2713 ")+t)}function K1t(t){console.log(q.warning("\u26A0 ")+t)}function J1t(t){console.log(q.error("\u2717 ")+t)}function B1e(t=60){console.log(q.dim("\u2500".repeat(t)))}function X1t(t){console.log(q.logo(t)),B1e(t.length)}function Z1t(t){return q.thinking(`[${t}]`)}function M1e(t,e,r){if(qC())return N1e(t,e,r);let n=process.env.HOME??process.env.USERPROFILE??"",o=t;return n&&t.startsWith(n)&&(o="~"+t.slice(n.length)),e&&(o+=`:${e}`),q.filePath(r??o)}function eTt(t){return q.code(t)}function tTt(){return process.stdout.columns||80}function rTt(t,e=40){let r=process.env.HOME??process.env.USERPROFILE??"",n=t;if(r&&t.startsWith(r)&&(n="~"+t.slice(r.length)),n.length<=e)return n;let o=n.split("/").filter(s=>s.length>0);if(o.length>=2){let s=o.slice(-2).join("/");if(s.length<=e-4)return".../"+s}return".../"+(o[o.length-1]||o[o.length-2])}function nTt(t){return t.replace(/\x1b\[[0-9;]*m/g,"").length}function oTt(t,e){let r=nTt(t),n=Math.max(0,e-r);return t+" ".repeat(n)}function iTt(t){if(t<60)return`${t}s`;let e=Math.floor(t/60),r=t%60;return r>0?`${e}m ${r}s`:`${e}m`}function gV(t){return t>=1e3?`${(t/1e3).toFixed(1)}K`:t.toString()}function AV(t){let e=tTt(),r=Math.min(e-2,76),n=r-4,o=(A,_)=>{let E=A.replace(/\x1b\[[0-9;]*m/g,"").length;return A+" ".repeat(Math.max(0,_-E))},i=A=>q.border("\u2502")+" "+o(A,n)+" "+q.border("\u2502"),s=(A,_,E,y)=>{let C=Math.floor(n/2),S=q.dim(A.padEnd(15))+_,w=q.dim(E.padEnd(15))+y;return i(o(S,C)+w)},a=iTt(t.durationSeconds),c=gV(t.tokensIn),l=gV(t.tokensOut),u=`$${t.totalCost.toFixed(4)}`,d=t.cloud?`\u2601\uFE0F Cloud \xB7 ${t.model}`:`${t.provider}/${t.model.replace("claude-","").replace("-latest","")}`;console.log(""),console.log(q.border("\u250C"+"\u2500".repeat(r-2)+"\u2510")),console.log(i(q.logo("Session complete. \u{1FABC}"))),console.log(q.border("\u251C"+"\u2500".repeat(r-2)+"\u2524")),console.log(i(q.logo("Session Summary"))),console.log(i(q.dim("\u2500".repeat(15)))),console.log(s("Duration",a,"Tool Calls",t.toolCalls.toString())),console.log(s("Turns",t.turns.toString(),"Files Modified",t.filesModified.toString())),console.log(i("")),console.log(i(q.logo("Token Usage"))),console.log(i(q.dim("\u2500".repeat(11)))),console.log(s("Input",c,"Output",l));let p=t.cachedTokens??0;if(p>0){let A=Math.min(100,Math.round(100*p/Math.max(1,t.tokensIn)));console.log(i(q.dim("Cached".padEnd(15))+`${gV(p)} (${A}%)`))}let f=t.cacheSavings??0,m=f>0?q.dim(` \xB7 saved ~$${f.toFixed(4)} by prompt caching`):"";console.log(i(q.dim("Cost".padEnd(15))+u+m)),console.log(i(""));let h=(A,_)=>A.length>_?`${A.slice(0,Math.max(0,_-1))}\u2026`:A;if(t.goalLine){let A=t.goalLine.replace(/^Goal:\s*/,"");console.log(i(q.dim("Goal: ")+h(A,n-6)))}t.goalResumeLine&&console.log(i(q.dim(h(` ${t.goalResumeLine}`,n)))),console.log(i(q.dim("Model: ")+q.model(d))),console.log(q.border("\u2514"+"\u2500".repeat(r-2)+"\u2518")),console.log("")}var A_,q,Y1t,z1t,O1e,Wr=b(()=>{"use strict";pV();De();x1e();ur();g_();Qa();A_="0.27.7",q={get logo(){return oe().accent.bold},get prompt(){return oe().accent.bold},get model(){return oe().accent},get success(){return oe().success},get warning(){return oe().warning},get error(){return oe().error},get thinking(){return oe().dim},get filePath(){return oe().filePath},get code(){return oe().code},get muted(){return oe().muted},get dim(){return oe().dim},get safe(){return oe().success},get risky(){return oe().warning},get destructive(){return oe().error},get border(){return oe().accent},get bannerBorder(){return oe().accent}};Y1t=24,z1t=/[\x00-\x1F\x7F-\x9F\u2028\u2029\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069\u200B-\u200D\u2060\uFEFF\u00AD]/;O1e=!1});var EV={};ae(EV,{MAX_RETAINED_TOASTS:()=>_V,MAX_VISIBLE_TOASTS:()=>bv,getNotificationStore:()=>Ct,useNotificationStore:()=>Go});import{create as sTt}from"zustand";function P1e(t){return t.length<=_V?t:t.slice(-_V)}var bv,_V,Go,Ct,cd=b(()=>{"use strict";bv=5,_V=200;Go=sTt((t,e)=>({toasts:[],nextId:1,showToast:(r,n=!1,o)=>{t(i=>{let s={id:i.nextId,text:r,persistent:n,expiresAt:o};if(!n){let c=i.toasts.filter(l=>l.persistent);return{toasts:P1e([...c,s]),nextId:i.nextId+1}}let a=i.toasts.filter(c=>c.persistent);return{toasts:P1e([...a,s]),nextId:i.nextId+1}})},clearToast:r=>{t(n=>r===void 0?{toasts:[]}:{toasts:n.toasts.filter(o=>o.id!==r)})},clearPersistent:()=>{t(r=>({toasts:r.toasts.filter(n=>!n.persistent)}))},clearFirstPersistent:()=>{t(r=>{let n=r.toasts.findIndex(o=>o.persistent);return n===-1?r:{toasts:[...r.toasts.slice(0,n),...r.toasts.slice(n+1)]}})},reset:()=>t({toasts:[],nextId:1}),visibleToasts:()=>e().toasts.slice(0,bv),overflowCount:()=>Math.max(0,e().toasts.length-bv)}));Object.defineProperty(Go,"toast",{get:()=>{let t=Go.getState().toasts;return t.length>0?t[t.length-1]:null}});Ct=Go.getState});var Q1e={};ae(Q1e,{getUserEchoSink:()=>yV,setUserEchoSink:()=>aTt});function aTt(t){F1e=t}function yV(){return F1e}var F1e,SV=b(()=>{"use strict";F1e=null});import{create as cTt}from"zustand";var U1e,__,qP=b(()=>{"use strict";cd();SV();U1e=cTt((t,e)=>({pendingNote:null,pendingOrigin:"keyboard",noteToastId:null,setPendingNote:r=>t({pendingNote:r,pendingOrigin:"keyboard",onRemoteConsume:void 0}),offerRemoteNote:(r,n)=>e().pendingNote?!1:(t({pendingNote:r,pendingOrigin:"remote",onRemoteConsume:n}),!0),setNoteToastId:r=>t({noteToastId:r}),getPendingNote:()=>e().pendingNote,onNoteInjected:()=>{let r=e().pendingNote,n=e().pendingOrigin;r&&n==="remote"&&e().onRemoteConsume?.();let o=e().noteToastId;if(o!==null&&Ct().clearToast(o),t({pendingNote:null,noteToastId:null,pendingOrigin:"keyboard",onRemoteConsume:void 0}),r){let i=yV();if(i)try{i(r,n)}catch{}}},reset:()=>t({pendingNote:null,noteToastId:null,pendingOrigin:"keyboard",onRemoteConsume:void 0})})),__=U1e.getState});import{create as lTt}from"zustand";var YC,Co,E_=b(()=>{"use strict";YC=null,Co=lTt((t,e)=>({active:!1,startedAt:null,bgAgentCount:0,elapsedSec:0,lastRelease:null,begin:r=>{t({active:!0,startedAt:Date.now(),bgAgentCount:r,elapsedSec:0,lastRelease:null}),YC!==null&&clearInterval(YC),YC=setInterval(()=>{let n=e();!n.active||n.startedAt===null||t({elapsedSec:Math.floor((Date.now()-n.startedAt)/1e3)})},1e3)},release:r=>{YC!==null&&(clearInterval(YC),YC=null),t({active:!1,startedAt:null,bgAgentCount:0,elapsedSec:0,lastRelease:r})},setCount:r=>t({bgAgentCount:r})}))});var YP={};ae(YP,{getUIStore:()=>ot,useUIStore:()=>ai});import{create as uTt}from"zustand";var $1e,ai,ot,sf=b(()=>{"use strict";$1e={mode:"welcome",agentMode:"normal",status:"",isThinking:!1,isStreaming:!1,currentIteration:0,iterationStartTime:Date.now(),iterationTokens:0,contextPercent:0,contextLevel:"normal",contextTokens:0,contextLimit:2e5,sessionCost:0,freeBudgetRemaining:null,freeBudgetResetAt:null,goalSegment:"",goalTurnActive:!1,sessionTokensIn:0,sessionCachedTokens:0,provider:"",model:"",reasoningEffort:"",openrouterProvider:"",connectionMode:"local",projectPath:process.cwd(),branch:void 0,worktreeName:void 0,baseBranch:void 0,soulName:"",personaName:"",toolsCount:0,mcpServersCount:0,mcpFailedCount:0,contextFilesCount:0,skillsCount:0,sessionStartTime:Date.now(),agentExecMs:0,agentTurnStartTime:null,renderEpoch:0,loopMode:!1,loopStartTime:null,loopMaxIterations:0,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0,loopPaused:!1,loopPauseUntil:null,loopDurationSeconds:0},ai=uTt(t=>({...$1e,setMode:e=>t({mode:e}),setAgentMode:e=>t({agentMode:e}),setStatus:e=>t({status:e}),setThinking:e=>t({isThinking:e}),setStreaming:e=>t(r=>{if(e&&!r.agentTurnStartTime)return{isStreaming:e,agentTurnStartTime:Date.now()};if(!e&&r.agentTurnStartTime){let n=Date.now()-r.agentTurnStartTime;return{isStreaming:e,agentExecMs:r.agentExecMs+n,agentTurnStartTime:null}}return{isStreaming:e}}),incrementIteration:()=>t(e=>({currentIteration:e.currentIteration+1,iterationStartTime:Date.now(),iterationTokens:0})),addIterationTokens:e=>t(r=>({iterationTokens:r.iterationTokens+e})),setIterationTokens:e=>t({iterationTokens:e}),updateContext:(e,r)=>{let n=r>0?Math.round(e/r*100):0,o=n>=90?"critical":n>=70?"warning":"normal";t({contextTokens:e,contextLimit:r,contextPercent:n,contextLevel:o})},updateSession:e=>t(e),updateResources:e=>t(e),setLoopMode:e=>t(e?{loopMode:e}:{loopMode:e,loopStartTime:null,loopMaxIterations:0,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0,loopPaused:!1,loopPauseUntil:null,loopDurationSeconds:0}),startLoop:(e,r)=>t({loopStartTime:e,loopMaxIterations:r,loopTotalInputTokens:0,loopTotalOutputTokens:0,loopCost:0,loopToolCalls:0,loopCurrentIteration:0}),updateLoopStats:(e,r,n,o)=>t({loopTotalInputTokens:e,loopTotalOutputTokens:r,loopCost:n,loopToolCalls:o}),setLoopIteration:e=>t({loopCurrentIteration:e}),setLoopPaused:(e,r)=>t({loopPaused:e,loopPauseUntil:r}),setLoopDurationSeconds:e=>t({loopDurationSeconds:e}),incrementRenderEpoch:()=>t(e=>({renderEpoch:e.renderEpoch+1})),reset:()=>t($1e)})),ot=ai.getState});var wv={};ae(wv,{getInputStore:()=>zC,useInputStore:()=>bo});import{create as dTt}from"zustand";var G1e,pTt,fTt,bo,zC,ld=b(()=>{"use strict";De();cd();sf();G1e={lines:[""],cursorLine:0,cursorCol:0,typeAheadBuffer:"",isTypeAheadActive:!1,typeAheadQueue:[],history:[],historyIndex:-1,undoStack:[],redoStack:[]},pTt=100,fTt=50,bo=dTt((t,e)=>({...G1e,insertChar:r=>{e().saveSnapshot(),t(o=>{let i=[...o.lines],s=i[o.cursorLine];return i[o.cursorLine]=s.slice(0,o.cursorCol)+r+s.slice(o.cursorCol),{lines:i,cursorCol:o.cursorCol+r.length,redoStack:[]}})},deleteChar:()=>{let r=e();r.cursorCol===0&&r.cursorLine===0||(r.saveSnapshot(),t(n=>{let o=[...n.lines];if(n.cursorCol>0){let i=o[n.cursorLine];return o[n.cursorLine]=i.slice(0,n.cursorCol-1)+i.slice(n.cursorCol),{lines:o,cursorCol:n.cursorCol-1,redoStack:[]}}else if(n.cursorLine>0){let i=o[n.cursorLine-1],s=o[n.cursorLine];return o[n.cursorLine-1]=i+s,o.splice(n.cursorLine,1),{lines:o,cursorLine:n.cursorLine-1,cursorCol:i.length,redoStack:[]}}return n}))},newLine:()=>{e().saveSnapshot(),t(n=>{let o=[...n.lines],i=o[n.cursorLine],s=i.slice(0,n.cursorCol),a=i.slice(n.cursorCol);return o[n.cursorLine]=s,o.splice(n.cursorLine+1,0,a),{lines:o,cursorLine:n.cursorLine+1,cursorCol:0,redoStack:[]}})},moveCursor:r=>{t(n=>{switch(r){case"left":if(n.cursorCol>0)return{cursorCol:n.cursorCol-1};if(n.cursorLine>0)return{cursorLine:n.cursorLine-1,cursorCol:n.lines[n.cursorLine-1].length};break;case"right":if(n.cursorCol<n.lines[n.cursorLine].length)return{cursorCol:n.cursorCol+1};if(n.cursorLine<n.lines.length-1)return{cursorLine:n.cursorLine+1,cursorCol:0};break;case"up":if(n.cursorLine>0){let o=n.cursorLine-1,i=Math.min(n.cursorCol,n.lines[o].length);return{cursorLine:o,cursorCol:i}}break;case"down":if(n.cursorLine<n.lines.length-1){let o=n.cursorLine+1,i=Math.min(n.cursorCol,n.lines[o].length);return{cursorLine:o,cursorCol:i}}break}return n})},setText:r=>{let n=r.split(`
394
394
  `);t({lines:n,cursorLine:n.length-1,cursorCol:n[n.length-1].length,undoStack:[],redoStack:[]})},clear:()=>{t({lines:[""],cursorLine:0,cursorCol:0,undoStack:[],redoStack:[]})},saveSnapshot:()=>{t(r=>{let n={lines:[...r.lines],cursorLine:r.cursorLine,cursorCol:r.cursorCol},o=[...r.undoStack,n];return o.length>fTt&&o.shift(),{undoStack:o}})},undo:()=>{t(r=>{if(r.undoStack.length===0)return r;let n=[...r.undoStack],o=n.pop(),i={lines:[...r.lines],cursorLine:r.cursorLine,cursorCol:r.cursorCol};return{lines:o.lines,cursorLine:o.cursorLine,cursorCol:o.cursorCol,undoStack:n,redoStack:[...r.redoStack,i]}})},redo:()=>{t(r=>{if(r.redoStack.length===0)return r;let n=[...r.redoStack],o=n.pop(),i={lines:[...r.lines],cursorLine:r.cursorLine,cursorCol:r.cursorCol};return{lines:o.lines,cursorLine:o.cursorLine,cursorCol:o.cursorCol,undoStack:[...r.undoStack,i],redoStack:n}})},appendTypeAhead:r=>{t(n=>({typeAheadBuffer:n.typeAheadBuffer+r}))},getAndClearTypeAhead:()=>{let r=e().typeAheadBuffer;return t({typeAheadBuffer:""}),r},setTypeAheadActive:r=>{t({isTypeAheadActive:r})},enqueueTypeAhead:r=>{let n=e(),o=n.lines.join(`
395
395
  `);if(o.trim()&&(n.addToHistory(o),t(i=>({typeAheadQueue:[...i.typeAheadQueue,{text:o,origin:"keyboard"}],lines:[""],cursorLine:0,cursorCol:0,undoStack:[],redoStack:[]})),!r?.silent)){let i=ai.getState().loopMode,s=i?"\u25C6 Queued for next iteration (/note injects now): ":"\u25C6 Queued: ",a=i?52:12,c=process.stdout.columns||80,l=Math.max(12,Math.floor(c*.618)-a),u=o.replace(/\n/g," "),d=u.length>l?u.slice(0,l)+"\u2026":u;Go.getState().showToast(g.green(`${s}"${d}"`),!0)}},setRemoteDropHandler:r=>t({remoteDropHandler:r}),enqueueRemote:r=>e().typeAheadQueue.filter(n=>n.origin==="remote").length>=128?!1:(t(n=>({typeAheadQueue:[...n.typeAheadQueue,r]})),!0),dropRemote:(r,n="ctrl_x")=>{let o=e().typeAheadQueue.find(i=>i.origin==="remote"&&(!r||i.promptId===r));return o?(t(i=>({typeAheadQueue:i.typeAheadQueue.filter(s=>s!==o)})),e().remoteDropHandler?.(o,n),!0):!1},dropAllRemote:r=>{let n=e().typeAheadQueue.filter(o=>o.origin==="remote");t(o=>({typeAheadQueue:o.typeAheadQueue.filter(i=>i.origin!=="remote")}));for(let o of n)e().remoteDropHandler?.(o,r)},dequeueTypeAhead:()=>{let r=e().typeAheadQueue;if(r.length===0)return null;let[n,...o]=r;return t({typeAheadQueue:o}),n},hasQueuedMessages:()=>e().typeAheadQueue.length>0,clearTypeAheadQueue:(r="ctrl_u")=>{e().dropAllRemote(r),t({typeAheadQueue:[]}),Go.getState().clearPersistent()},historyUp:()=>{t(r=>{if(r.history.length===0)return r;let n=r.historyIndex===-1?r.history.length-1:Math.max(0,r.historyIndex-1),i=r.history[n].split(`
396
396
  `);return{historyIndex:n,lines:i,cursorLine:i.length-1,cursorCol:i[i.length-1].length}})},historyDown:()=>{t(r=>{if(r.historyIndex===-1)return r;let n=r.historyIndex+1;if(n>=r.history.length)return{historyIndex:-1,lines:[""],cursorLine:0,cursorCol:0};let i=r.history[n].split(`
@@ -1099,7 +1099,7 @@ ${r}`:r}classifySegment(e){return this.destructivePatterns.some(r=>r.test(e))?"D
1099
1099
  `;return s+=` ${o.url}
1100
1100
  `,s+=` ${o.snippet}`,o.date&&(s+=` (${o.date})`),s}).join(`
1101
1101
 
1102
- `);return wA(n,r?`web search: ${r}`:void 0)}formatAction(e){let r=e.query,n=e.provider,o=`"${r}"`;return n&&n!=="auto"&&(o+=` via ${n}`),o}}});var Jkt,Jke,oE,TJ,_2=b(()=>{"use strict";Jkt="0.27.6",Jke="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",oE={timeout:3e4,maxSize:5242880,maxRedirects:5,includeImages:!1,userAgent:`Aii-CLI/${Jkt} (+https://aiiware.com)`},TJ={includeImages:!1,maxLength:100*1024,baseUrl:""}});function E2(t,e){let r=vJ(e),n=Xke(t),o=Zke(t),i=eDe(t),s=tDe(i,r),a=kJ(t,e);return{title:n,description:o,mainContent:s,contentType:a,siteType:r}}function vJ(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("github.com")||e.includes("raw.githubusercontent.com")?"github":e.includes("stackoverflow.com")||e.includes("stackexchange.com")?"stackoverflow":e.includes("developer.mozilla.org")?"mdn":e.includes("npmjs.com")||e.includes("npm.io")?"npm":"generic"}catch{return"generic"}}function kJ(t,e){let r=t.toLowerCase(),n=e.toLowerCase();if(n.includes("/docs/")||n.includes("/documentation/")||n.includes("/api/")||n.includes("/reference/")||n.includes("/guide/")||r.includes('class="documentation"')||r.includes('class="docs"')||r.includes('class="api-docs"')||r.includes('id="documentation"'))return"documentation";if(r.includes("<article")||r.includes('class="article"')||r.includes('class="post"')||r.includes('class="blog"')||r.includes('class="entry-content"'))return"article";let o=(r.match(/<pre/g)??[]).length,i=(r.match(/<code/g)??[]).length;return o>3||i>10||r.includes('class="highlight"')||r.includes('class="hljs"')||r.includes('class="prism"')?"code":"generic"}function Xke(t){let e=t.match(/<title[^>]*>([^<]*)<\/title>/i);if(e?.[1])return bd(e[1].trim());let r=t.match(/<meta[^>]*property=["']og:title["'][^>]*content=["']([^"']*)["']/i);if(r?.[1])return bd(r[1].trim());let n=t.match(/<h1[^>]*>([^<]*)<\/h1>/i);return n?.[1]?bd(n[1].trim()):""}function Zke(t){let e=t.match(/<meta[^>]*name=["']description["'][^>]*content=["']([^"']*)["']/i);if(e?.[1])return bd(e[1].trim());let r=t.match(/<meta[^>]*property=["']og:description["'][^>]*content=["']([^"']*)["']/i);if(r?.[1])return bd(r[1].trim());let n=t.match(/<meta[^>]*name=["']twitter:description["'][^>]*content=["']([^"']*)["']/i);if(n?.[1])return bd(n[1].trim())}function eDe(t){let e=t;return e=e.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,""),e=e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,""),e=e.replace(/<noscript[^>]*>[\s\S]*?<\/noscript>/gi,""),e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/<svg[^>]*>[\s\S]*?<\/svg>/gi,""),e=e.replace(/<nav[^>]*>[\s\S]*?<\/nav>/gi,""),e=e.replace(/<header[^>]*class=["'][^"']*(?:site|global|main|top)[^"']*["'][^>]*>[\s\S]*?<\/header>/gi,""),e=e.replace(/<footer[^>]*>[\s\S]*?<\/footer>/gi,""),e=e.replace(/<aside[^>]*>[\s\S]*?<\/aside>/gi,""),e=e.replace(/<div[^>]*class=["'][^"']*(?:ad|ads|advertisement|banner|promo|sponsor)[^"']*["'][^>]*>[\s\S]*?<\/div>/gi,""),e=e.replace(/<div[^>]*class=["'][^"']*(?:cookie|consent|gdpr)[^"']*["'][^>]*>[\s\S]*?<\/div>/gi,""),e}function tDe(t,e){let r=Xkt(t,e);if(r&&r.length>500)return r;let n=[/<main[^>]*>([\s\S]*?)<\/main>/i,/<article[^>]*>([\s\S]*?)<\/article>/i,/<div[^>]*role=["']main["'][^>]*>([\s\S]*?)<\/div>/i];for(let s of n){let a=t.match(s);if(a?.[1]&&a[1].length>500)return a[1]}let o=[/<div[^>]*class=["'][^"']*content[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*article[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*post[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*entry[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*id=["']content["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*id=["']main["'][^>]*>([\s\S]*?)<\/div>/i];for(let s of o){let a=t.match(s);if(a?.[1]&&a[1].length>500)return a[1]}return t.match(/<body[^>]*>([\s\S]*?)<\/body>/i)?.[1]??t}function Xkt(t,e){switch(e){case"github":{let r=t.match(/<article[^>]*class=["'][^"']*markdown-body[^"']*["'][^>]*>([\s\S]*?)<\/article>/i);if(r?.[1])return r[1];let n=t.match(/<div[^>]*class=["'][^"']*comment-body[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);if(n?.[1])return n[1];let o=t.match(/<div[^>]*class=["'][^"']*blob-wrapper[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);return o?.[1]?o[1]:null}case"stackoverflow":{let r=t.match(/<div[^>]*class=["'][^"']*s-prose[^"']*["'][^>]*>([\s\S]*?)<\/div>/i),n=t.match(/<div[^>]*class=["'][^"']*accepted-answer[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);return r?.[1]&&n?.[1]?`<div class="question">${r[1]}</div>
1102
+ `);return wA(n,r?`web search: ${r}`:void 0)}formatAction(e){let r=e.query,n=e.provider,o=`"${r}"`;return n&&n!=="auto"&&(o+=` via ${n}`),o}}});var Jkt,Jke,oE,TJ,_2=b(()=>{"use strict";Jkt="0.27.7",Jke="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36",oE={timeout:3e4,maxSize:5242880,maxRedirects:5,includeImages:!1,userAgent:`Aii-CLI/${Jkt} (+https://aiiware.com)`},TJ={includeImages:!1,maxLength:100*1024,baseUrl:""}});function E2(t,e){let r=vJ(e),n=Xke(t),o=Zke(t),i=eDe(t),s=tDe(i,r),a=kJ(t,e);return{title:n,description:o,mainContent:s,contentType:a,siteType:r}}function vJ(t){try{let e=new URL(t).hostname.toLowerCase();return e.includes("github.com")||e.includes("raw.githubusercontent.com")?"github":e.includes("stackoverflow.com")||e.includes("stackexchange.com")?"stackoverflow":e.includes("developer.mozilla.org")?"mdn":e.includes("npmjs.com")||e.includes("npm.io")?"npm":"generic"}catch{return"generic"}}function kJ(t,e){let r=t.toLowerCase(),n=e.toLowerCase();if(n.includes("/docs/")||n.includes("/documentation/")||n.includes("/api/")||n.includes("/reference/")||n.includes("/guide/")||r.includes('class="documentation"')||r.includes('class="docs"')||r.includes('class="api-docs"')||r.includes('id="documentation"'))return"documentation";if(r.includes("<article")||r.includes('class="article"')||r.includes('class="post"')||r.includes('class="blog"')||r.includes('class="entry-content"'))return"article";let o=(r.match(/<pre/g)??[]).length,i=(r.match(/<code/g)??[]).length;return o>3||i>10||r.includes('class="highlight"')||r.includes('class="hljs"')||r.includes('class="prism"')?"code":"generic"}function Xke(t){let e=t.match(/<title[^>]*>([^<]*)<\/title>/i);if(e?.[1])return bd(e[1].trim());let r=t.match(/<meta[^>]*property=["']og:title["'][^>]*content=["']([^"']*)["']/i);if(r?.[1])return bd(r[1].trim());let n=t.match(/<h1[^>]*>([^<]*)<\/h1>/i);return n?.[1]?bd(n[1].trim()):""}function Zke(t){let e=t.match(/<meta[^>]*name=["']description["'][^>]*content=["']([^"']*)["']/i);if(e?.[1])return bd(e[1].trim());let r=t.match(/<meta[^>]*property=["']og:description["'][^>]*content=["']([^"']*)["']/i);if(r?.[1])return bd(r[1].trim());let n=t.match(/<meta[^>]*name=["']twitter:description["'][^>]*content=["']([^"']*)["']/i);if(n?.[1])return bd(n[1].trim())}function eDe(t){let e=t;return e=e.replace(/<script[^>]*>[\s\S]*?<\/script>/gi,""),e=e.replace(/<style[^>]*>[\s\S]*?<\/style>/gi,""),e=e.replace(/<noscript[^>]*>[\s\S]*?<\/noscript>/gi,""),e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/<svg[^>]*>[\s\S]*?<\/svg>/gi,""),e=e.replace(/<nav[^>]*>[\s\S]*?<\/nav>/gi,""),e=e.replace(/<header[^>]*class=["'][^"']*(?:site|global|main|top)[^"']*["'][^>]*>[\s\S]*?<\/header>/gi,""),e=e.replace(/<footer[^>]*>[\s\S]*?<\/footer>/gi,""),e=e.replace(/<aside[^>]*>[\s\S]*?<\/aside>/gi,""),e=e.replace(/<div[^>]*class=["'][^"']*(?:ad|ads|advertisement|banner|promo|sponsor)[^"']*["'][^>]*>[\s\S]*?<\/div>/gi,""),e=e.replace(/<div[^>]*class=["'][^"']*(?:cookie|consent|gdpr)[^"']*["'][^>]*>[\s\S]*?<\/div>/gi,""),e}function tDe(t,e){let r=Xkt(t,e);if(r&&r.length>500)return r;let n=[/<main[^>]*>([\s\S]*?)<\/main>/i,/<article[^>]*>([\s\S]*?)<\/article>/i,/<div[^>]*role=["']main["'][^>]*>([\s\S]*?)<\/div>/i];for(let s of n){let a=t.match(s);if(a?.[1]&&a[1].length>500)return a[1]}let o=[/<div[^>]*class=["'][^"']*content[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*article[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*post[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*class=["'][^"']*entry[^"']*["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*id=["']content["'][^>]*>([\s\S]*?)<\/div>/i,/<div[^>]*id=["']main["'][^>]*>([\s\S]*?)<\/div>/i];for(let s of o){let a=t.match(s);if(a?.[1]&&a[1].length>500)return a[1]}return t.match(/<body[^>]*>([\s\S]*?)<\/body>/i)?.[1]??t}function Xkt(t,e){switch(e){case"github":{let r=t.match(/<article[^>]*class=["'][^"']*markdown-body[^"']*["'][^>]*>([\s\S]*?)<\/article>/i);if(r?.[1])return r[1];let n=t.match(/<div[^>]*class=["'][^"']*comment-body[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);if(n?.[1])return n[1];let o=t.match(/<div[^>]*class=["'][^"']*blob-wrapper[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);return o?.[1]?o[1]:null}case"stackoverflow":{let r=t.match(/<div[^>]*class=["'][^"']*s-prose[^"']*["'][^>]*>([\s\S]*?)<\/div>/i),n=t.match(/<div[^>]*class=["'][^"']*accepted-answer[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);return r?.[1]&&n?.[1]?`<div class="question">${r[1]}</div>
1103
1103
  <div class="answer">${n[1]}</div>`:r?.[1]?r[1]:null}case"mdn":{let r=t.match(/<article[^>]*class=["'][^"']*main-page-content[^"']*["'][^>]*>([\s\S]*?)<\/article>/i);return r?.[1]?r[1]:null}case"npm":{let r=t.match(/<div[^>]*class=["'][^"']*markdown[^"']*["'][^>]*>([\s\S]*?)<\/div>/i);return r?.[1]?r[1]:null}default:return null}}function bd(t){let e={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&apos;":"'","&nbsp;":" ","&mdash;":"\u2014","&ndash;":"\u2013","&hellip;":"\u2026","&copy;":"\xA9","&reg;":"\xAE","&trade;":"\u2122","&lsquo;":"\u2018","&rsquo;":"\u2019","&ldquo;":"\u201C","&rdquo;":"\u201D","&bull;":"\u2022","&middot;":"\xB7","&rarr;":"\u2192","&larr;":"\u2190","&uarr;":"\u2191","&darr;":"\u2193"},r=t;for(let[n,o]of Object.entries(e))r=r.replace(new RegExp(n,"gi"),o);return r=r.replace(/&#(\d+);/g,(n,o)=>{let i=parseInt(o,10);return i>0&&i<65536?String.fromCharCode(i):""}),r=r.replace(/&#x([0-9a-f]+);/gi,(n,o)=>{let i=parseInt(o,16);return i>0&&i<65536?String.fromCharCode(i):""}),r}var DJ=b(()=>{"use strict"});function y2(t,e={}){let r={...TJ,...e},n=t;return n=n.replace(/\r\n/g,`
1104
1104
  `).replace(/\r/g,`
1105
1105
  `),n=Zkt(n),n=n.replace(/<code[^>]*>([\s\S]*?)<\/code>/gi,"`$1`"),n=tDt(n),n=rDt(n,r.baseUrl),r.includeImages?n=nDt(n,r.baseUrl):n=n.replace(/<img[^>]*\/?>/gi,""),n=oDt(n),n=iDt(n),n=sDt(n),n=aDt(n),n=n.replace(/<hr[^>]*\/?>/gi,`
@@ -3824,7 +3824,7 @@ ${e}`,S7t=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),C7t=Obj
3824
3824
  `+this.color(o,g.dim)}formatError(e){let r=[];return r.push(this.color(`${this.emoji("\u274C ")}${e.message}`,g.red)),e.suggestions&&e.suggestions.length>0&&(r.push(""),r.push(this.color(`${this.emoji("\u{1F4A1} ")}Solutions:`,g.yellow)),e.suggestions.forEach((n,o)=>{r.push(this.color(` ${o+1}. ${n}`,g.gray))})),r.join(`
3825
3825
  `)}formatConfig(e){let r=[];r.push(this.color(`${this.emoji("\u{1F4CB} ")}Current AII Configuration:`,q.model)),r.push(`- Config file: ${e.configFile}`),r.push(`- Storage path: ${e.storagePath}`),e.apiUrl&&r.push(`- Aii Server: ${e.apiUrl}`);let n=e.hasApiKey?this.color("\u2713",g.green):this.color("\u2717",g.red),o=e.model.startsWith(e.provider+"/")?e.model.slice(e.provider.length+1):e.model;if(r.push(`- LLM provider: ${e.provider} (${o}) - ${n}`),e.webSearch){let i=e.webSearch.enabled?this.color("\u2713",g.green):this.color("\u2717",g.red);r.push(`- Web search: ${e.webSearch.provider??"none"} - ${i}`)}return e.issues&&e.issues.length>0&&r.push(`- Configuration issues: ${e.issues.length}`),r.join(`
3826
3826
  `)}formatHealthCheck(e,r){let n=[],o=r?`Aii Doctor v${r}`:"Aii Doctor";n.push(this.color(o,q.model)),n.push("");let i=22;for(let c of e){let l=i-c.name.length-1,u=".".repeat(Math.max(2,l)),d,p;switch(c.status){case"ok":d="OK",p=g.green;break;case"warn":d="WARN",p=g.yellow;break;case"error":d="FAIL",p=g.red;break}let f=this.color(d,p),m=c.message?` (${c.message})`:"";n.push(` ${c.name} ${this.color(u,g.gray)} ${f}${m}`)}let s=e.filter(c=>c.status==="error").length,a=e.filter(c=>c.status==="warn").length;return n.push(""),s>0?n.push(` ${this.color(`${s} check${s>1?"s":""} failed.`,g.red)}`):a>0?n.push(` ${this.color("All checks passed with warnings.",g.yellow)}`):n.push(` ${this.color("All checks passed.",g.green)}`),n.join(`
3827
- `)}}});var eWe={};ae(eWe,{extractOpenRouterProvider:()=>Jd,inferProviderFromModel:()=>PI,normalizeModelFlag:()=>Ko,parseProviderModel:()=>hN,resolveProvider:()=>rs,stripProviderPrefix:()=>uo});function Ko(t){if(!t)return t;let e=t.indexOf(":");if(e>0){let r=t.substring(0,e).toLowerCase();if(r in Ay)return r+"/"+t.substring(e+1)}return t}function PI(t){if(!t)return;let e=t.toLowerCase();for(let{provider:r,patterns:n}of L7t)for(let o of n)if(o.test(e))return r}function uo(t,e){if(!t)return t;let r=t.indexOf("/");if(r===-1)return t;let n=t.substring(0,r).toLowerCase();return n!=="ollama"&&n in Ay?e&&Ay[n]!==e?t:t.substring(r+1):t}function hN(t){if(!t)return;let e=t.indexOf("/");if(e>0){let n=t.substring(0,e).toLowerCase();if(n in Ay){let o=Ay[n],i=t.substring(e+1),s=o==="ollama"?`ollama/${i}`:i;return{provider:o,model:s}}}let r=t.indexOf(":");if(r>0){let n=t.substring(0,r).toLowerCase();if(n in Ay){let o=Ay[n],i=t.substring(r+1),s=o==="ollama"?`ollama/${i}`:i;return{provider:o,model:s}}}}function Jd(t){let e=t.lastIndexOf("@");return e===-1||e===t.length-1?{model:t,openrouterProvider:void 0}:{model:t.slice(0,e),openrouterProvider:t.slice(e+1)}}function rs(t,e){if(t){let r=PI(t);if(r)return r}return e}var Ay,L7t,Xa=b(()=>{"use strict";Ay={openrouter:"openrouter",ollama:"ollama",anthropic:"anthropic",openai:"openai",gemini:"gemini",google:"gemini",deepseek:"deepseek",moonshot:"moonshot",zai:"zai",xai:"xai"},L7t=[{provider:"openrouter",patterns:[/^openrouter\//]},{provider:"ollama",patterns:[/^ollama\//]},{provider:"anthropic",patterns:[/^anthropic\//,/^claude-/,/^claude$/i]},{provider:"openai",patterns:[/^openai\//,/^gpt-/,/^o1-/,/^o3-/,/^chatgpt-/,/^text-davinci/]},{provider:"gemini",patterns:[/^gemini\//,/^google\//,/^gemini-/,/^gemini$/i]},{provider:"deepseek",patterns:[/^deepseek\//,/^deepseek-/,/^deepseek$/i]},{provider:"moonshot",patterns:[/^moonshot\//,/^kimi-/,/^moonshot-/,/^moonshot$/i]},{provider:"zai",patterns:[/^zai\//,/^glm-/,/^glm$/i,/^chatglm/i]},{provider:"xai",patterns:[/^xai\//,/^grok-/,/^grok$/i]}]});import*as el from"fs";import*as uG from"path";import*as tWe from"os";function dG(){el.existsSync(gN)||el.mkdirSync(gN,{recursive:!0,mode:448});try{el.chmodSync(gN,448)}catch{}}function P7t(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function F7t(t){let r=t.trim().replace(/\s+/g," ");return r.length>50&&(r=r.substring(0,50).trim()+"..."),r}function rWe(t){return uG.join(gN,`${t}.json`)}function nWe(){dG();try{if(el.existsSync(jie)){let t=el.readFileSync(jie,"utf-8"),e=JSON.parse(t),r=rWe(e.id);if(el.existsSync(r)){let n=el.readFileSync(r,"utf-8");return JSON.parse(n)}}}catch{}return oWe()}function oWe(){dG();let t={id:P7t(),title:"New Conversation",messages:[],createdAt:Date.now(),updatedAt:Date.now()};return AN(t),Q7t(t.id),t}function AN(t){if(dG(),t.title==="New Conversation"&&t.messages.length>0){let r=t.messages.find(n=>n.role==="user");r&&(t.title=F7t(r.content))}t.updatedAt=Date.now();let e=rWe(t.id);mc(e,JSON.stringify(t,null,2))}function Q7t(t){dG(),mc(jie,JSON.stringify({id:t}))}function iWe(){return oWe()}var gN,jie,sWe=b(()=>{"use strict";Gu();gN=uG.join(tWe.homedir(),".aii","conversations"),jie=uG.join(gN,"current.json")});import*as aWe from"readline";async function pG(t,e){await new qie(t,e).start()}var U7t,qie,Yie=b(()=>{"use strict";De();Z_();BI();LI();Og();as();jo();Xa();sWe();XE();U7t="0.27.6",qie=class{configManager;parsed;running=!1;conversation;stats;formatter;effectiveProvider="";constructor(e,r){this.parsed=e,this.configManager=r,this.conversation=nWe(),this.stats={startTime:Date.now(),totalRequests:0,cumulativeTokens:0,cumulativeCost:0},this.formatter=sa({colors:!e.flags.noColors,emojis:!e.flags.noEmojis})}async start(){for(this.running=!0,this.displayWelcome();this.running;)try{let e=await this.getUserInput();if(!e.trim()||await this.handleSpecialCommands(e))continue;this.conversation.messages.push({role:"user",content:e,timestamp:Date.now()}),AN(this.conversation),await this.processWithContext(e)}catch(e){if(e instanceof Error&&e.message==="EXIT")break;if(e instanceof Error&&e.message==="INTERRUPTED"){console.log(`
3827
+ `)}}});var eWe={};ae(eWe,{extractOpenRouterProvider:()=>Jd,inferProviderFromModel:()=>PI,normalizeModelFlag:()=>Ko,parseProviderModel:()=>hN,resolveProvider:()=>rs,stripProviderPrefix:()=>uo});function Ko(t){if(!t)return t;let e=t.indexOf(":");if(e>0){let r=t.substring(0,e).toLowerCase();if(r in Ay)return r+"/"+t.substring(e+1)}return t}function PI(t){if(!t)return;let e=t.toLowerCase();for(let{provider:r,patterns:n}of L7t)for(let o of n)if(o.test(e))return r}function uo(t,e){if(!t)return t;let r=t.indexOf("/");if(r===-1)return t;let n=t.substring(0,r).toLowerCase();return n!=="ollama"&&n in Ay?e&&Ay[n]!==e?t:t.substring(r+1):t}function hN(t){if(!t)return;let e=t.indexOf("/");if(e>0){let n=t.substring(0,e).toLowerCase();if(n in Ay){let o=Ay[n],i=t.substring(e+1),s=o==="ollama"?`ollama/${i}`:i;return{provider:o,model:s}}}let r=t.indexOf(":");if(r>0){let n=t.substring(0,r).toLowerCase();if(n in Ay){let o=Ay[n],i=t.substring(r+1),s=o==="ollama"?`ollama/${i}`:i;return{provider:o,model:s}}}}function Jd(t){let e=t.lastIndexOf("@");return e===-1||e===t.length-1?{model:t,openrouterProvider:void 0}:{model:t.slice(0,e),openrouterProvider:t.slice(e+1)}}function rs(t,e){if(t){let r=PI(t);if(r)return r}return e}var Ay,L7t,Xa=b(()=>{"use strict";Ay={openrouter:"openrouter",ollama:"ollama",anthropic:"anthropic",openai:"openai",gemini:"gemini",google:"gemini",deepseek:"deepseek",moonshot:"moonshot",zai:"zai",xai:"xai"},L7t=[{provider:"openrouter",patterns:[/^openrouter\//]},{provider:"ollama",patterns:[/^ollama\//]},{provider:"anthropic",patterns:[/^anthropic\//,/^claude-/,/^claude$/i]},{provider:"openai",patterns:[/^openai\//,/^gpt-/,/^o1-/,/^o3-/,/^chatgpt-/,/^text-davinci/]},{provider:"gemini",patterns:[/^gemini\//,/^google\//,/^gemini-/,/^gemini$/i]},{provider:"deepseek",patterns:[/^deepseek\//,/^deepseek-/,/^deepseek$/i]},{provider:"moonshot",patterns:[/^moonshot\//,/^kimi-/,/^moonshot-/,/^moonshot$/i]},{provider:"zai",patterns:[/^zai\//,/^glm-/,/^glm$/i,/^chatglm/i]},{provider:"xai",patterns:[/^xai\//,/^grok-/,/^grok$/i]}]});import*as el from"fs";import*as uG from"path";import*as tWe from"os";function dG(){el.existsSync(gN)||el.mkdirSync(gN,{recursive:!0,mode:448});try{el.chmodSync(gN,448)}catch{}}function P7t(){return`conv_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}function F7t(t){let r=t.trim().replace(/\s+/g," ");return r.length>50&&(r=r.substring(0,50).trim()+"..."),r}function rWe(t){return uG.join(gN,`${t}.json`)}function nWe(){dG();try{if(el.existsSync(jie)){let t=el.readFileSync(jie,"utf-8"),e=JSON.parse(t),r=rWe(e.id);if(el.existsSync(r)){let n=el.readFileSync(r,"utf-8");return JSON.parse(n)}}}catch{}return oWe()}function oWe(){dG();let t={id:P7t(),title:"New Conversation",messages:[],createdAt:Date.now(),updatedAt:Date.now()};return AN(t),Q7t(t.id),t}function AN(t){if(dG(),t.title==="New Conversation"&&t.messages.length>0){let r=t.messages.find(n=>n.role==="user");r&&(t.title=F7t(r.content))}t.updatedAt=Date.now();let e=rWe(t.id);mc(e,JSON.stringify(t,null,2))}function Q7t(t){dG(),mc(jie,JSON.stringify({id:t}))}function iWe(){return oWe()}var gN,jie,sWe=b(()=>{"use strict";Gu();gN=uG.join(tWe.homedir(),".aii","conversations"),jie=uG.join(gN,"current.json")});import*as aWe from"readline";async function pG(t,e){await new qie(t,e).start()}var U7t,qie,Yie=b(()=>{"use strict";De();Z_();BI();LI();Og();as();jo();Xa();sWe();XE();U7t="0.27.7",qie=class{configManager;parsed;running=!1;conversation;stats;formatter;effectiveProvider="";constructor(e,r){this.parsed=e,this.configManager=r,this.conversation=nWe(),this.stats={startTime:Date.now(),totalRequests:0,cumulativeTokens:0,cumulativeCost:0},this.formatter=sa({colors:!e.flags.noColors,emojis:!e.flags.noEmojis})}async start(){for(this.running=!0,this.displayWelcome();this.running;)try{let e=await this.getUserInput();if(!e.trim()||await this.handleSpecialCommands(e))continue;this.conversation.messages.push({role:"user",content:e,timestamp:Date.now()}),AN(this.conversation),await this.processWithContext(e)}catch(e){if(e instanceof Error&&e.message==="EXIT")break;if(e instanceof Error&&e.message==="INTERRUPTED"){console.log(`
3828
3828
  \u26A0\uFE0F Interrupted. Type /exit to quit or continue chatting.`);continue}console.error(g.red(`
3829
3829
  \u274C Error: ${e instanceof Error?e.message:String(e)}`)),this.conversation.messages.length>0&&this.conversation.messages[this.conversation.messages.length-1].role==="user"&&(this.conversation.messages.pop(),AN(this.conversation))}}displayWelcome(){console.log("\u{1FABC} Entering interactive mode."),console.log(""),console.log("Controls:"),console.log(" \u2022 Enter - Send message"),console.log(" \u2022 End with \\ - Multi-line mode"),console.log(" \u2022 /exit - Quit chat"),console.log(" \u2022 /help - Show all commands"),console.log("")}getUserInput(){return new Promise((e,r)=>{let n=aWe.createInterface({input:process.stdin,output:process.stdout}),o=[],i=!1,s=()=>{i=!0,n.close()},a=c=>{n.question(c,l=>{if(o.length===0&&l.trim().startsWith("/")){s(),e(l.trim());return}l.endsWith("\\")?(o.push(l.slice(0,-1)),a(" ")):(o.push(l),s(),e(o.join(`
3830
3830
  `).trim()))})};n.on("SIGINT",()=>{s(),r(new Error("INTERRUPTED"))}),n.on("close",()=>{i||r(new Error("EXIT"))}),a("> ")})}async handleSpecialCommands(e){let r=e.trim().toLowerCase();if(r.startsWith("/"))r=r.slice(1);else return!1;switch(r){case"exit":case"quit":return await this.handleExit(),!0;case"help":return this.displayHelp(),!0;case"clear":case"new":return this.clearConversation(),!0;case"history":return this.displayConversationHistory(),!0;case"stats":return this.displayStats(),!0;case"version":return this.displayVersion(),!0;default:return console.log(g.yellow(`Unknown command: /${r}. Type /help for available commands.`)),console.log(""),!0}}async processWithContext(e){let r=await this.configManager.load(),n=this.configManager.validate();if(!n.valid)throw new bn(n.issues.join(", "));let i=this.configManager.getServerApiKey()||"aii_sk_7WyvfQ0PRzufJ1G66Qn8Sm4gW9Tealpo6vOWDDUeiv4",s=Ko(this.parsed.flags.model??""),a=rs(s||void 0,r.llm.provider),c=uo(s||r.llm.model,a);this.effectiveProvider=a;let l=this.parsed.flags.host?`http://${this.parsed.flags.host}`:r.api.url,u=await jt(a,this.configManager,{serverBaseUrl:l,mode:"execute",serverApiKey:i}),d=u?.key;if(!d)throw new Dn(`Missing API key for provider: ${a}`);this.stats.totalRequests++;let p=Vd(!this.parsed.flags.noAnimations);p.start("");let f=Kd({spinner:p,enabled:!this.parsed.flags.noStreaming}),m=this.conversation.messages.slice(-21,-1).map(C=>({role:C.role,content:C.content})),h={api_key:i,system_prompt:null,user_prompt:e,user_message:e,output_mode:"CLEAN",streaming:!this.parsed.flags.noStreaming,model:c,llm_provider:a,llm_api_key:d,provider_api_key:d,...u?.authType?{auth_type:u.authType}:{},...u?.accountId?{account_id:u.accountId}:{},client_type:"cli",offline:this.parsed.flags.offline,conversation_history:m.length>0?m:void 0,soul:Ji.getInstance().getSoulName()},A=this.parsed.flags.host?`http://${this.parsed.flags.host}`:r.api.url,_=new qs({url:A}),E="",y=!1;try{let C=await _.executeRequest(h,{onToken:w=>{E+=w,y=!0,f.onToken(w)}});f.flush();let S=C.result||E;!y&&S&&console.log(S),console.log(""),C.metadata&&this.displayExecutionSummary(C.metadata),S&&(this.conversation.messages.push({role:"assistant",content:S,timestamp:Date.now()}),AN(this.conversation))}catch(C){throw p.stop(!0),C}finally{_.disconnect()}}displayExecutionSummary(e){let r=e.cost||0,n=e.tokens_in||0,o=e.tokens_out||0,i=n+o;this.stats.cumulativeTokens+=i,this.stats.cumulativeCost+=r;let s=e.provider,a=!s;console.log(this.formatter.formatExecutionSummary({provider:s||this.effectiveProvider,providerInferred:a,model:e.model,tokens_in:n,tokens_out:o,cost:r,execution_time:e.execution_time})),console.log("")}clearConversation(){this.conversation=iWe(),console.clear(),this.displayWelcome()}displayConversationHistory(){if(this.conversation.messages.length===0){console.log(`
@@ -4734,8 +4734,8 @@ ${r.yellow("CONFIG FILE:")}
4734
4734
  .aii/settings.json Project config (committed, restrict-only)
4735
4735
  .aii/settings.local.json Your local overrides (gitignored)
4736
4736
  ${r.gray("Skip both for a session with: aii --no-project-config")}
4737
- `)}var pZe,H4,hu,zZt,hZe=b(()=>{"use strict";De();Lu();Wr();Og();pt();h4();dd();Xa();rm();GN();Qs();Rv();Lt();pZe={anthropic:`Claude models (${Hs.anthropic})`,openai:`GPT models (${Hs.openai})`,gemini:`Gemini models (${Hs.gemini})`,moonshot:`Kimi models (${Hs.moonshot})`,deepseek:`DeepSeek models (${Hs.deepseek})`,zai:`Z.ai GLM models (${Hs.zai})`,ollama:"Ollama local models (Llama, Mistral, Qwen, etc.)",openrouter:"OpenRouter gateway (300+ models, single API key)",xai:`xAI Grok models (${Fs.join(", ")})`},H4=Fi,hu=["anthropic","openai","gemini","deepseek","moonshot","zai","ollama","openrouter"],zZt={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY",gemini:"GEMINI_API_KEY",deepseek:"DEEPSEEK_API_KEY",moonshot:"MOONSHOT_API_KEY",zai:"ZAI_API_KEY",ollama:"OLLAMA_HOST",openrouter:"OPENROUTER_API_KEY",xai:"XAI_API_KEY"}});import*as sp from"fs";async function gZe(t,e){let r=sa({colors:!t.flags.noColors,emojis:!t.flags.noEmojis}),n=[],o=`${e.getConfigDir()}/config.yaml`;e.configExists()?n.push({name:"Config",status:"ok",message:o.replace(process.env.HOME||"","~")}):n.push({name:"Config",status:"warn",message:"Not found (using defaults)"});let i=await e.load();e.getApiKey()?n.push({name:"API Key",status:"ok",message:`${i.llm.provider}:${i.llm.model.replace(`${i.llm.provider}/`,"")}`}):n.push({name:"API Key",status:"error",message:`Not configured for ${i.llm.provider}`});let a=await cer(i.api.url);n.push({name:"Aii Server",status:a.ok?"ok":"error",message:a.message});let c=`${e.getConfigDir()}/mcp_servers.json`;if(sp.existsSync(c))try{let f=sp.readFileSync(c,"utf-8"),m=JSON.parse(f),h=Object.keys(m.mcpServers??{}).length;h>0?n.push({name:"MCP Servers",status:"ok",message:`${h} configured`}):n.push({name:"MCP Servers",status:"warn",message:"Not configured"})}catch{n.push({name:"MCP Servers",status:"warn",message:"Invalid config"})}else n.push({name:"MCP Servers",status:"warn",message:"Not configured"});if(UL())try{let{execSync:f}=await import("child_process"),h=f("docker --version",{timeout:5e3,encoding:"utf-8"}).trim().match(/Docker version ([\d.]+)/);n.push({name:"Docker",status:"ok",message:h?`v${h[1]}`:"Installed"})}catch{n.push({name:"Docker",status:"ok",message:"Installed"})}else n.push({name:"Docker",status:"error",message:"Not installed (brew install --cask docker)"});UL()?$L()?n.push({name:"Docker Daemon",status:"ok",message:"Running"}):n.push({name:"Docker Daemon",status:"error",message:"Not running (open -a Docker)"}):n.push({name:"Docker Daemon",status:"warn",message:"N/A (Docker not installed)"});let l=process.version;parseInt(l.slice(1).split(".")[0],10)>=18?n.push({name:"Node.js",status:"ok",message:l}):n.push({name:"Node.js",status:"error",message:`${l} (requires >= 18)`});let d=await ler();n.push(...d),console.log(r.formatHealthCheck(n,A_)),n.some(f=>f.status==="error")&&process.exit(1)}async function cer(t){try{let e=new AbortController,r=setTimeout(()=>e.abort(),3e3),n=await fetch(`${t}/api/status`,{signal:e.signal});if(clearTimeout(r),n.ok){let o=new URL(t);return{ok:!0,message:`${o.hostname}:${o.port||26169}`}}else return{ok:!1,message:`Not responding (${n.status})`}}catch(e){return e instanceof Error&&e.name==="AbortError"?{ok:!1,message:"Connection timeout"}:{ok:!1,message:"Not running"}}}async function ler(){let t=[];try{let{getAiiHome:e}=await Promise.resolve().then(()=>(Ha(),CQ)),r=`${e()}/skills`;if(!sp.existsSync(r))return t;let n=sp.readdirSync(r,{withFileTypes:!0});for(let o of n){if(!o.isDirectory()||o.name.startsWith("."))continue;let i=`${r}/${o.name}/SKILL.md`;sp.existsSync(i)||t.push({name:"Skill Shadow",status:"warn",message:`~/.aii/skills/${o.name}/ has no SKILL.md \u2014 may shadow other skills`})}try{let{PersonaManager:o}=await Promise.resolve().then(()=>(Lr(),Hr));if(o.hasInstance()&&o.getInstance().isActive()){let i=o.getInstance().getActive();if(i)for(let s of i.skillPaths){let a=s.split("/").pop()||"",c=`${r}/${a}`;sp.existsSync(c)&&sp.existsSync(`${c}/SKILL.md`)&&t.push({name:"Skill Shadow",status:"ok",message:`"${a}" user-authored shadows persona-bundled (intentional?)`})}}}catch{}}catch{}return t}var AZe=b(()=>{"use strict";Og();Wr();GL()});import{execSync as cce}from"node:child_process";async function _Ze(t){let e=t.args||[],r=t.subcommand||e[0]||"";if(t.flags.help||r==="help"||r==="--help"||e.includes("--help")){let n="0.27.6";console.log(""),console.log(q.logo(" Install")),console.log(""),console.log(` Current version: ${q.model(n)}`),console.log(""),console.log(g.yellow(" USAGE:")),console.log(` ${g.green("aii install")} Update to latest version`),console.log(` ${g.green("aii install <version>")} Install specific version`),console.log(` ${g.green("aii install skill <src>")} Install a skill package ${g.dim("(coming soon)")}`),console.log(` ${g.green("aii install mcp <name>")} Install an MCP server ${g.dim("(coming soon)")}`),console.log(""),console.log(g.yellow(" EXAMPLES:")),console.log(` ${g.green("aii install")} ${g.dim("# Self-update to latest")}`),console.log(` ${g.green("aii install 0.13.10")} ${g.dim("# Pin to specific version")}`),console.log("");return}if(r==="skill"){console.log("Skill installation coming soon. For now use: /skills install owner/repo");return}if(r==="mcp"){console.log("MCP installation coming soon. For now use: aii mcp install <server>");return}console.log("\x1B[33m\u26A0 `aii install` for self-update is deprecated. Use `aii upgrade` instead.\x1B[0m"),console.log(`\x1B[33m This alias will be removed in v0.16.x.\x1B[0m
4738
- `),await uer(r)}async function uer(t){let e="0.27.6",r=t&&t!=="latest"?t:"";if(console.log(""),r){console.log(`\u{1FABC} Installing Aii CLI v${r}...`),console.log("");try{cce(`npm install -g ${j4}@${r}`,{stdio:"inherit",timeout:12e4})}catch{console.error(`
4737
+ `)}var pZe,H4,hu,zZt,hZe=b(()=>{"use strict";De();Lu();Wr();Og();pt();h4();dd();Xa();rm();GN();Qs();Rv();Lt();pZe={anthropic:`Claude models (${Hs.anthropic})`,openai:`GPT models (${Hs.openai})`,gemini:`Gemini models (${Hs.gemini})`,moonshot:`Kimi models (${Hs.moonshot})`,deepseek:`DeepSeek models (${Hs.deepseek})`,zai:`Z.ai GLM models (${Hs.zai})`,ollama:"Ollama local models (Llama, Mistral, Qwen, etc.)",openrouter:"OpenRouter gateway (300+ models, single API key)",xai:`xAI Grok models (${Fs.join(", ")})`},H4=Fi,hu=["anthropic","openai","gemini","deepseek","moonshot","zai","ollama","openrouter"],zZt={anthropic:"ANTHROPIC_API_KEY",openai:"OPENAI_API_KEY",gemini:"GEMINI_API_KEY",deepseek:"DEEPSEEK_API_KEY",moonshot:"MOONSHOT_API_KEY",zai:"ZAI_API_KEY",ollama:"OLLAMA_HOST",openrouter:"OPENROUTER_API_KEY",xai:"XAI_API_KEY"}});import*as sp from"fs";async function gZe(t,e){let r=sa({colors:!t.flags.noColors,emojis:!t.flags.noEmojis}),n=[],o=`${e.getConfigDir()}/config.yaml`;e.configExists()?n.push({name:"Config",status:"ok",message:o.replace(process.env.HOME||"","~")}):n.push({name:"Config",status:"warn",message:"Not found (using defaults)"});let i=await e.load();e.getApiKey()?n.push({name:"API Key",status:"ok",message:`${i.llm.provider}:${i.llm.model.replace(`${i.llm.provider}/`,"")}`}):n.push({name:"API Key",status:"error",message:`Not configured for ${i.llm.provider}`});let a=await cer(i.api.url);n.push({name:"Aii Server",status:a.ok?"ok":"error",message:a.message});let c=`${e.getConfigDir()}/mcp_servers.json`;if(sp.existsSync(c))try{let f=sp.readFileSync(c,"utf-8"),m=JSON.parse(f),h=Object.keys(m.mcpServers??{}).length;h>0?n.push({name:"MCP Servers",status:"ok",message:`${h} configured`}):n.push({name:"MCP Servers",status:"warn",message:"Not configured"})}catch{n.push({name:"MCP Servers",status:"warn",message:"Invalid config"})}else n.push({name:"MCP Servers",status:"warn",message:"Not configured"});if(UL())try{let{execSync:f}=await import("child_process"),h=f("docker --version",{timeout:5e3,encoding:"utf-8"}).trim().match(/Docker version ([\d.]+)/);n.push({name:"Docker",status:"ok",message:h?`v${h[1]}`:"Installed"})}catch{n.push({name:"Docker",status:"ok",message:"Installed"})}else n.push({name:"Docker",status:"error",message:"Not installed (brew install --cask docker)"});UL()?$L()?n.push({name:"Docker Daemon",status:"ok",message:"Running"}):n.push({name:"Docker Daemon",status:"error",message:"Not running (open -a Docker)"}):n.push({name:"Docker Daemon",status:"warn",message:"N/A (Docker not installed)"});let l=process.version;parseInt(l.slice(1).split(".")[0],10)>=18?n.push({name:"Node.js",status:"ok",message:l}):n.push({name:"Node.js",status:"error",message:`${l} (requires >= 18)`});let d=await ler();n.push(...d),console.log(r.formatHealthCheck(n,A_)),n.some(f=>f.status==="error")&&process.exit(1)}async function cer(t){try{let e=new AbortController,r=setTimeout(()=>e.abort(),3e3),n=await fetch(`${t}/api/status`,{signal:e.signal});if(clearTimeout(r),n.ok){let o=new URL(t);return{ok:!0,message:`${o.hostname}:${o.port||26169}`}}else return{ok:!1,message:`Not responding (${n.status})`}}catch(e){return e instanceof Error&&e.name==="AbortError"?{ok:!1,message:"Connection timeout"}:{ok:!1,message:"Not running"}}}async function ler(){let t=[];try{let{getAiiHome:e}=await Promise.resolve().then(()=>(Ha(),CQ)),r=`${e()}/skills`;if(!sp.existsSync(r))return t;let n=sp.readdirSync(r,{withFileTypes:!0});for(let o of n){if(!o.isDirectory()||o.name.startsWith("."))continue;let i=`${r}/${o.name}/SKILL.md`;sp.existsSync(i)||t.push({name:"Skill Shadow",status:"warn",message:`~/.aii/skills/${o.name}/ has no SKILL.md \u2014 may shadow other skills`})}try{let{PersonaManager:o}=await Promise.resolve().then(()=>(Lr(),Hr));if(o.hasInstance()&&o.getInstance().isActive()){let i=o.getInstance().getActive();if(i)for(let s of i.skillPaths){let a=s.split("/").pop()||"",c=`${r}/${a}`;sp.existsSync(c)&&sp.existsSync(`${c}/SKILL.md`)&&t.push({name:"Skill Shadow",status:"ok",message:`"${a}" user-authored shadows persona-bundled (intentional?)`})}}}catch{}}catch{}return t}var AZe=b(()=>{"use strict";Og();Wr();GL()});import{execSync as cce}from"node:child_process";async function _Ze(t){let e=t.args||[],r=t.subcommand||e[0]||"";if(t.flags.help||r==="help"||r==="--help"||e.includes("--help")){let n="0.27.7";console.log(""),console.log(q.logo(" Install")),console.log(""),console.log(` Current version: ${q.model(n)}`),console.log(""),console.log(g.yellow(" USAGE:")),console.log(` ${g.green("aii install")} Update to latest version`),console.log(` ${g.green("aii install <version>")} Install specific version`),console.log(` ${g.green("aii install skill <src>")} Install a skill package ${g.dim("(coming soon)")}`),console.log(` ${g.green("aii install mcp <name>")} Install an MCP server ${g.dim("(coming soon)")}`),console.log(""),console.log(g.yellow(" EXAMPLES:")),console.log(` ${g.green("aii install")} ${g.dim("# Self-update to latest")}`),console.log(` ${g.green("aii install 0.13.10")} ${g.dim("# Pin to specific version")}`),console.log("");return}if(r==="skill"){console.log("Skill installation coming soon. For now use: /skills install owner/repo");return}if(r==="mcp"){console.log("MCP installation coming soon. For now use: aii mcp install <server>");return}console.log("\x1B[33m\u26A0 `aii install` for self-update is deprecated. Use `aii upgrade` instead.\x1B[0m"),console.log(`\x1B[33m This alias will be removed in v0.16.x.\x1B[0m
4738
+ `),await uer(r)}async function uer(t){let e="0.27.7",r=t&&t!=="latest"?t:"";if(console.log(""),r){console.log(`\u{1FABC} Installing Aii CLI v${r}...`),console.log("");try{cce(`npm install -g ${j4}@${r}`,{stdio:"inherit",timeout:12e4})}catch{console.error(`
4739
4739
  \u274C Failed to install v${r}`),console.error(` Try manually: npm install -g ${j4}@${r}`),process.exit(1)}}else{console.log("\u{1FABC} Updating Aii CLI to latest..."),console.log(` Current version: ${e}`),console.log("");try{cce(`npm install -g ${j4}@latest`,{stdio:"inherit",timeout:12e4})}catch{console.error(`
4740
4740
  \u274C Failed to update Aii CLI`),console.error(` Try manually: npm install -g ${j4}@latest`),process.exit(1)}}try{let n=cce("aii --version 2>/dev/null",{encoding:"utf-8",timeout:1e4,stdio:"pipe"}).trim();console.log(""),console.log(n===e?`\u2713 Aii CLI is already up to date (${e})`:`\u2713 Aii CLI updated: ${e} \u2192 ${n}`)}catch{console.log(""),console.log("\u2713 Aii CLI installed. Restart your terminal to use the new version.")}}var j4,EZe=b(()=>{"use strict";De();Wr();j4="@aiiware/aii"});function lce(t){let r=!t.flags.noColors?g:{cyan:n=>n,yellow:n=>n,gray:n=>n,green:n=>n};console.log(`
4741
4741
  ${r.cyan("AII")} - AI-powered CLI assistant v${yZe}
@@ -4944,7 +4944,7 @@ ${r.yellow("IN-SESSION COMMANDS:")}
4944
4944
 
4945
4945
  ${r.yellow("DOCUMENTATION:")}
4946
4946
  https://aiiware.com/docs
4947
- `)}function uce(){console.log(yZe)}var yZe,SZe=b(()=>{"use strict";De();yZe="0.27.6"});var dce={};ae(dce,{handleLoopStatus:()=>der});async function der(t){let{routeLoopArgs:e}=await Promise.resolve().then(()=>(XL(),kwe)),r=[...t.subcommand?[t.subcommand]:[],...t.args??[]],n=e(r),o=n?.sub==="status"?n.rest:[],{runLoopStatus:i}=await Promise.resolve().then(()=>(Sae(),yae)),{output:s,exitCode:a}=i(o,process.cwd()),c=a===0?process.stdout:process.stderr;await new Promise(l=>{try{c.write(`${s}
4947
+ `)}function uce(){console.log(yZe)}var yZe,SZe=b(()=>{"use strict";De();yZe="0.27.7"});var dce={};ae(dce,{handleLoopStatus:()=>der});async function der(t){let{routeLoopArgs:e}=await Promise.resolve().then(()=>(XL(),kwe)),r=[...t.subcommand?[t.subcommand]:[],...t.args??[]],n=e(r),o=n?.sub==="status"?n.rest:[],{runLoopStatus:i}=await Promise.resolve().then(()=>(Sae(),yae)),{output:s,exitCode:a}=i(o,process.cwd()),c=a===0?process.stdout:process.stderr;await new Promise(l=>{try{c.write(`${s}
4948
4948
  `,()=>l())}catch{l()}}),process.exit(a)}var pce=b(()=>{"use strict"});function fer(t){return t==="error"?1:0}async function CZe(t,e){let r=[];t.subcommand&&r.push(t.subcommand),r.push(...t.args);let n,o,i;try{{let{routeLoopArgs:ue,resolveResumeTarget:W,formatLoopList:Se}=await Promise.resolve().then(()=>(_ae(),Aae)),{resolveLoopsDir:re,listLoops:Ae,claimLoop:fe,releaseClaim:we}=await Promise.resolve().then(()=>(np(),HG)),mt=ue(r);if(mt?.sub==="status"){let{handleLoopStatus:et}=await Promise.resolve().then(()=>(pce(),dce));await et(t);return}if(mt?.sub==="list"&&(console.log(Se(Ae(re(process.cwd()))).join(`
4949
4949
  `)),process.exit(0)),mt?.sub==="resume"){let et=re(process.cwd()),We=W(mt.rest,et,process.cwd());if(We.kind==="usage"&&(console.log(Se(Ae(et),!0).join(`
4950
4950
  `)),console.log("Usage: aii loop resume <id> [--max N] [--budget N] [--duration Nm] [--force]"),process.exit(0)),We.kind==="refuse"&&(console.error(`aii loop resume: ${We.message}`),process.exit(1)),We.kind==="resume"){fe(We.record.id,process.pid,et,We.force)||(console.error("aii loop resume: this loop is being resumed by another aii process."),process.exit(1)),n=We.record,o=We.config;let ht=We.record.id;i=()=>{try{we(ht,et)}catch{}},We.cwdNotice&&console.log(We.cwdNotice)}else We.kind==="fallthrough"&&We.notice&&console.log(We.notice)}}{let ue=o??VG(r);if(ue.window){let{resolveModelWindow:W,formatWindowError:Se}=await Promise.resolve().then(()=>(Qg(),qse)),{readScheduleFromGlobalLayer:re,projectScheduleWasIgnored:Ae}=await Promise.resolve().then(()=>(Qe(),Ri));try{await e.load()}catch{}let fe=W(ue.window,re(e));"kind"in fe&&(Ae(e)&&console.error("schedule.* in project settings is ignored \u2014 windows come from ~/.aii/config.yaml only"),console.error(Se(fe)),i?.(),process.exit(1))}}let[{teardownController:s},{getDetectedServerVersion:a},{createSession:c},{createSessionTempDir:l,cleanupSessionTempDir:u,sweepStaleSessionTempDirs:d},{createAgentController:p},{createServerClient:f},{DEFAULT_MODEL:m,DEFAULT_PROVIDER:h},{AuthError:A},{resolveForServerSeam:_},{recordRunBackend:E},{resolveProvider:y,stripProviderPrefix:C,normalizeModelFlag:S},{shutdownAndExit:w},{cleanupManager:v},{SkillManager:D},{SubagentManager:k},{LoopController:R},{initializeUI:N}]=await Promise.all([Promise.resolve().then(()=>(_N(),pWe)),Promise.resolve().then(()=>(bC(),Zbe)),Promise.resolve().then(()=>(ki(),z_e)),Promise.resolve().then(()=>(ese(),_We)),Promise.resolve().then(()=>(k4(),_Xe)),Promise.resolve().then(()=>(xc(),Tke)),Promise.resolve().then(()=>(Lu(),q_e)),Promise.resolve().then(()=>(as(),ZSe)),Promise.resolve().then(()=>(jo(),Cve)),Promise.resolve().then(()=>(Vf(),oze)),Promise.resolve().then(()=>(Xa(),eWe)),Promise.resolve().then(()=>(kl(),iW)),Promise.resolve().then(()=>(yc(),Fbe)),Promise.resolve().then(()=>(qa(),yke)),Promise.resolve().then(()=>(Hc(),nGe)),Promise.resolve().then(()=>(hae(),hKe)),Promise.resolve().then(()=>(yn(),zd))]);await N();let O=e.getConfig(),Q=S(t.flags.model??""),L=y(Q||void 0,O.llm.provider??h),F=C(Q||(O.llm.model??m),L),J=e.getServerApiKey()||per,B=O.api?.url||"http://localhost:26169",H=await _(L,e,{serverBaseUrl:B,serverApiKey:J}),j=H?.key;if(!j)throw new A(`Missing API key for provider: ${L}`);let se=f({baseUrl:B,apiKey:J,providerApiKey:j,provider:L,providerAuthType:H?.authType,providerAccountId:H?.accountId});E("local");let Z=c({serverVersion:a()??void 0,projectPath:process.cwd(),provider:L,model:F,reasoningEffort:O.llm?.reasoning_effort,mode:"auto"});d();try{Z.tempDir=l(Z.id),process.once("exit",()=>u(Z.tempDir))}catch{}if(!D.hasInstance()){D.getInstance(Z.projectPath);let ue;try{let{PersonaManager:W}=await Promise.resolve().then(()=>(Lr(),Hr)),Se=W.getInstance(Z.projectPath);await Se.initialize(),Se.isActive()&&(ue=Se.getActive()?.skillPaths)}catch{}await D.getInstance().discover(ue)}k.getInstance().isInitialized()||k.getInstance().initialize({projectPath:Z.projectPath,serverUrl:B,providerApiKey:j,providerAuthType:H?.authType,providerAccountId:H?.accountId,provider:L,autoBackgroundTimeout:t.flags.autoBackgroundTimeout??12e4});let K=p({autoApprove:!0,showThinking:t.flags.thinking??!1,streamOutput:!t.flags.noStreaming},void 0,se),$=[];t.subcommand&&$.push(t.subcommand),$.push(...t.args);let ee=o??VG($);!o&&"parseError"in ee&&ee.parseError&&(console.error(`aii loop: ${ee.parseError}`),process.exit(1));let Y=["aii loop",...r.map(ue=>/\s/.test(ue)?JSON.stringify(ue):ue)].join(" "),te=new R(ee,K,Z,void 0,n,{commandText:Y});i=void 0,v.register("loop-controller",async()=>{await s(K,se)});try{let ue=await te.run();await w(fer(ue.exitReason))}catch(ue){console.error(g.red(`
@@ -5247,7 +5247,7 @@ User: ${e}`}async function krr(t,e,r){if(await Re(t.session))throw new Error("Me
5247
5247
  aii cloud \u2014 manage your account and workspaces
5248
5248
  `)),console.log(" aii cloud login Sign in to AiiCloud (verifies an existing sign-in;"),console.log(" --force re-authenticates)"),console.log(" aii cloud status Show connection + credit balance"),console.log(" aii cloud workspace list | add <path> | remove <label|path>"),console.log(g.gray("\n Start `aii --remote-control` to continue a conversation in AiiCloud\n and host new web conversations while Aii is running.\n Choose inference independently with `--inference cloud|server`.\n"))}var l8=b(()=>{"use strict";De();gl();wa();Gce();u1();Hce();qce();N4();Vce();Kce();f1();yc();kl();_N()});var Wet={};ae(Wet,{connectionSnapshot:()=>zet,handleConnectionCommand:()=>Yrr});function qrr(t){return[...t.subcommand?[t.subcommand]:[],...t.args]}function ele(t,e){return{...t,command:"login",subcommand:e[0],args:e.slice(1)}}function nm(t){return typeof t=="string"&&t.length>0}function qet(t,e){return nm(t[`${e}_api_key`])||nm(t.api_keys?.[e])||nm(process.env[e==="xai"?"XAI_API_KEY":"OPENAI_API_KEY"])||nm(process.env[e==="xai"?"AII_XAI_API_KEY":"AII_OPENAI_API_KEY"])}function tle(t,e,r){if(t[e.dead]==="1")return"failed";let n=nm(t[e.access]),o=nm(t[e.refresh]),i=t[e.connected]==="1";if(!n&&!o&&!i&&!Object.values(e).some(a=>nm(t[a])))return"not_connected";let s=Number(t[e.expiry]);return!n||!Number.isFinite(s)||s<=0?"incomplete":s*1e3<=r?"expired":"stored"}function zet(t,e=Date.now()){let r=t.getSecretsSnapshotStrict(),n=t.getConfig(),o=n.inference?.backend??(n.cloud?.enabled?"cloud":"server"),i=nm(r.aii_cloud_key),s=n.cloud?.enabled&&i?"configured":n.cloud?.enabled||i?"incomplete":"not_configured",a=pe(String(n.llm?.provider??"")),c=a==="openai"?"chatgpt":a==="xai"?"grok":a;return{schemaVersion:1,cloud:{state:s,verification:"not_checked"},services:[{service:"chatgpt",state:tle(r,Ao,e),verification:"not_checked",apiKeyConfigured:qet(r,"openai")},{service:"grok",state:tle(r,ls,e),verification:"not_checked",apiKeyConfigured:qet(r,"xai")}],inference:{backend:o,service:c,model:pe(String(n.llm?.model??""))},...nm(r.zai_plan)?{legacy:[{service:"glm",state:"configured",verification:"not_checked",remove:"aii login --provider glm --logout"}]}:{}}}function Yet(t,e,r,n){let o=zet(t,n);if(e){r(JSON.stringify(o,null,2));return}r("Aii account"),r(` Cloud ${o.cloud.state} \xB7 not checked remotely`),r("Services");for(let i of o.services)r(` ${i.service==="chatgpt"?"ChatGPT":"Grok"} ${i.state} \xB7 not checked remotely`),i.apiKeyConfigured&&r(" API key configured separately \xB7 value hidden");o.legacy&&(r("Legacy plan"),r(" GLM Coding Plan configured \xB7 not checked remotely"),r(" Remove: aii login --provider glm --logout")),r(`Inference: ${o.inference.backend} \xB7 ${o.inference.service} \xB7 ${o.inference.model}`)}async function Yrr(t,e,r={}){let n=r.print??console.log,o=r.printErr??console.error,i=r.isTTY??(!!process.stdin.isTTY&&!!process.stdout.isTTY),s=qrr(t),a=l=>{o(l),process.exitCode=2},c={...r,print:n,printErr:o,isTTY:i,exit:l=>{throw new u8(l)}};try{if(t.flags.help||s.includes("--help")||s.includes("-h")){n("aii login [--force] Sign into Aii Cloud"),n("aii connect [chatgpt|grok] Connect a subscription"),n("aii connect chatgpt --about Read subscription disclosure"),n("aii disconnect <chatgpt|grok> Remove subscription authorization"),n("aii connections [--json] Inspect local connection state");return}if(t.command==="login"){let p,f=new Set;for(let m=0;m<s.length;m++){let h=s[m];if(h==="--provider"||h.startsWith("--provider=")){let A=h==="--provider"?s[++m]:h.slice(11);if(p!==void 0||!A||A.startsWith("-")){a("Specify one provider. Use: aii connect chatgpt | grok");return}p=A.toLowerCase()}else if(["--status","--about","--logout","--force","--accept-codex-policy"].includes(h)&&!f.has(h))f.add(h);else{a("Invalid login arguments. Use: aii login [--force] or aii connect chatgpt | grok");return}}if(f.has("--status")||f.has("--about")){let m=f.has("--status")?"--status":"--about";if(f.size!==1||p&&!["openai","xai","glm","zai"].includes(p)||m==="--about"&&p&&p!=="openai"){a("Conflicting legacy login arguments. Use aii connections or aii connect chatgpt --about.");return}m==="--status"?(o("This command has moved. Use: aii connections"),await e.load(),Yet(e,!1,n,r.now?.()??Date.now())):(o("This command has moved. Use: aii connect chatgpt --about"),await qN(ele(t,["--about"]),e,c));return}if(p){if(f.has("--force")||f.has("--accept-codex-policy")&&(p!=="openai"||f.has("--logout"))){a("Conflicting provider login options. Use aii connect chatgpt | grok.");return}if(p==="glm"||p==="zai"){await qN(ele(t,["--provider",p,...f.has("--logout")?["--logout"]:[]]),e,c);return}let m=Het(p);if(!m){a(`Subscription connection unavailable: ${pe(p)}. Available now: chatgpt, grok.`);return}a(`This command has moved. Run: aii ${f.has("--logout")?"disconnect":"connect"} ${m}`);return}if([...f].some(m=>m!=="--force")){a("Provider required for legacy actions. Use: aii connect chatgpt | grok");return}await Xce({...t,command:"cloud",subcommand:"login",args:f.has("--force")?["--force"]:[]},e);return}if(t.command==="connections"){if(s.length>1||s.length===1&&s[0]!=="--json"){a("Usage: aii connections [--json]");return}await e.load(),Yet(e,s.includes("--json"),n,r.now?.()??Date.now());return}if(t.command!=="connect"&&t.command!=="disconnect"){a("Unknown connection command.");return}let l=s[0]?.toLowerCase();if(!l&&t.command==="connect"){if(!i){n(`Choose a service explicitly:
5249
5249
  aii connect chatgpt
5250
- aii connect grok`),process.exitCode=2;return}if(l=await(r.chooseService?.()??ip("Choose a service to connect:",[{key:"1",label:"ChatGPT",description:"Use your ChatGPT subscription",value:"chatgpt"},{key:"2",label:"Grok",description:"Use your SuperGrok subscription",value:"grok"}]))??void 0,!l)return}let u=l?Het(l):void 0;if(!u){a(l?`${pe(l)} connections are unavailable. Available now: chatgpt, grok.`:"Specify a service: aii disconnect chatgpt | grok");return}let d=s.slice(1);if(t.command==="disconnect"){if(d.length){a("Usage: aii disconnect chatgpt | grok");return}await e.load(),e.reloadSecretsStrict(),await Oae(jet[u],e,c);return}if(d.length>1||d.some(p=>!["--about","--accept-codex-policy"].includes(p))||d.length&&u!=="chatgpt"){a("Usage: aii connect chatgpt [--about|--accept-codex-policy] | grok");return}if(!d.includes("--about")){let p=e.getSecretsSnapshotStrict(),m=tle(p,u==="chatgpt"?Ao:ls,r.now?.()??Date.now());if(m!=="not_connected"){await e.load();let h=u==="chatgpt"?"ChatGPT":"Grok",A=e.getConfig().llm;if(n(`${h} connection is saved (${m}; not checked remotely).`),n(`Local default: ${pe(A?.provider??"")} \xB7 ${pe(A?.model??"")}`),!i){o("Reconnect requires an interactive terminal. Existing connection kept."),process.exitCode=1;return}n(`Reconnect to ${h}? [y/N]`);let _=await(r.promptReconnect??d4)();if(!["y","yes"].includes(_.trim().toLowerCase())){n("Existing connection kept.");return}}}await qN(ele(t,["--provider",jet[u],...d]),e,{...c,askBeforeActivation:!0})}catch(l){if(l instanceof u8){process.exitCode=l.code;return}o("Connection command did not complete. Inspect aii connections and check your configuration."),process.exitCode=1}}var Get,Het,jet,u8,Vet=b(()=>{"use strict";Lt();Qs();hc();Bae();l8();GN();Get={chatgpt:"chatgpt",openai:"chatgpt",grok:"grok",xai:"grok"},Het=t=>Object.hasOwn(Get,t)?Get[t]:void 0,jet={chatgpt:"openai",grok:"xai"},u8=class extends Error{code;constructor(e){super("Connection flow exited."),this.code=e}}});var Jet={};ae(Jet,{handleUpgrade:()=>Krr});import{execSync as zrr,execFileSync as Wrr}from"node:child_process";async function Krr(t){let e=t.subcommand??t.args[0]??null;if(e!==null&&e!=="latest"&&!Vrr.test(e))throw new Error(`Invalid version '${e}' \u2014 expected e.g. 0.23.3`);let r=e==="latest"?null:e,n="0.27.6",o=r?`${Ket}@${r}`:`${Ket}@latest`;console.log(""),console.log(r?`Upgrading Aii CLI to v${r}...`:"Upgrading Aii CLI to latest..."),console.log(` Current version: ${n}`),console.log("");try{let i=process.platform==="win32"?"npm.cmd":"npm",s=Wrr(i,["install","-g",o],{encoding:"utf-8",timeout:12e4,stdio:"pipe"});s.trim()&&console.log(s.trim())}catch(i){let s=i,a=i instanceof Error?`${String(s.stdout??"")}
5250
+ aii connect grok`),process.exitCode=2;return}if(l=await(r.chooseService?.()??ip("Choose a service to connect:",[{key:"1",label:"ChatGPT",description:"Use your ChatGPT subscription",value:"chatgpt"},{key:"2",label:"Grok",description:"Use your SuperGrok subscription",value:"grok"}]))??void 0,!l)return}let u=l?Het(l):void 0;if(!u){a(l?`${pe(l)} connections are unavailable. Available now: chatgpt, grok.`:"Specify a service: aii disconnect chatgpt | grok");return}let d=s.slice(1);if(t.command==="disconnect"){if(d.length){a("Usage: aii disconnect chatgpt | grok");return}await e.load(),e.reloadSecretsStrict(),await Oae(jet[u],e,c);return}if(d.length>1||d.some(p=>!["--about","--accept-codex-policy"].includes(p))||d.length&&u!=="chatgpt"){a("Usage: aii connect chatgpt [--about|--accept-codex-policy] | grok");return}if(!d.includes("--about")){let p=e.getSecretsSnapshotStrict(),m=tle(p,u==="chatgpt"?Ao:ls,r.now?.()??Date.now());if(m!=="not_connected"){await e.load();let h=u==="chatgpt"?"ChatGPT":"Grok",A=e.getConfig().llm;if(n(`${h} connection is saved (${m}; not checked remotely).`),n(`Local default: ${pe(A?.provider??"")} \xB7 ${pe(A?.model??"")}`),!i){o("Reconnect requires an interactive terminal. Existing connection kept."),process.exitCode=1;return}n(`Reconnect to ${h}? [y/N]`);let _=await(r.promptReconnect??d4)();if(!["y","yes"].includes(_.trim().toLowerCase())){n("Existing connection kept.");return}}}await qN(ele(t,["--provider",jet[u],...d]),e,{...c,askBeforeActivation:!0})}catch(l){if(l instanceof u8){process.exitCode=l.code;return}o("Connection command did not complete. Inspect aii connections and check your configuration."),process.exitCode=1}}var Get,Het,jet,u8,Vet=b(()=>{"use strict";Lt();Qs();hc();Bae();l8();GN();Get={chatgpt:"chatgpt",openai:"chatgpt",grok:"grok",xai:"grok"},Het=t=>Object.hasOwn(Get,t)?Get[t]:void 0,jet={chatgpt:"openai",grok:"xai"},u8=class extends Error{code;constructor(e){super("Connection flow exited."),this.code=e}}});var Jet={};ae(Jet,{handleUpgrade:()=>Krr});import{execSync as zrr,execFileSync as Wrr}from"node:child_process";async function Krr(t){let e=t.subcommand??t.args[0]??null;if(e!==null&&e!=="latest"&&!Vrr.test(e))throw new Error(`Invalid version '${e}' \u2014 expected e.g. 0.23.3`);let r=e==="latest"?null:e,n="0.27.7",o=r?`${Ket}@${r}`:`${Ket}@latest`;console.log(""),console.log(r?`Upgrading Aii CLI to v${r}...`:"Upgrading Aii CLI to latest..."),console.log(` Current version: ${n}`),console.log("");try{let i=process.platform==="win32"?"npm.cmd":"npm",s=Wrr(i,["install","-g",o],{encoding:"utf-8",timeout:12e4,stdio:"pipe"});s.trim()&&console.log(s.trim())}catch(i){let s=i,a=i instanceof Error?`${String(s.stdout??"")}
5251
5251
  ${String(s.stderr??"")}`.trim():"";a.trim()&&console.error(a.trim()),/ETARGET|notarget/i.test(a)?console.error(`
5252
5252
  That version is not on your npm mirror yet \u2014 freshly published versions can take a
5253
5253
  minute or two to replicate. Wait a moment and re-run: aii upgrade`):/EACCES|EPERM|permission denied/i.test(a)?console.error(`