switchboard-router 0.9.7 → 0.9.8

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.
Files changed (118) hide show
  1. package/app/{.next-cli-build/static/chunks/1321-7be9b5de255ff89c.js → .next/static/chunks/1321-0003ef56aef2b3ab.js} +1 -1
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +6 -6
  4. package/app/.next-cli-build/build-manifest.json +2 -2
  5. package/app/.next-cli-build/prerender-manifest.json +3 -3
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  40. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  41. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  42. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  43. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  44. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  45. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  46. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  47. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  48. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  49. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  51. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  52. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  53. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  54. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
  55. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  56. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  57. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  58. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  60. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  62. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  63. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/callback.html +1 -1
  65. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  66. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  67. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  69. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  71. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  72. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  73. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  74. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
  75. package/app/.next-cli-build/server/app/index.html +1 -1
  76. package/app/.next-cli-build/server/app/index.rsc +3 -3
  77. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  78. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  79. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/landing.html +1 -1
  82. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  83. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  84. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
  86. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/login.html +1 -1
  88. package/app/.next-cli-build/server/app/login.rsc +3 -3
  89. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
  90. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  92. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
  94. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  95. package/app/.next-cli-build/server/chunks/194.js +1 -1
  96. package/app/.next-cli-build/server/chunks/369.js +1 -3
  97. package/app/.next-cli-build/server/chunks/7454.js +1 -1
  98. package/app/.next-cli-build/server/chunks/8400.js +29 -24
  99. package/app/.next-cli-build/server/chunks/869.js +1 -1
  100. package/app/.next-cli-build/server/chunks/8998.js +12 -9
  101. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  102. package/app/.next-cli-build/server/pages/404.html +1 -1
  103. package/app/.next-cli-build/server/pages/500.html +1 -1
  104. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  105. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  106. package/app/{.next/static/chunks/1321-7be9b5de255ff89c.js → .next-cli-build/static/chunks/1321-0003ef56aef2b3ab.js} +1 -1
  107. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  108. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  109. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  110. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  111. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  112. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  113. package/app/package.json +1 -1
  114. package/package.json +1 -1
  115. /package/app/.next/static/{1mePFzUplVCu8JBXupMRI → Kxe3gixpS84MCzX8yohZb}/_buildManifest.js +0 -0
  116. /package/app/.next/static/{1mePFzUplVCu8JBXupMRI → Kxe3gixpS84MCzX8yohZb}/_ssgManifest.js +0 -0
  117. /package/app/.next-cli-build/static/{1mePFzUplVCu8JBXupMRI → Kxe3gixpS84MCzX8yohZb}/_buildManifest.js +0 -0
  118. /package/app/.next-cli-build/static/{1mePFzUplVCu8JBXupMRI → Kxe3gixpS84MCzX8yohZb}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=8998,exports.ids=[8998],exports.modules={794:(a,b,c)=>{"use strict";let d=c(29021);a.exports={IS_DEV:!1,LSOF_BIN:(()=>{if("win32"===process.platform)return null;for(let a of["/usr/sbin/lsof","/usr/bin/lsof","/sbin/lsof"])try{return d.accessSync(a,d.constants.X_OK),a}catch{}return"lsof"})(),TARGET_HOSTS:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","runtime.us-east-1.kiro.dev","api2.cursor.sh"],URL_PATTERNS:{antigravity:[":generateContent",":streamGenerateContent"],copilot:["/chat/completions","/v1/messages","/responses"],kiro:["/generateAssistantResponse"],cursor:["/BidiAppend","/RunSSE","/RunPoll","/Run"]},MODEL_SYNONYMS:{antigravity:{"gemini-default":"gemini-3.5-flash-low","gemini-3.5-flash-high":"gemini-3-flash-agent","gemini-3.5-flash-medium":"gemini-3.5-flash-low","gemini-3.5-flash-extra-low":"gemini-3.5-flash-extra-low","gemini-3.1-pro-high":"gemini-pro-agent","gemini-3-pro-high":"gemini-pro-agent","gemini-3-pro-low":"gemini-3.1-pro-low"}},MODEL_PATTERNS:{antigravity:[{match:/flash.*extra.*low|extra.*low.*flash|flash.*low|low.*flash/i,alias:"gemini-3.5-flash-extra-low"},{match:/flash.*medium|medium.*flash/i,alias:"gemini-3.5-flash-low"},{match:/flash.*agent|agent.*flash|flash/i,alias:"gemini-3-flash-agent"},{match:/pro.*low|low.*pro/i,alias:"gemini-3.1-pro-low"},{match:/gemini.*pro|pro.*gemini/i,alias:"gemini-pro-agent"},{match:/opus/i,alias:"claude-opus-4-6-thinking"},{match:/sonnet|claude/i,alias:"claude-sonnet-4-6"},{match:/gpt.*oss|oss/i,alias:"gpt-oss-120b-medium"}]},MODEL_NO_MAP:{antigravity:[/^tab[_-]/i]},LOG_BLACKLIST_URL_PARTS:["recordCodeAssistMetrics","recordTrajectoryAnalytics","fetchAdminControls","listExperiments","fetchUserInfo"],getToolForHost:function(a){let b=(a||"").split(":")[0];return"api.individual.githubcopilot.com"===b?"copilot":"daily-cloudcode-pa.googleapis.com"===b||"cloudcode-pa.googleapis.com"===b?"antigravity":"q.us-east-1.amazonaws.com"===b||"codewhisperer.us-east-1.amazonaws.com"===b||"runtime.us-east-1.kiro.dev"===b?"kiro":"api2.cursor.sh"===b?"cursor":null}}},978:(a,b,c)=>{"use strict";c(62457),c(82689)},1031:(a,b,c)=>{"use strict";let d={DEBUG:0,INFO:1,WARN:2,ERROR:3};d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO},1277:(a,b,c)=>{var d=c(45654);a.exports=d.md=d.md||{},d.md.algorithms=d.md.algorithms||{}},1653:(a,b,c)=>{"use strict";let d=c(33873),e=c(29021),f=c(27400),{MITM_DIR:g}=c(37436),h=d.join(g,"rootCA.key"),i=d.join(g,"rootCA.crt");function j(a){try{let b=f.pki.certificateFromPem(e.readFileSync(a,"utf8")),c=new Date(Date.now()+2592e6);return b.validity.notAfter<c}catch{return!0}}a.exports={generateRootCA:function(){let a=e.existsSync(h)&&e.existsSync(i);if(a&&!j(i))return console.log("✅ Root CA already exists"),{key:h,cert:i};if(a){console.log("\uD83D\uDD10 Root CA expired or expiring soon — regenerating...");try{e.unlinkSync(h)}catch{}try{e.unlinkSync(i)}catch{}}if(e.existsSync(g))try{e.chmodSync(g,448)}catch{}else e.mkdirSync(g,{recursive:!0,mode:448});console.log("\uD83D\uDD10 Generating Root CA certificate...");let b=f.pki.rsa.generateKeyPair(2048),c=f.pki.createCertificate();c.publicKey=b.publicKey,c.serialNumber="01",c.validity.notBefore=new Date,c.validity.notAfter=new Date,c.validity.notAfter.setFullYear(c.validity.notBefore.getFullYear()+10);let d=[{name:"commonName",value:"Switchboard MITM Root CA"},{name:"organizationName",value:"Switchboard"},{name:"countryName",value:"US"}];c.setSubject(d),c.setIssuer(d),c.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),c.sign(b.privateKey,f.md.sha256.create());let k=f.pki.privateKeyToPem(b.privateKey),l=f.pki.certificateToPem(c);e.writeFileSync(h,k,{mode:384}),e.writeFileSync(i,l,{mode:420});try{e.chmodSync(h,384)}catch{}return console.log("✅ Root CA generated successfully"),{key:h,cert:i}},loadRootCA:function(){if(!e.existsSync(h)||!e.existsSync(i))throw Error("Root CA not found. Generate it first.");let a=e.readFileSync(h,"utf8"),b=e.readFileSync(i,"utf8");return{key:f.pki.privateKeyFromPem(a),cert:f.pki.certificateFromPem(b)}},generateLeafCert:function(a,b){let c=f.pki.rsa.generateKeyPair(2048),d=f.pki.createCertificate();return d.publicKey=c.publicKey,d.serialNumber=Math.floor(1e6*Math.random()).toString(),d.validity.notBefore=new Date,d.validity.notAfter=new Date,d.validity.notAfter.setFullYear(d.validity.notBefore.getFullYear()+1),d.setSubject([{name:"commonName",value:a}]),d.setIssuer(b.cert.subject.attributes),d.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:a},{type:2,value:`*.${a}`}]}]),d.sign(b.key,f.md.sha256.create()),{key:f.pki.privateKeyToPem(c.privateKey),cert:f.pki.certificateToPem(d)}},isCertExpired:j,ROOT_CA_CERT_PATH:i,ROOT_CA_KEY_PATH:h}},1654:(a,b,c)=>{"use strict";c(23059)},1712:(a,b,c)=>{"use strict";let d=c(34589),{addAbortListener:e}=c(78474),{Readable:f}=c(57075),{RequestAbortedError:g,NotSupportedError:h,InvalidArgumentError:i,AbortError:j}=c(61448),k=c(84285),{ReadableStreamFrom:l}=c(84285),m=Symbol("kConsume"),n=Symbol("kReading"),o=Symbol("kBody"),p=Symbol("kAbort"),q=Symbol("kContentType"),r=Symbol("kContentLength"),s=Symbol("kUsed"),t=Symbol("kBytesRead"),u=()=>{};class v extends f{constructor({resume:a,abort:b,contentType:c="",contentLength:d,highWaterMark:e=65536}){super({autoDestroy:!0,read:a,highWaterMark:e}),this._readableState.dataEmitted=!1,this[p]=b,this[m]=null,this[t]=0,this[o]=null,this[s]=!1,this[q]=c,this[r]=Number.isFinite(d)?d:null,this[n]=!1}_destroy(a,b){a||this._readableState.endEmitted||(a=new g),a&&this[p](),this[s]?b(a):setImmediate(b,a)}on(a,b){return("data"===a||"readable"===a)&&(this[n]=!0,this[s]=!0),super.on(a,b)}addListener(a,b){return this.on(a,b)}off(a,b){let c=super.off(a,b);return("data"===a||"readable"===a)&&(this[n]=this.listenerCount("data")>0||this.listenerCount("readable")>0),c}removeListener(a,b){return this.off(a,b)}push(a){return a&&(this[t]+=a.length,this[m])?(A(this[m],a),!this[n]||super.push(a)):super.push(a)}text(){return w(this,"text")}json(){return w(this,"json")}blob(){return w(this,"blob")}bytes(){return w(this,"bytes")}arrayBuffer(){return w(this,"arrayBuffer")}async formData(){throw new h}get bodyUsed(){return k.isDisturbed(this)}get body(){return!this[o]&&(this[o]=l(this),this[m]&&(this[o].getReader(),d(this[o].locked))),this[o]}dump(a){let b=a?.signal;if(null!=b&&("object"!=typeof b||!("aborted"in b)))return Promise.reject(new i("signal must be an AbortSignal"));let c=a?.limit&&Number.isFinite(a.limit)?a.limit:131072;return b?.aborted?Promise.reject(b.reason??new j):this._readableState.closeEmitted?Promise.resolve(null):new Promise((a,d)=>{if((this[r]&&this[r]>c||this[t]>c)&&this.destroy(new j),b){let c=()=>{this.destroy(b.reason??new j)},f=e(b,c);this.on("close",function(){f[Symbol.dispose](),b.aborted?d(b.reason??new j):a(null)})}else this.on("close",a);this.on("error",u).on("data",()=>{this[t]>c&&this.destroy()}).resume()})}setEncoding(a){return Buffer.isEncoding(a)&&super.setEncoding(a),this}}function w(a,b){return d(!a[m]),new Promise((c,d)=>{if(k.isDisturbed(a)||a[o]?.locked===!0||null!==a[m]){let b=a._readableState;b.destroyed&&!1===b.closeEmitted?a.on("error",d).on("close",()=>{d(TypeError("unusable"))}):d(b.errored??TypeError("unusable"))}else queueMicrotask(()=>{a[m]={type:b,stream:a,resolve:c,reject:d,length:0,body:[]},a.on("error",function(a){B(this[m],a)}).on("close",function(){null!==this[m].body&&B(this[m],new g)}),function(a){if(null===a.body)return;let{_readableState:b}=a.stream;if(b.bufferIndex){let c=b.bufferIndex,d=b.buffer.length;for(let e=c;e<d;e++)A(a,b.buffer[e])}else for(let c of b.buffer)A(a,c);let c=b.decoder;if(null!=c&&c.lastNeed>0&&A(a,Buffer.from(c.lastChar.subarray(0,c.lastTotal-c.lastNeed))),b.endEmitted)return z(a,b.encoding);for(a.stream.on("end",function(){z(this[m],this._readableState.encoding)}),a.stream.resume();null!=a.stream.read(););}(a[m])})})}function x(a,b,c){if(0===a.length||0===b)return"";let d=1===a.length?a[0]:Buffer.concat(a,b),e=d.length,f=3*(e>2&&239===d[0]&&187===d[1]&&191===d[2]);return c&&"utf8"!==c&&"utf-8"!==c?d.subarray(f,e).toString(c):d.utf8Slice(f,e)}function y(a,b){if(0===a.length||0===b)return new Uint8Array(0);if(1===a.length)return new Uint8Array(a[0]);let c=new Uint8Array(Buffer.allocUnsafeSlow(b).buffer),d=0;for(let b=0;b<a.length;++b){let e=a[b];c.set(e,d),d+=e.length}return c}function z(a,b){let{type:c,body:d,resolve:e,stream:f,length:g}=a;try{"text"===c?e(x(d,g,b)):"json"===c?e(JSON.parse(x(d,g,b))):"arrayBuffer"===c?e(y(d,g).buffer):"blob"===c?e(new Blob(d,{type:f[q]})):"bytes"===c&&e(y(d,g)),B(a)}catch(a){f.destroy(a)}}function A(a,b){null!==a.body&&("string"==typeof b&&(b=Buffer.from(b,a.stream._readableState.encoding)),a.length+=b.length,a.body.push(b))}function B(a,b){null!==a.body&&(b?a.reject(b):a.resolve(),a.type=null,a.stream=null,a.resolve=null,a.reject=null,a.length=0,a.body=null)}a.exports={Readable:v,chunksDecode:x}},2670:(a,b,c)=>{"use strict";c.d(b,{v:()=>r});var d=c(22268),e=c(68531),f=c(18184),g=c(90694),h=c(52655),i=c(29055),j=c(11897);function k(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=c,b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:""}}),a.reasoningPartAdded=!0)}function l(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function m(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}]}}))}function n(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`;b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:parseInt(c),content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:parseInt(c),content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:e,type:j.Du.MESSAGE,content:[{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}],role:j.z7.ASSISTANT}})}}function o(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e=a.funcArgsBuf[c]||"{}";b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${d}`,output_index:parseInt(c),arguments:e}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:`fc_${d}`,type:j.Du.FUNCTION_CALL,arguments:e,call_id:d,name:a.funcNames[c]||""}}),a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function p(a,b){a.completedSent||(a.completedSent=!0,b("response.completed",{type:"response.completed",response:{id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null}}))}function q(a){return a.toolCallIndex>0||a.currentToolCallId?j.bC.TOOL_CALLS:j.bC.STOP}function r(a,b){if(!a){if(b.finishReasonSent||!b.started)return null;let a=q(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"response.output_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{content:a}):null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call")){let a=d.item;return b.currentToolCallId=a.call_id||(0,h.eG)(),(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:j.x4.FUNCTION,function:{name:a.name||"",arguments:""}}]})}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]}):null}if("response.output_item.done"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call"))return b.toolCallIndex++,null;if("response.completed"===c||"response.done"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.input_tokens_details?.cached_tokens||a.cache_read_input_tokens||0;b.usage=(0,g.c)({promptTokens:c,completionTokens:d,totalTokens:c+d,cachedTokens:e})}if(!b.finishReasonSent){let a=q(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}return null}if("error"===c||"response.failed"===c){if(b.finishReasonSent)return null;let a=d.error||d.response?.error;return a?(b.error=a,b.finishReasonSent=!0,(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{content:`[Error] ${a.message||JSON.stringify(a)}`},j.bC.STOP)):null}if("response.reasoning_summary_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},(0,i.B)(a)):null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,function(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)n(c,d,a);for(let a in m(c,d),c.funcCallIds)o(c,d,a);return p(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],g=f.index||0,h=f.delta||{};b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}}));let q=(0,i.V)(h);if(q&&(k(b,e,g),l(b,e,q)),h.content){let a=h.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),k(b,e,g)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&l(b,e,d),m(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return l(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0;let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:d,type:j.Du.MESSAGE,content:[],role:j.z7.ASSISTANT}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,g,a)}if(h.tool_calls&&h.tool_calls.length)for(let a of(n(b,e,g),h.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(f&&(a.funcNames[d]=f),!a.funcCallIds[d]&&e&&(a.funcCallIds[d]=e,b("response.output_item.added",{type:"response.output_item.added",output_index:d,item:{id:`fc_${e}`,type:j.Du.FUNCTION_CALL,arguments:"",call_id:e,name:a.funcNames[d]||""}})),a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${f}`,output_index:d,delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(f.finish_reason){for(let a in b.msgItemAdded)n(b,e,a);for(let a in m(b,e),b.funcCallIds)o(b,e,a);p(b,e)}return d}),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,r)},2887:(a,b,c)=>{"use strict";let{iteratorMixin:d}=c(42425),{kEnumerableProperty:e}=c(84285),{webidl:f}=c(32984),g=c(57975),{runtimeFeatures:h}=c(56758),i=h.has("crypto")?c(77598).randomInt:a=>Math.floor(Math.random()*a);class j{#a=[];#b=null;constructor(a){if(f.util.markAsUncloneable(this),void 0!==a)throw f.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(a,b,c){f.brandCheck(this,j);let d="FormData.append";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c);this.#a.push(e)}delete(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.delete"),a=f.converters.USVString(a),this.#a=this.#a.filter(b=>b.name!==a)}get(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.get"),a=f.converters.USVString(a);let b=this.#a.findIndex(b=>b.name===a);return -1===b?null:this.#a[b].value}getAll(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.getAll"),a=f.converters.USVString(a),this.#a.filter(b=>b.name===a).map(a=>a.value)}has(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.has"),a=f.converters.USVString(a),-1!==this.#a.findIndex(b=>b.name===a)}set(a,b,c){f.brandCheck(this,j);let d="FormData.set";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c),g=this.#a.findIndex(b=>b.name===a);-1!==g?this.#a=[...this.#a.slice(0,g),e,...this.#a.slice(g+1).filter(b=>b.name!==a)]:this.#a.push(e)}[g.inspect.custom](a,b){let c=this.#a.reduce((a,b)=>(a[b.name]?Array.isArray(a[b.name])?a[b.name].push(b.value):a[b.name]=[a[b.name],b.value]:a[b.name]=b.value,a),{__proto__:null});b.depth??=a,b.colors??=!0;let d=g.formatWithOptions(b,c);return`FormData ${d.slice(d.indexOf("]")+2)}`}static getFormDataState(a){return a.#a}static setFormDataState(a,b){a.#a=b}static getFormDataBoundary(a){let b=a.#b;return null!=b?b:a.#b=`----formdata-undici-0${`${i(1e11)}`.padStart(11,"0")}`}}let{getFormDataState:k,setFormDataState:l,getFormDataBoundary:m}=j;function n(a,b,c){if("string"==typeof b);else if(f.is.File(b)||(b=new File([b],"blob",{type:b.type})),void 0!==c){let a={type:b.type,lastModified:b.lastModified};b=new File([b],c,a)}return{name:a,value:b}}Reflect.deleteProperty(j,"getFormDataState"),Reflect.deleteProperty(j,"setFormDataState"),Reflect.deleteProperty(j,"getFormDataBoundary"),d("FormData",j,k,"name","value"),Object.defineProperties(j.prototype,{append:e,delete:e,get:e,getAll:e,has:e,set:e,[Symbol.toStringTag]:{value:"FormData",configurable:!0}}),f.is.FormData=f.util.MakeTypeAssertion(j),a.exports={FormData:j,makeEntry:n,setFormDataState:l,getFormDataBoundary:m}},3507:(a,b,c)=>{"use strict";c.d(b,{LY:()=>h,Tc:()=>f,ol:()=>g,vv:()=>e});var d=c(21820);function e(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}function f(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}function g(){return(0,d.platform)()}function h(){return(0,d.arch)()}},3721:(a,b,c)=>{"use strict";let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(81283),{isAdmin:u}=c(11380),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(76540),{installCert:y,uninstallCert:z}=c(94442),{isCertExpired:A}=c(1653),{DATA_DIR:B,MITM_DIR:C}=c(37436),{log:D,err:E}=c(86772),{LSOF_BIN:F}=c(794),G="http://localhost:20128";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!_)return G;try{let a=await _(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=g.join(C,".mitm.lock"),L=[5e3,1e4,2e4,3e4,6e4],M=0,N=0,O=!1;function P(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function Q(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let R=Q(P()),S="aes-256-gcm",T="switchboard-mitm-pwd",U=null,V=null;function W(){return globalThis.__mitmSudoPassword||null}function X(a){globalThis.__mitmSudoPassword=a}function Y(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Z(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(81283);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function $(){try{let{machineIdSync:a}=c(96930),b=a();return l.createHash("sha256").update(b+T).digest()}catch{return l.createHash("sha256").update(T).digest()}}let _=null,aa=null;async function ab(a,b){if(aa)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=$(),d=l.randomBytes(12),e=l.createCipheriv(S,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await aa(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ac(){if(aa)try{await aa({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ad(){if(!_)return null;try{let a=await _();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=$(),f=l.createDecipheriv(S,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ae(a,b){if(aa&&_)try{let c={...(await _()).dnsToolEnabled||{},[a]:b};await aa({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function af(){if(!_)return{};try{return(await _()).dnsToolEnabled||{}}catch{return{}}}async function ag(a){let b=await af(),c=a||W()||await ad();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ah(){return v?u():!(!u()&&t())||!!(W()||await ad())}function ai(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function aj(a){if(U&&!U.killed){try{U.kill("SIGKILL")}catch{}U=null,V=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&Y(b)&&(Z(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&R)try{let b=H(R);if(a||s()){let{execWithPassword:d}=c(81283);await d(`pkill -SIGKILL -f ${b} 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f ${b} 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}function ak(a,b=443){return new Promise(c=>{let d=Date.now()+a,e=()=>{let a=k.request({hostname:"127.0.0.1",port:b,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1,timeout:2e3},a=>{let b="";a.on("data",a=>{b+=a}),a.on("end",()=>{try{let a=JSON.parse(b);c(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{c(null)}})});a.on("timeout",()=>a.destroy(Error("health check timed out"))),a.on("error",()=>{Date.now()<d?setTimeout(e,500):c(null)}),a.end()};e()})}async function al(){let a=null!==U&&!U.killed,b=V;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&Y(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(94442),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function am(a){if(O)return;if(O=!0,Date.now()-N>=6e4&&(M=0),M>=5){E("Max restart attempts reached. Giving up."),O=!1;return}let b=L[Math.min(M,L.length-1)];M++,D(`Restarting in ${b/1e3}s... (${M}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=_?await _():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),O=!1;return}let c=W()||await ad();if(!c&&!v){E("No cached password, cannot auto-restart"),O=!1;return}await ao(a,c),D("\uD83D\uDD04 Restarted successfully"),M=0,O=!1}catch(b){E(`Restart attempt ${M}/5 failed: ${b.message}`),O=!1,am(a)}}async function an(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(81283);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function ao(a,b,k=!1){if(!U||U.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&Y(a))return V=a,D(`♻️ Reusing existing process (PID: ${a})`),await ab(!0,b),b&&X(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(U&&!U.killed)throw Error("MITM server is already running");try{h.writeFileSync(K,String(process.pid),{flag:"wx"})}catch(a){if("EEXIST"===a.code){let a=!1;try{let b=parseInt(h.readFileSync(K,"utf-8").trim(),10);a=!b||!Y(b)}catch{a=!0}if(!a)throw Error("MITM server is already starting (lock contention)");try{h.unlinkSync(K)}catch{}h.writeFileSync(K,String(process.pid),{flag:"wx"})}else throw a}try{if(await aj(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ai(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(k)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await an(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let l=g.join(C,"rootCA.crt"),m=g.join(C,"rootCA.key"),n=h.existsSync(l)&&h.existsSync(m);if(!n||A(l)){if(n){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||W()||await ad();try{await z(a,l)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:o}=c(94442),p=await o(l),r=!v&&!w&&!s();if(p)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||W()||await ad();if(r)D(`🔐 Cert: skipping system trust (no sudo). Install ${l} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,l),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let u=R;if((!u||!h.existsSync(u))&&(D(`[MITM] server.js missing at ${u} → recopying`),!(u=Q(P()))||!h.existsSync(u)))throw Error(`MITM server.js not found at ${u}. Reinstall switchboard.`);let B=await I();if(D(`🚀 Starting server... (router: ${B})`),v){let c=await ai(b);if(c)if(k)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await an(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}U=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:B}}),aa&&await aa({mitmCertInstalled:!0}).catch(()=>{})}else if(s()){let c=[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(B)}`,"NODE_ENV=production",H(process.execPath),H(u)].join(" ");U=e("sudo",["-S","-E","sh","-c",c],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]}),b&&U.stdin.write(`${b}
1
+ exports.id=8998,exports.ids=[8998],exports.modules={794:(a,b,c)=>{"use strict";let d=c(29021);a.exports={IS_DEV:!1,LSOF_BIN:(()=>{if("win32"===process.platform)return null;for(let a of["/usr/sbin/lsof","/usr/bin/lsof","/sbin/lsof"])try{return d.accessSync(a,d.constants.X_OK),a}catch{}return"lsof"})(),TARGET_HOSTS:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","runtime.us-east-1.kiro.dev","api2.cursor.sh"],URL_PATTERNS:{antigravity:[":generateContent",":streamGenerateContent"],copilot:["/chat/completions","/v1/messages","/responses"],kiro:["/generateAssistantResponse"],cursor:["/BidiAppend","/RunSSE","/RunPoll","/Run"]},MODEL_SYNONYMS:{antigravity:{"gemini-default":"gemini-3.5-flash-low","gemini-3.5-flash-high":"gemini-3-flash-agent","gemini-3.5-flash-medium":"gemini-3.5-flash-low","gemini-3.5-flash-extra-low":"gemini-3.5-flash-extra-low","gemini-3.1-pro-high":"gemini-pro-agent","gemini-3-pro-high":"gemini-pro-agent","gemini-3-pro-low":"gemini-3.1-pro-low"}},MODEL_PATTERNS:{antigravity:[{match:/flash.*extra.*low|extra.*low.*flash|flash.*low|low.*flash/i,alias:"gemini-3.5-flash-extra-low"},{match:/flash.*medium|medium.*flash/i,alias:"gemini-3.5-flash-low"},{match:/flash.*agent|agent.*flash|flash/i,alias:"gemini-3-flash-agent"},{match:/pro.*low|low.*pro/i,alias:"gemini-3.1-pro-low"},{match:/gemini.*pro|pro.*gemini/i,alias:"gemini-pro-agent"},{match:/opus/i,alias:"claude-opus-4-6-thinking"},{match:/sonnet|claude/i,alias:"claude-sonnet-4-6"},{match:/gpt.*oss|oss/i,alias:"gpt-oss-120b-medium"}]},MODEL_NO_MAP:{antigravity:[/^tab[_-]/i]},LOG_BLACKLIST_URL_PARTS:["recordCodeAssistMetrics","recordTrajectoryAnalytics","fetchAdminControls","listExperiments","fetchUserInfo"],getToolForHost:function(a){let b=(a||"").split(":")[0];return"api.individual.githubcopilot.com"===b?"copilot":"daily-cloudcode-pa.googleapis.com"===b||"cloudcode-pa.googleapis.com"===b?"antigravity":"q.us-east-1.amazonaws.com"===b||"codewhisperer.us-east-1.amazonaws.com"===b||"runtime.us-east-1.kiro.dev"===b?"kiro":"api2.cursor.sh"===b?"cursor":null}}},978:(a,b,c)=>{"use strict";c(62457),c(82689)},1031:(a,b,c)=>{"use strict";let d={DEBUG:0,INFO:1,WARN:2,ERROR:3};d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO},1277:(a,b,c)=>{var d=c(45654);a.exports=d.md=d.md||{},d.md.algorithms=d.md.algorithms||{}},1653:(a,b,c)=>{"use strict";let d=c(33873),e=c(29021),f=c(5019),{MITM_DIR:g}=c(37436),h=d.join(g,"rootCA.key"),i=d.join(g,"rootCA.crt");function j(a){try{let b=f.pki.certificateFromPem(e.readFileSync(a,"utf8")),c=new Date(Date.now()+2592e6);return b.validity.notAfter<c}catch{return!0}}a.exports={generateRootCA:function(){let a=e.existsSync(h)&&e.existsSync(i);if(a&&!j(i))return console.log("✅ Root CA already exists"),{key:h,cert:i};if(a){console.log("\uD83D\uDD10 Root CA expired or expiring soon — regenerating...");try{e.unlinkSync(h)}catch{}try{e.unlinkSync(i)}catch{}}if(e.existsSync(g))try{e.chmodSync(g,448)}catch{}else e.mkdirSync(g,{recursive:!0,mode:448});console.log("\uD83D\uDD10 Generating Root CA certificate...");let b=f.pki.rsa.generateKeyPair(2048),c=f.pki.createCertificate();c.publicKey=b.publicKey,c.serialNumber="01",c.validity.notBefore=new Date,c.validity.notAfter=new Date,c.validity.notAfter.setFullYear(c.validity.notBefore.getFullYear()+10);let d=[{name:"commonName",value:"Switchboard MITM Root CA"},{name:"organizationName",value:"Switchboard"},{name:"countryName",value:"US"}];c.setSubject(d),c.setIssuer(d),c.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),c.sign(b.privateKey,f.md.sha256.create());let k=f.pki.privateKeyToPem(b.privateKey),l=f.pki.certificateToPem(c);e.writeFileSync(h,k,{mode:384}),e.writeFileSync(i,l,{mode:420});try{e.chmodSync(h,384)}catch{}return console.log("✅ Root CA generated successfully"),{key:h,cert:i}},loadRootCA:function(){if(!e.existsSync(h)||!e.existsSync(i))throw Error("Root CA not found. Generate it first.");let a=e.readFileSync(h,"utf8"),b=e.readFileSync(i,"utf8");return{key:f.pki.privateKeyFromPem(a),cert:f.pki.certificateFromPem(b)}},generateLeafCert:function(a,b){let c=f.pki.rsa.generateKeyPair(2048),d=f.pki.createCertificate();return d.publicKey=c.publicKey,d.serialNumber=Math.floor(1e6*Math.random()).toString(),d.validity.notBefore=new Date,d.validity.notAfter=new Date,d.validity.notAfter.setFullYear(d.validity.notBefore.getFullYear()+1),d.setSubject([{name:"commonName",value:a}]),d.setIssuer(b.cert.subject.attributes),d.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:a},{type:2,value:`*.${a}`}]}]),d.sign(b.key,f.md.sha256.create()),{key:f.pki.privateKeyToPem(c.privateKey),cert:f.pki.certificateToPem(d)}},isCertExpired:j,ROOT_CA_CERT_PATH:i,ROOT_CA_KEY_PATH:h}},1654:(a,b,c)=>{"use strict";c(23059)},1712:(a,b,c)=>{"use strict";let d=c(34589),{addAbortListener:e}=c(78474),{Readable:f}=c(57075),{RequestAbortedError:g,NotSupportedError:h,InvalidArgumentError:i,AbortError:j}=c(61448),k=c(84285),{ReadableStreamFrom:l}=c(84285),m=Symbol("kConsume"),n=Symbol("kReading"),o=Symbol("kBody"),p=Symbol("kAbort"),q=Symbol("kContentType"),r=Symbol("kContentLength"),s=Symbol("kUsed"),t=Symbol("kBytesRead"),u=()=>{};class v extends f{constructor({resume:a,abort:b,contentType:c="",contentLength:d,highWaterMark:e=65536}){super({autoDestroy:!0,read:a,highWaterMark:e}),this._readableState.dataEmitted=!1,this[p]=b,this[m]=null,this[t]=0,this[o]=null,this[s]=!1,this[q]=c,this[r]=Number.isFinite(d)?d:null,this[n]=!1}_destroy(a,b){a||this._readableState.endEmitted||(a=new g),a&&this[p](),this[s]?b(a):setImmediate(b,a)}on(a,b){return("data"===a||"readable"===a)&&(this[n]=!0,this[s]=!0),super.on(a,b)}addListener(a,b){return this.on(a,b)}off(a,b){let c=super.off(a,b);return("data"===a||"readable"===a)&&(this[n]=this.listenerCount("data")>0||this.listenerCount("readable")>0),c}removeListener(a,b){return this.off(a,b)}push(a){return a&&(this[t]+=a.length,this[m])?(A(this[m],a),!this[n]||super.push(a)):super.push(a)}text(){return w(this,"text")}json(){return w(this,"json")}blob(){return w(this,"blob")}bytes(){return w(this,"bytes")}arrayBuffer(){return w(this,"arrayBuffer")}async formData(){throw new h}get bodyUsed(){return k.isDisturbed(this)}get body(){return!this[o]&&(this[o]=l(this),this[m]&&(this[o].getReader(),d(this[o].locked))),this[o]}dump(a){let b=a?.signal;if(null!=b&&("object"!=typeof b||!("aborted"in b)))return Promise.reject(new i("signal must be an AbortSignal"));let c=a?.limit&&Number.isFinite(a.limit)?a.limit:131072;return b?.aborted?Promise.reject(b.reason??new j):this._readableState.closeEmitted?Promise.resolve(null):new Promise((a,d)=>{if((this[r]&&this[r]>c||this[t]>c)&&this.destroy(new j),b){let c=()=>{this.destroy(b.reason??new j)},f=e(b,c);this.on("close",function(){f[Symbol.dispose](),b.aborted?d(b.reason??new j):a(null)})}else this.on("close",a);this.on("error",u).on("data",()=>{this[t]>c&&this.destroy()}).resume()})}setEncoding(a){return Buffer.isEncoding(a)&&super.setEncoding(a),this}}function w(a,b){return d(!a[m]),new Promise((c,d)=>{if(k.isDisturbed(a)||a[o]?.locked===!0||null!==a[m]){let b=a._readableState;b.destroyed&&!1===b.closeEmitted?a.on("error",d).on("close",()=>{d(TypeError("unusable"))}):d(b.errored??TypeError("unusable"))}else queueMicrotask(()=>{a[m]={type:b,stream:a,resolve:c,reject:d,length:0,body:[]},a.on("error",function(a){B(this[m],a)}).on("close",function(){null!==this[m].body&&B(this[m],new g)}),function(a){if(null===a.body)return;let{_readableState:b}=a.stream;if(b.bufferIndex){let c=b.bufferIndex,d=b.buffer.length;for(let e=c;e<d;e++)A(a,b.buffer[e])}else for(let c of b.buffer)A(a,c);let c=b.decoder;if(null!=c&&c.lastNeed>0&&A(a,Buffer.from(c.lastChar.subarray(0,c.lastTotal-c.lastNeed))),b.endEmitted)return z(a,b.encoding);for(a.stream.on("end",function(){z(this[m],this._readableState.encoding)}),a.stream.resume();null!=a.stream.read(););}(a[m])})})}function x(a,b,c){if(0===a.length||0===b)return"";let d=1===a.length?a[0]:Buffer.concat(a,b),e=d.length,f=3*(e>2&&239===d[0]&&187===d[1]&&191===d[2]);return c&&"utf8"!==c&&"utf-8"!==c?d.subarray(f,e).toString(c):d.utf8Slice(f,e)}function y(a,b){if(0===a.length||0===b)return new Uint8Array(0);if(1===a.length)return new Uint8Array(a[0]);let c=new Uint8Array(Buffer.allocUnsafeSlow(b).buffer),d=0;for(let b=0;b<a.length;++b){let e=a[b];c.set(e,d),d+=e.length}return c}function z(a,b){let{type:c,body:d,resolve:e,stream:f,length:g}=a;try{"text"===c?e(x(d,g,b)):"json"===c?e(JSON.parse(x(d,g,b))):"arrayBuffer"===c?e(y(d,g).buffer):"blob"===c?e(new Blob(d,{type:f[q]})):"bytes"===c&&e(y(d,g)),B(a)}catch(a){f.destroy(a)}}function A(a,b){null!==a.body&&("string"==typeof b&&(b=Buffer.from(b,a.stream._readableState.encoding)),a.length+=b.length,a.body.push(b))}function B(a,b){null!==a.body&&(b?a.reject(b):a.resolve(),a.type=null,a.stream=null,a.resolve=null,a.reject=null,a.length=0,a.body=null)}a.exports={Readable:v,chunksDecode:x}},2670:(a,b,c)=>{"use strict";c.d(b,{v:()=>r});var d=c(22268),e=c(68531),f=c(18184),g=c(90694),h=c(52655),i=c(29055),j=c(11897);function k(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=c,b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:""}}),a.reasoningPartAdded=!0)}function l(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function m(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:j.Du.REASONING,summary:[{type:j.Du.SUMMARY_TEXT,text:a.reasoningBuf}]}}))}function n(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`;b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:parseInt(c),content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:parseInt(c),content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:e,type:j.Du.MESSAGE,content:[{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:d}],role:j.z7.ASSISTANT}})}}function o(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e=a.funcArgsBuf[c]||"{}";b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${d}`,output_index:parseInt(c),arguments:e}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:`fc_${d}`,type:j.Du.FUNCTION_CALL,arguments:e,call_id:d,name:a.funcNames[c]||""}}),a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function p(a,b){a.completedSent||(a.completedSent=!0,b("response.completed",{type:"response.completed",response:{id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null}}))}function q(a){return a.toolCallIndex>0||a.currentToolCallId?j.bC.TOOL_CALLS:j.bC.STOP}function r(a,b){if(!a){if(b.finishReasonSent||!b.started)return null;let a=q(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"response.output_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{content:a}):null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call")){let a=d.item;return b.currentToolCallId=a.call_id||(0,h.eG)(),(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:j.x4.FUNCTION,function:{name:a.name||"",arguments:""}}]})}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]}):null}if("response.output_item.done"===c&&(d.item?.type===j.Du.FUNCTION_CALL||d.item?.type==="custom_tool_call"))return b.toolCallIndex++,null;if("response.completed"===c||"response.done"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.input_tokens_details?.cached_tokens||a.cache_read_input_tokens||0;b.usage=(0,g.c)({promptTokens:c,completionTokens:d,totalTokens:c+d,cachedTokens:e})}if(!b.finishReasonSent){let a=q(b);b.finishReasonSent=!0,b.finishReason=a;let c=(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},{},a);return b.usage&&"object"==typeof b.usage&&(c.usage=b.usage),c}return null}if("error"===c||"response.failed"===c){if(b.finishReasonSent)return null;let a=d.error||d.response?.error;return a?(b.error=a,b.finishReasonSent=!0,(0,f.k)({id:b.chatId||`chatcmpl-${Date.now()}`,created:b.created||Math.floor(Date.now()/1e3),model:b.model||j.rP},{content:`[Error] ${a.message||JSON.stringify(a)}`},j.bC.STOP)):null}if("response.reasoning_summary_text.delta"===c){let a=d.delta||"";return a?(0,f.k)({id:b.chatId,created:b.created,model:b.model||j.rP},(0,i.B)(a)):null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,function(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)n(c,d,a);for(let a in m(c,d),c.funcCallIds)o(c,d,a);return p(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],g=f.index||0,h=f.delta||{};b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}}));let q=(0,i.V)(h);if(q&&(k(b,e,g),l(b,e,q)),h.content){let a=h.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),k(b,e,g)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&l(b,e,d),m(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return l(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0;let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:d,type:j.Du.MESSAGE,content:[],role:j.z7.ASSISTANT}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,part:{type:j.Du.OUTPUT_TEXT,annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,g,a)}if(h.tool_calls&&h.tool_calls.length)for(let a of(n(b,e,g),h.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(f&&(a.funcNames[d]=f),!a.funcCallIds[d]&&e&&(a.funcCallIds[d]=e,b("response.output_item.added",{type:"response.output_item.added",output_index:d,item:{id:`fc_${e}`,type:j.Du.FUNCTION_CALL,arguments:"",call_id:e,name:a.funcNames[d]||""}})),a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${f}`,output_index:d,delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(f.finish_reason){for(let a in b.msgItemAdded)n(b,e,a);for(let a in m(b,e),b.funcCallIds)o(b,e,a);p(b,e)}return d}),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,r)},2887:(a,b,c)=>{"use strict";let{iteratorMixin:d}=c(42425),{kEnumerableProperty:e}=c(84285),{webidl:f}=c(32984),g=c(57975),{runtimeFeatures:h}=c(56758),i=h.has("crypto")?c(77598).randomInt:a=>Math.floor(Math.random()*a);class j{#a=[];#b=null;constructor(a){if(f.util.markAsUncloneable(this),void 0!==a)throw f.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(a,b,c){f.brandCheck(this,j);let d="FormData.append";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c);this.#a.push(e)}delete(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.delete"),a=f.converters.USVString(a),this.#a=this.#a.filter(b=>b.name!==a)}get(a){f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.get"),a=f.converters.USVString(a);let b=this.#a.findIndex(b=>b.name===a);return -1===b?null:this.#a[b].value}getAll(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.getAll"),a=f.converters.USVString(a),this.#a.filter(b=>b.name===a).map(a=>a.value)}has(a){return f.brandCheck(this,j),f.argumentLengthCheck(arguments,1,"FormData.has"),a=f.converters.USVString(a),-1!==this.#a.findIndex(b=>b.name===a)}set(a,b,c){f.brandCheck(this,j);let d="FormData.set";f.argumentLengthCheck(arguments,2,d),a=f.converters.USVString(a),3==arguments.length||f.is.Blob(b)?(b=f.converters.Blob(b,d,"value"),void 0!==c&&(c=f.converters.USVString(c))):b=f.converters.USVString(b);let e=n(a,b,c),g=this.#a.findIndex(b=>b.name===a);-1!==g?this.#a=[...this.#a.slice(0,g),e,...this.#a.slice(g+1).filter(b=>b.name!==a)]:this.#a.push(e)}[g.inspect.custom](a,b){let c=this.#a.reduce((a,b)=>(a[b.name]?Array.isArray(a[b.name])?a[b.name].push(b.value):a[b.name]=[a[b.name],b.value]:a[b.name]=b.value,a),{__proto__:null});b.depth??=a,b.colors??=!0;let d=g.formatWithOptions(b,c);return`FormData ${d.slice(d.indexOf("]")+2)}`}static getFormDataState(a){return a.#a}static setFormDataState(a,b){a.#a=b}static getFormDataBoundary(a){let b=a.#b;return null!=b?b:a.#b=`----formdata-undici-0${`${i(1e11)}`.padStart(11,"0")}`}}let{getFormDataState:k,setFormDataState:l,getFormDataBoundary:m}=j;function n(a,b,c){if("string"==typeof b);else if(f.is.File(b)||(b=new File([b],"blob",{type:b.type})),void 0!==c){let a={type:b.type,lastModified:b.lastModified};b=new File([b],c,a)}return{name:a,value:b}}Reflect.deleteProperty(j,"getFormDataState"),Reflect.deleteProperty(j,"setFormDataState"),Reflect.deleteProperty(j,"getFormDataBoundary"),d("FormData",j,k,"name","value"),Object.defineProperties(j.prototype,{append:e,delete:e,get:e,getAll:e,has:e,set:e,[Symbol.toStringTag]:{value:"FormData",configurable:!0}}),f.is.FormData=f.util.MakeTypeAssertion(j),a.exports={FormData:j,makeEntry:n,setFormDataState:l,getFormDataBoundary:m}},3507:(a,b,c)=>{"use strict";c.d(b,{LY:()=>h,Tc:()=>f,ol:()=>g,vv:()=>e});var d=c(21820);function e(){switch((0,d.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,d.platform)()}`}}function f(){switch((0,d.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,d.arch)()}`}}function g(){return(0,d.platform)()}function h(){return(0,d.arch)()}},3721:(a,b,c)=>{"use strict";let{exec:d,spawn:e,execSync:f}=c(79646),g=c(33873),h=c(29021),i=c(21820),j=c(91645),k=c(55591),l=c(55511),{addDNSEntry:m,removeDNSEntry:n,removeAllDNSEntries:o,removeAllDNSEntriesSync:p,checkAllDNSStatus:q,TOOL_HOSTS:r,isSudoAvailable:s,isSudoPasswordRequired:t}=c(81283),{isAdmin:u}=c(11380),v="win32"===process.platform,w="darwin"===process.platform,{generateCert:x}=c(76540),{installCert:y,uninstallCert:z}=c(94442),{isCertExpired:A}=c(1653),{DATA_DIR:B,MITM_DIR:C}=c(37436),{log:D,err:E}=c(86772),{LSOF_BIN:F}=c(794),G="http://localhost:20128";function H(a){return null==a||""===a?"''":`'${String(a).replace(/'/g,"'\\''")}'`}async function I(){if(!_)return G;try{let a=await _(),b=a&&null!=a.mitmRouterBaseUrl?String(a.mitmRouterBaseUrl).trim():"";if(!b)return G;let c=new URL(b);if("http:"!==c.protocol&&"https:"!==c.protocol)return G;return b.replace(/\/+$/,"")}catch{return G}}let J=g.join(C,".mitm.pid"),K=g.join(C,".mitm.lock"),L=[5e3,1e4,2e4,3e4,6e4],M=0,N=0,O=!1;function P(){if(process.env.MITM_SERVER_PATH)return process.env.MITM_SERVER_PATH;let a=g.join(__dirname,"server.js");if(h.existsSync(a))return a;let b=g.join(process.cwd(),"src","mitm","server.js");if(h.existsSync(b))return b;let c=g.join(process.cwd(),"..","src","mitm","server.js");return h.existsSync(c)?c:b}function Q(a){try{if(!a||!h.existsSync(a)||!a.includes(`${g.sep}node_modules${g.sep}`))return a;let b=g.join(B,"runtime","mitm"),c=g.join(b,"server.js");if(h.existsSync(c))try{if(h.statSync(a).size===h.statSync(c).size)return c}catch{}return h.mkdirSync(b,{recursive:!0}),h.copyFileSync(a,c),c}catch(b){try{D(`[MITM] runtime copy failed: ${b.message}`)}catch{}return a}}let R=Q(P()),S="aes-256-gcm",T="switchboard-mitm-pwd",U=null,V=null;function W(){return globalThis.__mitmSudoPassword||null}function X(a){globalThis.__mitmSudoPassword=a}function Y(a){try{return process.kill(a,0),!0}catch(a){return"EACCES"===a.code}}function Z(a,b=!1,e=null){if(v)d(`taskkill ${b?"/F ":""}/PID ${a}`,{windowsHide:!0},()=>{});else{let f=b?"SIGKILL":"SIGTERM",g=`pkill -${f} -P ${a} 2>/dev/null; kill -${f} ${a} 2>/dev/null`;if(e||s()){let{execWithPassword:a}=c(81283);a(g,e||"").catch(()=>d(g,{windowsHide:!0},()=>{}))}else d(g,{windowsHide:!0},()=>{})}}function $(){try{let{machineIdSync:a}=c(96930),b=a();return l.createHash("sha256").update(b+T).digest()}catch{return l.createHash("sha256").update(T).digest()}}let _=null,aa=null;async function ab(a,b){if(aa)try{let c,d,e,f,g,h={mitmEnabled:a};b&&(c=$(),d=l.randomBytes(12),e=l.createCipheriv(S,c,d),f=Buffer.concat([e.update(b,"utf8"),e.final()]),g=e.getAuthTag(),h.mitmSudoEncrypted=`${d.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`),await aa(h)}catch(a){E(`Failed to save settings: ${a.message}`)}}async function ac(){if(aa)try{await aa({mitmSudoEncrypted:null})}catch(a){E(`Failed to clear encrypted password: ${a.message}`)}}async function ad(){if(!_)return null;try{let a=await _();if(!a.mitmSudoEncrypted)return null;return function(a){try{let[b,c,d]=a.split(":");if(!b||!c||!d)return null;let e=$(),f=l.createDecipheriv(S,e,Buffer.from(b,"hex"));return f.setAuthTag(Buffer.from(c,"hex")),f.update(Buffer.from(d,"hex"))+f.final("utf8")}catch{return null}}(a.mitmSudoEncrypted)}catch{return null}}async function ae(a,b){if(aa&&_)try{let c={...(await _()).dnsToolEnabled||{},[a]:b};await aa({dnsToolEnabled:c})}catch(a){E(`Failed to save DNS state: ${a.message}`)}}async function af(){if(!_)return{};try{return(await _()).dnsToolEnabled||{}}catch{return{}}}async function ag(a){let b=await af(),c=a||W()||await ad();for(let[a,d]of Object.entries(b))if(d&&r[a])try{await m(a,c)}catch(b){E(`DNS ${a}: restore failed — ${b.message}`)}}async function ah(){return v?u():!(!u()&&t())||!!(W()||await ad())}function ai(a){return new Promise(a=>{v?d('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{windowsHide:!0},(b,c)=>{if(b)return a(null);let e=parseInt(c.trim(),10);if(!e||e<=4)return a(null);d(`tasklist /FI "PID eq ${e}" /FO CSV /NH`,{windowsHide:!0},(b,c)=>{let d=c?.match(/"([^"]+)"/);a({pid:e,name:d?d[1]:"unknown"})})}):d(`${F} -nP -iTCP:443 -sTCP:LISTEN -t`,{windowsHide:!0},(b,c)=>{if(b||!c?.trim())return a(null);let e=parseInt(c.trim().split("\n")[0],10);if(!e||isNaN(e))return a(null);d(`ps -p ${e} -o comm=`,{windowsHide:!0},(b,c)=>{a({pid:e,name:c?.trim()||"unknown"})})})})}async function aj(a){if(U&&!U.killed){try{U.kill("SIGKILL")}catch{}U=null,V=null}try{if(h.existsSync(J)){let b=parseInt(h.readFileSync(J,"utf-8").trim(),10);b&&Y(b)&&(Z(b,!0,a),await new Promise(a=>setTimeout(a,500))),h.unlinkSync(J)}}catch{}if(!v&&R)try{let b=H(R);if(a||s()){let{execWithPassword:d}=c(81283);await d(`pkill -SIGKILL -f ${b} 2>/dev/null || true`,a||"").catch(()=>{})}else d(`pkill -SIGKILL -f ${b} 2>/dev/null || true`,{windowsHide:!0},()=>{});await new Promise(a=>setTimeout(a,500))}catch{}}function ak(a,b=443){return new Promise(c=>{let d=Date.now()+a,e=()=>{let a=k.request({hostname:"127.0.0.1",port:b,path:"/_mitm_health",method:"GET",rejectUnauthorized:!1,timeout:2e3},a=>{let b="";a.on("data",a=>{b+=a}),a.on("end",()=>{try{let a=JSON.parse(b);c(!0===a.ok?{ok:!0,pid:a.pid||null}:null)}catch{c(null)}})});a.on("timeout",()=>a.destroy(Error("health check timed out"))),a.on("error",()=>{Date.now()<d?setTimeout(e,500):c(null)}),a.end()};e()})}async function al(){let a=null!==U&&!U.killed,b=V;if(!a)try{if(h.existsSync(J)){let c=parseInt(h.readFileSync(J,"utf-8").trim(),10);c&&Y(c)?(a=!0,b=c):h.unlinkSync(J)}}catch{}let d=q(),e=g.join(C,"rootCA.crt"),f=h.existsSync(e),{checkCertInstalled:i}=c(94442),j=!!f&&await i(e);return{running:a,pid:b,certExists:f,certTrusted:j,dnsStatus:d}}async function am(a){if(O)return;if(O=!0,Date.now()-N>=6e4&&(M=0),M>=5){E("Max restart attempts reached. Giving up."),O=!1;return}let b=L[Math.min(M,L.length-1)];M++,D(`Restarting in ${b/1e3}s... (${M}/5)`),await new Promise(a=>setTimeout(a,b));try{let b=_?await _():null;if(b&&!b.mitmEnabled){D("MITM disabled, skipping restart"),O=!1;return}let c=W()||await ad();if(!c&&!v){E("No cached password, cannot auto-restart"),O=!1;return}await ao(a,c),D("\uD83D\uDD04 Restarted successfully"),M=0,O=!1}catch(b){E(`Restart attempt ${M}/5 failed: ${b.message}`),O=!1,am(a)}}async function an(a,b){if(a&&a.pid){if(v)try{f(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${a.pid} -Force -ErrorAction SilentlyContinue"`,{windowsHide:!0})}catch{}else try{let{execWithPassword:d}=c(81283);b||s()?await d(`kill -9 ${a.pid}`,b||""):f(`kill -9 ${a.pid}`,{windowsHide:!0})}catch{}await new Promise(a=>setTimeout(a,800))}}async function ao(a,b,k=!1){if(!U||U.killed)try{if(h.existsSync(J)){let a=parseInt(h.readFileSync(J,"utf-8").trim(),10);if(a&&Y(a))return V=a,D(`♻️ Reusing existing process (PID: ${a})`),await ab(!0,b),b&&X(b),{running:!0,pid:a};h.unlinkSync(J)}}catch{}if(U&&!U.killed)throw Error("MITM server is already running");try{h.writeFileSync(K,String(process.pid),{flag:"wx"})}catch(a){if("EEXIST"===a.code){let a=!1;try{let b=parseInt(h.readFileSync(K,"utf-8").trim(),10);a=!b||!Y(b)}catch{a=!0}if(!a)throw Error("MITM server is already starting (lock contention)");try{h.unlinkSync(K)}catch{}h.writeFileSync(K,String(process.pid),{flag:"wx"})}else throw a}try{if(await aj(b),!v){let a=await new Promise(a=>{let b=j.createServer();b.once("error",b=>{"EADDRINUSE"===b.code?a("in-use"):a("no-permission")}),b.once("listening",()=>{b.close(()=>a("free"))}),b.listen(443,"127.0.0.1")});if("in-use"===a||"no-permission"===a){let a=await ai(b);if(a){let c=a.name.includes("/")?a.name.split("/").filter(Boolean).pop():a.name;if(k)D(`Killing process on port 443 (PID ${a.pid}, name=${c})...`),await an(a,b);else{let b=Error(`Port 443 is already in use by "${c}" (PID ${a.pid}).`);throw b.code="PORT_443_BUSY",b.portOwner={pid:a.pid,name:c},b}}}}let l=g.join(C,"rootCA.crt"),m=g.join(C,"rootCA.key"),n=h.existsSync(l)&&h.existsSync(m);if(!n||A(l)){if(n){D("\uD83D\uDD10 Cert expired — uninstalling old cert...");let a=b||W()||await ad();try{await z(a,l)}catch{}}D("\uD83D\uDD10 Generating Root CA..."),await x()}let{checkCertInstalled:o}=c(94442),p=await o(l),r=!v&&!w&&!s();if(p)D("\uD83D\uDD10 Cert: already trusted ✅");else{D("\uD83D\uDD10 Cert: not trusted → installing...");let a=b||W()||await ad();if(r)D(`🔐 Cert: skipping system trust (no sudo). Install ${l} as a trusted CA on machines that use this proxy.`);else{if(!a&&t())throw Error("Sudo password required to install Root CA certificate");try{await y(a,l),D("\uD83D\uDD10 Cert: ✅ trusted")}catch(a){throw Error(`Failed to trust certificate: ${a.message}`)}}}let u=R;if((!u||!h.existsSync(u))&&(D(`[MITM] server.js missing at ${u} → recopying`),!(u=Q(P()))||!h.existsSync(u)))throw Error(`MITM server.js not found at ${u}. Reinstall switchboard.`);let B=await I();if(D(`🚀 Starting server... (router: ${B})`),v){let c=await ai(b);if(c)if(k)D(`Killing process on port 443 (PID ${c.pid}, name=${c.name})...`),await an(c,b);else{let a=Error(`Port 443 is already in use by "${c.name}" (PID ${c.pid}).`);throw a.code="PORT_443_BUSY",a.portOwner={pid:c.pid,name:c.name},a}U=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:B}}),aa&&await aa({mitmCertInstalled:!0}).catch(()=>{})}else if(s()){let c=[`HOME=${H(i.homedir())}`,`ROUTER_API_KEY=${H(a)}`,`MITM_ROUTER_BASE=${H(B)}`,"NODE_ENV=production",H(process.execPath),H(u)].join(" ");U=e("sudo",["-S","-E","sh","-c",c],{detached:!1,windowsHide:!0,stdio:["pipe","pipe","pipe"]}),b&&U.stdin.write(`${b}
2
2
  `),U.stdin.end()}else U=e(process.execPath,[u],{detached:!1,windowsHide:!0,cwd:i.tmpdir(),stdio:["ignore","pipe","pipe"],env:{...process.env,ROUTER_API_KEY:a,NODE_ENV:"production",MITM_ROUTER_BASE:B}});if(U&&(V=U.pid,h.writeFileSync(J,String(V)),N=Date.now()),w){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`launchctl setenv NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},b=>{b?D(`[launchctl] Failed to set NODE_EXTRA_CA_CERTS: ${b.message}`):D(`[launchctl] NODE_EXTRA_CA_CERTS set to ${a}`)})}else if(v){let a=g.join(C,"rootCA.crt");h.existsSync(a)&&d(`setx NODE_EXTRA_CA_CERTS "${a}"`,{windowsHide:!0},a=>{a?D(`[setx] Failed to set NODE_EXTRA_CA_CERTS: ${a.message}`):D("[setx] NODE_EXTRA_CA_CERTS set for current user")})}let G=null;U&&(U.stdout.on("data",a=>{process.stdout.write(a)}),U.stderr.on("data",a=>{let b=a.toString().trim();b&&(v||!b.includes("Password:")&&!b.includes("password for"))&&(E(b),G=b),!v&&(b.includes("incorrect password")||b.includes("no password was provided"))&&(X(null),ac(),O=!0)}),U.on("exit",b=>{D(`Server exited (code: ${b})`),U=null,V=null;try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}0===b||O||am(a)}));let L=await ak(8e3,443);if(!L){if(U&&!U.killed){try{U.kill()}catch{}U=null}let a=function(){try{if(v){let a=f('powershell -NonInteractive -WindowStyle Hidden -Command "$c = Get-NetTCPConnection -LocalPort 443 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1; if ($c) { $c.OwningProcess } else { 0 }"',{encoding:"utf8",windowsHide:!0}).trim(),b=parseInt(a,10);if(b&&b>4){let a=f(`tasklist /FI "PID eq ${b}" /FO CSV /NH`,{encoding:"utf8",windowsHide:!0}).match(/"([^"]+)"/);if(a)return a[1].replace(".exe","")}}else{let a=f(`${F} -i :443`,{encoding:"utf8",windowsHide:!0}).trim().split("\n");if(a.length>1)return a[1].split(/\s+/)[0]}}catch{}return null}(),b=a?` Port 443 already in use by ${a}.`:"",c=G||`Check sudo password or port 443 access.${b}`;throw Error(`MITM server failed to start. ${c}`)}aa&&await aa({mitmCertInstalled:!0}).catch(()=>{}),D(`✅ Server healthy (PID: ${V||L.pid})`);let M=q();for(let[a,b]of Object.entries(M))D(`🌐 DNS ${a}: ${b?"✅ active":"❌ inactive"}`);await ab(!0,b),b&&X(b);try{h.unlinkSync(K)}catch{}return{running:!0,pid:V}}catch(a){try{h.unlinkSync(K)}catch{}throw a}}async function ap(a){O=!0,M=0,D("⏹ Stopping server...");let b=U,e=b&&!b.killed?b.pid:(()=>{try{return parseInt(h.readFileSync(J,"utf-8").trim(),10)}catch{return null}})();if(e&&Y(e)&&(D(`Killing server (PID: ${e})...`),Z(e,!1,a),await new Promise(a=>setTimeout(a,1e3)),Y(e)&&Z(e,!0,a)),U=null,V=null,v){let a=g.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"),b=Object.values(r).flat();try{let{isAdmin:d,runElevatedPowerShell:e,quotePs:f}=c(11380);if(d()){let d=h.readFileSync(a,"utf8"),e=d.split(/\r?\n/).filter(a=>!b.some(b=>a.includes(b))).join("\r\n").replace(/[\r\n\s]+$/g,"")+"\r\n";e!==d&&h.writeFileSync(a,e,"utf8");try{c(79646).execSync("ipconfig /flushdns",{windowsHide:!0,stdio:"ignore"})}catch{}D("\uD83C\uDF10 DNS: ✅ all tool hosts removed")}else{let c=b.map(f).join(","),d=`
3
3
  $hosts = @(${c})
4
4
  $lines = Get-Content -LiteralPath ${f(a)}
@@ -8,7 +8,7 @@ exports.id=8998,exports.ids=[8998],exports.modules={794:(a,b,c)=>{"use strict";l
8
8
  }
9
9
  Set-Content -LiteralPath ${f(a)} -Value $filtered
10
10
  ipconfig /flushdns | Out-Null
11
- `;await e(d)}}catch(a){E(`Failed to clean hosts: ${a.message}`)}}else await o(a);w?d("launchctl unsetenv NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[launchctl] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[launchctl] NODE_EXTRA_CA_CERTS unset")}):v&&d("reg delete HKCU\\Environment /F /V NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[reg] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[reg] NODE_EXTRA_CA_CERTS unset")});try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}return await ab(!1,null),O=!1,{running:!1,pid:null}}async function aq(a,b){if(!(await al()).running)throw Error("MITM server is not running. Start the server first.");let c=b||W()||await ad();return await m(a,c),await ae(a,!0),{success:!0}}a.exports={pollMitmHealth:ak,getMitmStatus:al,startServer:ao,stopServer:ap,enableToolDNS:aq,disableToolDNS:async function a(a,b){let c=b||W()||await ad();return await n(a,c),await ae(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(C,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(94442);if(!v&&!w&&!s())return void D(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`);let e=a||W()||await ad();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),e&&X(e)},startMitm:ao,stopMitm:ap,getCachedPassword:W,setCachedPassword:X,loadEncryptedPassword:ad,clearEncryptedPassword:ac,isSudoPasswordRequired:t,initDbHooks:function(a,b){_=a,aa=b},restoreToolDNS:ag,hasDnsPrivilege:ah,removeAllDNSEntriesSync:p}},4554:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha1=d.sha1||{};d.md.sha1=d.md.algorithms.sha1=e,e.create=function(){g||(f=String.fromCharCode(128)+d.util.fillString("\0",64),g=!0);var a=null,b=d.util.createBuffer(),c=Array(80),e={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x67452301,h1:0xefcdab89,h2:0x98badcfe,h3:0x10325476,h4:0xc3d2e1f0},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var i=f.length;e.messageLength+=i,i=[i/0x100000000>>>0,i>>>0];for(var j=e.fullMessageLength.length-1;j>=0;--j)e.fullMessageLength[j]+=i[1],i[1]=i[0]+(e.fullMessageLength[j]/0x100000000>>>0),e.fullMessageLength[j]=e.fullMessageLength[j]>>>0,i[0]=i[1]/0x100000000>>>0;return b.putBytes(f),h(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g,i=d.util.createBuffer();i.putBytes(b.bytes());var j=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;i.putBytes(f.substr(0,e.blockLength-j));for(var k=8*e.fullMessageLength[0],l=0;l<e.fullMessageLength.length-1;++l)k+=(g=8*e.fullMessageLength[l+1])/0x100000000>>>0,i.putInt32(k>>>0),k=g>>>0;i.putInt32(k);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3,h4:a.h4};h(m,c,i);var n=d.util.createBuffer();return n.putInt32(m.h0),n.putInt32(m.h1),n.putInt32(m.h2),n.putInt32(m.h3),n.putInt32(m.h4),n},e};var f=null,g=!1;function h(a,b,c){for(var d,e,f,g,h,i,j,k,l=c.length();l>=64;){for(e=a.h0,f=a.h1,g=a.h2,h=a.h3,i=a.h4,k=0;k<16;++k)d=c.getInt32(),b[k]=d,d=(e<<5|e>>>27)+(h^f&(g^h))+i+0x5a827999+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<20;++k)d=(d=b[k-3]^b[k-8]^b[k-14]^b[k-16])<<1|d>>>31,b[k]=d,d=(e<<5|e>>>27)+(h^f&(g^h))+i+0x5a827999+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<32;++k)d=(d=b[k-3]^b[k-8]^b[k-14]^b[k-16])<<1|d>>>31,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0x6ed9eba1+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<40;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0x6ed9eba1+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<60;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f&g|h&(f^g))+i+0x8f1bbcdc+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<80;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0xca62c1d6+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;a.h0=a.h0+e|0,a.h1=a.h1+f|0,a.h2=a.h2+g|0,a.h3=a.h3+h|0,a.h4=a.h4+i|0,l-=64}}},4620:(a,b,c)=>{"use strict";c.d(b,{x:()=>p});var d=c(67671),e=c(38421),f=c(10793),g=c(82689),h=c(89666),i=c(2670),j=c(87350),k=c(18101),l=c(50969),m=c(29137),n=c(19016),o=c(55511);class p extends d.Hv{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","x-request-id":o.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}transformRequest(a,b,c,d){super.transformRequest(a,b,c,d);let e=b&&"object"==typeof b?b:{...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),"none"===e.reasoning_effort&&delete e.reasoning_effort,(0,m.c)("github",a,e),e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:d,credentials:e,signal:f,log:g,proxyOptions:m=null}){let o=this.config.responsesUrl,p=this.buildHeaders(e,d),q=(0,h.h)(a,b,d,e);g?.debug("GITHUB","Sending translated request to /responses");let r=await (0,l.Fm)(o,{method:"POST",headers:p,body:JSON.stringify(q),signal:f,identity:this.config?.identity,provider:this.provider,format:this.config?.format,stream:d},m);if(!r.ok)return{response:r,url:o,headers:p,transformedBody:q};if(!d&&r.body)try{let{convertResponsesStreamToJson:b}=await Promise.resolve().then(c.bind(c,82703)),d=await b(r.body),e=function(a,b){let c=Array.isArray(a?.output)?a.output:[],d="",e=[];for(let a of c){if(a?.type==="message"&&Array.isArray(a.content))for(let b of a.content)b?.type==="output_text"&&"string"==typeof b.text?d+=b.text:"string"==typeof b?.text&&(d+=b.text);a?.type==="function_call"&&e.push({id:a.call_id||`call_${a.name}_${e.length}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})}let f={role:"assistant",content:d||(e.length?null:"")};e.length&&(f.tool_calls=e);let g=a?.usage||{};return{id:a?.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:a?.model||b,choices:[{index:0,message:f,finish_reason:e.length?"tool_calls":"stop"}],usage:{prompt_tokens:g.input_tokens||0,completion_tokens:g.output_tokens||0,total_tokens:(g.input_tokens||0)+(g.output_tokens||0)}}}(d,a);return{response:new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":"application/json"}}),url:o,headers:p,transformedBody:q}}catch(a){g?.warn?.("GITHUB",`non-stream responses aggregate failed: ${a.message}`)}let s=(0,j.Ws)("openai-responses");s.model=a;let t=new TextDecoder,u="",v=new TransformStream({async transform(a,b){let c=(u+=t.decode(a,{stream:!0})).split("\n");for(let a of(u=c.pop()||"",c)){let c=a.trim();if(!c)continue;let e=(0,k.tV)(c);if(!e)continue;if(e.done&&!0===d){b.enqueue(new TextEncoder().encode(n.$U));continue}let f=(0,i.v)(e,s);if(f){let a=(0,k.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(u.trim()){let b=(0,k.tV)(u.trim());if(b&&!b.done){let c=(0,i.v)(b,s);c&&a.enqueue(new TextEncoder().encode((0,k.v8)(c,"openai")))}}}});return r.body?{response:new Response(r.body.pipeThrough(v),{status:r.status,statusText:r.statusText,headers:r.headers}),url:o,headers:p,transformedBody:q}:{response:new Response("",{status:r.status,headers:r.headers}),url:o,headers:p,transformedBody:q}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,l.Fm)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,Accept:"application/json"},identity:this.config?.identity,provider:this.provider,format:this.config?.format},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,l.Fm)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d),identity:this.config?.identity,provider:this.provider,format:this.config?.format},c);if(!e.ok)return null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),!Number.isFinite(b)||b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},4654:(a,b,c)=>{"use strict";let{uid:d,states:e,sentCloseFrameState:f,emptyBuffer:g,opcodes:h}=c(62026),{parseExtensions:i,isClosed:j,isClosing:k,isEstablished:l,isConnecting:m,validateCloseCodeAndReason:n}=c(94050),{makeRequest:o}=c(12600),{fetching:p}=c(76403),{Headers:q,getHeadersList:r}=c(28665),{getDecodeSplit:s}=c(42425),{WebsocketFrameSend:t}=c(45221),u=c(34589),{runtimeFeatures:v}=c(56758),w=v.has("crypto")?c(77598):null,x=!1;function y(a,b,c,d=!1){if(b??=null,c??="",d&&n(b,c),j(a.readyState)||k(a.readyState));else if(l(a.readyState))if(a.closeState.has(f.SENT)||a.closeState.has(f.RECEIVED))a.readyState=e.CLOSING;else{let d=new t;0!==c.length&&null===b&&(b=1e3),u(null===b||Number.isInteger(b)),null===b&&0===c.length?d.frameData=g:null!==b&&null===c?(d.frameData=Buffer.allocUnsafe(2),d.frameData.writeUInt16BE(b,0)):null!==b&&null!==c?(d.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(c)),d.frameData.writeUInt16BE(b,0),d.frameData.write(c,2,"utf-8")):d.frameData=g,a.socket.write(d.createFrame(h.CLOSE)),a.closeState.add(f.SENT),a.readyState=e.CLOSING}else z(a),a.readyState=e.CLOSING}function z(a,b,c,d){l(a.readyState)&&y(a,b,c,!1),a.controller.abort(),m(a.readyState)?a.onSocketClose():a.socket?.destroyed===!1&&a.socket.destroy()}a.exports={establishWebSocketConnection:function(a,b,c,e,f){a.protocol="ws:"===a.protocol?"http:":"https:";let g=o({urlList:[a],client:c,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});f.headers&&(g.headersList=r(new q(f.headers)));let h=w.randomBytes(16).toString("base64");for(let a of(g.headersList.append("sec-websocket-key",h,!0),g.headersList.append("sec-websocket-version","13",!0),b))g.headersList.append("sec-websocket-protocol",a,!0);return g.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),p({request:g,useParallelQueue:!0,dispatcher:f.dispatcher,processResponse(a){let c;if("error"===a.type||101!==a.status){if(a.socket?.session==null)return void z(e,1002,"Received network error or non-101 status code.",a.error);if(200!==a.status)return void z(e,1002,"Received network error or non-200 status code.",a.error)}if(!1===x&&a.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),x=!0),0!==b.length&&!a.headersList.get("Sec-WebSocket-Protocol"))return void z(e,1002,"Server did not respond with sent protocols.");if(null==a.socket.session&&a.headersList.get("Upgrade")?.toLowerCase()!=="websocket")return void z(e,1002,'Server did not set Upgrade header to "websocket".');if(null==a.socket.session&&a.headersList.get("Connection")?.toLowerCase()!=="upgrade")return void z(e,1002,'Server did not set Connection header to "upgrade".');if(a.headersList.get("Sec-WebSocket-Accept")!==w.hash("sha1",h+d,"base64"))return void z(e,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");let f=a.headersList.get("Sec-WebSocket-Extensions");if(null!==f&&!(c=i(f)).has("permessage-deflate"))return void z(e,1002,"Sec-WebSocket-Extensions header does not match.");let j=a.headersList.get("Sec-WebSocket-Protocol");null===j||s("sec-websocket-protocol",g.headersList).includes(j)?(a.socket.on("data",e.onSocketData),a.socket.on("close",e.onSocketClose),a.socket.on("error",e.onSocketError),e.wasEverConnected=!0,e.onConnectionEstablished(a,c)):z(e,1002,"Protocol was not set in the opening handshake.")}})},failWebsocketConnection:z,closeWebSocketConnection:y}},4879:(a,b,c)=>{"use strict";c(82340);let d="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",e='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',f="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",g="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",h="No invented abbreviations. Standard well-known tech acronyms (DB, API, HTTP, URL, JSON, ID, OS, CPU) OK. Names of code symbols, function names, API names, error strings: keep verbatim.",i="Preserve the user's dominant language. User wrote Vietnamese, reply Vietnamese. User wrote English, reply English. Wenyan/classical-Chinese levels override this language-preservation rule. Code identifiers, error strings, file paths, commands: keep in their original form regardless of language.",j='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',k='No decorative emoji. No narrating tool calls ("I will now search", "I used X to find Y"). No status phrases ("Sure!", "Of course!", "I\'d be happy to"). No causal arrow shorthand ("A -> B -> fails"). State the thing, the action, the reason. Then next step.';["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",e,d,f,g,h,i,j,k].join(" "),["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",e,d,f,g,h,i,j,k].join(" "),["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",e,d,f,g,h,i,j,k].join(" "),["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",e,d,f,g,h,i,j,k].join(" "),["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",e,d,f,g,h,i,j,k].join(" "),["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",e,d,f,g,h,i,j,k].join(" ")},4890:(a,b,c)=>{var d=c(45654);c(33889);var e=null;!d.util.isNodejs||d.options.usePureJavaScript||process.versions["node-webkit"]||(e=c(55511)),(a.exports=d.prng=d.prng||{}).create=function(a){for(var b={plugin:a,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},c=a.md,f=Array(32),g=0;g<32;++g)f[g]=c.create();function h(){b.reseeds=0xffffffff===b.reseeds?0:b.reseeds+1;var a=b.plugin.md.create();a.update(b.keyBytes);for(var c=1,d=0;d<32;++d)b.reseeds%c==0&&(a.update(b.pools[d].digest().getBytes()),b.pools[d].start()),c<<=1;b.keyBytes=a.digest().getBytes(),a.start(),a.update(b.keyBytes);var e=a.digest().getBytes();b.key=b.plugin.formatKey(b.keyBytes),b.seed=b.plugin.formatSeed(e),b.generated=0}function i(a){var b=null,c=d.util.globalScope,e=c.crypto||c.msCrypto;e&&e.getRandomValues&&(b=function(a){return e.getRandomValues(a)});var f=d.util.createBuffer();if(b)for(;f.length()<a;){var g=new Uint32Array(Math.floor(Math.max(1,Math.min(a-f.length(),65536)/4)));try{b(g);for(var h=0;h<g.length;++h)f.putInt32(g[h])}catch(a){if(!("u">typeof QuotaExceededError&&a instanceof QuotaExceededError))throw a}}if(f.length()<a)for(var i,j,k,l=Math.floor(65536*Math.random());f.length()<a;){l=0|(j=(0x7fffffff&(j=16807*(65535&l)+(((32767&(i=16807*(l>>16)))<<16)+(i>>15))))+(j>>31));for(var h=0;h<3;++h)k=l>>>(h<<3)^Math.floor(256*Math.random()),f.putByte(255&k)}return f.getBytes(a)}return b.pools=f,b.pool=0,b.generate=function(a,c){if(!c)return b.generateSync(a);var e=b.plugin.cipher,f=b.plugin.increment,g=b.plugin.formatKey,i=b.plugin.formatSeed,j=d.util.createBuffer();b.key=null,function k(l){if(l)return c(l);if(j.length()>=a)return c(null,j.getBytes(a));if(b.generated>1048575&&(b.key=null),null===b.key)return d.util.nextTick(function(){!function(a){if(b.pools[0].messageLength>=32)return h(),a();var c=32-b.pools[0].messageLength<<5;b.seedFile(c,function(c,d){if(c)return a(c);b.collect(d),h(),a()})}(k)});var m=e(b.key,b.seed);b.generated+=m.length,j.putBytes(m),b.key=g(e(b.key,f(b.seed))),b.seed=i(e(b.key,b.seed)),d.util.setImmediate(k)}()},b.generateSync=function(a){var c=b.plugin.cipher,e=b.plugin.increment,f=b.plugin.formatKey,g=b.plugin.formatSeed;b.key=null;for(var i=d.util.createBuffer();i.length()<a;){b.generated>1048575&&(b.key=null),null===b.key&&function(){if(b.pools[0].messageLength>=32)return h();var a=32-b.pools[0].messageLength<<5;b.collect(b.seedFileSync(a)),h()}();var j=c(b.key,b.seed);b.generated+=j.length,i.putBytes(j),b.key=f(c(b.key,e(b.seed))),b.seed=g(c(b.key,b.seed))}return i.getBytes(a)},e?(b.seedFile=function(a,b){e.randomBytes(a,function(a,c){if(a)return b(a);b(null,c.toString())})},b.seedFileSync=function(a){return e.randomBytes(a).toString()}):(b.seedFile=function(a,b){try{b(null,i(a))}catch(a){b(a)}},b.seedFileSync=i),b.collect=function(a){for(var c=a.length,d=0;d<c;++d)b.pools[b.pool].update(a.substr(d,1)),b.pool=31===b.pool?0:b.pool+1},b.collectInt=function(a,c){for(var d="",e=0;e<c;e+=8)d+=String.fromCharCode(a>>e&255);b.collect(d)},b.registerWorker=function(a){a===self?b.seedFile=function(a,b){self.addEventListener("message",function a(c){var d=c.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",a),b(d.forge.prng.err,d.forge.prng.bytes))}),self.postMessage({forge:{prng:{needed:a}}})}:a.addEventListener("message",function(c){var d=c.data;d.forge&&d.forge.prng&&b.seedFile(d.forge.prng.needed,function(b,c){a.postMessage({forge:{prng:{err:b,bytes:c}}})})})},b}},5318:(a,b,c)=>{"use strict";let d=c(7344),{ClientDestroyedError:e,ClientClosedError:f,InvalidArgumentError:g}=c(61448),{kDestroy:h,kClose:i,kClosed:j,kDestroyed:k,kDispatch:l}=c(49176),m=Symbol("onDestroyed"),n=Symbol("onClosed"),o=Symbol("webSocketOptions");class p extends d{[k]=!1;[m]=null;[j]=!1;[n]=null;constructor(a){super(),this[o]=a?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[o].maxFragments??131072,maxPayloadSize:this[o].maxPayloadSize??0x8000000}}get destroyed(){return this[k]}get closed(){return this[j]}close(a){if(void 0===a)return new Promise((a,b)=>{this.close((c,d)=>c?b(c):a(d))});if("function"!=typeof a)throw new g("invalid callback");if(this[k]){let b=new e;queueMicrotask(()=>a(b,null));return}if(this[j])return void(this[n]?this[n].push(a):queueMicrotask(()=>a(null,null)));this[j]=!0,this[n]??=[],this[n].push(a);let b=()=>{let a=this[n];this[n]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[i]().then(()=>this.destroy()).then(()=>queueMicrotask(b))}destroy(a,b){if("function"==typeof a&&(b=a,a=null),void 0===b)return new Promise((b,c)=>{this.destroy(a,(a,d)=>a?c(a):b(d))});if("function"!=typeof b)throw new g("invalid callback");if(this[k])return void(this[m]?this[m].push(b):queueMicrotask(()=>b(null,null)));a||(a=new e),this[k]=!0,this[m]??=[],this[m].push(b);let c=()=>{let a=this[m];this[m]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[h](a).then(()=>queueMicrotask(c))}dispatch(a,b){if(!b||"object"!=typeof b)throw new g("handler must be an object");try{if(!a||"object"!=typeof a)throw new g("opts must be an object.");if(a.dispatcher)throw new g("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[k]||this[m])throw new e;if(this[j])throw new f;return this[l](a,b)}catch(a){if("function"!=typeof b.onResponseError)throw a;return b.onResponseError(null,a),!1}}}a.exports=p},5831:(a,b,c)=>{"use strict";let{collectASequenceOfCodePointsFast:d}=c(70745),{maxNameValuePairSize:e,maxAttributeValueSize:f}=c(29653),{isCTLExcludingHtab:g}=c(84698),h=c(34589);function i(a,b={}){if(0===a.length)return b;h(";"===a[0]);let c="";(a=a.slice(1)).includes(";")?(c=d(";",a,{position:0}),a=a.slice(c.length)):(c=a,a="");let e="",g="";if(c.includes("=")){let a={position:0};e=d("=",c,a),g=c.slice(a.position+1)}else e=c;if(e=e.trim(),(g=g.trim()).length>f)return i(a,b);let j=e.toLowerCase();if("expires"===j){let a=new Date(g);Number.isNaN(a.getTime())||(b.expires=a)}else if("max-age"===j){let c=g.charCodeAt(0);if((c<48||c>57)&&"-"!==g[0]||!/^\d+$/.test(g))return i(a,b);b.maxAge=Number(g)}else if("domain"===j){let a=g;"."===a[0]&&(a=a.slice(1)),b.domain=a=a.toLowerCase()}else if("path"===j)b.path=0===g.length||"/"!==g[0]?"/":g;else if("secure"===j)b.secure=!0;else if("httponly"===j)b.httpOnly=!0;else if("samesite"===j){let a=g.toLowerCase();"none"===a?b.sameSite="None":"strict"===a?b.sameSite="Strict":"lax"===a&&(b.sameSite="Lax")}else b.unparsed??=[],b.unparsed.push(`${e}=${g}`);return i(a,b)}a.exports={parseSetCookie:function(a){if(g(a))return null;let b="",c="",f="",h="";if(a.includes(";")){let e={position:0};b=d(";",a,e),c=a.slice(e.position)}else b=a;if(b.includes("=")){let a={position:0};f=d("=",b,a),h=b.slice(a.position+1)}else h=b;return(f=f.trim(),h=h.trim(),f.length+h.length>e)?null:{name:f,value:h,...i(c)}},parseUnparsedAttributes:i}},6125:(a,b,c)=>{"use strict";c(10793),"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},6680:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha256=d.sha256||{};d.md.sha256=d.md.algorithms.sha256=e,e.create=function(){g||(f=String.fromCharCode(128)+d.util.fillString("\0",64),h=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2],g=!0);var a=null,b=d.util.createBuffer(),c=Array(64),e={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x6a09e667,h1:0xbb67ae85,h2:0x3c6ef372,h3:0xa54ff53a,h4:0x510e527f,h5:0x9b05688c,h6:0x1f83d9ab,h7:0x5be0cd19},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var h=f.length;e.messageLength+=h,h=[h/0x100000000>>>0,h>>>0];for(var j=e.fullMessageLength.length-1;j>=0;--j)e.fullMessageLength[j]+=h[1],h[1]=h[0]+(e.fullMessageLength[j]/0x100000000>>>0),e.fullMessageLength[j]=e.fullMessageLength[j]>>>0,h[0]=h[1]/0x100000000>>>0;return b.putBytes(f),i(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g,h=d.util.createBuffer();h.putBytes(b.bytes());var j=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;h.putBytes(f.substr(0,e.blockLength-j));for(var k=8*e.fullMessageLength[0],l=0;l<e.fullMessageLength.length-1;++l)k+=(g=8*e.fullMessageLength[l+1])/0x100000000>>>0,h.putInt32(k>>>0),k=g>>>0;h.putInt32(k);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3,h4:a.h4,h5:a.h5,h6:a.h6,h7:a.h7};i(m,c,h);var n=d.util.createBuffer();return n.putInt32(m.h0),n.putInt32(m.h1),n.putInt32(m.h2),n.putInt32(m.h3),n.putInt32(m.h4),n.putInt32(m.h5),n.putInt32(m.h6),n.putInt32(m.h7),n},e};var f=null,g=!1,h=null;function i(a,b,c){for(var d,e,f,g,i,j,k,l,m,n,o,p,q,r,s,t=c.length();t>=64;){for(k=0;k<16;++k)b[k]=c.getInt32();for(;k<64;++k)d=((d=b[k-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,e=((e=b[k-15])>>>7|e<<25)^(e>>>18|e<<14)^e>>>3,b[k]=d+b[k-7]+e+b[k-16]|0;for(l=a.h0,m=a.h1,n=a.h2,o=a.h3,p=a.h4,q=a.h5,r=a.h6,s=a.h7,k=0;k<64;++k)g=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),i=r^p&(q^r),f=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),j=l&m|n&(l^m),d=s+g+i+h[k]+b[k],e=f+j,s=r,r=q,q=p,p=o+d>>>0,o=n,n=m,m=l,l=d+e>>>0;a.h0=a.h0+l|0,a.h1=a.h1+m|0,a.h2=a.h2+n|0,a.h3=a.h3+o|0,a.h4=a.h4+p|0,a.h5=a.h5+q|0,a.h6=a.h6+r|0,a.h7=a.h7+s|0,t-=64}}},6951:(a,b,c)=>{"use strict";c.d(b,{v:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j=process.env.DATA_DIR||("win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),"switchboard"):g().join(i().homedir(),".switchboard")),k=g().join(j,"mitm","aliases.json");async function l(){try{var a;let b,d,{getMitmAlias:f}=await Promise.resolve().then(c.bind(c,37703));a=await f()||{},b=g().dirname(k),e().mkdirSync(b,{recursive:!0}),d=`${k}.tmp`,e().writeFileSync(d,JSON.stringify(a,null,2),"utf8"),e().renameSync(d,k)}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}},7044:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>l,deleteProviderNode:()=>n,getProviderNodeById:()=>k,getProviderNodes:()=>j,updateProviderNode:()=>m});var d=c(27137),e=c(24081),f=c(50743),g=c(15738);function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
11
+ `;await e(d)}}catch(a){E(`Failed to clean hosts: ${a.message}`)}}else await o(a);w?d("launchctl unsetenv NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[launchctl] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[launchctl] NODE_EXTRA_CA_CERTS unset")}):v&&d("reg delete HKCU\\Environment /F /V NODE_EXTRA_CA_CERTS",{windowsHide:!0},a=>{a?D(`[reg] Failed to unset NODE_EXTRA_CA_CERTS: ${a.message}`):D("[reg] NODE_EXTRA_CA_CERTS unset")});try{h.unlinkSync(J)}catch{}try{h.unlinkSync(K)}catch{}return await ab(!1,null),O=!1,{running:!1,pid:null}}async function aq(a,b){if(!(await al()).running)throw Error("MITM server is not running. Start the server first.");let c=b||W()||await ad();return await m(a,c),await ae(a,!0),{success:!0}}a.exports={pollMitmHealth:ak,getMitmStatus:al,startServer:ao,stopServer:ap,enableToolDNS:aq,disableToolDNS:async function a(a,b){let c=b||W()||await ad();return await n(a,c),await ae(a,!1),{success:!0}},trustCert:async function a(a){let b=g.join(C,"rootCA.crt");if(!h.existsSync(b))throw Error("Root CA not found. Start server first to generate it.");let{installCert:d}=c(94442);if(!v&&!w&&!s())return void D(`🔐 Cert: system trust unavailable (no sudo). Use file: ${b}`);let e=a||W()||await ad();if(!e&&t())throw Error("Sudo password required to trust certificate");await d(e,b),e&&X(e)},startMitm:ao,stopMitm:ap,getCachedPassword:W,setCachedPassword:X,loadEncryptedPassword:ad,clearEncryptedPassword:ac,isSudoPasswordRequired:t,initDbHooks:function(a,b){_=a,aa=b},restoreToolDNS:ag,hasDnsPrivilege:ah,removeAllDNSEntriesSync:p}},4554:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha1=d.sha1||{};d.md.sha1=d.md.algorithms.sha1=e,e.create=function(){g||(f=String.fromCharCode(128)+d.util.fillString("\0",64),g=!0);var a=null,b=d.util.createBuffer(),c=Array(80),e={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x67452301,h1:0xefcdab89,h2:0x98badcfe,h3:0x10325476,h4:0xc3d2e1f0},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var i=f.length;e.messageLength+=i,i=[i/0x100000000>>>0,i>>>0];for(var j=e.fullMessageLength.length-1;j>=0;--j)e.fullMessageLength[j]+=i[1],i[1]=i[0]+(e.fullMessageLength[j]/0x100000000>>>0),e.fullMessageLength[j]=e.fullMessageLength[j]>>>0,i[0]=i[1]/0x100000000>>>0;return b.putBytes(f),h(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g,i=d.util.createBuffer();i.putBytes(b.bytes());var j=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;i.putBytes(f.substr(0,e.blockLength-j));for(var k=8*e.fullMessageLength[0],l=0;l<e.fullMessageLength.length-1;++l)k+=(g=8*e.fullMessageLength[l+1])/0x100000000>>>0,i.putInt32(k>>>0),k=g>>>0;i.putInt32(k);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3,h4:a.h4};h(m,c,i);var n=d.util.createBuffer();return n.putInt32(m.h0),n.putInt32(m.h1),n.putInt32(m.h2),n.putInt32(m.h3),n.putInt32(m.h4),n},e};var f=null,g=!1;function h(a,b,c){for(var d,e,f,g,h,i,j,k,l=c.length();l>=64;){for(e=a.h0,f=a.h1,g=a.h2,h=a.h3,i=a.h4,k=0;k<16;++k)d=c.getInt32(),b[k]=d,d=(e<<5|e>>>27)+(h^f&(g^h))+i+0x5a827999+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<20;++k)d=(d=b[k-3]^b[k-8]^b[k-14]^b[k-16])<<1|d>>>31,b[k]=d,d=(e<<5|e>>>27)+(h^f&(g^h))+i+0x5a827999+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<32;++k)d=(d=b[k-3]^b[k-8]^b[k-14]^b[k-16])<<1|d>>>31,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0x6ed9eba1+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<40;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0x6ed9eba1+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<60;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f&g|h&(f^g))+i+0x8f1bbcdc+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;for(;k<80;++k)d=(d=b[k-6]^b[k-16]^b[k-28]^b[k-32])<<2|d>>>30,b[k]=d,d=(e<<5|e>>>27)+(f^g^h)+i+0xca62c1d6+d,i=h,h=g,g=(f<<30|f>>>2)>>>0,f=e,e=d;a.h0=a.h0+e|0,a.h1=a.h1+f|0,a.h2=a.h2+g|0,a.h3=a.h3+h|0,a.h4=a.h4+i|0,l-=64}}},4620:(a,b,c)=>{"use strict";c.d(b,{x:()=>p});var d=c(67671),e=c(38421),f=c(10793),g=c(82689),h=c(89666),i=c(2670),j=c(87350),k=c(18101),l=c(50969),m=c(29137),n=c(19016),o=c(55511);class p extends d.Hv{constructor(){super("github",e.xq.github),this.knownCodexModels=new Set}buildUrl(a,b,c=0){return this.config.baseUrl}buildHeaders(a,b=!0){let c=a.copilotToken||a.accessToken;return{Authorization:`Bearer ${c}`,"Content-Type":"application/json","x-request-id":o.randomUUID?.()||`${Date.now()}-${Math.random().toString(36).slice(2)}`,Accept:b?"text/event-stream":"application/json"}}sanitizeMessagesForChatCompletions(a){if(!a?.messages)return a;let b={...a};if(a.response_format&&a.model?.includes("claude")){let b=a.response_format,c="";if("json_schema"===b.type&&b.json_schema?.schema?c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks. Never wrap JSON in triple backticks. Output ONLY the raw JSON object.":"json_object"===b.type&&(c="CRITICAL: You must ONLY output raw JSON. Never use markdown code blocks. Never use backticks."),c){let b=a.messages.findIndex(a=>"system"===a.role);b>=0?a.messages[b].content=c+"\n\n"+a.messages[b].content:a.messages.unshift({role:"system",content:c});let d=a.messages.map((a,b)=>"user"===a.role?b:-1).filter(a=>a>=0).pop();if(d>=0){let b=a.messages[d],c="string"==typeof b.content?b.content:JSON.stringify(b.content);b.content="Respond with ONLY raw JSON (no markdown, no backticks, no code blocks): "+c}}}return b.messages=a.messages.map(a=>{if(!a.content||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=a.content.map(a=>{if("text"===a.type||"image_url"===a.type)return a;let b=a.text||a.content||JSON.stringify(a);return{type:"text",text:"string"==typeof b?b:JSON.stringify(b)}}).filter(a=>""!==a.text);return{...a,content:b.length>0?b:null}}return a}),b}requiresMaxCompletionTokens(a){return/gpt-5|o[134]-/i.test(a)}transformRequest(a,b,c,d){super.transformRequest(a,b,c,d);let e=b&&"object"==typeof b?b:{...b};return this.requiresMaxCompletionTokens(a)&&void 0!==e.max_tokens&&(e.max_completion_tokens=e.max_tokens,delete e.max_tokens),"none"===e.reasoning_effort&&delete e.reasoning_effort,(0,m.c)("github",a,e),e}supportsResponsesEndpoint(a){let b=(a||"").toLowerCase();return!(b.includes("gemini")||b.includes("claude"))}async execute(a){let{model:b,log:c}=a;if(this.knownCodexModels.has(b)&&this.supportsResponsesEndpoint(b))return c?.debug("GITHUB",`Using cached /responses route for ${b}`),this.executeWithResponsesEndpoint(a);let d={...a,body:this.sanitizeMessagesForChatCompletions(a.body)},e=await super.execute({...d,proxyOptions:a.proxyOptions||null});if(e.response.status===g.gx.BAD_REQUEST&&this.supportsResponsesEndpoint(b)){let d=await e.response.clone().text();if(d.includes("not accessible via the /chat/completions endpoint")||d.includes("The requested model is not supported"))return c?.warn("GITHUB",`Model ${b} requires /responses. Switching...`),this.knownCodexModels.add(b),this.executeWithResponsesEndpoint(a)}return e}async executeWithResponsesEndpoint({model:a,body:b,stream:d,credentials:e,signal:f,log:g,proxyOptions:m=null}){let o=this.config.responsesUrl,p=this.buildHeaders(e,d),q=(0,h.h)(a,b,d,e);g?.debug("GITHUB","Sending translated request to /responses");let r=await (0,l.Fm)(o,{method:"POST",headers:p,body:JSON.stringify(q),signal:f,identity:this.config?.identity,provider:this.provider,format:this.config?.format,stream:d},m);if(!r.ok)return{response:r,url:o,headers:p,transformedBody:q};if(!d&&r.body)try{let{convertResponsesStreamToJson:b}=await Promise.resolve().then(c.bind(c,82703)),d=await b(r.body),e=function(a,b){let c=Array.isArray(a?.output)?a.output:[],d="",e=[];for(let a of c){if(a?.type==="message"&&Array.isArray(a.content))for(let b of a.content)b?.type==="output_text"&&"string"==typeof b.text?d+=b.text:"string"==typeof b?.text&&(d+=b.text);a?.type==="function_call"&&e.push({id:a.call_id||`call_${a.name}_${e.length}`,type:"function",function:{name:a.name,arguments:"string"==typeof a.arguments?a.arguments:JSON.stringify(a.arguments||{})}})}let f={role:"assistant",content:d||(e.length?null:"")};e.length&&(f.tool_calls=e);let g=a?.usage||{};return{id:a?.id||`chatcmpl-${Date.now()}`,object:"chat.completion",created:a?.created_at||Math.floor(Date.now()/1e3),model:a?.model||b,choices:[{index:0,message:f,finish_reason:e.length?"tool_calls":"stop"}],usage:{prompt_tokens:g.input_tokens||0,completion_tokens:g.output_tokens||0,total_tokens:(g.input_tokens||0)+(g.output_tokens||0)}}}(d,a);return{response:new Response(JSON.stringify(e),{status:200,headers:{"Content-Type":"application/json"}}),url:o,headers:p,transformedBody:q}}catch(a){g?.warn?.("GITHUB",`non-stream responses aggregate failed: ${a.message}`)}let s=(0,j.Ws)("openai-responses");s.model=a;let t=new TextDecoder,u="",v=new TransformStream({async transform(a,b){let c=(u+=t.decode(a,{stream:!0})).split("\n");for(let a of(u=c.pop()||"",c)){let c=a.trim();if(!c)continue;let e=(0,k.tV)(c);if(!e)continue;if(e.done&&!0===d){b.enqueue(new TextEncoder().encode(n.$U));continue}let f=(0,i.v)(e,s);if(f){let a=(0,k.v8)(f,"openai");b.enqueue(new TextEncoder().encode(a))}}},flush(a){if(u.trim()){let b=(0,k.tV)(u.trim());if(b&&!b.done){let c=(0,i.v)(b,s);c&&a.enqueue(new TextEncoder().encode((0,k.v8)(c,"openai")))}}}});return r.body?{response:new Response(r.body.pipeThrough(v),{status:r.status,statusText:r.statusText,headers:r.headers}),url:o,headers:p,transformedBody:q}:{response:new Response("",{status:r.status,headers:r.headers}),url:o,headers:p,transformedBody:q}}async refreshCopilotToken(a,b,c=null){try{let d=await (0,l.Fm)("https://api.github.com/copilot_internal/v2/token",{headers:{Authorization:`token ${a}`,Accept:"application/json"},identity:this.config?.identity,provider:this.provider,format:this.config?.format},c);if(!d.ok){let a=await d.text();return b?.error?.("TOKEN",`Copilot token refresh failed: ${d.status} ${a}`),null}let e=await d.json();return b?.info?.("TOKEN","Copilot token refreshed"),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN",`Copilot refresh error: ${a.message}`),null}}async refreshGitHubToken(a,b,c=null){try{let d={grant_type:"refresh_token",refresh_token:a,client_id:this.config.clientId};this.config.clientSecret&&(d.client_secret=this.config.clientSecret);let e=await (0,l.Fm)(f.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(d),identity:this.config?.identity,provider:this.provider,format:this.config?.format},c);if(!e.ok)return null;let g=await e.json();return b?.info?.("TOKEN","GitHub token refreshed"),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN",`GitHub refresh error: ${a.message}`),null}}async refreshCredentials(a,b,c=null){let d=await this.refreshCopilotToken(a.accessToken,b,c);if(!d&&a.refreshToken){let e=await this.refreshGitHubToken(a.refreshToken,b,c);if(e?.accessToken)return(d=await this.refreshCopilotToken(e.accessToken,b,c))?{...e,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:e}return d?{accessToken:a.accessToken,refreshToken:a.refreshToken,copilotToken:d.token,copilotTokenExpiresAt:d.expiresAt}:null}needsRefresh(a){if(!a.copilotToken)return!0;if(a.copilotTokenExpiresAt){let b=a.copilotTokenExpiresAt;if("number"==typeof b&&b<1e12?b*=1e3:"string"==typeof b&&(b=new Date(b).getTime()),!Number.isFinite(b)||b-Date.now()<3e5)return!0}return super.needsRefresh(a)}}},4654:(a,b,c)=>{"use strict";let{uid:d,states:e,sentCloseFrameState:f,emptyBuffer:g,opcodes:h}=c(62026),{parseExtensions:i,isClosed:j,isClosing:k,isEstablished:l,isConnecting:m,validateCloseCodeAndReason:n}=c(94050),{makeRequest:o}=c(12600),{fetching:p}=c(76403),{Headers:q,getHeadersList:r}=c(28665),{getDecodeSplit:s}=c(42425),{WebsocketFrameSend:t}=c(45221),u=c(34589),{runtimeFeatures:v}=c(56758),w=v.has("crypto")?c(77598):null,x=!1;function y(a,b,c,d=!1){if(b??=null,c??="",d&&n(b,c),j(a.readyState)||k(a.readyState));else if(l(a.readyState))if(a.closeState.has(f.SENT)||a.closeState.has(f.RECEIVED))a.readyState=e.CLOSING;else{let d=new t;0!==c.length&&null===b&&(b=1e3),u(null===b||Number.isInteger(b)),null===b&&0===c.length?d.frameData=g:null!==b&&null===c?(d.frameData=Buffer.allocUnsafe(2),d.frameData.writeUInt16BE(b,0)):null!==b&&null!==c?(d.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(c)),d.frameData.writeUInt16BE(b,0),d.frameData.write(c,2,"utf-8")):d.frameData=g,a.socket.write(d.createFrame(h.CLOSE)),a.closeState.add(f.SENT),a.readyState=e.CLOSING}else z(a),a.readyState=e.CLOSING}function z(a,b,c,d){l(a.readyState)&&y(a,b,c,!1),a.controller.abort(),m(a.readyState)?a.onSocketClose():a.socket?.destroyed===!1&&a.socket.destroy()}a.exports={establishWebSocketConnection:function(a,b,c,e,f){a.protocol="ws:"===a.protocol?"http:":"https:";let g=o({urlList:[a],client:c,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});f.headers&&(g.headersList=r(new q(f.headers)));let h=w.randomBytes(16).toString("base64");for(let a of(g.headersList.append("sec-websocket-key",h,!0),g.headersList.append("sec-websocket-version","13",!0),b))g.headersList.append("sec-websocket-protocol",a,!0);return g.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),p({request:g,useParallelQueue:!0,dispatcher:f.dispatcher,processResponse(a){let c;if("error"===a.type||101!==a.status){if(a.socket?.session==null)return void z(e,1002,"Received network error or non-101 status code.",a.error);if(200!==a.status)return void z(e,1002,"Received network error or non-200 status code.",a.error)}if(!1===x&&a.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),x=!0),0!==b.length&&!a.headersList.get("Sec-WebSocket-Protocol"))return void z(e,1002,"Server did not respond with sent protocols.");if(null==a.socket.session&&a.headersList.get("Upgrade")?.toLowerCase()!=="websocket")return void z(e,1002,'Server did not set Upgrade header to "websocket".');if(null==a.socket.session&&a.headersList.get("Connection")?.toLowerCase()!=="upgrade")return void z(e,1002,'Server did not set Connection header to "upgrade".');if(a.headersList.get("Sec-WebSocket-Accept")!==w.hash("sha1",h+d,"base64"))return void z(e,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");let f=a.headersList.get("Sec-WebSocket-Extensions");if(null!==f&&!(c=i(f)).has("permessage-deflate"))return void z(e,1002,"Sec-WebSocket-Extensions header does not match.");let j=a.headersList.get("Sec-WebSocket-Protocol");null===j||s("sec-websocket-protocol",g.headersList).includes(j)?(a.socket.on("data",e.onSocketData),a.socket.on("close",e.onSocketClose),a.socket.on("error",e.onSocketError),e.wasEverConnected=!0,e.onConnectionEstablished(a,c)):z(e,1002,"Protocol was not set in the opening handshake.")}})},failWebsocketConnection:z,closeWebSocketConnection:y}},4879:(a,b,c)=>{"use strict";c(82340);let d="Code blocks, file paths, commands, errors, URLs: keep exact. Security warnings, irreversible action confirmations, multi-step ordered sequences: write normal. Resume terse style after.",e='Not: "Sure! I\'d be happy to help you with that. The issue you\'re experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"',f="Auto-Clarity: drop caveman for security warnings, irreversible actions, multi-step sequences where fragment ambiguity risks misread, or when user repeats a question. Resume after the clear part.",g="ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure.",h="No invented abbreviations. Standard well-known tech acronyms (DB, API, HTTP, URL, JSON, ID, OS, CPU) OK. Names of code symbols, function names, API names, error strings: keep verbatim.",i="Preserve the user's dominant language. User wrote Vietnamese, reply Vietnamese. User wrote English, reply English. Wenyan/classical-Chinese levels override this language-preservation rule. Code identifiers, error strings, file paths, commands: keep in their original form regardless of language.",j='No self-reference. Do not name or announce the style (no "caveman mode", no "me caveman think", no "compressed mode active"). Just respond.',k='No decorative emoji. No narrating tool calls ("I will now search", "I used X to find Y"). No status phrases ("Sure!", "Of course!", "I\'d be happy to"). No causal arrow shorthand ("A -> B -> fails"). State the thing, the action, the reason. Then next step.';["Respond tersely. Keep grammar and full sentences but drop filler, hedging and pleasantries (just/really/basically/sure/of course/I'd be happy to). Pattern: state the thing, the action, the reason. Then next step.",e,d,f,g,h,i,j,k].join(" "),["Respond like terse caveman. All technical substance stay exact, only fluff die. Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries, hedging. Fragments OK. Short synonyms (big not extensive, fix not implement a solution for). Pattern: [thing] [action] [reason]. [next step].",e,d,f,g,h,i,j,k].join(" "),["Respond ultra-terse. Maximum compression. Telegraphic. Strip conjunctions. One word when one word enough. Pattern: [thing] [action] [reason]. [next step].",e,d,f,g,h,i,j,k].join(" "),["Respond semi-classical. Drop filler/hedging but keep grammar structure, classical register. Use classical Chinese sentence patterns where natural. Keep English for technical terms.",e,d,f,g,h,i,j,k].join(" "),["Respond classical Chinese (文言文). Maximum classical terseness. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其). Keep English for code, commands, function names, API names, error strings.",e,d,f,g,h,i,j,k].join(" "),["Respond extreme classical compression (文言文 ultra). Maximum compression, ultra terse. Same classical rules as wenyan-full but even more compressed. One classical particle per clause.",e,d,f,g,h,i,j,k].join(" ")},4890:(a,b,c)=>{var d=c(45654);c(33889);var e=null;!d.util.isNodejs||d.options.usePureJavaScript||process.versions["node-webkit"]||(e=c(55511)),(a.exports=d.prng=d.prng||{}).create=function(a){for(var b={plugin:a,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},c=a.md,f=Array(32),g=0;g<32;++g)f[g]=c.create();function h(){b.reseeds=0xffffffff===b.reseeds?0:b.reseeds+1;var a=b.plugin.md.create();a.update(b.keyBytes);for(var c=1,d=0;d<32;++d)b.reseeds%c==0&&(a.update(b.pools[d].digest().getBytes()),b.pools[d].start()),c<<=1;b.keyBytes=a.digest().getBytes(),a.start(),a.update(b.keyBytes);var e=a.digest().getBytes();b.key=b.plugin.formatKey(b.keyBytes),b.seed=b.plugin.formatSeed(e),b.generated=0}function i(a){var b=null,c=d.util.globalScope,e=c.crypto||c.msCrypto;e&&e.getRandomValues&&(b=function(a){return e.getRandomValues(a)});var f=d.util.createBuffer();if(b)for(;f.length()<a;){var g=new Uint32Array(Math.floor(Math.max(1,Math.min(a-f.length(),65536)/4)));try{b(g);for(var h=0;h<g.length;++h)f.putInt32(g[h])}catch(a){if(!("u">typeof QuotaExceededError&&a instanceof QuotaExceededError))throw a}}if(f.length()<a)for(var i,j,k,l=Math.floor(65536*Math.random());f.length()<a;){l=0|(j=(0x7fffffff&(j=16807*(65535&l)+(((32767&(i=16807*(l>>16)))<<16)+(i>>15))))+(j>>31));for(var h=0;h<3;++h)k=l>>>(h<<3)^Math.floor(256*Math.random()),f.putByte(255&k)}return f.getBytes(a)}return b.pools=f,b.pool=0,b.generate=function(a,c){if(!c)return b.generateSync(a);var e=b.plugin.cipher,f=b.plugin.increment,g=b.plugin.formatKey,i=b.plugin.formatSeed,j=d.util.createBuffer();b.key=null,function k(l){if(l)return c(l);if(j.length()>=a)return c(null,j.getBytes(a));if(b.generated>1048575&&(b.key=null),null===b.key)return d.util.nextTick(function(){!function(a){if(b.pools[0].messageLength>=32)return h(),a();var c=32-b.pools[0].messageLength<<5;b.seedFile(c,function(c,d){if(c)return a(c);b.collect(d),h(),a()})}(k)});var m=e(b.key,b.seed);b.generated+=m.length,j.putBytes(m),b.key=g(e(b.key,f(b.seed))),b.seed=i(e(b.key,b.seed)),d.util.setImmediate(k)}()},b.generateSync=function(a){var c=b.plugin.cipher,e=b.plugin.increment,f=b.plugin.formatKey,g=b.plugin.formatSeed;b.key=null;for(var i=d.util.createBuffer();i.length()<a;){b.generated>1048575&&(b.key=null),null===b.key&&function(){if(b.pools[0].messageLength>=32)return h();var a=32-b.pools[0].messageLength<<5;b.collect(b.seedFileSync(a)),h()}();var j=c(b.key,b.seed);b.generated+=j.length,i.putBytes(j),b.key=f(c(b.key,e(b.seed))),b.seed=g(c(b.key,b.seed))}return i.getBytes(a)},e?(b.seedFile=function(a,b){e.randomBytes(a,function(a,c){if(a)return b(a);b(null,c.toString())})},b.seedFileSync=function(a){return e.randomBytes(a).toString()}):(b.seedFile=function(a,b){try{b(null,i(a))}catch(a){b(a)}},b.seedFileSync=i),b.collect=function(a){for(var c=a.length,d=0;d<c;++d)b.pools[b.pool].update(a.substr(d,1)),b.pool=31===b.pool?0:b.pool+1},b.collectInt=function(a,c){for(var d="",e=0;e<c;e+=8)d+=String.fromCharCode(a>>e&255);b.collect(d)},b.registerWorker=function(a){a===self?b.seedFile=function(a,b){self.addEventListener("message",function a(c){var d=c.data;d.forge&&d.forge.prng&&(self.removeEventListener("message",a),b(d.forge.prng.err,d.forge.prng.bytes))}),self.postMessage({forge:{prng:{needed:a}}})}:a.addEventListener("message",function(c){var d=c.data;d.forge&&d.forge.prng&&b.seedFile(d.forge.prng.needed,function(b,c){a.postMessage({forge:{prng:{err:b,bytes:c}}})})})},b}},5019:(a,b,c)=>{a.exports=c(45654),c(45518),c(39804),c(63070),c(66568),c(88819),c(22164),c(76632),c(33206),c(31881),c(69445),c(41702),c(70710),c(49345),c(24985),c(15873),c(76103),c(94463),c(36902),c(4890),c(87981),c(29984),c(67382),c(28169),c(27080),c(33889)},5318:(a,b,c)=>{"use strict";let d=c(7344),{ClientDestroyedError:e,ClientClosedError:f,InvalidArgumentError:g}=c(61448),{kDestroy:h,kClose:i,kClosed:j,kDestroyed:k,kDispatch:l}=c(49176),m=Symbol("onDestroyed"),n=Symbol("onClosed"),o=Symbol("webSocketOptions");class p extends d{[k]=!1;[m]=null;[j]=!1;[n]=null;constructor(a){super(),this[o]=a?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[o].maxFragments??131072,maxPayloadSize:this[o].maxPayloadSize??0x8000000}}get destroyed(){return this[k]}get closed(){return this[j]}close(a){if(void 0===a)return new Promise((a,b)=>{this.close((c,d)=>c?b(c):a(d))});if("function"!=typeof a)throw new g("invalid callback");if(this[k]){let b=new e;queueMicrotask(()=>a(b,null));return}if(this[j])return void(this[n]?this[n].push(a):queueMicrotask(()=>a(null,null)));this[j]=!0,this[n]??=[],this[n].push(a);let b=()=>{let a=this[n];this[n]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[i]().then(()=>this.destroy()).then(()=>queueMicrotask(b))}destroy(a,b){if("function"==typeof a&&(b=a,a=null),void 0===b)return new Promise((b,c)=>{this.destroy(a,(a,d)=>a?c(a):b(d))});if("function"!=typeof b)throw new g("invalid callback");if(this[k])return void(this[m]?this[m].push(b):queueMicrotask(()=>b(null,null)));a||(a=new e),this[k]=!0,this[m]??=[],this[m].push(b);let c=()=>{let a=this[m];this[m]=null;for(let b=0;b<a.length;b++)a[b](null,null)};this[h](a).then(()=>queueMicrotask(c))}dispatch(a,b){if(!b||"object"!=typeof b)throw new g("handler must be an object");try{if(!a||"object"!=typeof a)throw new g("opts must be an object.");if(a.dispatcher)throw new g("opts.dispatcher is not supported by instance methods. Pass opts.dispatcher to the top-level undici functions or call the dispatcher instance method directly.");if(this[k]||this[m])throw new e;if(this[j])throw new f;return this[l](a,b)}catch(a){if("function"!=typeof b.onResponseError)throw a;return b.onResponseError(null,a),!1}}}a.exports=p},5831:(a,b,c)=>{"use strict";let{collectASequenceOfCodePointsFast:d}=c(70745),{maxNameValuePairSize:e,maxAttributeValueSize:f}=c(29653),{isCTLExcludingHtab:g}=c(84698),h=c(34589);function i(a,b={}){if(0===a.length)return b;h(";"===a[0]);let c="";(a=a.slice(1)).includes(";")?(c=d(";",a,{position:0}),a=a.slice(c.length)):(c=a,a="");let e="",g="";if(c.includes("=")){let a={position:0};e=d("=",c,a),g=c.slice(a.position+1)}else e=c;if(e=e.trim(),(g=g.trim()).length>f)return i(a,b);let j=e.toLowerCase();if("expires"===j){let a=new Date(g);Number.isNaN(a.getTime())||(b.expires=a)}else if("max-age"===j){let c=g.charCodeAt(0);if((c<48||c>57)&&"-"!==g[0]||!/^\d+$/.test(g))return i(a,b);b.maxAge=Number(g)}else if("domain"===j){let a=g;"."===a[0]&&(a=a.slice(1)),b.domain=a=a.toLowerCase()}else if("path"===j)b.path=0===g.length||"/"!==g[0]?"/":g;else if("secure"===j)b.secure=!0;else if("httponly"===j)b.httpOnly=!0;else if("samesite"===j){let a=g.toLowerCase();"none"===a?b.sameSite="None":"strict"===a?b.sameSite="Strict":"lax"===a&&(b.sameSite="Lax")}else b.unparsed??=[],b.unparsed.push(`${e}=${g}`);return i(a,b)}a.exports={parseSetCookie:function(a){if(g(a))return null;let b="",c="",f="",h="";if(a.includes(";")){let e={position:0};b=d(";",a,e),c=a.slice(e.position)}else b=a;if(b.includes("=")){let a={position:0};f=d("=",b,a),h=b.slice(a.position+1)}else h=b;return(f=f.trim(),h=h.trim(),f.length+h.length>e)?null:{name:f,value:h,...i(c)}},parseUnparsedAttributes:i}},6125:(a,b,c)=>{"use strict";c(10793),"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},6680:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha256=d.sha256||{};d.md.sha256=d.md.algorithms.sha256=e,e.create=function(){g||(f=String.fromCharCode(128)+d.util.fillString("\0",64),h=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5,0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174,0xe49b69c1,0xefbe4786,0xfc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da,0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x6ca6351,0x14292967,0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85,0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070,0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3,0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2],g=!0);var a=null,b=d.util.createBuffer(),c=Array(64),e={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x6a09e667,h1:0xbb67ae85,h2:0x3c6ef372,h3:0xa54ff53a,h4:0x510e527f,h5:0x9b05688c,h6:0x1f83d9ab,h7:0x5be0cd19},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var h=f.length;e.messageLength+=h,h=[h/0x100000000>>>0,h>>>0];for(var j=e.fullMessageLength.length-1;j>=0;--j)e.fullMessageLength[j]+=h[1],h[1]=h[0]+(e.fullMessageLength[j]/0x100000000>>>0),e.fullMessageLength[j]=e.fullMessageLength[j]>>>0,h[0]=h[1]/0x100000000>>>0;return b.putBytes(f),i(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g,h=d.util.createBuffer();h.putBytes(b.bytes());var j=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;h.putBytes(f.substr(0,e.blockLength-j));for(var k=8*e.fullMessageLength[0],l=0;l<e.fullMessageLength.length-1;++l)k+=(g=8*e.fullMessageLength[l+1])/0x100000000>>>0,h.putInt32(k>>>0),k=g>>>0;h.putInt32(k);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3,h4:a.h4,h5:a.h5,h6:a.h6,h7:a.h7};i(m,c,h);var n=d.util.createBuffer();return n.putInt32(m.h0),n.putInt32(m.h1),n.putInt32(m.h2),n.putInt32(m.h3),n.putInt32(m.h4),n.putInt32(m.h5),n.putInt32(m.h6),n.putInt32(m.h7),n},e};var f=null,g=!1,h=null;function i(a,b,c){for(var d,e,f,g,i,j,k,l,m,n,o,p,q,r,s,t=c.length();t>=64;){for(k=0;k<16;++k)b[k]=c.getInt32();for(;k<64;++k)d=((d=b[k-2])>>>17|d<<15)^(d>>>19|d<<13)^d>>>10,e=((e=b[k-15])>>>7|e<<25)^(e>>>18|e<<14)^e>>>3,b[k]=d+b[k-7]+e+b[k-16]|0;for(l=a.h0,m=a.h1,n=a.h2,o=a.h3,p=a.h4,q=a.h5,r=a.h6,s=a.h7,k=0;k<64;++k)g=(p>>>6|p<<26)^(p>>>11|p<<21)^(p>>>25|p<<7),i=r^p&(q^r),f=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),j=l&m|n&(l^m),d=s+g+i+h[k]+b[k],e=f+j,s=r,r=q,q=p,p=o+d>>>0,o=n,n=m,m=l,l=d+e>>>0;a.h0=a.h0+l|0,a.h1=a.h1+m|0,a.h2=a.h2+n|0,a.h3=a.h3+o|0,a.h4=a.h4+p|0,a.h5=a.h5+q|0,a.h6=a.h6+r|0,a.h7=a.h7+s|0,t-=64}}},6951:(a,b,c)=>{"use strict";c.d(b,{v:()=>l});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j=process.env.DATA_DIR||("win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),"switchboard"):g().join(i().homedir(),".switchboard")),k=g().join(j,"mitm","aliases.json");async function l(){try{var a;let b,d,{getMitmAlias:f}=await Promise.resolve().then(c.bind(c,37703));a=await f()||{},b=g().dirname(k),e().mkdirSync(b,{recursive:!0}),d=`${k}.tmp`,e().writeFileSync(d,JSON.stringify(a,null,2),"utf8"),e().renameSync(d,k)}catch(a){console.log("[mitmAliasCache] sync failed:",a.message)}}},7044:(a,b,c)=>{"use strict";c.r(b),c.d(b,{createProviderNode:()=>l,deleteProviderNode:()=>n,getProviderNodeById:()=>k,getProviderNodes:()=>j,updateProviderNode:()=>m});var d=c(27137),e=c(24081),f=c(50743),g=c(15738);function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,type:c,name:d,createdAt:e,updatedAt:g,...h}=a;return{id:b,type:c??null,name:d??null,data:(0,f.s)(h),createdAt:e,updatedAt:g}}(b);a.run(`INSERT INTO providerNodes(id, type, name, data, createdAt, updatedAt)
12
12
  VALUES(?, ?, ?, ?, ?, ?)
13
13
  ON CONFLICT(id) DO UPDATE SET
14
14
  type=excluded.type, name=excluded.name, data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.type,c.name,c.data,c.createdAt,c.updatedAt])}async function j(a={}){let b=await (0,e.c)(),c=[],d=[];a.type&&(c.push("type = ?"),d.push(a.type));let f=`SELECT * FROM providerNodes${c.length?` WHERE ${c.join(" AND ")}`:""}`;return b.all(f,d).map(h)}async function k(a){return h((await (0,e.c)()).get("SELECT * FROM providerNodes WHERE id = ?",[a]))}async function l(a){let b=await (0,e.c)(),c=new Date().toISOString(),f={id:a.id||(0,d.A)(),type:a.type,name:a.name,prefix:a.prefix,apiType:a.apiType,baseUrl:a.baseUrl,createdAt:c,updatedAt:c};return i(b,f),f}async function m(a,b){let c=await (0,e.c)(),d=null;return c.transaction(()=>{let e=c.get("SELECT * FROM providerNodes WHERE id = ?",[a]);if(!e)return;let f={...h(e),...b,updatedAt:new Date().toISOString()};i(c,f),d=f}),d}async function n(a){let b=await (0,e.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM providerNodes WHERE id = ?",[a]);d&&(c=h(d),b.run("DELETE FROM providerNodes WHERE id = ?",[a]),(0,g.uQ)(b,a))}),c}},7344:(a,b,c)=>{"use strict";let d=c(78474);class e extends d{dispatch(){throw Error("not implemented")}close(){throw Error("not implemented")}destroy(){throw Error("not implemented")}compose(...a){let b=Array.isArray(a[0])?a[0]:a,c=this.dispatch.bind(this);for(let a of b)if(null!=a){if("function"!=typeof a)throw TypeError(`invalid interceptor, expected function received ${typeof a}`);if(null==(c=a(c))||"function"!=typeof c||2!==c.length)throw TypeError("invalid interceptor")}return new Proxy(this,{get:(a,b)=>"dispatch"===b?c:a[b]})}}a.exports=e},7878:(a,b,c)=>{"use strict";c(22884),c(87350),c(68531),c(82689),c(18762)},7893:(a,b,c)=>{"use strict";c.d(b,{A:()=>n});var d=c(74570);let e={id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"}},transports:[{identity:"openai-node",format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"openai-node",format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},f={id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{identity:"claude-cli",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{identity:"claude-cli",format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"claude-cli",format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],features:{usage:!0,usageApikey:!0}};var g=c(45431);let h={id:"kimi-coding",hidden:!0,priority:120,alias:"kmc",display:{name:"Kimi Coding",icon:"psychology",color:"#1E40AF",textIcon:"KC",website:"https://kimi.moonshot.cn",notice:{signupUrl:"https://kimi.moonshot.cn"}},category:"oauth",transport:{identity:"kimi",baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}},transports:[{identity:"kimi",format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kimiHeaders"]}},{identity:"kimi",format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw",hooks:["kimiHeaders"]}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],oauth:{deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshLeadMs:3e5},features:{usage:!0}},i={id:"kimi",priority:170,alias:"kimi",display:{name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys"}},category:"apikey",transport:{identity:"kimi",baseUrl:"https://api.kimi.com/coding/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}},transports:[{identity:"kimi",format:"openai",baseUrl:"https://api.kimi.com/coding/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"kimi",format:"claude",baseUrl:"https://api.kimi.com/coding/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],serviceKinds:["llm","webSearch"],features:{usage:!0,usageApikey:!0},searchViaChat:{defaultModel:"kimi-k2.5",endpoint:"https://api.moonshot.cn/v1/chat/completions",pricingUrl:"https://platform.moonshot.ai/docs/pricing/chat"}},j={id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{identity:"claude-cli",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{identity:"claude-cli",format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"claude-cli",format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{identity:"claude-cli",baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},k={id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{identity:"claude-cli",baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...d.Bi},quirks:{dropOutputConfig:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{identity:"claude-cli",format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"claude-cli",format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{identity:"claude-cli",baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{identity:"claude-cli",baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},l={id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{identity:"openai-node",format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"openai-node",format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"}]},m={id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{identity:"openai-node",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{identity:"openai-node",format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"openai-node",format:"claude",headers:{...d.Bi},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},n=[{id:"alicode-intl",priority:10,alias:"alicode-intl",display:{name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"alicode",priority:20,alias:"alicode",display:{name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",headers:{},quirks:{preserveCacheControl:!0}},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},{id:"anthropic",priority:30,alias:"anthropic",display:{name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"}},category:"apikey",transport:{identity:"claude-cli",baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],serviceKinds:["llm","imageToText"]},{id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image"],transport:{identity:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:fetchAvailableModels",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",refreshLeadMs:3e5},features:{usage:!0}},{id:"assemblyai",priority:30,alias:"assemblyai",aliases:["aai"],uiAlias:"aai",display:{name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",validateUrl:"https://api.assemblyai.com/v1/account"},models:[{id:"universal-3-pro",name:"Universal 3 Pro",params:["language"],kind:"stt"},{id:"universal-2",name:"Universal 2",params:["language"],kind:"stt"},{id:"best",name:"Best (Nano + Universal)",kind:"stt"},{id:"nano",name:"Nano (Fast)",kind:"stt"}],serviceKinds:["stt"],sttConfig:{identity:"openai-node",baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"authorization",format:"assemblyai"}},{id:"aws-polly",alias:"polly",display:{name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{identity:"openai-node",baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{identity:"openai-node",id:"neural",name:"Neural"},{identity:"openai-node",id:"long-form",name:"Long-form"},{identity:"openai-node",id:"generative",name:"Generative"}]},hasProviderSpecificData:!0},{id:"azure",priority:40,alias:"azure",display:{name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"}},category:"apikey",hasProviderSpecificData:!0,transport:{identity:"openai-node",baseUrl:"",headers:{}}},{id:"black-forest-labs",priority:50,alias:"black-forest-labs",aliases:["bfl"],uiAlias:"bfl",display:{name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",params:["n","size"],kind:"image"},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",params:["size"],kind:"image"},{id:"flux-pro",name:"FLUX Pro",params:["n","size"],kind:"image"},{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",params:["size"],capabilities:["edit"],kind:"image"},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",params:["size"],capabilities:["edit"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://api.bfl.ai/v1"}},{id:"blackbox",priority:50,alias:"blackbox",aliases:["bb"],uiAlias:"bb",display:{name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"}},category:"apikey",serviceKinds:["llm"],thinkingConfig:{options:["auto","none","low","medium","high","xhigh"],defaultMode:"auto"},transport:{identity:"openai-node",baseUrl:"https://api.blackbox.ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"claude-fable-5",name:"Claude Fable 5",upstreamModelId:"blackboxai/anthropic/claude-fable-5"},{id:"claude-opus-4.8",name:"Claude Opus 4.8",upstreamModelId:"blackboxai/anthropic/claude-opus-4.8"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",upstreamModelId:"blackboxai/anthropic/claude-sonnet-4.6"},{id:"gpt-5.5",name:"GPT-5.5",upstreamModelId:"blackboxai/openai/gpt-5.5"},{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",upstreamModelId:"blackboxai/openai/gpt-5.4-pro"},{id:"gpt-5.4",name:"GPT-5.4",upstreamModelId:"blackboxai/openai/gpt-5.4"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",upstreamModelId:"blackboxai/openai/gpt-5.3-codex"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",upstreamModelId:"blackboxai/openai/gpt-5.4-nano"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",upstreamModelId:"blackboxai/deepseek/deepseek-v4-flash"},{id:"grok-4.3",name:"Grok 4.3",upstreamModelId:"blackboxai/x-ai/grok-4.3"}]},{id:"brave-search",alias:"brave",display:{name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"byteplus",priority:70,alias:"byteplus",aliases:["bpm"],uiAlias:"bpm",display:{name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"}},category:"freeTier",transport:{identity:"openai-node",baseUrl:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],serviceKinds:["llm"]},{id:"cartesia",alias:"cartesia",display:{name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{identity:"openai-node",baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{identity:"openai-node",id:"sonic-3",name:"Sonic 3"}]},hidden:!0},{id:"cerebras",priority:60,alias:"cerebras",display:{name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.cerebras.ai/v1/chat/completions",validateUrl:"https://api.cerebras.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},{id:"chutes",priority:70,alias:"chutes",aliases:["ch"],uiAlias:"ch",display:{name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://llm.chutes.ai/v1/chat/completions",validateUrl:"https://llm.chutes.ai/v1/models"}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{identity:"claude-cli",baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Dangerous-Direct-Browser-Access":"true"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"cline",priority:80,alias:"cl",uiAlias:"cl",display:{name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},category:"oauth",transport:{identity:"cline",baseUrl:"https://api.cline.bot/api/v1/chat/completions",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"}},{id:"clinepass",priority:85,alias:"clinepass",aliases:["cline-pass"],uiAlias:"clinepass",display:{name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{identity:"cline",baseUrl:"https://api.cline.bot/api/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["clineHeaders"]}},models:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],oauth:{appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},thinkingConfig:{options:["auto","on","off"],defaultMode:"auto"}},{id:"cloudflare-ai",priority:60,hasFree:!0,alias:"cloudflare-ai",aliases:["cf"],uiAlias:"cf",display:{name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"}},category:"freeTier",hasProviderSpecificData:!0,transport:{identity:"openai-node",baseUrl:"https://api.cloudflare.com/client/v4/accounts/{accountId}/ai/v1/chat/completions",thinkingFormat:"openai"},models:[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",params:["size"],kind:"image"},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",params:["size"],kind:"image"},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",params:["size"],kind:"image"},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",params:["size"],kind:"image"},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",params:["size"],kind:"image"},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",params:["size"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",params:["size"],capabilities:["edit"],kind:"image"},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",params:["size"],capabilities:["edit","mask"],kind:"image"},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:["size"],kind:"image"}],serviceKinds:["llm","image"],imageConfig:{identity:"openai-node",baseUrl:"https://api.cloudflare.com/client/v4/accounts"}},{id:"codebuddy-cn",alias:"cbcn",uiAlias:"cbcn",hidden:!1,priority:90,display:{name:"CodeBuddy CN",icon:"smart_toy",color:"#006EFF",website:"https://copilot.tencent.com",notice:{signupUrl:"https://copilot.tencent.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{identity:"openai-node",baseUrl:"https://copilot.tencent.com/v2/chat/completions",forceStream:!0,thinkingFormat:"openai",headers:{"User-Agent":"CLI/2.108.1 CodeBuddy/2.108.1","X-Product":"SaaS","X-IDE-Type":"CLI","X-IDE-Name":"CLI","x-requested-with":"XMLHttpRequest","x-codebuddy-request":"1"},auth:{combined:!0,header:"Authorization",scheme:"bearer"},usage:{url:"https://copilot.tencent.com/v2/billing/meter/get-user-resource"}},models:[{id:"glm-5.2",name:"GLM-5.2"},{id:"glm-5.1",name:"GLM-5.1"},{id:"glm-5.0",name:"GLM-5.0"},{id:"glm-5.0-turbo",name:"GLM-5.0-Turbo"},{id:"glm-5v-turbo",name:"GLM-5v-Turbo"},{id:"glm-4.7",name:"GLM-4.7"},{id:"minimax-m3",name:"MiniMax-M3"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"kimi-k2.7",name:"Kimi-K2.7-Code"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"hy3-preview",name:"Hy3 Preview"},{id:"deepseek-v4-pro",name:"DeepSeek-V4-Pro"},{id:"deepseek-v4-flash",name:"DeepSeek-V4-Flash"},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2"}],oauth:{baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},features:{usage:!0,usageApikey:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{identity:"codex-cli",baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-review",name:"GPT 5.3 Codex Review",upstreamModelId:"gpt-5.3-codex",quotaFamily:"review"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-xhigh-review",name:"GPT 5.3 Codex (xHigh) Review",upstreamModelId:"gpt-5.3-codex-xhigh",quotaFamily:"review"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-high-review",name:"GPT 5.3 Codex (High) Review",upstreamModelId:"gpt-5.3-codex-high",quotaFamily:"review"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-low-review",name:"GPT 5.3 Codex (Low) Review",upstreamModelId:"gpt-5.3-codex-low",quotaFamily:"review"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-none-review",name:"GPT 5.3 Codex (None) Review",upstreamModelId:"gpt-5.3-codex-none",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cohere",priority:90,alias:"cohere",display:{name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.cohere.ai/v1/chat/completions",validateUrl:"https://api.cohere.ai/v1/models"},models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},{id:"comfyui",priority:120,alias:"comfyui",display:{name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI"},category:"apikey",transport:null,models:[{id:"flux-dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"sdxl",name:"SDXL",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"http://localhost:8188"}},{id:"commandcode",priority:100,alias:"commandcode",aliases:["cmc"],uiAlias:"cmc",display:{name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.commandcode.ai/alpha/generate",format:"commandcode",forceStream:!0,headers:{"x-command-code-version":"0.25.7","x-cli-environment":"cli"}},modelsFetcher:{url:"https://api.commandcode.ai/provider/v1/models",method:"GET",type:"openai",requiresAuth:!0},models:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.7-Code-Highspeed",name:"Kimi K2.7 Code HighSpeed"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.2-Fast",name:"GLM 5.2 Fast"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M3",name:"MiniMax M3"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"xiaomi/mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"xiaomi/mimo-v2.5",name:"MiMo V2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"Qwen/Qwen3.7-Max",name:"Qwen 3.7 Max"},{id:"Qwen/Qwen3.7-Plus",name:"Qwen 3.7 Plus"},{id:"stepfun/Step-3.7-Flash",name:"Step 3.7 Flash"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"},{id:"tencent/Hy3",name:"Tencent Hy3"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"}]},{id:"coqui",alias:"coqui",display:{name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{identity:"openai-node",baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]},hidden:!0},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{identity:"openai-node",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"composer-2.5",name:"Composer 2.5"},{id:"composer-2.5-fast",name:"Composer 2.5 Fast"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepgram",priority:20,alias:"deepgram",aliases:["dg"],uiAlias:"dg",display:{name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.deepgram.com/v1/listen"},models:[{id:"nova-3",name:"Nova 3",params:["language"],kind:"stt"},{id:"nova-2",name:"Nova 2",params:["language"],kind:"stt"},{id:"whisper-large",name:"Whisper Large",params:["language"],kind:"stt"},{id:"nova",name:"Nova",kind:"stt"}],serviceKinds:["stt"],sttConfig:{identity:"openai-node",baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram"}},e,{id:"edge-tts",alias:"edge-tts",display:{name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{identity:"openai-node",baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},{id:"elevenlabs",alias:"el",display:{name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{identity:"openai-node",baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{identity:"openai-node",id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},{id:"exa",alias:"exa",display:{name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{identity:"openai-node",baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{identity:"openai-node",baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},{id:"fal-ai",priority:90,hasFree:!0,alias:"fal-ai",aliases:["fal"],uiAlias:"fal",display:{name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",params:["n","size"],kind:"image"},{id:"fal-ai/flux/dev",name:"FLUX Dev",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",params:["n","size"],kind:"image"},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",params:["n","size"],kind:"image"},{id:"fal-ai/recraft-v3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",params:["n","size","style"],kind:"image"},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://queue.fal.run"}},{id:"firecrawl",alias:"firecrawl",display:{name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{identity:"openai-node",baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},{id:"fireworks",priority:50,alias:"fireworks",display:{name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",validateUrl:"https://api.fireworks.ai/inference/v1/models"},models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.fireworks.ai/inference/v1/embeddings"}},{id:"gemini-cli",priority:20,hasFree:!0,alias:"gc",uiAlias:"gc",display:{name:"Gemini CLI",icon:"terminal",color:"#4285F4",website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{identity:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",usage:{quotaUrl:"https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",loadCodeAssistUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist"},clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"],refresh:{encoding:"form"}},features:{usage:!0}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",mediaPriority:1,transport:{identity:"openai-node",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{identity:"openai-node",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{identity:"openai-node",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{identity:"openai-node",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{identity:"openai-node",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"github",priority:40,alias:"gh",uiAlias:"gh",display:{name:"GitHub Copilot",icon:"code",color:"#333333",website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{identity:"copilot",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",usage:{url:"https://api.github.com/copilot_internal/user"}},models:[{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",kind:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{identity:"copilot",baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer"},oauth:{clientId:"Iv1.b507a08c87ecfe98",authorizeUrl:"https://github.com/login/oauth/authorize",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token"},features:{usage:!0}},{id:"gitlab",hidden:!0,priority:100,display:{name:"GitLab Duo",icon:"code",color:"#FC6D26",textIcon:"GL",website:"https://gitlab.com",notice:{signupUrl:"https://gitlab.com"}},category:"oauth",transport:{identity:"openai-node",baseUrl:"https://gitlab.com/api/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},oauth:{defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},f,{id:"google-pse",alias:"gpse",display:{name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"google-tts",alias:"google-tts",display:{name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{identity:"openai-node",baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},g.A,{id:"grok-web",priority:150,alias:"grok-web",aliases:["gw"],uiAlias:"gw",display:{name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com"},category:"webCookie",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",transport:{identity:"chrome",baseUrl:"https://grok.com/rest/app-chat/conversations/new",format:"grok-web",authType:"cookie"},models:[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],passthroughModels:!0},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models"},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{identity:"openai-node",baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{identity:"openai-node",baseUrl:"https://api-inference.huggingface.co/models"}},{id:"hyperbolic",priority:160,alias:"hyperbolic",aliases:["hyp"],uiAlias:"hyp",display:{name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",validateUrl:"https://api.hyperbolic.xyz/v1/models"},models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{identity:"openai-node",baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"inworld",alias:"inworld",display:{name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{identity:"openai-node",baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{identity:"openai-node",id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},{id:"jina-ai",alias:"jina",display:{name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial), no credit card required.",apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{identity:"openai-node",id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{identity:"openai-node",id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},{id:"jina-reader",alias:"jina-reader",display:{name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"}},category:"apikey",authType:"apikey",serviceKinds:["webFetch"],fetchConfig:{identity:"openai-node",baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}},{id:"kilocode",priority:70,alias:"kc",uiAlias:"kc",display:{name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},category:"oauth",transport:{identity:"openai-node",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",headers:{},auth:{combined:!0,header:"Authorization",scheme:"bearer",hooks:["kilocodeOrg"]}},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],modelsFetcher:{url:"https://api.kilo.ai/api/gateway/models",type:"openrouter-free"},passthroughModels:!0,oauth:{apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"}},{id:"kimchi",priority:95,alias:"kimchi",uiAlias:"kimchi",display:{name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"}},category:"oauth",authModes:["oauth"],hasOAuth:!0,transport:{identity:"openai-node",baseUrl:"https://llm.kimchi.dev/openai/v1/chat/completions",format:"openai",headers:{"User-Agent":"kimchi/0.1.50"},auth:{combined:!0,header:"Authorization",scheme:"bearer"}},models:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],serviceKinds:["llm","imageToText"],oauth:{webAppUrl:"https://app.kimchi.dev",validationUrl:"https://api.cast.ai/v1/llm/openai/supported-providers",userInfoUrl:"https://app.kimchi.dev/api/v1/me",modelsUrl:"https://llm.kimchi.dev/v1/models/metadata?include_in_cli=true"},passthroughModels:!0},h,i,{id:"kiro",priority:10,alias:"kr",uiAlias:"kr",display:{name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{identity:"openai-node",baseUrl:"https://runtime.us-east-1.kiro.dev/generateAssistantResponse",baseUrls:["https://runtime.us-east-1.kiro.dev/generateAssistantResponse","https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse","https://q.us-east-1.amazonaws.com/generateAssistantResponse"],format:"kiro",retry:{429:0},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev",usage:{cwHost:"https://codewhisperer.us-east-1.amazonaws.com",qHost:"https://q.us-east-1.amazonaws.com",limitsPath:"/getUsageLimits"}},models:[{id:"claude-opus-4.8",name:"Claude Opus 4.8"},{id:"claude-opus-4.8-thinking",name:"Claude Opus 4.8 (Thinking)"},{id:"claude-opus-4.8-agentic",name:"Claude Opus 4.8 (Agentic)"},{id:"claude-opus-4.8-thinking-agentic",name:"Claude Opus 4.8 (Thinking + Agentic)"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"claude-opus-4.7-thinking",name:"Claude Opus 4.7 (Thinking)"},{id:"claude-opus-4.7-agentic",name:"Claude Opus 4.7 (Agentic)"},{id:"claude-opus-4.7-thinking-agentic",name:"Claude Opus 4.7 (Thinking + Agentic)"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-opus-4.5-thinking",name:"Claude Opus 4.5 (Thinking)"},{id:"claude-opus-4.5-agentic",name:"Claude Opus 4.5 (Agentic)"},{id:"claude-opus-4.5-thinking-agentic",name:"Claude Opus 4.5 (Thinking + Agentic)"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-5-thinking",name:"Claude Sonnet 5 (Thinking)"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-5-agentic",name:"Claude Sonnet 5 (Agentic)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-5-thinking-agentic",name:"Claude Sonnet 5 (Thinking + Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],oauth:{ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},features:{usage:!0,usageApikey:!0}},{id:"linkup",alias:"linkup",display:{name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"local-device",alias:"local-device",display:{name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD"},category:"freeTier",authType:"none",serviceKinds:["tts"],mediaPriority:5,noAuth:!0,ttsConfig:{identity:"openai-node",baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},{id:"mimo-free",priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{identity:"openai-node",baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},j,k,{id:"mistral",priority:80,alias:"mistral",display:{name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.mistral.ai/v1/chat/completions",validateUrl:"https://api.mistral.ai/v1/models",quirks:{dropClientMetadata:!0}},models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",kind:"embedding"}],serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"mmf",hidden:!0,priority:200,display:{name:"MMF",icon:"hub",color:"#6366F1",textIcon:"MF"},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}]},{id:"nanobanana",priority:80,hasFree:!0,alias:"nanobanana",aliases:["nb"],uiAlias:"nb",display:{name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",validateUrl:"https://api.nanobananaapi.ai/v1/models"},models:[{id:"nanobanana-flash",name:"NanoBanana Flash",params:["n","size"],kind:"image"},{id:"nanobanana-pro",name:"NanoBanana Pro",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/generate",pollUrl:"https://api.nanobananaapi.ai/api/v1/nanobanana/record-info"}},{id:"nebius",priority:70,alias:"nebius",display:{name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",validateUrl:"https://api.studio.nebius.ai/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings"}},{id:"nvidia",priority:20,hasFree:!0,alias:"nvidia",display:{name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},category:"freeTier",transport:{identity:"openai-node",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",validateUrl:"https://integrate.api.nvidia.com/v1/models"},models:[{id:"minimaxai/minimax-m2.7",name:"MiniMax M2.7"},{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"deepseek-ai/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"nvidia/nemotron-3-ultra-550b-a55b",name:"Nemotron 3 Ultra"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",kind:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",params:["language"],kind:"stt"},{id:"fastpitch",name:"FastPitch",kind:"tts"},{id:"tacotron2",name:"Tacotron2",kind:"tts"}],serviceKinds:["llm","tts","embedding"],ttsConfig:{identity:"openai-node",baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts"},embeddingConfig:{identity:"openai-node",baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer"}},{id:"ollama-local",priority:50,hasFree:!0,alias:"ollama-local",display:{name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},category:"apikey",transport:{identity:"openai-node",baseUrl:"http://localhost:11434/api/chat",format:"ollama"},serviceKinds:["llm"]},{id:"ollama",priority:30,hasFree:!0,alias:"ollama",display:{name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},category:"freeTier",transport:{identity:"openai-node",baseUrl:"https://ollama.com/api/chat",validateUrl:"https://ollama.com/api/tags",format:"ollama"},models:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"},{id:"minimax-m3",name:"MiniMax M3"}],serviceKinds:["llm"],features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{identity:"openai-node",baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{identity:"openai-node",baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{identity:"openai-node",baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{identity:"openai-node",baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{identity:"openai-node",baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then 0/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",headers:{}},transports:[{identity:"openai-node",format:"openai",baseUrl:"https://opencode.ai/zen/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{identity:"openai-node",format:"claude",baseUrl:"https://opencode.ai/zen/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{identity:"openai-node",format:"openai-responses",baseUrl:"https://opencode.ai/zen/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"}}],models:[{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",targetFormat:"claude",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude",supportedFormats:["openai","claude"]},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude",supportedFormats:["openai","claude"]},{id:"qwen3.7-max",name:"Qwen 3.7 Max",targetFormat:"claude",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",targetFormat:"claude",supportedFormats:["openai","claude"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",targetFormat:"claude",supportedFormats:["openai","claude"]}]},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{identity:"openai-node",baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"desktop"},noAuth:!0},models:[],modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",identity:"openai-node"},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"}],serviceKinds:["llm","embedding","tts","imageToText"],ttsConfig:{identity:"openai-node",baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts"},embeddingConfig:{identity:"openai-node",baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{identity:"openai-node",baseUrl:"https://openrouter.ai/api/v1/images/generations"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"perplexity-web",priority:220,alias:"perplexity-web",aliases:["pw"],uiAlias:"pw",display:{name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai"},category:"webCookie",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",transport:{identity:"chrome",baseUrl:"https://www.perplexity.ai/rest/sse/perplexity_ask",format:"perplexity-web",authType:"cookie"},models:[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}]},{id:"perplexity",priority:180,alias:"perplexity",aliases:["pplx"],uiAlias:"pplx",display:{name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.perplexity.ai/chat/completions",validateUrl:"https://api.perplexity.ai/models"},models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"sonar",endpoint:"https://api.perplexity.ai/chat/completions",pricingUrl:"https://docs.perplexity.ai/guides/pricing"}},{id:"playht",alias:"playht",display:{name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{identity:"openai-node",baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{identity:"openai-node",id:"Play3.0-mini",name:"Play 3.0 Mini"}]},hidden:!0},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"free",transport:{identity:"openai-node",baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0}},{id:"qwen",hidden:!0,priority:130,alias:"qw",display:{name:"Qwen Code",icon:"psychology",color:"#10B981",website:"https://chat.qwen.ai",notice:{signupUrl:"https://chat.qwen.ai"}},category:"oauth",transport:{identity:"qwen",baseUrl:"https://portal.qwen.ai/v1/chat/completions"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],oauth:{clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256",refreshLeadMs:12e5}},{id:"recraft",priority:70,alias:"recraft",display:{name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"recraftv3",name:"Recraft V3",params:["n","size","style"],kind:"image"},{id:"recraftv2",name:"Recraft V2",params:["n","size","style"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://external.api.recraft.ai/v1/images/generations"}},{id:"runwayml",priority:80,alias:"runwayml",aliases:["runway"],uiAlias:"runway",display:{name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"gen4_image",name:"Gen-4 Image",params:["size"],kind:"image"},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",params:["size"],kind:"image"},{id:"gen4_turbo",name:"Gen-4 Turbo",params:[],kind:"video"},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",params:[],kind:"video"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://api.dev.runwayml.com/v1"}},{id:"sdwebui",priority:110,alias:"sdwebui",display:{name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui"},category:"apikey",transport:null,models:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",params:["n","size"],kind:"image"},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",params:["n","size"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"http://localhost:7860/sdapi/v1/txt2img"}},{id:"searchapi",alias:"searchapi",display:{name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"searxng",alias:"searxng",display:{name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org"},category:"freeTier",authType:"none",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{identity:"openai-node",baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},{id:"selfhosted-embedding",priority:50,alias:"selfhosted-embedding",display:{name:"Self-hosted Embedding",icon:"data_array",color:"#14B8A6",textIcon:"SE",website:"https://github.com/ggml-org/llama.cpp"},category:"apikey",authType:"apikey",models:[{id:"embedding",name:"Self-hosted embedding model",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{identity:"openai-node",authType:"none",authHeader:"bearer",format:"openai"}},{id:"selfhosted-stt",priority:50,alias:"selfhosted-stt",display:{name:"Self-hosted STT",icon:"mic",color:"#14B8A6",textIcon:"ST",website:"https://github.com/ggml-org/whisper.cpp"},category:"apikey",authType:"apikey",models:[{id:"whisper-1",name:"Whisper (self-hosted)",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["stt"],sttConfig:{identity:"openai-node",authType:"none",authHeader:"bearer",format:"openai"}},{id:"selfhosted-tts",priority:50,alias:"selfhosted-tts",display:{name:"Self-hosted TTS",icon:"record_voice_over",color:"#14B8A6",textIcon:"TT",website:"https://github.com/remsky/Kokoro-FastAPI"},category:"apikey",authType:"apikey",models:[{id:"kokoro",name:"Kokoro (self-hosted)",params:["voice","response_format","speed"],kind:"tts"}],serviceKinds:["tts"],ttsConfig:{identity:"openai-node",authType:"none",authHeader:"bearer",format:"openai",defaultModel:"kokoro",defaultVoice:"af_heart"}},{id:"serper",alias:"serper",display:{name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"stability-ai",priority:60,alias:"stability-ai",aliases:["stability"],uiAlias:"stability",display:{name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"stable-image-ultra",name:"Stable Image Ultra",params:["size"],kind:"image"},{id:"stable-image-core",name:"Stable Image Core",params:["size","style"],kind:"image"},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",params:["size"],kind:"image"},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",params:["size"],kind:"image"},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",params:["size"],kind:"image"}],serviceKinds:["image"],imageConfig:{identity:"openai-node",baseUrl:"https://api.stability.ai/v2beta/stable-image/generate"}},{id:"tavily",alias:"tavily",display:{name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch","webFetch"],searchConfig:{identity:"openai-node",baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{identity:"openai-node",baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},{id:"together",priority:60,alias:"together",display:{name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"}},category:"apikey",authType:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.together.xyz/v1/chat/completions",validateUrl:"https://api.together.xyz/v1/models"},models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",kind:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",kind:"embedding"}],serviceKinds:["llm","embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.together.xyz/v1/embeddings"}},{id:"topaz",alias:"topaz",display:{name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"}},category:"apikey",authType:"apikey",serviceKinds:["image"]},{id:"tortoise",alias:"tortoise",display:{name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts"},category:"freeTier",authType:"none",serviceKinds:["tts"],noAuth:!0,ttsConfig:{identity:"openai-node",baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]},hidden:!0},{id:"venice",priority:115,alias:"venice",aliases:["vn"],uiAlias:"venice",display:{name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://api.venice.ai/api/v1/chat/completions",validateUrl:"https://api.venice.ai/api/v1/models",thinkingFormat:"openai"},models:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B A22B"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"hermes-3-llama-3.1-405b",name:"Hermes 3 Llama 3.1 405B"},{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",kind:"embedding"},{id:"text-embedding-qwen3-8b",name:"Qwen3 8B Embedding",kind:"embedding"},{id:"venice-sd35",name:"Venice SD3.5",params:["n","size"],kind:"image"},{id:"flux-2-pro",name:"FLUX.2 Pro",params:["n","size"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2 (via Venice)",params:["n","size","quality"],kind:"image"}],serviceKinds:["llm","embedding","image"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{identity:"openai-node",baseUrl:"https://api.venice.ai/api/v1/images/generations"},modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},passthroughModels:!0},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{identity:"openai-node",baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{identity:"openai-node",baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"vertex-partner",priority:260,alias:"vertex-partner",aliases:["vxp"],uiAlias:"vxp",display:{name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://aiplatform.googleapis.com"},models:[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}]},{id:"vertex",priority:40,alias:"vertex",aliases:["vx"],uiAlias:"vx",display:{name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},category:"freeTier",transport:{identity:"openai-node",baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],serviceKinds:["llm","imageToText"]},{id:"volcengine-ark",priority:270,alias:"volcengine-ark",aliases:["ark"],uiAlias:"ark",display:{name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},category:"apikey",transport:{identity:"openai-node",baseUrl:"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",headers:{}},models:[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}]},{id:"voyage-ai",priority:40,alias:"voyage-ai",uiAlias:"voyage",display:{name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"}},category:"apikey",authType:"apikey",transport:null,models:[{id:"voyage-3-large",name:"Voyage 3 Large",kind:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",kind:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",kind:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",kind:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",kind:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",kind:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",kind:"embedding"}],serviceKinds:["embedding"],embeddingConfig:{identity:"openai-node",baseUrl:"https://api.voyageai.com/v1/embeddings"}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{identity:"grok-cli",baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{identity:"grok-cli",baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{identity:"grok-cli",baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},l,m,{id:"youcom",alias:"youcom",display:{name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{identity:"openai-node",baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}}]},9960:(a,b,c)=>{"use strict";var d=c(22268),e=c(68531),f=c(11897),g=c(18184),h=c(90694),i=c(52655),j=c(96684);(0,d.kz)(e.h.OLLAMA,e.h.OPENAI,null,function(a,b){if(!a||"object"!=typeof a)return null;b.ollama||(b.ollama={id:`chatcmpl-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a.model||b.model});let{id:c,created:d,model:e}=b.ollama;if(a.done){var k;let i=(k=a,(0,h.B)(k,"ollama")),l=(0,j.F)(a.done_reason,"ollama");(a.done_reason===f.bC.TOOL_CALLS||b.hadToolCalls)&&(l=f.bC.TOOL_CALLS);let m=(0,g.k)({id:c,created:d,model:e},{},l);return m.usage=i,m}let l=a.message;if(!l)return null;let m="string"==typeof l.content?l.content:"",n="string"==typeof l.thinking?l.thinking:"",o=Array.isArray(l.tool_calls)?l.tool_calls:null;if(!m&&!n&&!o)return null;m&&(b.accumulatedContent=(b.accumulatedContent||"")+m),n&&(b.accumulatedThinking=(b.accumulatedThinking||"")+n);let p={};return m&&(p.content=m),n&&(p.reasoning_content=n),o&&(b.hadToolCalls=!0,p.tool_calls=o.map((a,b)=>({index:a.function?.index??b,id:a.id||(0,i.eG)(b),type:f.x4.FUNCTION,function:{name:a.function?.name||"",arguments:"string"==typeof a.function?.arguments?a.function.arguments:JSON.stringify(a.function?.arguments||{})}}))),(0,g.k)({id:c,created:d,model:e},p,null)})},10342:(a,b,c)=>{"use strict";c.d(b,{m:()=>e});var d=c(11897);function e(a){if("string"==typeof a){let b=""===a.trim()?"...":a;return[{type:d.Du.MESSAGE,role:d.z7.USER,content:[{type:d.Du.INPUT_TEXT,text:b}]}]}return Array.isArray(a)?0===a.length?[{type:d.Du.MESSAGE,role:d.z7.USER,content:[{type:d.Du.INPUT_TEXT,text:"..."}]}]:a:null}},10401:(a,b,c)=>{var d=c(45654);if(c(63070),c(32e3),c(36105),c(24985),c(36902),c(29984),c(33889),void 0===e)var e=d.jsbn.BigInteger;var f=d.util.isNodejs?c(55511):null,g=d.asn1,h=d.util;d.pki=d.pki||{},a.exports=d.pki.rsa=d.rsa=d.rsa||{};var i=d.pki,j=[6,4,2,4,2,4,6,2],k={name:"PrivateKeyInfo",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:g.Class.UNIVERSAL,type:g.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:g.Class.UNIVERSAL,type:g.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},l={name:"RSAPrivateKey",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},m={name:"RSAPublicKey",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:g.Class.UNIVERSAL,type:g.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},n=d.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:g.Class.UNIVERSAL,type:g.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:g.Class.UNIVERSAL,type:g.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},o={name:"DigestInfo",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:g.Class.UNIVERSAL,type:g.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:g.Class.UNIVERSAL,type:g.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:g.Class.UNIVERSAL,type:g.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:g.Class.UNIVERSAL,type:g.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},p=function(a){if(a.algorithm in i.oids)b=i.oids[a.algorithm];else{var b,c=Error("Unknown message digest algorithm.");throw c.algorithm=a.algorithm,c}var d=g.oidToDer(b).getBytes(),e=g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[]),f=g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[]);f.value.push(g.create(g.Class.UNIVERSAL,g.Type.OID,!1,d)),f.value.push(g.create(g.Class.UNIVERSAL,g.Type.NULL,!1,""));var h=g.create(g.Class.UNIVERSAL,g.Type.OCTETSTRING,!1,a.digest().getBytes());return e.value.push(f),e.value.push(h),g.toDer(e).getBytes()},q=function(a,b,c){if(c)return a.modPow(b.e,b.n);if(!b.p||!b.q)return a.modPow(b.d,b.n);b.dP||(b.dP=b.d.mod(b.p.subtract(e.ONE))),b.dQ||(b.dQ=b.d.mod(b.q.subtract(e.ONE))),b.qInv||(b.qInv=b.q.modInverse(b.p));do f=new e(d.util.bytesToHex(d.random.getBytes(b.n.bitLength()/8)),16);while(f.compareTo(b.n)>=0||!f.gcd(b.n).equals(e.ONE));for(var f,g=(a=a.multiply(f.modPow(b.e,b.n)).mod(b.n)).mod(b.p).modPow(b.dP,b.p),h=a.mod(b.q).modPow(b.dQ,b.q);0>g.compareTo(h);)g=g.add(b.p);var i=g.subtract(h).multiply(b.qInv).mod(b.p).multiply(b.q).add(h);return i.multiply(f.modInverse(b.n)).mod(b.n)};function r(a,b,c){var e,f=d.util.createBuffer(),g=Math.ceil(b.n.bitLength()/8);if(a.length>g-11){var h=Error("Message is too long for PKCS#1 v1.5 padding.");throw h.length=a.length,h.max=g-11,h}f.putByte(0),f.putByte(c);var i=g-3-a.length;if(0===c||1===c){e=255*(0!==c);for(var j=0;j<i;++j)f.putByte(e)}else for(;i>0;){for(var k=0,l=d.random.getBytes(i),j=0;j<i;++j)0===(e=l.charCodeAt(j))?++k:f.putByte(e);i=k}return f.putByte(0),f.putBytes(a),f}function s(a,b,c,e,f){var g=Math.ceil(b.n.bitLength()/8),h=d.util.createBuffer(a),i=h.getByte(),j=h.getByte();if(0!==i||c&&0!==j&&1!==j||!c&&2!==j||c&&0===j&&void 0===e)throw Error("Encryption block is invalid.");var k=0;if(0===j){k=g-3-e;for(var l=0;l<k;++l)if(0!==h.getByte())throw Error("Encryption block is invalid.")}else if(1===j){for(k=0;h.length()>1;){if(255!==h.getByte()){--h.read;break}++k}if(k<8&&!(f&&f._skipPaddingChecks))throw Error("Encryption block is invalid.")}else if(2===j){for(k=0;h.length()>1;){if(0===h.getByte()){--h.read;break}++k}if(k<8&&!(f&&f._skipPaddingChecks))throw Error("Encryption block is invalid.")}if(0!==h.getByte()||k!==g-3-h.length())throw Error("Encryption block is invalid.");return h.getBytes()}function t(a){var b=a.toString(16);b[0]>="8"&&(b="00"+b);var c=d.util.hexToBytes(b);return c.length>1&&(0===c.charCodeAt(0)&&(128&c.charCodeAt(1))==0||255===c.charCodeAt(0)&&(128&c.charCodeAt(1))==128)?c.substr(1):c}function u(a){return d.util.isNodejs&&"function"==typeof f[a]}function v(a){return void 0!==h.globalScope&&"object"==typeof h.globalScope.crypto&&"object"==typeof h.globalScope.crypto.subtle&&"function"==typeof h.globalScope.crypto.subtle[a]}function w(a){return void 0!==h.globalScope&&"object"==typeof h.globalScope.msCrypto&&"object"==typeof h.globalScope.msCrypto.subtle&&"function"==typeof h.globalScope.msCrypto.subtle[a]}function x(a){for(var b=d.util.hexToBytes(a.toString(16)),c=new Uint8Array(b.length),e=0;e<b.length;++e)c[e]=b.charCodeAt(e);return c}i.rsa.encrypt=function(a,b,c){var f,g=c,h=Math.ceil(b.n.bitLength()/8);!1!==c&&!0!==c?(g=2===c,f=r(a,b,c)):(f=d.util.createBuffer()).putBytes(a);for(var i=q(new e(f.toHex(),16),b,g).toString(16),j=d.util.createBuffer(),k=h-Math.ceil(i.length/2);k>0;)j.putByte(0),--k;return j.putBytes(d.util.hexToBytes(i)),j.getBytes()},i.rsa.decrypt=function(a,b,c,f){var g=Math.ceil(b.n.bitLength()/8);if(a.length!==g){var h=Error("Encrypted message length is invalid.");throw h.length=a.length,h.expected=g,h}var i=new e(d.util.createBuffer(a).toHex(),16);if(i.compareTo(b.n)>=0)throw Error("Encrypted message is invalid.");for(var j=q(i,b,c).toString(16),k=d.util.createBuffer(),l=g-Math.ceil(j.length/2);l>0;)k.putByte(0),--l;return(k.putBytes(d.util.hexToBytes(j)),!1!==f)?s(k.getBytes(),b,c):k.getBytes()},i.rsa.createKeyPairGenerationState=function(a,b,c){"string"==typeof a&&(a=parseInt(a,10)),a=a||2048;var f,g=(c=c||{}).prng||d.random,h=c.algorithm||"PRIMEINC";if("PRIMEINC"===h)(f={algorithm:h,state:0,bits:a,rng:{nextBytes:function(a){for(var b=g.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=b.charCodeAt(c)}},eInt:b||65537,e:new e(null),p:null,q:null,qBits:a>>1,pBits:a-(a>>1),pqState:0,num:null,keys:null}).e.fromInt(f.eInt);else throw Error("Invalid key generation algorithm: "+h);return f},i.rsa.stepKeyPairGenerationState=function(a,b){"algorithm"in a||(a.algorithm="PRIMEINC");var c,d=new e(null);d.fromInt(30);for(var f=0,g=function(a,b){return a|b},h=+new Date,k=0;null===a.keys&&(b<=0||k<b);){if(0===a.state){var l,m=null===a.p?a.pBits:a.qBits,n=m-1;0===a.pqState?(a.num=new e(m,a.rng),a.num.testBit(n)||a.num.bitwiseTo(e.ONE.shiftLeft(n),g,a.num),a.num.dAddOffset(31-a.num.mod(d).byteValue(),0),f=0,++a.pqState):1===a.pqState?a.num.bitLength()>m?a.pqState=0:a.num.isProbablePrime((l=a.num.bitLength())<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2)?++a.pqState:a.num.dAddOffset(j[f++%8],0):2===a.pqState?a.pqState=3*(0===a.num.subtract(e.ONE).gcd(a.e).compareTo(e.ONE)):3===a.pqState&&(a.pqState=0,null===a.p?a.p=a.num:a.q=a.num,null!==a.p&&null!==a.q&&++a.state,a.num=null)}else if(1===a.state)0>a.p.compareTo(a.q)&&(a.num=a.p,a.p=a.q,a.q=a.num),++a.state;else if(2===a.state)a.p1=a.p.subtract(e.ONE),a.q1=a.q.subtract(e.ONE),a.phi=a.p1.multiply(a.q1),++a.state;else if(3===a.state)0===a.phi.gcd(a.e).compareTo(e.ONE)?++a.state:(a.p=null,a.q=null,a.state=0);else if(4===a.state)a.n=a.p.multiply(a.q),a.n.bitLength()===a.bits?++a.state:(a.q=null,a.state=0);else if(5===a.state){var o=a.e.modInverse(a.phi);a.keys={privateKey:i.rsa.setPrivateKey(a.n,a.e,o,a.p,a.q,o.mod(a.p1),o.mod(a.q1),a.q.modInverse(a.p)),publicKey:i.rsa.setPublicKey(a.n,a.e)}}k+=(c=+new Date)-h,h=c}return null!==a.keys},i.rsa.generateKeyPair=function(a,b,c,j){if(1==arguments.length?"object"==typeof a?(c=a,a=void 0):"function"==typeof a&&(j=a,a=void 0):2==arguments.length?"number"==typeof a?"function"==typeof b?(j=b,b=void 0):"number"!=typeof b&&(c=b,b=void 0):(c=a,j=b,a=void 0,b=void 0):3==arguments.length&&("number"==typeof b?"function"==typeof c&&(j=c,c=void 0):(j=c,c=b,b=void 0)),c=c||{},void 0===a&&(a=c.bits||2048),void 0===b&&(b=c.e||65537),!d.options.usePureJavaScript&&!c.prng&&a>=256&&a<=16384&&(65537===b||3===b)){if(j){if(u("generateKeyPair"))return f.generateKeyPair("rsa",{modulusLength:a,publicExponent:b,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,b,c){if(a)return j(a);j(null,{privateKey:i.privateKeyFromPem(c),publicKey:i.publicKeyFromPem(b)})});if(v("generateKey")&&v("exportKey"))return h.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:a,publicExponent:x(b),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return h.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){j(a)}).then(function(a){if(a){var b=i.privateKeyFromAsn1(g.fromDer(d.util.createBuffer(a)));j(null,{privateKey:b,publicKey:i.setRsaPublicKey(b.n,b.e)})}});if(w("generateKey")&&w("exportKey")){var k=h.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:a,publicExponent:x(b),hash:{name:"SHA-256"}},!0,["sign","verify"]);k.oncomplete=function(a){var b=a.target.result,c=h.globalScope.msCrypto.subtle.exportKey("pkcs8",b.privateKey);c.oncomplete=function(a){var b=a.target.result,c=i.privateKeyFromAsn1(g.fromDer(d.util.createBuffer(b)));j(null,{privateKey:c,publicKey:i.setRsaPublicKey(c.n,c.e)})},c.onerror=function(a){j(a)}},k.onerror=function(a){j(a)};return}}else if(u("generateKeyPairSync")){var l=f.generateKeyPairSync("rsa",{modulusLength:a,publicExponent:b,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:i.privateKeyFromPem(l.privateKey),publicKey:i.publicKeyFromPem(l.publicKey)}}}var m=i.rsa.createKeyPairGenerationState(a,b,c);if(!j)return i.rsa.stepKeyPairGenerationState(m,0),m.keys;var n=m,o=c,p=j;"function"==typeof o&&(p=o,o={});var q={algorithm:{name:(o=o||{}).algorithm||"PRIMEINC",options:{workers:o.workers||2,workLoad:o.workLoad||100,workerScript:o.workerScript}}};function r(){s(n.pBits,function(a,b){return a?p(a):(n.p=b,null!==n.q)?t(a,n.q):void s(n.qBits,t)})}function s(a,b){d.prime.generateProbablePrime(a,q,b)}function t(a,b){if(a)return p(a);if(n.q=b,0>n.p.compareTo(n.q)){var c=n.p;n.p=n.q,n.q=c}if(0!==n.p.subtract(e.ONE).gcd(n.e).compareTo(e.ONE)){n.p=null,r();return}if(0!==n.q.subtract(e.ONE).gcd(n.e).compareTo(e.ONE)){n.q=null,s(n.qBits,t);return}if(n.p1=n.p.subtract(e.ONE),n.q1=n.q.subtract(e.ONE),n.phi=n.p1.multiply(n.q1),0!==n.phi.gcd(n.e).compareTo(e.ONE)){n.p=n.q=null,r();return}if(n.n=n.p.multiply(n.q),n.n.bitLength()!==n.bits){n.q=null,s(n.qBits,t);return}var d=n.e.modInverse(n.phi);n.keys={privateKey:i.rsa.setPrivateKey(n.n,n.e,d,n.p,n.q,d.mod(n.p1),d.mod(n.q1),n.q.modInverse(n.p)),publicKey:i.rsa.setPublicKey(n.n,n.e)},p(null,n.keys)}"prng"in o&&(q.prng=o.prng),r()},i.setRsaPublicKey=i.rsa.setPublicKey=function(a,b){var c={n:a,e:b};return c.encrypt=function(a,b,e){if("string"==typeof b?b=b.toUpperCase():void 0===b&&(b="RSAES-PKCS1-V1_5"),"RSAES-PKCS1-V1_5"===b)b={encode:function(a,b,c){return r(a,b,2).getBytes()}};else if("RSA-OAEP"===b||"RSAES-OAEP"===b)b={encode:function(a,b){return d.pkcs1.encode_rsa_oaep(b,a,e)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(b))b={encode:function(a){return a}};else if("string"==typeof b)throw Error('Unsupported encryption scheme: "'+b+'".');var f=b.encode(a,c,!0);return i.rsa.encrypt(f,c,!0)},c.verify=function(a,b,e,f){"string"==typeof e?e=e.toUpperCase():void 0===e&&(e="RSASSA-PKCS1-V1_5"),void 0===f&&(f={_parseAllDigestBytes:!0,_skipPaddingChecks:!1}),"_parseAllDigestBytes"in f||(f._parseAllDigestBytes=!0),"_skipPaddingChecks"in f||(f._skipPaddingChecks=!1),"RSASSA-PKCS1-V1_5"===e?e={verify:function(a,b){b=s(b,c,!0,void 0,f);var e=g.fromDer(b,{parseAllBytes:f._parseAllDigestBytes}),h={},i=[];if(!g.validate(e,o,h,i)||2!==e.value.length){var j=Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw j.errors=i,j}var k=g.derToOid(h.algorithmIdentifier);if(k!==d.oids.md2&&k!==d.oids.md5&&k!==d.oids.sha1&&k!==d.oids.sha224&&k!==d.oids.sha256&&k!==d.oids.sha384&&k!==d.oids.sha512&&k!==d.oids["sha512-224"]&&k!==d.oids["sha512-256"]){var j=Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw j.oid=k,j}if((k===d.oids.md2||k===d.oids.md5)&&!("parameters"in h))throw Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifier NULL parameters.");return a===h.digest}}:("NONE"===e||"NULL"===e||null===e)&&(e={verify:function(a,b){return a===(b=s(b,c,!0,void 0,f))}});var h=i.rsa.decrypt(b,c,!0,!1);return e.verify(a,h,c.n.bitLength())},c},i.setRsaPrivateKey=i.rsa.setPrivateKey=function(a,b,c,e,f,g,h,j){var k={n:a,e:b,d:c,p:e,q:f,dP:g,dQ:h,qInv:j};return k.decrypt=function(a,b,c){"string"==typeof b?b=b.toUpperCase():void 0===b&&(b="RSAES-PKCS1-V1_5");var e=i.rsa.decrypt(a,k,!1,!1);if("RSAES-PKCS1-V1_5"===b)b={decode:s};else if("RSA-OAEP"===b||"RSAES-OAEP"===b)b={decode:function(a,b){return d.pkcs1.decode_rsa_oaep(b,a,c)}};else if(-1!==["RAW","NONE","NULL",null].indexOf(b))b={decode:function(a){return a}};else throw Error('Unsupported encryption scheme: "'+b+'".');return b.decode(e,k,!1)},k.sign=function(a,b){var c=!1;"string"==typeof b&&(b=b.toUpperCase()),void 0===b||"RSASSA-PKCS1-V1_5"===b?(b={encode:p},c=1):("NONE"===b||"NULL"===b||null===b)&&(b={encode:function(){return a}},c=1);var d=b.encode(a,k.n.bitLength());return i.rsa.encrypt(d,k,c)},k},i.wrapRsaPrivateKey=function(a){return g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,g.integerToDer(0).getBytes()),g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.OID,!1,g.oidToDer(i.oids.rsaEncryption).getBytes()),g.create(g.Class.UNIVERSAL,g.Type.NULL,!1,"")]),g.create(g.Class.UNIVERSAL,g.Type.OCTETSTRING,!1,g.toDer(a).getBytes())])},i.privateKeyFromAsn1=function(a){var b,c,f,h,j,m,n,o,p={},q=[];if(g.validate(a,k,p,q)&&(a=g.fromDer(d.util.createBuffer(p.privateKey))),p={},q=[],!g.validate(a,l,p,q)){var r=Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw r.errors=q,r}return b=d.util.createBuffer(p.privateKeyModulus).toHex(),c=d.util.createBuffer(p.privateKeyPublicExponent).toHex(),f=d.util.createBuffer(p.privateKeyPrivateExponent).toHex(),h=d.util.createBuffer(p.privateKeyPrime1).toHex(),j=d.util.createBuffer(p.privateKeyPrime2).toHex(),m=d.util.createBuffer(p.privateKeyExponent1).toHex(),n=d.util.createBuffer(p.privateKeyExponent2).toHex(),o=d.util.createBuffer(p.privateKeyCoefficient).toHex(),i.setRsaPrivateKey(new e(b,16),new e(c,16),new e(f,16),new e(h,16),new e(j,16),new e(m,16),new e(n,16),new e(o,16))},i.privateKeyToAsn1=i.privateKeyToRSAPrivateKey=function(a){return g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,g.integerToDer(0).getBytes()),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.n)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.e)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.d)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.p)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.q)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.dP)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.dQ)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.qInv))])},i.publicKeyFromAsn1=function(a){var b={},c=[];if(g.validate(a,n,b,c)){var f=g.derToOid(b.publicKeyOid);if(f!==i.oids.rsaEncryption){var h=Error("Cannot read public key. Unknown OID.");throw h.oid=f,h}a=b.rsaPublicKey}if(c=[],!g.validate(a,m,b,c)){var h=Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw h.errors=c,h}var j=d.util.createBuffer(b.publicKeyModulus).toHex(),k=d.util.createBuffer(b.publicKeyExponent).toHex();return i.setRsaPublicKey(new e(j,16),new e(k,16))},i.publicKeyToAsn1=i.publicKeyToSubjectPublicKeyInfo=function(a){return g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.OID,!1,g.oidToDer(i.oids.rsaEncryption).getBytes()),g.create(g.Class.UNIVERSAL,g.Type.NULL,!1,"")]),g.create(g.Class.UNIVERSAL,g.Type.BITSTRING,!1,[i.publicKeyToRSAPublicKey(a)])])},i.publicKeyToRSAPublicKey=function(a){return g.create(g.Class.UNIVERSAL,g.Type.SEQUENCE,!0,[g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.n)),g.create(g.Class.UNIVERSAL,g.Type.INTEGER,!1,t(a.e))])}},10793:(a,b,c)=>{"use strict";c.d(b,{$V:()=>q,Cn:()=>j,Co:()=>p,Ic:()=>n,J5:()=>l,NA:()=>s,QH:()=>k,VK:()=>t,Wu:()=>r,go:()=>g,nZ:()=>m,sX:()=>h,zv:()=>o});var d=c(21820),e=c(38421);let f=e.xq["gemini-cli"]?.cliVersion,g=e.xq["gemini-cli"]?.apiClient;function h(a="unknown"){let b;return`GeminiCLI/${f}/${a||"unknown"} (${(0,d.platform)()}; ${"ia32"===(b=(0,d.arch)())?"x86":b}; terminal)`}function i(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let j={ideType:9,platform:i(),pluginType:2};Object.freeze(["authorization","x-api-key","x-goog-api-key","x-switchboard-key","cookie","token","set-cookie","session-id","session_id","x-session-id","x-amp-thread-id","x-client-request-id"]),Object.freeze(["authorization","x-switchboard-key","x-api-key","x-goog-api-key","session-id","session_id","x-session-id","x-amp-thread-id","x-client-request-id"]);let k="_ide",l=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]),m={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},n={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:i(),pluginType:2})},o={ideType:9,platform:i(),pluginType:2},p="You are Claude Code, Anthropic's official CLI for Claude.",q="You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**",r=Object.fromEntries(Object.entries(e.sr).filter(([,a])=>a.refreshLeadMs).map(([a,b])=>[a,b.refreshLeadMs])),s={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:e.sr.codex?.tokenUrl,auth:e.sr.codex?.authorizeUrl},anthropic:{token:e.sr.claude?.tokenUrl,auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:e.sr.qwen?.tokenUrl,auth:e.sr.qwen?.deviceCodeUrl},iflow:{token:e.sr.iflow?.tokenUrl,auth:e.sr.iflow?.authorizeUrl},github:{token:e.sr.github?.tokenUrl,auth:e.sr.github?.authorizeUrl,deviceCode:e.sr.github?.deviceCodeUrl}};function t(a){let b="string"==typeof a&&a.trim()?a.trim():`kimi-${Date.now()}`;return{"X-Msh-Platform":"switchboard","X-Msh-Version":"2.1.2","X-Msh-Device-Model":"u">typeof process?`${process.platform} ${process.arch}`:"unknown","X-Msh-Device-Id":b}}},10962:(a,b,c)=>{"use strict";c.d(b,{M:()=>e});var d=c(82689);function e(a,b=d.Uc){let c=a.max_tokens||a.max_completion_tokens||a.max_output_tokens||d.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&c<d.eo&&(c=d.eo),a.thinking?.budget_tokens&&c<=a.thinking.budget_tokens&&(c=a.thinking.budget_tokens+1024),c>b&&(c=b),c}},11380:(a,b,c)=>{"use strict";let{exec:d,execSync:e}=c(79646),f="win32"===process.platform;function g(){if(f)try{return e("net session >nul 2>&1",{windowsHide:!0,stdio:"ignore"}),!0}catch{return!1}return"function"==typeof process.getuid&&0===process.getuid()}function h(a){return`'${String(a).replace(/'/g,"''")}'`}a.exports={isAdmin:g,runElevatedPowerShell:function(a){if(!f)return Promise.reject(Error("Windows-only"));let b=Buffer.from(a,"utf16le").toString("base64");if(g())return new Promise((a,c)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -EncodedCommand ${b}`,{windowsHide:!0},(b,d,e)=>{b?c(Error(e||b.message)):a(d)})});let c=`
@@ -126,7 +126,7 @@ data: ${JSON.stringify(a)}
126
126
  `)}close(){this.#i.close()}get(a){f(a);let b=this.#q(a);return b?{body:b.body?Buffer.from(b.body.buffer,b.body.byteOffset,b.body.byteLength):void 0,statusCode:b.statusCode,statusMessage:b.statusMessage,headers:b.headers?JSON.parse(b.headers):void 0,etag:b.etag?b.etag:void 0,vary:b.vary?JSON.parse(b.vary):void 0,cacheControlDirectives:b.cacheControlDirectives?JSON.parse(b.cacheControlDirectives):void 0,cachedAt:b.cachedAt,staleAt:b.staleAt,deleteAt:b.deleteAt}:void 0}set(a,b){f(a);let c=this.#r(a),d=Array.isArray(b.body)?Buffer.concat(b.body):b.body,e=d?.byteLength;if(e&&e>this.#g)return;let g=this.#q(a,!0);g?this.#k.run(d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt,g.id):(this.#l.run(c,a.method,d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt),this.#s())}createWriteStream(a,b){f(a),g(b);let c=0,d=[],h=this;return new e({decodeStrings:!0,write(a,b,e){(c+=a.byteLength)<=h.#g?d.push(a):this.destroy(),e()},final(c){h.set(a,{...b,body:d}),c()}})}delete(a){if("object"!=typeof a)throw TypeError(`expected key to be object, got ${typeof a}`);this.#n.run(this.#r(a))}#s(){if(Number.isFinite(this.#h)&&this.size<=this.#h)return 0;{let a=this.#m.run(Date.now()).changes;if(a)return a}{let a=this.#p?.run(Math.max(Math.floor(.1*this.#h),1)).changes;if(a)return a}return 0}get size(){let{total:a}=this.#o.get();return a}#r(a){return`${a.origin}/${a.path}`}#q(a,b=!1){let c=this.#r(a),{headers:d,method:e}=a,f=this.#j.all(c,e);if(0===f.length)return;let g=Date.now();for(let a of f){if(g>=a.deleteAt&&!b)continue;let c=!0;if(a.vary){let b=JSON.parse(a.vary);for(let a in b)if(!function(a,b){if(null==a&&null==b)return!0;if(null==a&&null!=b||null!=a&&null==b)return!1;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return a===b}(d[a],b[a])){c=!1;break}}if(c)return a}}}},20639:(a,b,c)=>{"use strict";c.d(b,{BA:()=>y,E8:()=>t,MG:()=>q,O0:()=>A,Yh:()=>x,cb:()=>v,ue:()=>B,ws:()=>w,wu:()=>r});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(53859);let k="aes-256-gcm",l="enc:v1:",m=i().join(j.nJ,"auth","data-key"),n="switchboard-at-rest-v1",o=null;function p(){if(o)return o;try{let a=g().readFileSync(m);if(32===a.length)return o=a}catch{}try{let a=i().join(j.nJ,"machine-id"),b=n;try{b=g().readFileSync(a,"utf8").trim()+n}catch{}o=b===n?e().randomBytes(32):e().createHash("sha256").update(b).digest()}catch{o=e().randomBytes(32)}try{g().mkdirSync(i().dirname(m),{recursive:!0,mode:448}),g().writeFileSync(m,o,{mode:384})}catch{}return o}function q(a){if(null==a||""===a||"string"!=typeof a||a.startsWith(l))return a;let b=p(),c=e().randomBytes(12),d=e().createCipheriv(k,b,c),f=Buffer.concat([d.update(a,"utf8"),d.final()]),g=d.getAuthTag();return`${l}${c.toString("hex")}:${g.toString("hex")}:${f.toString("hex")}`}function r(a){if(null==a||""===a||"string"!=typeof a||!a.startsWith(l))return a;try{let[b,c,d]=a.slice(l.length).split(":");if(!b||!c||!d)return null;let f=p(),g=e().createDecipheriv(k,f,Buffer.from(b,"hex"));return g.setAuthTag(Buffer.from(c,"hex")),g.update(Buffer.from(d,"hex"),void 0,"utf8")+g.final("utf8")}catch{return null}}function s(a){return e().createHash("sha256").update(`sb-key:${a}`).digest("hex")}function t(a){return a&&"string"==typeof a?a.length<=12?a.slice(0,4)+"…":a.slice(0,10)+"…":""}function u(a){return"string"==typeof a&&/^[a-f0-9]{32}$/.test(a)?e().createHash("sha256").update(`sb-key-lookup:${a}`).digest("hex"):null}function v(a){if("string"!=typeof a)return null;let b=a.split("-");return 4===b.length&&"sk"===b[0]&&b[1]&&/^[a-f0-9]{8}$/.test(b[3])?u(b[2]):null}function w(a,b=v(a)){if(!b)return`v1:${t(a)}:${s(a)}`;let c=e().randomBytes(16),d=e().scryptSync(a,c,32,{N:16384,r:8,p:1,maxmem:0x4000000});return`v2:${b}:${t(a)}:${c.toString("hex")}:${d.toString("hex")}`}function x(a){if("string"!=typeof a||!a.startsWith("v2:"))return a;let b=a.split(":");if(5!==b.length||!/^[a-f0-9]{32}$/.test(b[1]))return a;let c=u(b[1]);return`v2:${c}:${b[2]}:${b[3]}:${b[4]}`}function y(a){if(!a||"string"!=typeof a)return{version:0,lookupDigest:null,prefix:"",hash:null,salt:null,legacy:!0,raw:a};let b=x(a),c=b.split(":");return b.startsWith("v2:")&&5===c.length?{version:2,lookupDigest:/^[a-f0-9]{64}$/.test(c[1])?c[1]:null,prefix:c[2],salt:c[3],hash:c[4],legacy:!1,raw:null}:b.startsWith("v2:")&&4===c.length?{version:2,lookupDigest:null,prefix:c[1],salt:c[2],hash:c[3],legacy:!1,raw:null}:b.startsWith("v1:")&&c.length>=3?{version:1,lookupDigest:null,prefix:c[1],salt:null,hash:c.slice(2).join(":"),legacy:!1,raw:null}:{version:0,lookupDigest:v(b),prefix:t(b),hash:null,salt:null,legacy:!0,raw:b}}function z(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=e().createHash("sha256").update(a).digest(),d=e().createHash("sha256").update(b).digest();return e().timingSafeEqual(c,d)}function A(a,b){if(!b||"string"!=typeof b)return!1;let c=y(a);if(c.legacy)return z(String(c.raw||""),b);if(1===c.version)return!!c.hash&&z(c.hash,s(b));if(!c.salt||!c.hash)return!1;try{let a=e().scryptSync(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000});return z(a.toString("hex"),c.hash)}catch{return!1}}async function B(a,b){if(!b||"string"!=typeof b)return!1;let c=y(a);if(2!==c.version)return A(a,b);if(!c.salt||!c.hash)return!1;try{let a=await new Promise((a,d)=>{e().scrypt(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000},(b,c)=>{b?d(b):a(c)})});return z(a.toString("hex"),c.hash)}catch{return!1}}},20830:(a,b,c)=>{"use strict";c(82689),c(1031)},21523:(a,b,c)=>{"use strict";let{kMockCallHistoryAddLog:d}=c(80830),{InvalidArgumentError:e}=c(61448);function f(a,b,c,d,f){switch(b.operator){case"OR":return d.push(...c(a,f)),d;case"AND":return c(a,d);default:throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function g(a){return(b,c=this.logs)=>{if("string"==typeof b||null==b)return c.filter(c=>c[a]===b);if(b instanceof RegExp)return c.filter(c=>b.test(c[a]));throw new e(`${a} parameter should be one of string, regexp, undefined or null`)}}class h{constructor(a={}){this.body=a.body,this.headers=a.headers,this.method=a.method;const b=function(a){try{let b=new URL(a.path,a.origin);if(0!==b.search.length)return b;return b.search=new URLSearchParams(a.query).toString(),b}catch(a){throw new e("An error occurred when computing MockCallHistoryLog.url",{cause:a})}}(a);this.fullUrl=b.toString(),this.origin=b.origin,this.path=b.pathname,this.searchParams=Object.fromEntries(b.searchParams),this.protocol=b.protocol,this.host=b.host,this.port=b.port,this.hash=b.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let a="";return this.toMap().forEach((b,c)=>{("string"==typeof b||null==b)&&(a=`${a}${c}->${b}|`),("object"==typeof b&&null!==b||Array.isArray(b))&&(a=`${a}${c}->${JSON.stringify(b)}|`)}),a.slice(0,-1)}}class i{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(a){if("number"!=typeof a)throw new e("nthCall must be called with a number");if(!Number.isInteger(a))throw new e("nthCall must be called with an integer");if(1!==Math.sign(a))throw new e("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(a-1)}filterCalls(a,b){if(0===this.logs.length)return this.logs;if("function"==typeof a)return this.logs.filter(a);if(a instanceof RegExp)return this.logs.filter(b=>a.test(b.toString()));if("object"==typeof a&&null!==a){if(0===Object.keys(a).length)return this.logs;let c={operator:"OR",...function(a={}){let b={};if("operator"in a){if("string"!=typeof a.operator||"OR"!==a.operator.toUpperCase()&&"AND"!==a.operator.toUpperCase())throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...b,operator:a.operator.toUpperCase()}}return b}(b)},d="AND"===c.operator?this.logs:[];return"protocol"in a&&(d=f(a.protocol,c,this.filterCallsByProtocol,d,this.logs)),"host"in a&&(d=f(a.host,c,this.filterCallsByHost,d,this.logs)),"port"in a&&(d=f(a.port,c,this.filterCallsByPort,d,this.logs)),"origin"in a&&(d=f(a.origin,c,this.filterCallsByOrigin,d,this.logs)),"path"in a&&(d=f(a.path,c,this.filterCallsByPath,d,this.logs)),"hash"in a&&(d=f(a.hash,c,this.filterCallsByHash,d,this.logs)),"fullUrl"in a&&(d=f(a.fullUrl,c,this.filterCallsByFullUrl,d,this.logs)),"method"in a&&(d=f(a.method,c,this.filterCallsByMethod,d,this.logs)),[...new Set(d)]}throw new e("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=g.call(this,"protocol");filterCallsByHost=g.call(this,"host");filterCallsByPort=g.call(this,"port");filterCallsByOrigin=g.call(this,"origin");filterCallsByPath=g.call(this,"path");filterCallsByHash=g.call(this,"hash");filterCallsByFullUrl=g.call(this,"fullUrl");filterCallsByMethod=g.call(this,"method");clear(){this.logs=[]}[d](a){let b=new h(a);return this.logs.push(b),b}*[Symbol.iterator](){for(let a of this.calls())yield a}}a.exports.MockCallHistory=i,a.exports.MockCallHistoryLog=h},22164:(a,b,c)=>{var d=c(45654);c(32e3),c(29984),c(37691),c(33889);var e=c(24547),f=e.publicKeyValidator,g=e.privateKeyValidator;if(void 0===h)var h=d.jsbn.BigInteger;var i=d.util.ByteBuffer,j="u"<typeof Buffer?Uint8Array:Buffer;d.pki=d.pki||{},a.exports=d.pki.ed25519=d.ed25519=d.ed25519||{};var k=d.ed25519;function l(a){var b=a.message;if(b instanceof Uint8Array||b instanceof j)return b;var c=a.encoding;if(void 0===b)if(a.md)b=a.md.digest().getBytes(),c="binary";else throw TypeError('"options.message" or "options.md" not specified.');if("string"==typeof b&&!c)throw TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof b){if("u">typeof Buffer)return Buffer.from(b,c);b=new i(b,c)}else if(!(b instanceof i))throw TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var d=new j(b.length()),e=0;e<d.length;++e)d[e]=b.at(e);return d}k.constants={},k.constants.PUBLIC_KEY_BYTE_LENGTH=32,k.constants.PRIVATE_KEY_BYTE_LENGTH=64,k.constants.SEED_BYTE_LENGTH=32,k.constants.SIGN_BYTE_LENGTH=64,k.constants.HASH_BYTE_LENGTH=64,k.generateKeyPair=function(a){var b=(a=a||{}).seed;if(void 0===b)b=d.random.getBytesSync(k.constants.SEED_BYTE_LENGTH);else if("string"==typeof b){if(b.length!==k.constants.SEED_BYTE_LENGTH)throw TypeError('"seed" must be '+k.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(b instanceof Uint8Array))throw TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');b=l({message:b,encoding:"binary"});for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),e=new j(k.constants.PRIVATE_KEY_BYTE_LENGTH),f=0;f<32;++f)e[f]=b[f];return function(a,b){var c,d=[J(),J(),J(),J()],e=u(b,32);for(e[0]&=248,e[31]&=127,e[31]|=64,F(d,e),z(a,d),c=0;c<32;++c)b[c+32]=a[c]}(c,e),{publicKey:c,privateKey:e}},k.privateKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,g,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var f=d.asn1.derToOid(b.privateKeyOid),h=d.oids.EdDSA25519;if(f!==h)throw Error('Invalid OID "'+f+'"; OID must be "'+h+'".');var i=b.privateKey;return{privateKeyBytes:l({message:d.asn1.fromDer(i).value,encoding:"binary"})}},k.publicKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,f,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var g=d.asn1.derToOid(b.publicKeyOid),h=d.oids.EdDSA25519;if(g!==h)throw Error('Invalid OID "'+g+'"; OID must be "'+h+'".');var i=b.ed25519PublicKey;if(i.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw Error("Key length is invalid.");return l({message:i,encoding:"binary"})},k.publicKeyFromPrivateKey=function(a){var b=l({message:(a=a||{}).privateKey,encoding:"binary"});if(b.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.PRIVATE_KEY_BYTE_LENGTH);for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),d=0;d<c.length;++d)c[d]=b[32+d];return c},k.sign=function(a){var b=l(a=a||{}),c=l({message:a.privateKey,encoding:"binary"});if(c.length===k.constants.SEED_BYTE_LENGTH)c=k.generateKeyPair({seed:c}).privateKey;else if(c.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.SEED_BYTE_LENGTH+" or "+k.constants.PRIVATE_KEY_BYTE_LENGTH);var d=new j(k.constants.SIGN_BYTE_LENGTH+b.length);!function(a,b,c,d){var e,f,g=new Float64Array(64),h=[J(),J(),J(),J()],i=u(d,32);for(i[0]&=248,i[31]&=127,i[31]|=64,e=0;e<c;++e)a[64+e]=b[e];for(e=0;e<32;++e)a[32+e]=i[32+e];var j=u(a.subarray(32),c+32);for(w(j),F(h,j),z(a,h),e=32;e<64;++e)a[e]=d[e];var k=u(a,c+64);for(w(k),e=32;e<64;++e)g[e]=0;for(e=0;e<32;++e)g[e]=j[e];for(e=0;e<32;++e)for(f=0;f<32;f++)g[e+f]+=k[e]*i[f];v(a.subarray(32),g)}(d,b,b.length,c);for(var e=new j(k.constants.SIGN_BYTE_LENGTH),f=0;f<e.length;++f)e[f]=d[f];return e},k.verify=function(a){var b,c=l(a=a||{});if(void 0===a.signature)throw TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var d=l({message:a.signature,encoding:"binary"});if(d.length!==k.constants.SIGN_BYTE_LENGTH)throw TypeError('"options.signature" must have a byte length of '+k.constants.SIGN_BYTE_LENGTH);var e=l({message:a.publicKey,encoding:"binary"});if(e.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw TypeError('"options.publicKey" must have a byte length of '+k.constants.PUBLIC_KEY_BYTE_LENGTH);var f=new j(k.constants.SIGN_BYTE_LENGTH+c.length),g=new j(k.constants.SIGN_BYTE_LENGTH+c.length);for(b=0;b<k.constants.SIGN_BYTE_LENGTH;++b)f[b]=d[b];for(b=0;b<c.length;++b)f[b+k.constants.SIGN_BYTE_LENGTH]=c[b];return function(a,b,c,d){var e,f,g,h,i,k,l,p,q,r,v=new j(32),y=[J(),J(),J(),J()],A=[J(),J(),J(),J()];if(c<64||(e=A,f=d,g=J(),h=J(),i=J(),k=J(),l=J(),p=J(),q=J(),(G(e[2],n),function(a,b){var c;for(c=0;c<16;++c)a[c]=b[2*c]+(b[2*c+1]<<8);a[15]&=32767}(e[1],f),function(a,b){M(a,b,b)}(i,e[1]),M(k,i,o),L(i,i,e[2]),K(k,e[2],k),function(a,b){M(a,b,b)}(l,k),function(a,b){M(a,b,b)}(p,l),M(q,p,l),M(g,q,i),M(g,g,k),function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=250;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),1!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]}(g,g),M(g,g,i),M(g,g,k),M(g,g,k),M(e[0],g,k),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i)&&M(e[0],e[0],t),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i))?-1:(D(e[0])===f[31]>>7&&L(e[0],m,e[0]),M(e[3],e[0],e[1]),0))||!function(a){var b;for(b=31;b>=0;--b){if(a[32+b]<s[b])return!0;if(a[32+b]>s[b])break}return!1}(b))return -1;for(r=0;r<c;++r)a[r]=b[r];for(r=0;r<32;++r)a[r+32]=d[r];var H=u(a,c);if(w(H),E(y,A,H),F(A,b.subarray(32)),x(y,A),z(v,y),c-=64,function(a,b,c,d){return C(a,b,c,d,32)}(b,0,v,0)){for(r=0;r<c;++r)a[r]=0;return -1}for(r=0;r<c;++r)a[r]=b[r+64];return c}(g,f,f.length,e)>=0};var m=J(),n=J([1]),o=J([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),p=J([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),q=J([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),r=J([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),s=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),t=J([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function u(a,b){var c=d.md.sha512.create(),e=new i(a);c.update(e.getBytes(b),"binary");var f=c.digest().getBytes();if("u">typeof Buffer)return Buffer.from(f,"binary");for(var g=new j(k.constants.HASH_BYTE_LENGTH),h=0;h<64;++h)g[h]=f.charCodeAt(h);return g}function v(a,b){var c,d,e,f;for(d=63;d>=32;--d){for(c=0,e=d-32,f=d-12;e<f;++e)b[e]+=c-16*b[d]*s[e-(d-32)],c=b[e]+128>>8,b[e]-=256*c;b[e]+=c,b[d]=0}for(e=0,c=0;e<32;++e)b[e]+=c-(b[31]>>4)*s[e],c=b[e]>>8,b[e]&=255;for(e=0;e<32;++e)b[e]-=c*s[e];for(d=0;d<32;++d)b[d+1]+=b[d]>>8,a[d]=255&b[d]}function w(a){for(var b=new Float64Array(64),c=0;c<64;++c)b[c]=a[c],a[c]=0;v(a,b)}function x(a,b){var c=J(),d=J(),e=J(),f=J(),g=J(),h=J(),i=J(),j=J(),k=J();L(c,a[1],a[0]),L(k,b[1],b[0]),M(c,c,k),K(d,a[0],a[1]),K(k,b[0],b[1]),M(d,d,k),M(e,a[3],b[3]),M(e,e,p),M(f,a[2],b[2]),K(f,f,f),L(g,d,c),L(h,f,e),K(i,f,e),K(j,d,c),M(a[0],g,h),M(a[1],j,i),M(a[2],i,h),M(a[3],g,j)}function y(a,b,c){for(var d=0;d<4;++d)I(a[d],b[d],c)}function z(a,b){var c=J(),d=J(),e=J();(function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=253;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),2!==c&&4!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]})(e,b[2]),M(c,b[0],e),M(d,b[1],e),A(a,d),a[31]^=D(c)<<7}function A(a,b){var c,d,e,f=J(),g=J();for(c=0;c<16;++c)g[c]=b[c];for(H(g),H(g),H(g),d=0;d<2;++d){for(f[0]=g[0]-65517,c=1;c<15;++c)f[c]=g[c]-65535-(f[c-1]>>16&1),f[c-1]&=65535;f[15]=g[15]-32767-(f[14]>>16&1),e=f[15]>>16&1,f[14]&=65535,I(g,f,1-e)}for(c=0;c<16;c++)a[2*c]=255&g[c],a[2*c+1]=g[c]>>8}function B(a,b){var c=new j(32),d=new j(32);return A(c,a),A(d,b),C(c,0,d,0,32)}function C(a,b,c,d,e){var f,g=0;for(f=0;f<e;++f)g|=a[b+f]^c[d+f];return(1&g-1>>>8)-1}function D(a){var b=new j(32);return A(b,a),1&b[0]}function E(a,b,c){var d,e;for(G(a[0],m),G(a[1],n),G(a[2],n),G(a[3],m),e=255;e>=0;--e)y(a,b,d=c[e/8|0]>>(7&e)&1),x(b,a),x(a,a),y(a,b,d)}function F(a,b){var c=[J(),J(),J(),J()];G(c[0],q),G(c[1],r),G(c[2],n),M(c[3],q,r),E(a,c,b)}function G(a,b){var c;for(c=0;c<16;c++)a[c]=0|b[c]}function H(a){var b,c,d=1;for(b=0;b<16;++b)d=Math.floor((c=a[b]+d+65535)/65536),a[b]=c-65536*d;a[0]+=d-1+37*(d-1)}function I(a,b,c){for(var d,e=~(c-1),f=0;f<16;++f)d=e&(a[f]^b[f]),a[f]^=d,b[f]^=d}function J(a){var b,c=new Float64Array(16);if(a)for(b=0;b<a.length;++b)c[b]=a[b];return c}function K(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]+c[d]}function L(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]-c[d]}function M(a,b,c){var d,e,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=c[0],L=c[1],M=c[2],N=c[3],O=c[4],P=c[5],Q=c[6],R=c[7],S=c[8],T=c[9],U=c[10],V=c[11],W=c[12],X=c[13],Y=c[14],Z=c[15];f+=(d=b[0])*K,g+=d*L,h+=d*M,i+=d*N,j+=d*O,k+=d*P,l+=d*Q,m+=d*R,n+=d*S,o+=d*T,p+=d*U,q+=d*V,r+=d*W,s+=d*X,t+=d*Y,u+=d*Z,g+=(d=b[1])*K,h+=d*L,i+=d*M,j+=d*N,k+=d*O,l+=d*P,m+=d*Q,n+=d*R,o+=d*S,p+=d*T,q+=d*U,r+=d*V,s+=d*W,t+=d*X,u+=d*Y,v+=d*Z,h+=(d=b[2])*K,i+=d*L,j+=d*M,k+=d*N,l+=d*O,m+=d*P,n+=d*Q,o+=d*R,p+=d*S,q+=d*T,r+=d*U,s+=d*V,t+=d*W,u+=d*X,v+=d*Y,w+=d*Z,i+=(d=b[3])*K,j+=d*L,k+=d*M,l+=d*N,m+=d*O,n+=d*P,o+=d*Q,p+=d*R,q+=d*S,r+=d*T,s+=d*U,t+=d*V,u+=d*W,v+=d*X,w+=d*Y,x+=d*Z,j+=(d=b[4])*K,k+=d*L,l+=d*M,m+=d*N,n+=d*O,o+=d*P,p+=d*Q,q+=d*R,r+=d*S,s+=d*T,t+=d*U,u+=d*V,v+=d*W,w+=d*X,x+=d*Y,y+=d*Z,k+=(d=b[5])*K,l+=d*L,m+=d*M,n+=d*N,o+=d*O,p+=d*P,q+=d*Q,r+=d*R,s+=d*S,t+=d*T,u+=d*U,v+=d*V,w+=d*W,x+=d*X,y+=d*Y,z+=d*Z,l+=(d=b[6])*K,m+=d*L,n+=d*M,o+=d*N,p+=d*O,q+=d*P,r+=d*Q,s+=d*R,t+=d*S,u+=d*T,v+=d*U,w+=d*V,x+=d*W,y+=d*X,z+=d*Y,A+=d*Z,m+=(d=b[7])*K,n+=d*L,o+=d*M,p+=d*N,q+=d*O,r+=d*P,s+=d*Q,t+=d*R,u+=d*S,v+=d*T,w+=d*U,x+=d*V,y+=d*W,z+=d*X,A+=d*Y,B+=d*Z,n+=(d=b[8])*K,o+=d*L,p+=d*M,q+=d*N,r+=d*O,s+=d*P,t+=d*Q,u+=d*R,v+=d*S,w+=d*T,x+=d*U,y+=d*V,z+=d*W,A+=d*X,B+=d*Y,C+=d*Z,o+=(d=b[9])*K,p+=d*L,q+=d*M,r+=d*N,s+=d*O,t+=d*P,u+=d*Q,v+=d*R,w+=d*S,x+=d*T,y+=d*U,z+=d*V,A+=d*W,B+=d*X,C+=d*Y,D+=d*Z,p+=(d=b[10])*K,q+=d*L,r+=d*M,s+=d*N,t+=d*O,u+=d*P,v+=d*Q,w+=d*R,x+=d*S,y+=d*T,z+=d*U,A+=d*V,B+=d*W,C+=d*X,D+=d*Y,E+=d*Z,q+=(d=b[11])*K,r+=d*L,s+=d*M,t+=d*N,u+=d*O,v+=d*P,w+=d*Q,x+=d*R,y+=d*S,z+=d*T,A+=d*U,B+=d*V,C+=d*W,D+=d*X,E+=d*Y,F+=d*Z,r+=(d=b[12])*K,s+=d*L,t+=d*M,u+=d*N,v+=d*O,w+=d*P,x+=d*Q,y+=d*R,z+=d*S,A+=d*T,B+=d*U,C+=d*V,D+=d*W,E+=d*X,F+=d*Y,G+=d*Z,s+=(d=b[13])*K,t+=d*L,u+=d*M,v+=d*N,w+=d*O,x+=d*P,y+=d*Q,z+=d*R,A+=d*S,B+=d*T,C+=d*U,D+=d*V,E+=d*W,F+=d*X,G+=d*Y,H+=d*Z,t+=(d=b[14])*K,u+=d*L,v+=d*M,w+=d*N,x+=d*O,y+=d*P,z+=d*Q,A+=d*R,B+=d*S,C+=d*T,D+=d*U,E+=d*V,F+=d*W,G+=d*X,H+=d*Y,I+=d*Z,u+=(d=b[15])*K,v+=d*L,w+=d*M,x+=d*N,y+=d*O,z+=d*P,A+=d*Q,B+=d*R,C+=d*S,D+=d*T,E+=d*U,F+=d*V,G+=d*W,H+=d*X,I+=d*Y,J+=d*Z,f+=38*v,g+=38*w,h+=38*x,i+=38*y,j+=38*z,k+=38*A,l+=38*B,m+=38*C,n+=38*D,o+=38*E,p+=38*F,q+=38*G,r+=38*H,s+=38*I,t+=38*J,e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),a[0]=f,a[1]=g,a[2]=h,a[3]=i,a[4]=j,a[5]=k,a[6]=l,a[7]=m,a[8]=n,a[9]=o,a[10]=p,a[11]=q,a[12]=r,a[13]=s,a[14]=t,a[15]=u}},22219:(a,b,c)=>{"use strict";function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}c.d(b,{N:()=>d})},22268:(a,b,c)=>{"use strict";c.d(b,{kz:()=>f});let d=new Map,e=new Map;function f(a,b,c,f){let g=`${a}:${b}`;c&&d.set(g,c),f&&e.set(g,f)}},22435:(a,b,c)=>{"use strict";c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(22219),e=c(11897);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","pattern","uniqueItems","contains","unevaluatedProperties","unevaluatedItems","contentSchema","multipleOf","minimum","maximum","default","examples","$schema","$defs","definitions","const","$ref","$comment","ref","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c&&"object"==typeof c){if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={},c={};for(let d of b.allOf)if(d&&"object"==typeof d){if(d.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,d.properties)),d.required&&Array.isArray(d.required))for(let b of(a.required||(a.required=[]),d.required))a.required.includes(b)||a.required.push(b);for(let[a,b]of Object.entries(d))"properties"!==a&&"required"!==a&&(a in c||(c[a]=b))}for(let[a,d]of(delete b.allOf,Object.entries(c)))a in b||(b[a]=d);a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type="string"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(Array.isArray(b))return void b.forEach(a);if(b.properties&&"object"==typeof b.properties&&!Array.isArray(b.properties))for(let[c,d]of Object.entries(b.properties))if("string"==typeof d){let a=d.toLowerCase();"object"===a?b.properties[c]={type:"object",properties:{}}:["string","number","integer","boolean","array"].includes(a)?b.properties[c]={type:a}:b.properties[c]={type:"string",description:d}}else null!==d&&"object"==typeof d&&a(d);for(let[c,d]of Object.entries(b))"properties"!==c&&d&&"object"==typeof d&&a(d)}}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},22884:(a,b,c)=>{"use strict";c.d(b,{jD:()=>e}),c(38421);var d=c(74570);function e(a,b=null){if(!("string"==typeof a&&a.startsWith("openai-compatible-")))return"chat";let c=b?.providerSpecificData?.apiType;return"chat"===c||"responses"===c?c:a.includes("responses")?"responses":"chat"}d.Es,d.ky},23059:(a,b,c)=>{},23423:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let{Buffer:e}=c(4573);Object.defineProperty(a,"exports",{get:()=>d||(d=e.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCuzaAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDuMBAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISMkJScoKZ4DmwOaA5EDigODA4AD/QL7AvgC8gLxAu8C7QLoAucC5gLlAuQC3ALbAtoC2QLYAtcC1gLVAs8CzgLMAssCygLJAsgCxwLGAsQCwwK+ArwCugK5ArgCtwK2ArUCtAKzArICsQKwAq4CrQKpAqgCpwKmAqUCpAKjAqICoQKgAp8CmAKQAowCiwKKAoEC/gH9AfwB+wH6AfkB+AH3AfUB8wHwAesB6QHoAecB5gHlAeQB4wHiAeEB4AHfAd4B3QHcAdoB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygHJAcgBxwHGAcUBxAHDAcIBwQHAAb8BvgG9AbwBuwG6AbkBuAG3AbYBtQG0AbMBsgGxAbABrwGuAa0BrAGrAaoBqQGoAacBpgGlAaQBowGiAZ8BngGZAZgBlwGWAZUBlAGTAZIBkQGQAY8BjQGMAYcBhgGFAYQBgwGCAX18e3p5dnV0UFFSU1RVCyABIARHDXJB/QEhAgy+AwsgASAERw2YAUHbASECDL0DCyABIARHDfEBQY4BIQIMvAMLIAEgBEcN/AFBhAEhAgy7AwsgASAERw2KAkH/ACECDLoDCyABIARHDZECQf0AIQIMuQMLIAEgBEcNlAJB+wAhAgy4AwsgASAERw0eQR4hAgy3AwsgASAERw0ZQRghAgy2AwsgASAERw3KAkHNACECDLUDCyABIARHDdUCQcYAIQIMtAMLIAEgBEcN1gJBwwAhAgyzAwsgASAERw3cAkE4IQIMsgMLIAMtADBBAUYNrQMMiQMLQQAhAAJAAkACQCADLQAqRQ0AIAMtACtFDQAgAy8BMiICQQJxRQ0BDAILIAMvATIiAkEBcUUNAQtBASEAIAMtAChBAUYNACADLwE0IgZB5ABrQeQASQ0AIAZBzAFGDQAgBkGwAkYNACACQcAAcQ0AQQAhACACQYgEcUGABEYNACACQShxQQBHIQALIANBADsBMiADQQA6ADECQCAARQRAIANBADoAMSADLQAuQQRxDQEMsQMLIANCADcDIAsgA0EAOgAxIANBAToANgxIC0EAIQACQCADKAI4IgJFDQAgAigCMCICRQ0AIAMgAhEAACEACyAARQ1IIABBFUcNYiADQQQ2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgyvAwsgASAERgRAQQYhAgyvAwsgAS0AAEEKRw0ZIAFBAWohAQwaCyADQgA3AyBBEiECDJQDCyABIARHDYoDQSMhAgysAwsgASAERgRAQQchAgysAwsCQAJAIAEtAABBCmsOBAEYGAAYCyABQQFqIQFBECECDJMDCyABQQFqIQEgA0Evai0AAEEBcQ0XQQAhAiADQQA2AhwgAyABNgIUIANBmSA2AhAgA0EZNgIMDKsDCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMWg0YQQghAgyqAwsgASAERwRAIANBCTYCCCADIAE2AgRBFCECDJEDC0EJIQIMqQMLIAMpAyBQDa4CDEMLIAEgBEYEQEELIQIMqAMLIAEtAABBCkcNFiABQQFqIQEMFwsgA0Evai0AAEEBcUUNGQwmC0EAIQACQCADKAI4IgJFDQAgAigCUCICRQ0AIAMgAhEAACEACyAADRkMQgtBACEAAkAgAygCOCICRQ0AIAIoAlAiAkUNACADIAIRAAAhAAsgAA0aDCQLQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANGwwyCyADQS9qLQAAQQFxRQ0cDCILQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANHAxCC0EAIQACQCADKAI4IgJFDQAgAigCVCICRQ0AIAMgAhEAACEACyAADR0MIAsgASAERgRAQRMhAgygAwsCQCABLQAAIgBBCmsOBB8jIwAiCyABQQFqIQEMHwtBACEAAkAgAygCOCICRQ0AIAIoAlQiAkUNACADIAIRAAAhAAsgAA0iDEILIAEgBEYEQEEWIQIMngMLIAEtAABBwMEAai0AAEEBRw0jDIMDCwJAA0AgAS0AAEGwO2otAAAiAEEBRwRAAkAgAEECaw4CAwAnCyABQQFqIQFBISECDIYDCyAEIAFBAWoiAUcNAAtBGCECDJ0DCyADKAIEIQBBACECIANBADYCBCADIAAgAUEBaiIBEDQiAA0hDEELQQAhAAJAIAMoAjgiAkUNACACKAJUIgJFDQAgAyACEQAAIQALIAANIwwqCyABIARGBEBBHCECDJsDCyADQQo2AgggAyABNgIEQQAhAAJAIAMoAjgiAkUNACACKAJQIgJFDQAgAyACEQAAIQALIAANJUEkIQIMgQMLIAEgBEcEQANAIAEtAABBsD1qLQAAIgBBA0cEQCAAQQFrDgUYGiaCAyUmCyAEIAFBAWoiAUcNAAtBGyECDJoDC0EbIQIMmQMLA0AgAS0AAEGwP2otAAAiAEEDRwRAIABBAWsOBQ8RJxMmJwsgBCABQQFqIgFHDQALQR4hAgyYAwsgASAERwRAIANBCzYCCCADIAE2AgRBByECDP8CC0EfIQIMlwMLIAEgBEYEQEEgIQIMlwMLAkAgAS0AAEENaw4ULj8/Pz8/Pz8/Pz8/Pz8/Pz8/PwA/C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAyWAwsgA0EvaiECA0AgASAERgRAQSEhAgyXAwsCQAJAAkAgAS0AACIAQQlrDhgCACkpASkpKSkpKSkpKSkpKSkpKSkpKQInCyABQQFqIQEgA0Evai0AAEEBcUUNCgwYCyABQQFqIQEMFwsgAUEBaiEBIAItAABBAnENAAtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwMlQMLIAMtAC5BgAFxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ3mAiAAQRVGBEAgA0EkNgIcIAMgATYCFCADQZsbNgIQIANBFTYCDEEAIQIMlAMLQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDJMDC0EAIQIgA0EANgIcIAMgATYCFCADQb4gNgIQIANBAjYCDAySAwsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEgDKdqIgEQMiIARQ0rIANBBzYCHCADIAE2AhQgAyAANgIMDJEDCyADLQAuQcAAcUUNAQtBACEAAkAgAygCOCICRQ0AIAIoAlgiAkUNACADIAIRAAAhAAsgAEUNKyAAQRVGBEAgA0EKNgIcIAMgATYCFCADQesZNgIQIANBFTYCDEEAIQIMkAMLQQAhAiADQQA2AhwgAyABNgIUIANBkww2AhAgA0ETNgIMDI8DC0EAIQIgA0EANgIcIAMgATYCFCADQYIVNgIQIANBAjYCDAyOAwtBACECIANBADYCHCADIAE2AhQgA0HdFDYCECADQRk2AgwMjQMLQQAhAiADQQA2AhwgAyABNgIUIANB5h02AhAgA0EZNgIMDIwDCyAAQRVGDT1BACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMiwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUNKCADQQ02AhwgAyABNgIUIAMgADYCDAyKAwsgAEEVRg06QQAhAiADQQA2AhwgAyABNgIUIANB0A82AhAgA0EiNgIMDIkDCyADKAIEIQBBACECIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDCgLIANBDjYCHCADIAA2AgwgAyABQQFqNgIUDIgDCyAAQRVGDTdBACECIANBADYCHCADIAE2AhQgA0HQDzYCECADQSI2AgwMhwMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDMiAEUEQCABQQFqIQEMJwsgA0EPNgIcIAMgADYCDCADIAFBAWo2AhQMhgMLQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDIUDCyAAQRVGDTNBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwMhAMLIAMoAgQhAEEAIQIgA0EANgIEIAMgACABEDQiAEUNJSADQRE2AhwgAyABNgIUIAMgADYCDAyDAwsgAEEVRg0wQQAhAiADQQA2AhwgAyABNgIUIANB1gw2AhAgA0EjNgIMDIIDCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDCULIANBEjYCHCADIAA2AgwgAyABQQFqNgIUDIEDCyADQS9qLQAAQQFxRQ0BC0EXIQIM5gILQQAhAiADQQA2AhwgAyABNgIUIANB4hc2AhAgA0EZNgIMDP4CCyAAQTtHDQAgAUEBaiEBDAwLQQAhAiADQQA2AhwgAyABNgIUIANBkhg2AhAgA0ECNgIMDPwCCyAAQRVGDShBACECIANBADYCHCADIAE2AhQgA0HWDDYCECADQSM2AgwM+wILIANBFDYCHCADIAE2AhQgAyAANgIMDPoCCyADKAIEIQBBACECIANBADYCBCADIAAgARA0IgBFBEAgAUEBaiEBDPUCCyADQRU2AhwgAyAANgIMIAMgAUEBajYCFAz5AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzzAgsgA0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkBIQIMoAILAkACQAJAIAEtAABBCmsOBAECAgACCyABQQFqIQEMAgsgAUEBaiEBDAELIAMtAC5BwABxRQ0BC0EAIQACQCADKAI4IgJFDQAgAigCPCICRQ0AIAMgAhEAACEACyAARQ2gASAAQRVGBEAgA0HZADYCHCADIAE2AhQgA0G3GjYCECADQRU2AgxBACECDJ8CCyADQQA2AhwgAyABNgIUIANBgA02AhAgA0EbNgIMQQAhAgyeAgsgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMnQILIAEgBEcEQCADQQw2AgggAyABNgIEQb8BIQIMhAILQdgBIQIMnAILIAEgBEYEQEHXASECDJwCCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEHBAGsOFQABAgNaBAUGWlpaBwgJCgsMDQ4PEFoLIAFBAWohAUH7ACECDJICCyABQQFqIQFB/AAhAgyRAgsgAUEBaiEBQYEBIQIMkAILIAFBAWohAUGFASECDI8CCyABQQFqIQFBhgEhAgyOAgsgAUEBaiEBQYkBIQIMjQILIAFBAWohAUGKASECDIwCCyABQQFqIQFBjQEhAgyLAgsgAUEBaiEBQZYBIQIMigILIAFBAWohAUGXASECDIkCCyABQQFqIQFBmAEhAgyIAgsgAUEBaiEBQaUBIQIMhwILIAFBAWohAUGmASECDIYCCyABQQFqIQFBrAEhAgyFAgsgAUEBaiEBQbQBIQIMhAILIAFBAWohAUG3ASECDIMCCyABQQFqIQFBvgEhAgyCAgsgASAERgRAQdYBIQIMmwILIAEtAABBzgBHDUggAUEBaiEBQb0BIQIMgQILIAEgBEYEQEHVASECDJoCCwJAAkACQCABLQAAQcIAaw4SAEpKSkpKSkpKSgFKSkpKSkoCSgsgAUEBaiEBQbgBIQIMggILIAFBAWohAUG7ASECDIECCyABQQFqIQFBvAEhAgyAAgtB1AEhAiABIARGDZgCIAMoAgAiACAEIAFraiEFIAEgAGtBB2ohBgJAA0AgAS0AACAAQajVAGotAABHDUUgAEEHRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJkCCyADQQA2AgAgBkEBaiEBQRsMRQsgASAERgRAQdMBIQIMmAILAkACQCABLQAAQckAaw4HAEdHR0dHAUcLIAFBAWohAUG5ASECDP8BCyABQQFqIQFBugEhAgz+AQtB0gEhAiABIARGDZYCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQabVAGotAABHDUMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJcCCyADQQA2AgAgBkEBaiEBQQ8MQwtB0QEhAiABIARGDZUCIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQaTVAGotAABHDUIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYCCyADQQA2AgAgBkEBaiEBQSAMQgtB0AEhAiABIARGDZQCIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDUEgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJUCCyADQQA2AgAgBkEBaiEBQRIMQQsgASAERgRAQc8BIQIMlAILAkACQCABLQAAQcUAaw4OAENDQ0NDQ0NDQ0NDQwFDCyABQQFqIQFBtQEhAgz7AQsgAUEBaiEBQbYBIQIM+gELQc4BIQIgASAERg2SAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGe1QBqLQAARw0/IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyTAgsgA0EANgIAIAZBAWohAUEHDD8LQc0BIQIgASAERg2RAiADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGY1QBqLQAARw0+IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAySAgsgA0EANgIAIAZBAWohAUEoDD4LIAEgBEYEQEHMASECDJECCwJAAkACQCABLQAAQcUAaw4RAEFBQUFBQUFBQQFBQUFBQQJBCyABQQFqIQFBsQEhAgz5AQsgAUEBaiEBQbIBIQIM+AELIAFBAWohAUGzASECDPcBC0HLASECIAEgBEYNjwIgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBkdUAai0AAEcNPCAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==","base64"))})},23493:(a,b,c)=>{"use strict";global.__vaultStats??={entries:0,hits:0,bytesSaved:0}},24081:(a,b,c)=>{"use strict";c.d(b,{c:()=>l,y:()=>m});var d=c(20437),e=c(4107);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let f=global._dbAdapter;async function g(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(8062).then(c.bind(c,38062));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(8469).then(c.bind(c,88469));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function i(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(4803).then(c.bind(c,54803));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function j(a){try{let{createSqlJsAdapter:a}=await c.e(6252).then(c.bind(c,66252));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function k(){if((0,e.I)())throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await g(a);if(b||(b=await h(a)),b||(b=await i(a)),b||(b=await j(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!f.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),f.logged=!0}let{runMigrationOnce:k}=await c.e(5888).then(c.bind(c,95888));return await k(b),b}async function l(){return f.instance?f.instance:(f.initPromise||(f.initPromise=k().then(a=>(f.instance=a,a))),f.initPromise)}async function m(){let a=f.instance||(f.initPromise?await f.initPromise.catch(()=>null):null);if(a)try{a.close?.()}finally{f.instance=null,f.initPromise=null}}},24214:a=>{"use strict";function b(a,b,c,d,e,f,g){let h=new Date(Date.UTC(a,b,c,d,e,f));return a>=0&&a<=99&&h.setUTCFullYear(a),h.getUTCFullYear()===a&&h.getUTCMonth()===b&&h.getUTCDate()===c&&h.getUTCHours()===d&&h.getUTCMinutes()===e&&h.getUTCSeconds()===f&&h.getUTCDay()===g?h:void 0}a.exports={parseHttpDate:function(a){switch(a[3]){case",":return function(a){if(29!==a.length||" "!==a[4]||" "!==a[7]||" "!==a[11]||" "!==a[16]||":"!==a[19]||":"!==a[22]||" "!==a[25]||"G"!==a[26]||"M"!==a[27]||"T"!==a[28])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=0;if("0"===a[5]){let b=a.charCodeAt(6);if(b<49||b>57)return;d=b-48}else{let b=a.charCodeAt(5);if(b<49||b>51)return;let c=a.charCodeAt(6);if(c<48||c>57)return;d=(b-48)*10+(c-48)}let e=-1;if("J"===a[8]&&"a"===a[9]&&"n"===a[10])e=0;else if("F"===a[8]&&"e"===a[9]&&"b"===a[10])e=1;else if("M"===a[8]&&"a"===a[9])if("r"===a[10])e=2;else{if("y"!==a[10])return;e=4}else if("J"===a[8])if("a"===a[9]&&"n"===a[10])e=0;else if("u"!==a[9])return;else if("n"===a[10])e=5;else{if("l"!==a[10])return;e=6}else if("A"===a[8])if("p"===a[9]&&"r"===a[10])e=3;else{if("u"!==a[9]||"g"!==a[10])return;e=7}else if("S"===a[8]&&"e"===a[9]&&"p"===a[10])e=8;else if("O"===a[8]&&"c"===a[9]&&"t"===a[10])e=9;else if("N"===a[8]&&"o"===a[9]&&"v"===a[10])e=10;else{if("D"!==a[8]||"e"!==a[9]||"c"!==a[10])return;e=11}let f=a.charCodeAt(12);if(f<48||f>57)return;let g=a.charCodeAt(13);if(g<48||g>57)return;let h=a.charCodeAt(14);if(h<48||h>57)return;let i=a.charCodeAt(15);if(i<48||i>57)return;let j=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(17);if(b<48||b>50)return;let c=a.charCodeAt(18);if(c<48||c>57||50===b&&c>51)return;j=(b-48)*10+(c-48)}let k=0;if("0"===a[20]){let b=a.charCodeAt(21);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(20);if(b<48||b>53)return;let c=a.charCodeAt(21);if(c<48||c>57)return;k=(b-48)*10+(c-48)}let l=0;if("0"===a[23]){let b=a.charCodeAt(24);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(23);if(b<48||b>53)return;let c=a.charCodeAt(24);if(c<48||c>57)return;l=(b-48)*10+(c-48)}return b((f-48)*1e3+(g-48)*100+(h-48)*10+(i-48),e,d,j,k,l,c)}(a);case" ":return function(a){if(24!==a.length||" "!==a[7]||" "!==a[10]||" "!==a[19])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=-1;if("J"===a[4]&&"a"===a[5]&&"n"===a[6])d=0;else if("F"===a[4]&&"e"===a[5]&&"b"===a[6])d=1;else if("M"===a[4]&&"a"===a[5])if("r"===a[6])d=2;else{if("y"!==a[6])return;d=4}else if("J"===a[4])if("a"===a[5]&&"n"===a[6])d=0;else if("u"!==a[5])return;else if("n"===a[6])d=5;else{if("l"!==a[6])return;d=6}else if("A"===a[4])if("p"===a[5]&&"r"===a[6])d=3;else{if("u"!==a[5]||"g"!==a[6])return;d=7}else if("S"===a[4]&&"e"===a[5]&&"p"===a[6])d=8;else if("O"===a[4]&&"c"===a[5]&&"t"===a[6])d=9;else if("N"===a[4]&&"o"===a[5]&&"v"===a[6])d=10;else{if("D"!==a[4]||"e"!==a[5]||"c"!==a[6])return;d=11}let e=0;if(" "===a[8]){let b=a.charCodeAt(9);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(8);if(b<49||b>51)return;let c=a.charCodeAt(9);if(c<48||c>57)return;e=(b-48)*10+(c-48)}let f=0;if("0"===a[11]){let b=a.charCodeAt(12);if(b<48||b>57)return;f=b-48}else{let b=a.charCodeAt(11);if(b<48||b>50)return;let c=a.charCodeAt(12);if(c<48||c>57||50===b&&c>51)return;f=(b-48)*10+(c-48)}let g=0;if("0"===a[14]){let b=a.charCodeAt(15);if(b<48||b>57)return;g=b-48}else{let b=a.charCodeAt(14);if(b<48||b>53)return;let c=a.charCodeAt(15);if(c<48||c>57)return;g=(b-48)*10+(c-48)}let h=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;h=b-48}else{let b=a.charCodeAt(17);if(b<48||b>53)return;let c=a.charCodeAt(18);if(c<48||c>57)return;h=(b-48)*10+(c-48)}let i=a.charCodeAt(20);if(i<48||i>57)return;let j=a.charCodeAt(21);if(j<48||j>57)return;let k=a.charCodeAt(22);if(k<48||k>57)return;let l=a.charCodeAt(23);if(!(l<48)&&!(l>57))return b((i-48)*1e3+(j-48)*100+(k-48)*10+(l-48),d,e,f,g,h,c)}(a);default:return function(a){let c=-1,d=-1;if("S"===a[0])"u"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5]?(d=0,c=6):"a"===a[1]&&"t"===a[2]&&"u"===a[3]&&"r"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=6,c=8);else if("M"===a[0]&&"o"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5])d=1,c=6;else if("T"===a[0])"u"===a[1]&&"e"===a[2]&&"s"===a[3]&&"d"===a[4]&&"a"===a[5]&&"y"===a[6]?(d=2,c=7):"h"===a[1]&&"u"===a[2]&&"r"===a[3]&&"s"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=4,c=8);else if("W"===a[0]&&"e"===a[1]&&"d"===a[2]&&"n"===a[3]&&"e"===a[4]&&"s"===a[5]&&"d"===a[6]&&"a"===a[7]&&"y"===a[8])d=3,c=9;else{if("F"!==a[0]||"r"!==a[1]||"i"!==a[2]||"d"!==a[3]||"a"!==a[4]||"y"!==a[5])return;d=5,c=6}if(","!==a[c]||a.length-c-1!=23||" "!==a[c+1]||"-"!==a[c+4]||"-"!==a[c+8]||" "!==a[c+11]||":"!==a[c+14]||":"!==a[c+17]||" "!==a[c+20]||"G"!==a[c+21]||"M"!==a[c+22]||"T"!==a[c+23])return;let e=0;if("0"===a[c+2]){let b=a.charCodeAt(c+3);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(c+2);if(b<49||b>51)return;let d=a.charCodeAt(c+3);if(d<48||d>57)return;e=(b-48)*10+(d-48)}let f=-1;if("J"===a[c+5]&&"a"===a[c+6]&&"n"===a[c+7])f=0;else if("F"===a[c+5]&&"e"===a[c+6]&&"b"===a[c+7])f=1;else if("M"===a[c+5]&&"a"===a[c+6]&&"r"===a[c+7])f=2;else if("A"===a[c+5]&&"p"===a[c+6]&&"r"===a[c+7])f=3;else if("M"===a[c+5]&&"a"===a[c+6]&&"y"===a[c+7])f=4;else if("J"===a[c+5]&&"u"===a[c+6]&&"n"===a[c+7])f=5;else if("J"===a[c+5]&&"u"===a[c+6]&&"l"===a[c+7])f=6;else if("A"===a[c+5]&&"u"===a[c+6]&&"g"===a[c+7])f=7;else if("S"===a[c+5]&&"e"===a[c+6]&&"p"===a[c+7])f=8;else if("O"===a[c+5]&&"c"===a[c+6]&&"t"===a[c+7])f=9;else if("N"===a[c+5]&&"o"===a[c+6]&&"v"===a[c+7])f=10;else{if("D"!==a[c+5]||"e"!==a[c+6]||"c"!==a[c+7])return;f=11}let g=a.charCodeAt(c+9);if(g<48||g>57)return;let h=a.charCodeAt(c+10);if(h<48||h>57)return;let i=(g-48)*10+(h-48);i+=i<70?2e3:1900;let j=0;if("0"===a[c+12]){let b=a.charCodeAt(c+13);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(c+12);if(b<48||b>50)return;let d=a.charCodeAt(c+13);if(d<48||d>57||50===b&&d>51)return;j=(b-48)*10+(d-48)}let k=0;if("0"===a[c+15]){let b=a.charCodeAt(c+16);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(c+15);if(b<48||b>53)return;let d=a.charCodeAt(c+16);if(d<48||d>57)return;k=(b-48)*10+(d-48)}let l=0;if("0"===a[c+18]){let b=a.charCodeAt(c+19);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(c+18);if(b<48||b>53)return;let d=a.charCodeAt(c+19);if(d<48||d>57)return;l=(b-48)*10+(d-48)}return b(i,f,e,j,k,l,d)}(a)}}}},24464:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["runtime.us-east-1.kiro.dev","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"]}}},24547:(a,b,c)=>{var d=c(45654);c(63070);var e=d.asn1;b.privateKeyValidator={name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},b.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:e.Class.UNIVERSAL,type:e.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]}},24725:(a,b,c)=>{"use strict";function d(a){return`data: ${JSON.stringify(a)}
127
127
 
128
128
  `}function e({id:a,created:b,model:c,delta:f,finishReason:g=null}){return d({id:a,object:"chat.completion.chunk",created:b,model:c,choices:[{index:0,delta:f,finish_reason:g}]})}c.d(b,{N:()=>d,z:()=>e})},24976:(a,b,c)=>{"use strict";c.d(b,{JV:()=>s});var d=c(17438),e=c(71253),f=c(69353);function g(a,b){if(!b||"off"===b.strategy)return a;let c=[],d=0;for(;d<a.length;){let e=a[d].avgScore,g=d+1;for(;g<a.length&&15>=Math.abs(a[g].avgScore-e);)g+=1;let h=a.slice(d,g).map((a,c)=>({entry:a,index:c,rank:function(a,b){try{let c=b?.strategy;if(!c||"off"===c||"round-robin"===c)return 0;let d=(0,f.lc)(a),e=b.providerLatencyMs?.[d],g=Number.isFinite(b.guardMs)?b.guardMs:f.Qm,h=Number.isFinite(e)&&e>g?1e12:0;if("priority"===c){let a=(Array.isArray(b.providerOrder)?b.providerOrder:[]).indexOf(d);return(-1===a?1e9:a)+h}if("fastest"===c)return(Number.isFinite(e)?e:1/0)+h;if("quota-first"===c){let a=b.providerQuota?.[d],c=b.providerUsage?.[d];return(Number.isFinite(a)?100-a:1e6+(Number.isFinite(c)?c:0))+h}}catch{}return 0}(a.id,b)}));h.sort((a,b)=>a.rank<b.rank?-1:a.rank>b.rank?1:a.index-b.index),c.push(...h.map(({entry:a})=>a)),d=g}return c}let h=Object.freeze(["code-review","code-generate","mechanical-edit","debug","explain","chat","agentic-tools","vision","document","general"]),i="general",j=new Set(h),k=Object.freeze({review:"code-review",code_review:"code-review",codereview:"code-review",audit:"code-review",critique:"code-review",pr_review:"code-review",coding:"code-generate",code:"code-generate",codegen:"code-generate",code_generation:"code-generate",code_generate:"code-generate",generate:"code-generate",implement:"code-generate",implementation:"code-generate",feature:"code-generate",write_code:"code-generate",edit:"mechanical-edit",mechanical:"mechanical-edit",refactor:"mechanical-edit",refactoring:"mechanical-edit",rename:"mechanical-edit",reformat:"mechanical-edit",format:"mechanical-edit",boilerplate:"mechanical-edit",debug:"debug",debugging:"debug",bug:"debug",bugfix:"debug",error:"debug",fix:"debug",stacktrace:"debug",explain:"explain",explanation:"explain",summarize:"explain",summary:"explain",describe:"explain",docs_explain:"explain",chat:"chat",conversation:"chat",qa:"chat",question:"chat",general_chat:"chat",smalltalk:"chat",agentic:"agentic-tools",agent:"agentic-tools",agentic_tools:"agentic-tools",tools:"agentic-tools",tool_use:"agentic-tools",orchestration:"agentic-tools",vision:"vision",image:"vision",images:"vision",visual:"vision",ocr:"vision",document:"document",documents:"document",pdf:"document",file:"document",files:"document",doc:"document",general:"general",other:"general",misc:"general",unknown:"general"});function l(a){if("string"!=typeof a)return i;let b=a.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"");if(!b)return i;let c=b.replace(/_/g,"-");return j.has(c)?c:k[b]?k[b]:b.includes("review")||b.includes("audit")?"code-review":b.includes("debug")||b.includes("bug")||b.includes("error")?"debug":b.includes("refactor")||b.includes("rename")||b.includes("format")?"mechanical-edit":b.includes("explain")||b.includes("summ")?"explain":b.includes("vision")||b.includes("image")?"vision":b.includes("document")||b.includes("pdf")||b.includes("file")?"document":b.includes("agent")||b.includes("tool")?"agentic-tools":b.includes("chat")||b.includes("convers")?"chat":b.includes("code")||b.includes("gen")||b.includes("implement")?"code-generate":i}async function m(a,b={}){let c=b.minEvents??50,e=b.windowDays??14,f=b.source||"manual",g=b.maxFewShots??5,h=b.objective||"balanced",i=b.log,j=Array.isArray(b.pool)&&b.pool.length?new Set(b.pool.filter(Boolean)):null,k=new Date(Date.now()-864e5*e).toISOString(),q=await (0,d.f8)(a,k);if(q<c&&!b.force)return{ok:!1,promoted:!1,reason:"insufficient_events",message:`Need ${c-q} more requests before first learn (min ${c})`,eventCount:q,minEvents:c};let r=await (0,d.GU)(a,e),s=j?(r||[]).filter(a=>j.has(a.pickedWorker)):r,t=(await (0,d.Kx)(a,{days:e,limit:2e3,terminalOnly:!1})||[]).filter(a=>!j||j.has(a.pickedWorker)),u=(t||[]).filter(a=>(a.meta?.terminal===!0||a.meta?.terminal==null)&&!a.meta?.skippedRouter),v=n(t);if(0===Object.keys(v).length&&(v=function(a){let b={};for(let c of a||[]){let a=l(c.cluster),d=c.pickedWorker;if(!d)continue;b[a]||(b[a]={});let e=Number(c.n)||0,f=Number(c.avgScore)||0,g=null!=c.wins&&Number.isFinite(Number(c.wins))?Number(c.wins):Math.round(f/100*e);g=Math.max(0,Math.min(e,g));let h=Number(c.avgLatencyMs)||0,i=Number(c.avgTokensOut)||0,j=null!=c.p50LatencyMs&&Number.isFinite(Number(c.p50LatencyMs))?Number(c.p50LatencyMs):h,k=b[a][d];if(k){let c=k.attempts+e;b[a][d]={wins:Math.max(0,Math.min(c,k.wins+g)),attempts:c,avgScore:c?(k.avgScore*k.attempts+f*e)/c:0,avgLatencyMs:c?(k.avgLatencyMs*k.attempts+h*e)/c:0,p50LatencyMs:c?(k.p50LatencyMs*k.attempts+j*e)/c:0,avgTokensOut:c?(k.avgTokensOut*k.attempts+i*e)/c:0}}else b[a][d]={wins:g,attempts:e,avgScore:f,avgLatencyMs:h,p50LatencyMs:j,avgTokensOut:i}}return b}(s)),0===Object.keys(v).length)return{ok:!1,promoted:!1,reason:"empty_bandit",message:"No cluster\xd7worker stats in the learning window — refusing to promote an empty version",eventCount:q,minEvents:c};let w=function(a){let b=[];for(let[c,d]of Object.entries(a||{})){let a=Object.entries(d).map(([a,b])=>({id:a,...b})).filter(a=>a.attempts>=10).sort((a,b)=>b.avgScore-a.avgScore);if(!a.length)continue;let e=a[0],f=e.attempts?e.wins/e.attempts:0;if(a.length>=2){let d=a[1];e.avgScore-d.avgScore>15&&b.push(`For cluster "${c}", prefer ${e.id} (win rate ${Math.round(100*f)}%, n=${e.attempts})`)}else f>=.55&&b.push(`For cluster "${c}", prefer ${e.id} (win rate ${Math.round(100*f)}%, n=${e.attempts})`);if(a.length>=2){let d=a[a.length-1];d.id!==e.id&&e.avgScore-d.avgScore>15&&b.push(`Avoid ${d.id} for "${c}" when ${e.id} is available`)}}return b.slice(0,10)}(v),x=function(a){let b=[];for(let[c,d]of Object.entries(a||{})){let a=Object.entries(d).map(([a,b])=>({id:a,...b})).filter(a=>a.attempts>=10).sort((a,b)=>b.avgScore-a.avgScore);if(a.length<2)continue;let e=a[0],f=a[1];e.avgScore-f.avgScore<=15&&b.push(`no rule: "${c}" top two within 15 pts (${o(e.id)}=${Math.round(e.avgScore)} n=${e.attempts}, ${o(f.id)}=${Math.round(f.avgScore)} n=${f.attempts})`)}return b}(v),y=function(a,b=5){let c=Math.max(1,Math.min(20,Number(b)||5)),d=(a||[]).filter(a=>null!=a.outcomeScore&&a.outcomeScore>=85&&a.pickedWorker&&!a.meta?.skippedRouter),e=new Map;for(let a of d){let b=l(a.cluster);e.has(b)||e.set(b,[]),e.get(b).push(a)}let f=[],g=new Set,h=[...e.keys()],i=!0;for(;f.length<c&&i;)for(let a of(i=!1,h)){if(f.length>=c)break;let b=e.get(a)||[];for(b.sort((a,b)=>(b.outcomeScore||0)-(a.outcomeScore||0));b.length;){let a=b.shift(),c=a.requestFingerprint||`${a.cluster}|${a.pickedWorker}|${a.routerReason||""}`;if(!g.has(c)){g.add(c),f.push(function(a){let b="string"==typeof a.meta?.userSummary&&a.meta.userSummary||"string"==typeof a.meta?.intentSummary&&a.meta.intentSummary||"",c=b?b.replace(/\s+/g," ").trim().slice(0,120):(a.routerReason||`${a.cluster} → ${a.pickedWorker}`).slice(0,120);return{fingerprint:a.requestFingerprint,cluster:a.cluster,worker:a.pickedWorker,score:a.outcomeScore,summary:c}}(a)),i=!0;break}}}return f}(u,g),z=(u||[]).filter(a=>a.cluster&&a.pickedWorker&&null!=a.outcomeScore&&!a.meta?.skippedRouter).slice().sort((a,b)=>String(a.timestamp||"").localeCompare(String(b.timestamp||""))),A=z,B=z;if(z.length>=5){let a=Math.max(1,Math.floor(.3*z.length));A=z.slice(0,z.length-a),B=z.slice(z.length-a)}let C=A.length>0?A[A.length-1].timestamp:null,D=n(C?(t||[]).filter(a=>a.timestamp&&String(a.timestamp)<=String(C)&&!a.meta?.skippedRouter):t||[]);0===Object.keys(D).length&&(D=n(A));let E=p(Object.keys(D).length>0?D:v,B,h),F=await (0,d.p3)(a),G=F?.banditTable&&Object.keys(F.banditTable).length?p(F.banditTable,B,h):null,H=!0,I=`events=${q}; clusters=${Object.keys(v).length}; objective=${h}; holdout=${B.length}`;x.length&&(I+=`; ${x.slice(0,3).join("; ")}`),null!=G?E<G+2?(H=!1,I+=`; no promote (eval ${E.toFixed(1)} < old ${G.toFixed(1)} + 2)`,b.force&&(I+=" (force skipped min-events only)")):I+=`; eval ${E.toFixed(1)} (old ${G.toFixed(1)}, +${(E-G).toFixed(1)})`:I+=`; eval ${E.toFixed(1)} (first)`;let J=await (0,d.Hr)({comboName:a,source:f,banditTable:v,learnedRules:w,fewShots:y,evalScore:E,notes:I,promote:H,prevVersionId:F?.id||null}),K=H?`Promoted v${J.version}`:`Created v${J.version} but did not promote (no improvement)`;return i?.info?.("ROUTING_LEARN",F?`v${F.version}→v${J.version} eval ${G?.toFixed?.(1)??"—"}→${E.toFixed(1)} ${H?"promoted":"draft"}`:`v${J.version} eval ${E.toFixed(1)} ${H?"promoted":"draft"} (first)`),{ok:!0,promoted:H,version:J.version,evalScore:E,prevEvalScore:G,eventCount:q,message:K,id:J.id}}function n(a){let b={};for(let c of a||[]){if(c.meta?.skippedRouter)continue;let a=l(c.cluster),d=c.pickedWorker;if(!d||null==c.outcomeScore)continue;b[a]||(b[a]={}),b[a][d]||(b[a][d]={scoreSum:0,weightSum:0,weightSqSum:0,attempts_real:0,wins_real:0,lats:[],tokensOuts:[]});let e=b[a][d],f=Number(c.outcomeScore)||0,g=function(a){let b=a?.meta?.userRating;return 1===b||-1===b?5:a?.meta?.judgeAdjusted===!0?2:1}(c);e.scoreSum+=f*g,e.weightSum+=g,e.weightSqSum+=g*g,e.attempts_real+=1,e.wins_real+=+(f>=60),null!=c.workerLatencyMs&&Number.isFinite(Number(c.workerLatencyMs))&&e.lats.push(Number(c.workerLatencyMs)),null!=c.tokensOut&&Number.isFinite(Number(c.tokensOut))&&e.tokensOuts.push(Number(c.tokensOut))}let c={};for(let[a,d]of Object.entries(b))for(let[b,e]of(c[a]={},Object.entries(d))){let d=e.attempts_real,f=e.weightSum?e.scoreSum/e.weightSum:0,g=e.lats.length?e.lats.reduce((a,b)=>a+b,0)/e.lats.length:0,h=function(a){if(!a?.length)return null;let b=a.slice().sort((a,b)=>a-b),c=Math.floor(b.length/2);!0;return b.length%2==0?(b[c-1]+b[c])/2:b[c]}(e.lats),i=e.tokensOuts.length?e.tokensOuts.reduce((a,b)=>a+b,0)/e.tokensOuts.length:0;c[a][b]={wins:Math.max(0,Math.min(d,e.wins_real)),attempts:d,attemptsEff:e.weightSqSum?e.weightSum*e.weightSum/e.weightSqSum:d,avgScore:f,avgLatencyMs:g,p50LatencyMs:null!=h?h:g,avgTokensOut:i}}return c}function o(a){if(!a)return"?";let b=String(a).split("/");return b[b.length-1]||a}function p(a,b,c="balanced"){let d=(b||[]).filter(a=>a.cluster&&a.pickedWorker&&null!=a.outcomeScore&&!a.meta?.skippedRouter&&a.meta?.terminal!==!1);if(!d.length)return q(a);let f=0,h=0;for(let b of d){let d=a[l(b.cluster)];if(!d||!Object.keys(d).length){f+=Number(b.outcomeScore)||0,h+=1;continue}let i=function(a,b="balanced",c=null,d={}){if(!a||"object"!=typeof a)return null;let f=Object.entries(a).map(([a,b])=>({id:a,...b}));if(Array.isArray(c)&&c.length){let a=new Set(c);f=f.filter(b=>a.has(b.id))}if(!f.length)return null;let h=function(a,b="balanced",c={}){let d=c?.estInputTokens,f=new Map,h=(a||[]).map(a=>{let b={...a,avgScore:Number(a.avgScore)||0,attempts:Number(a.attempts)||0,p50:Number(a.p50LatencyMs)||Number(a.avgLatencyMs)||1/0,tier:function(a){if(!a)return 4;let[b,...c]=a.split("/"),d=c.join("/")||b,f=(0,e.getPricingForModel)(b,d);if(!f||"number"!=typeof f.input)return 4;let g="number"==typeof f.output?f.output:3*f.input,h=f.input+g;return h<2?0:h<10?1:h<30?2:h<80?3:4}(a.id)};return f.set(b,function(a,b,c){if(!a)return null;let[d,...f]=a.split("/"),g=f.join("/")||d,h=(0,e.getPricingForModel)(d,g);if(!h||"number"!=typeof h.input)return null;let i="number"==typeof h.output?h.output:3*h.input;return(Number(b)||0)/1e6*h.input+(Number(c)||0)/1e6*i}(a.id,d??0,a.avgTokensOut??500)),b});if(!h.length)return h;let i=Number.isFinite(d)&&d>0&&h.every(a=>null!=f.get(a)),j=b||"balanced";if("latency"===j)return g(h.sort((a,b)=>a.p50!==b.p50?a.p50-b.p50:b.avgScore-a.avgScore),c.providerBias);if("quality"===j)return g(h.sort((a,b)=>b.avgScore!==a.avgScore?b.avgScore-a.avgScore:a.tier-b.tier),c.providerBias);if("economy"===j){let a=Math.max(...h.map(a=>a.avgScore));return a>0?g(h.sort((b,c)=>{let d=b.avgScore>=.9*a,e=c.avgScore>=.9*a;return d&&e?i&&f.get(b)!==f.get(c)?f.get(b)-f.get(c):b.tier!==c.tier?b.tier-c.tier:c.avgScore-b.avgScore:d!==e?d?-1:1:c.avgScore!==b.avgScore?c.avgScore-b.avgScore:i&&f.get(b)!==f.get(c)?f.get(b)-f.get(c):b.tier-c.tier}),c.providerBias):g(h.sort((a,b)=>i&&f.get(a)!==f.get(b)?f.get(a)-f.get(b):a.tier!==b.tier?a.tier-b.tier:b.avgScore-a.avgScore),c.providerBias)}return g(h.sort((a,b)=>{let c=i?a.avgScore-50*f.get(a):a.avgScore-.001*a.tier,d=i?b.avgScore-50*f.get(b):b.avgScore-.001*b.tier;return d!==c?d-c:i&&f.get(a)!==f.get(b)?f.get(a)-f.get(b):a.tier-b.tier}),c.providerBias)}(f,b,d);return h[0]?.id||null}(d,c);if(!i){f+=Number(b.outcomeScore)||0,h+=1;continue}if(i===b.pickedWorker)f+=Number(b.outcomeScore)||0;else{let a=d[i];f+=a?.avgScore!=null?Number(a.avgScore):Math.max(0,(Number(b.outcomeScore)||0)-15)}h+=1}return h?f/h:q(a)}function q(a){let b=0,c=0;for(let d of Object.values(a||{}))for(let a of Object.values(d)){let d=Number(a.attempts)||0,e=Number(a.avgScore)||0;b+=d,c+=e*d}return b?c/b:50}let r=global.__autoLearnScheduler??={interval:null,running:!1,lastRunByCombo:{}};function s(a={}){if(r.interval)return;let b=a.log||console,c=()=>{u(b).catch(a=>b.warn?.("[ROUTING_LEARN] scheduler tick failed:",a?.message||a))};setTimeout(c,6e4),r.interval=setInterval(c,9e5),"function"==typeof r.interval.unref&&r.interval.unref(),b.info?.("[ROUTING_LEARN] scheduler started (tick every 15m)")}async function t(a){if(r.lastRunByCombo[a])return r.lastRunByCombo[a];try{let b=await (0,d.HP)(a);if(b){let c=Date.parse(b);if(Number.isFinite(c))return r.lastRunByCombo[a]=c,c}}catch{}return 0}async function u(a=console){if(r.running)return{skipped:!0,reason:"already_running"};r.running=!0;try{let b=await (0,d.mt)(),c=b?.comboStrategies||{},e=await (0,d.dC)().catch(()=>[]),f=Object.keys(c).filter(a=>c[a]?.fallbackStrategy==="auto"),g=[...new Set([...e,...f])],h=[],i=Date.now();for(let b of g){let e=c[b]||{};if("auto"!==e.fallbackStrategy||!1===e.learningEnabled||e.freezeLearning)continue;if(!e.routerModel){a.info?.("[ROUTING_LEARN]",`skip ${b}: no routerModel configured`);continue}let f=Number(e.autoLearnIntervalHours);if(!Number.isFinite(f)||f<=0)continue;let g=3600*f*1e3,j=await t(b);if(j>0&&i-j<g)continue;let k=e.autoTuning?.minEventsBeforeLearn??50,l=e.learningWindowDays??14,n=e.autoTuning?.maxFewShots??5,o=e.objective||"balanced";try{let c=null;try{let a=await (0,d.d_)(b),f=e.routerModel;c=(a||[]).filter(a=>a&&a!==f)}catch{c=null}let f=await m(b,{force:!1,source:"scheduled",minEvents:k,windowDays:l,maxFewShots:n,objective:o,pool:c,log:{info:(b,c)=>a.info?.(`[${b}] ${c}`),warn:(b,c)=>a.warn?.(`[${b}] ${c}`)}});r.lastRunByCombo[b]=i,h.push({comboName:b,...f}),f.ok&&a.info?.("[ROUTING_LEARN]",`scheduled ${b}: ${f.message}`)}catch(c){a.error?.("[ROUTING_LEARN]",`scheduled ${b} failed: ${c.message}`),h.push({comboName:b,ok:!1,error:c.message})}}return{ok:!0,results:h}}finally{r.running=!1}}},24985:(a,b,c)=>{var d=c(45654);c(33889),c(29984),c(4554);var e=a.exports=d.pkcs1=d.pkcs1||{};function f(a,b,c){c||(c=d.md.sha1.create());for(var e="",f=Math.ceil(b/c.digestLength),g=0;g<f;++g){var h=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);c.start(),c.update(a+h),e+=c.digest().getBytes()}return e.substring(0,b)}e.encode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0,h=arguments[4]||void 0):c&&(e=c.label||void 0,g=c.seed||void 0,h=c.md||void 0,c.mgf1&&c.mgf1.md&&(i=c.mgf1.md)),h?h.start():h=d.md.sha1.create(),i||(i=h);var e,g,h,i,j=Math.ceil(a.n.bitLength()/8),k=j-2*h.digestLength-2;if(b.length>k){var l=Error("RSAES-OAEP input message length is too long.");throw l.length=b.length,l.maxLength=k,l}e||(e=""),h.update(e,"raw");for(var m=h.digest(),n="",o=k-b.length,p=0;p<o;p++)n+="\0";var q=m.getBytes()+n+"\x01"+b;if(g){if(g.length!==h.digestLength){var l=Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=g.length,l.digestLength=h.digestLength,l}}else g=d.random.getBytes(h.digestLength);var r=f(g,j-h.digestLength-1,i),s=d.util.xorBytes(q,r,q.length),t=f(s,h.digestLength,i);return"\0"+d.util.xorBytes(g,t,g.length)+s},e.decode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0):c&&(e=c.label||void 0,g=c.md||void 0,c.mgf1&&c.mgf1.md&&(h=c.mgf1.md));var e,g,h,i=Math.ceil(a.n.bitLength()/8);if(b.length!==i){var j=Error("RSAES-OAEP encoded message length is invalid.");throw j.length=b.length,j.expectedLength=i,j}if(void 0===g?g=d.md.sha1.create():g.start(),h||(h=g),i<2*g.digestLength+2)throw Error("RSAES-OAEP key is too short for the hash function.");e||(e=""),g.update(e,"raw");for(var k=g.digest().getBytes(),l=b.charAt(0),m=b.substring(1,g.digestLength+1),n=b.substring(1+g.digestLength),o=f(n,g.digestLength,h),p=f(d.util.xorBytes(m,o,m.length),i-g.digestLength-1,h),q=d.util.xorBytes(n,p,n.length),r=q.substring(0,g.digestLength),j="\0"!==l,s=0;s<g.digestLength;++s)j|=k.charAt(s)!==r.charAt(s);for(var t=1,u=g.digestLength,v=g.digestLength;v<q.length;v++){var w=q.charCodeAt(v),x=1&w^1;j|=w&65534*!!t,t&=x,u+=t}if(j||1!==q.charCodeAt(u))throw Error("Invalid RSAES-OAEP padding.");return q.substring(u+1)}},25720:(a,b,c)=>{"use strict";c(55511),c(10793),c(70625)},25814:(a,b,c)=>{"use strict";c(40106);let d=c(7344),e=(c(35689),c(61330),c(34441),c(37417)),f=(c(74399),c(48841)),g=(c(64156),c(43086),c(95095),c(53552),c(61448)),h=c(84285),{InvalidArgumentError:i}=g,j=c(99528),{MockCallHistory:k,MockCallHistoryLog:l}=(c(55285),c(66498),c(21523)),{getGlobalDispatcher:m,setGlobalDispatcher:n}=(c(65630),c(86625),c(89512),c(28998),c(31825),c(59970));function o(a){return(b,c,d)=>{if("function"==typeof c&&(d=c,c=null),!b||"string"!=typeof b&&"object"!=typeof b&&!(b instanceof URL))throw new i("invalid url");if(null!=c&&"object"!=typeof c)throw new i("invalid opts");if(c&&null!=c.path){if("string"!=typeof c.path)throw new i("invalid opts.path");let a=c.path;c.path.startsWith("/")||(a=`/${a}`),b=new URL(h.parseOrigin(b).origin+a)}else c||(c="object"==typeof b?b:{}),b=h.parseURL(b);let{agent:e,dispatcher:f=m(),...g}=c;if(e)throw new i("unsupported opts.agent. Did you mean opts.client?");return a.call(f,{...g,origin:b.origin,path:b.search?`${b.pathname}${b.search}`:b.pathname,method:c.method||(c.body?"PUT":"GET")},d)}}c(60823),c(67519),Object.assign(d.prototype,j),a.exports.g6=e,a.exports.ProxyAgent=f,c(70707),c(47335),c(78075),c(87085),c(27060),c(19431),c(37858),c(90249),c(38650),c(20579),h.parseHeaders,h.headerNameToString;let p=c(76403).fetch,q=__filename;a.exports.hd=function(b,c){return p(b,c).catch(b=>{throw q?!function a(b,c){if(!b||"object"!=typeof b)return;let d="string"==typeof b.stack?b.stack:"",e=c.replace(/\\/g,"/");if(d&&(d.includes(c)||d.includes(e)))return;let f={};if(Error.captureStackTrace(f,a),!f.stack)return;let g=f.stack.split("\n").slice(1).join("\n");b.stack=d?`${d}
129
- ${g}`:f.stack}(b,q):b&&"object"==typeof b&&Error.captureStackTrace(b,a.exports.hd),b})},a.exports.Headers=c(28665).Headers,a.exports.Response=c(78196).Response,a.exports.Request=c(12600).Request,a.exports.FormData=c(2887).FormData;let{setGlobalOrigin:r,getGlobalOrigin:s}=c(79412),{CacheStorage:t}=c(49166),{kConstruct:u}=c(49176);new t(u);let{deleteCookie:v,getCookies:w,getSetCookies:x,setCookie:y,parseCookie:z}=c(70106),{parseMIMEType:A,serializeAMimeType:B}=c(16537),{CloseEvent:C,ErrorEvent:D,MessageEvent:E}=c(51753),{WebSocket:F,ping:G}=c(52039);a.exports.kb=F,a.exports.rd=C,a.exports.NN=D,a.exports.aM=E,c(42430).WebSocketStream,c(87404).WebSocketError,o(j.request),o(j.stream),o(j.pipeline),o(j.connect),o(j.upgrade);let{EventSource:H}=c(47703);a.exports.GD=H},26317:(a,b,c)=>{"use strict";c.d(b,{Vp:()=>f,nE:()=>e});let d={none:0,minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3};function e(a){if(a)return d[String(a).toLowerCase()]}function f(a){return!a||a<=0?null:a<=2048?"low":a<=16384?"medium":"high"}},26376:(a,b,c)=>{"use strict";let{makeRequest:d}=c(12600);a.exports={isValidLastEventId:function(a){return -1===a.indexOf("\0")},isASCIINumber:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(48>a.charCodeAt(b)||a.charCodeAt(b)>57)return!1;return!0},createPotentialCORSRequest:function(a,b,c,e){let f="no cors"===c?"no-cors":"cors";e&&"no-cors"===f&&(f="same-origin");let g="include";return"anonymous"===c&&(g="same-origin"),d({urlList:[a],destination:b,mode:f,credentials:g,useURLCredentials:!0})}}},26408:(a,b,c)=>{"use strict";c.d(b,{$q:()=>h,ni:()=>l,W$:()=>j});var d=c(71553),e=c(25814);let f=[{sig:[137,80,78,71],offset:0,mime:"image/png"},{sig:[255,216,255],offset:0,mime:"image/jpeg"},{sig:[71,73,70,56],offset:0,mime:"image/gif"},{sig:[82,73,70,70],offset:0,mime:"image/webp",verifyWebp:!0},{sig:[66,77],offset:0,mime:"image/bmp"}],g=new Set(["localhost","127.0.0.1","0.0.0.0","::1","169.254.169.254","metadata.google.internal"]);function h(a,b){return`data:${a};base64,${b}`}let i=/^data:([^;]+);base64,([\s\S]+)$/;function j(a){if("string"!=typeof a)return null;let b=a.match(i);return b?{mimeType:b[1],base64:b[2]}:null}async function k(a){if(!a||g.has(a.toLowerCase()))return null;try{let b=await (0,d.lookup)(a,{all:!0});if(!b.length||b.some(a=>(function(a){if(!a||"::1"===a||a.startsWith("fc")||a.startsWith("fd")||a.startsWith("fe80"))return!0;let b=(a.includes(".")?a.split(":").pop():a).split(".").map(a=>Number.parseInt(a,10));if(4!==b.length||b.some(a=>Number.isNaN(a)))return!a.includes(":");let[c,d]=b;return 10===c||127===c||0===c||172===c&&d>=16&&d<=31||192===c&&168===d||169===c&&254===d||100===c&&d>=64&&d<=127||!1})(a.address)))return null;return b}catch{return null}}async function l(a,b={}){let c,{signal:d,timeoutMs:g=1e4,maxBytes:h=0xa00000}=b;if(!a||!a.startsWith("http://")&&!a.startsWith("https://"))return null;try{c=new URL(a)}catch{return null}let i=await k(c.hostname);if(!i)return null;let j=new AbortController,m=d?null:setTimeout(()=>j.abort(),g),n=d||j.signal,o=new e.g6({connect:{lookup:(a,b,c)=>c(null,[{address:i[0].address,family:i[0].family}])}});try{let b=await fetch(a,{signal:n,redirect:"manual",dispatcher:o});if(!b.ok||!b.body)return null;let c=b.body.getReader(),d=[],e=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;if((e+=b.length)>h){try{await c.cancel()}catch{}return null}d.push(b)}let g=Buffer.concat(d.map(a=>Buffer.from(a))),i=function(a){for(let{sig:b,offset:c,mime:d,verifyWebp:e}of f){if(a.length<c+b.length)continue;let f=!0;for(let d=0;d<b.length;d++)if(a[c+d]!==b[d]){f=!1;break}if(f&&(!e||a.length>=12&&87===a[8]&&69===a[9]&&66===a[10]&&80===a[11]))return d}return null}(g);if(!i)return null;return{url:`data:${i};base64,${g.toString("base64")}`,mimeType:i}}catch{return null}finally{m&&clearTimeout(m),o.close().catch(()=>{})}}},26757:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,InvalidReturnValueError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);function k(){}class l extends e{constructor(a,b,c){if(!a||"object"!=typeof a)throw new f("invalid opts");const{signal:d,method:e,opaque:g,body:j,onInfo:l,responseHeaders:m}=a;try{if("function"!=typeof c)throw new f("invalid callback");if("function"!=typeof b)throw new f("invalid factory");if(d&&"function"!=typeof d.on&&"function"!=typeof d.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");if("CONNECT"===e)throw new f("invalid method");if(l&&"function"!=typeof l)throw new f("invalid onInfo callback");super("UNDICI_STREAM")}catch(a){throw h.isStream(j)&&h.destroy(j.on("error",k),a),a}this.responseHeaders=m||null,this.opaque=g||null,this.factory=b,this.callback=c,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=j,this.onInfo=l||null,h.isStream(j)&&j.on("error",a=>{this.onResponseError(this.controller,a)}),i(this,d)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){var e;let f,i,j,k,l,{factory:m,opaque:n,context:o,responseHeaders:p}=this,q=a?.rawHeaders,r="raw"===p?h.parseRawHeaders(q):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:r});return}if(this.factory=null,null===m)return;let s=this.runInAsyncScope(m,null,{statusCode:b,headers:r,opaque:n,context:o});if(!s||"function"!=typeof s.write||"function"!=typeof s.end||"function"!=typeof s.on)throw new g("expected Writable");e=(a,b)=>{let{callback:c,res:d,opaque:e,trailers:f,abort:g}=this;this.res=null,(a||!d?.readable)&&h.destroy(d,b?void 0:a),this.callback=null,this.runInAsyncScope(c,null,a||null,{opaque:e,trailers:f}),a&&g(a)},f=!1,i=(a,b=!1)=>{f||(f=!0,s.removeListener("close",j),s.removeListener("error",k),s.removeListener("finish",l),e(a,b))},j=()=>{let a;i(s.errored??s.writableErrored??s._writableState?.errored??(s.writableFinished?void 0:((a=Error("Premature close")).code="ERR_STREAM_PREMATURE_CLOSE",a)))},k=a=>i(a,!0),l=()=>i(),s.on("close",j),s.on("error",k),s.on("finish",l),s.closed?process.nextTick(j):s.writableFinished&&process.nextTick(l),s.on("drain",()=>a.resume()),this.res=s,!0===(void 0!==s.writableNeedDrain?s.writableNeedDrain:s._writableState?.needDrain)&&a.pause()}onResponseData(a,b){let{res:c}=this;c&&!1===c.write(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;j(this),c&&(b&&"object"==typeof b&&(this.trailers=b),c.end())}onResponseError(a,b){let{res:c,callback:d,opaque:e,body:f}=this;j(this),this.factory=null,c?(this.res=null,h.destroy(c,b)):d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:e})})),f&&(this.body=null,h.destroy(f,b))}}a.exports=function a(b,c,d){if(void 0===d)return new Promise((d,e)=>{a.call(this,b,c,(a,b)=>a?e(a):d(b))});try{let a=new l(b,c,d);this.dispatch(b,a)}catch(c){if("function"!=typeof d)throw c;let a=b?.opaque;queueMicrotask(()=>d(c,{opaque:a}))}}},27060:(a,b,c)=>{"use strict";let{isIP:d}=c(77030),{lookup:e}=c(40610),f=c(60823),{InvalidArgumentError:g,InformationalError:h}=c(61448);function i(a){return"string"==typeof a&&"host"===a.toLowerCase()}function j(a,b){let c=function(a){let b;if(null==a)return null;if(Array.isArray(a)){if(0===a.length||!Array.isArray(a[0]))return a;let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}if("object"==typeof a&&(b=Object.getPrototypeOf(a),Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator])){let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}return a}(b);return!function(a){if(null==a)return!1;if(Array.isArray(a)){if(0===a.length)return!1;for(let b=0;b<a.length;b+=2)if(i(a[b]))return!0;return!1}if("object"==typeof a){for(let b in a)if(i(b))return!0}return!1}(c)?Array.isArray(c)?["host",a,...c]:c&&"object"==typeof c?{host:a,...c}:{host:a}:c}class k{#t=0;#u=new Map;constructor(a){this.#t=a.maxItems}get size(){return this.#u.size}get(a){return this.#u.get(a)??null}set(a,b){this.#u.set(a,b)}delete(a){this.#u.delete(a)}full(){return this.size>=this.#t}}class l{#v=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(a){this.#v=a.maxTTL,this.#t=a.maxItems,this.dualStack=a.dualStack,this.affinity=a.affinity,this.lookup=a.lookup??this.#w,this.pick=a.pick??this.#x,this.storage=a.storage??new k(a)}runLookup(a,b,c){let d=this.storage.get(a.hostname);if(null==d&&this.storage.full())return void c(null,a);let e={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...b.dns,maxTTL:this.#v,maxItems:this.#t};if(null==d)this.lookup(a,e,(b,d)=>{let f;if(b||null==d||0===d.length)return void c(b??new h("No DNS entries found"));this.setRecords(a,d);let g=this.storage.get(a.hostname),i=this.pick(a,g,e.affinity);f="number"==typeof i.port?`:${i.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===i.family?`[${i.address}]`:i.address}${f}`))});else{let f,g=this.pick(a,d,e.affinity);if(null==g){this.storage.delete(a.hostname),this.runLookup(a,b,c);return}f="number"==typeof g.port?`:${g.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===g.family?`[${g.address}]`:g.address}${f}`))}}#w(a,b,c){e(a.hostname,{all:!0,family:!1===this.dualStack?this.affinity:0,order:"ipv4first"},(a,b)=>{if(a)return c(a);let d=new Map;for(let a of b)d.set(`${a.address}:${a.family}`,a);c(null,d.values())})}#x(a,b,c){let d,e=null,{records:f,offset:g}=b;if(this.dualStack?(null==c&&(null==g||0x7fffffff===g?(b.offset=0,c=4):(b.offset++,c=(1&b.offset)==1?6:4)),d=null!=f[c]&&f[c].ips.length>0?f[c]:f[4===c?6:4]):d=f[c],null==d||0===d.ips.length)return e;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let h=d.offset%d.ips.length;return null==(e=d.ips[h]??null)?e:Date.now()-e.timestamp>e.ttl?(d.ips.splice(h,1),this.pick(a,b,c)):e}pickFamily(a,b){let c=this.storage.get(a.hostname)?.records;if(!c)return null;let d=c[b];if(!d)return null;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let e=d.offset%d.ips.length,f=d.ips[e]??null;return null==f||Date.now()-f.timestamp>f.ttl&&d.ips.splice(e,1),f}setRecords(a,b){let c=Date.now(),d={records:{4:null,6:null}},e=this.#v;for(let a of b){a.timestamp=c,"number"==typeof a.ttl?(a.ttl=Math.min(a.ttl,this.#v),e=Math.min(e,a.ttl)):a.ttl=this.#v;let b=d.records[a.family]??{ips:[]};b.ips.push(a),d.records[a.family]=b}this.storage.set(a.hostname,d,{ttl:e})}deleteRecords(a){this.storage.delete(a.hostname)}getHandler(a,b){return new m(this,a,b)}}class m extends f{#a=null;#y=null;#z=null;#A=null;#B=null;#C=null;#D=!0;constructor(a,{origin:b,handler:c,dispatch:d,newOrigin:e},f){super(c),this.#A=b,this.#C=e,this.#y={...f},this.#a=a,this.#z=d}onResponseError(a,b){switch(b.code){case"ETIMEDOUT":case"ECONNREFUSED":if(this.#a.dualStack){let c;if(!this.#D)return void super.onResponseError(a,b);this.#D=!1;let d="["===this.#C.hostname[0]?4:6,e=this.#a.pickFamily(this.#A,d);if(null==e)return void super.onResponseError(a,b);c="number"==typeof e.port?`:${e.port}`:""!==this.#A.port?`:${this.#A.port}`:"";let f={...this.#y,origin:`${this.#A.protocol}//${6===e.family?`[${e.address}]`:e.address}${c}`,headers:j(this.#A.host,this.#y.headers)};this.#z(f,this);return}super.onResponseError(a,b);break;case"ENOTFOUND":this.#a.deleteRecords(this.#A),super.onResponseError(a,b);break;default:super.onResponseError(a,b)}}}a.exports=a=>{let b;if(a?.maxTTL!=null&&("number"!=typeof a?.maxTTL||a?.maxTTL<0))throw new g("Invalid maxTTL. Must be a positive number");if(a?.maxItems!=null&&("number"!=typeof a?.maxItems||a?.maxItems<1))throw new g("Invalid maxItems. Must be a positive number and greater than zero");if(a?.affinity!=null&&a?.affinity!==4&&a?.affinity!==6)throw new g("Invalid affinity. Must be either 4 or 6");if(a?.dualStack!=null&&"boolean"!=typeof a?.dualStack)throw new g("Invalid dualStack. Must be a boolean");if(a?.lookup!=null&&"function"!=typeof a?.lookup)throw new g("Invalid lookup. Must be a function");if(a?.pick!=null&&"function"!=typeof a?.pick)throw new g("Invalid pick. Must be a function");if(a?.storage!=null&&("function"!=typeof a?.storage?.get||"function"!=typeof a?.storage?.set||"function"!=typeof a?.storage?.full||"function"!=typeof a?.storage?.delete))throw new g("Invalid storage. Must be a object with methods: { get, set, full, delete }");let c=a?.dualStack??!0;b=c?a?.affinity??null:a?.affinity??4;let e=new l({maxTTL:a?.maxTTL??1e4,lookup:a?.lookup??null,pick:a?.pick??null,dualStack:c,affinity:b,maxItems:a?.maxItems??1/0,storage:a?.storage});return a=>function(b,c){if(null==b.origin)return a(b,c);let f=b.origin.constructor===URL?b.origin:new URL(b.origin);return 0!==d(f.hostname)?a(b,c):(e.runLookup(f,b,(d,g)=>{if(d)return c.onResponseError(null,d);a({...b,servername:f.hostname,origin:g.origin,headers:j(f.host,b.headers)},e.getHandler({origin:f,dispatch:a,handler:c,newOrigin:g},b))}),!0)}}},27080:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(38627),c(49345),c(94463),c(29984),c(4554),c(33889);var e=function(a,b,c,e){var f=d.util.createBuffer(),g=a.length>>1,h=g+(1&a.length),i=a.substr(0,h),j=a.substr(g,h),k=d.util.createBuffer(),l=d.hmac.create();c=b+c;var m=Math.ceil(e/16),n=Math.ceil(e/20);l.start("MD5",i);var o=d.util.createBuffer();k.putBytes(c);for(var p=0;p<m;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),o.putBuffer(l.digest());l.start("SHA1",j);var q=d.util.createBuffer();k.clear(),k.putBytes(c);for(var p=0;p<n;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),q.putBuffer(l.digest());return f.putBytes(d.util.xorBytes(o.getBytes(),q.getBytes(),e)),f},f=function(a,b,c){var e=!1;try{var f=a.deflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},g=function(a,b,c){var e=!1;try{var f=a.inflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},h=function(a,b){var c=0;switch(b){case 1:c=a.getByte();break;case 2:c=a.getInt16();break;case 3:c=a.getInt24();break;case 4:c=a.getInt32()}return d.util.createBuffer(a.getBytes(c))},i=function(a,b,c){a.putInt(c.length(),b<<3),a.putBuffer(c)},j={};j.Versions={TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}},j.SupportedVersions=[j.Versions.TLS_1_1,j.Versions.TLS_1_0],j.Version=j.SupportedVersions[0],j.MaxFragment=15360,j.ConnectionEnd={server:0,client:1},j.PRFAlgorithm={tls_prf_sha256:0},j.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},j.CipherType={stream:0,block:1,aead:2},j.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},j.CompressionMethod={none:0,deflate:1},j.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},j.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},j.Alert={},j.Alert.Level={warning:1,fatal:2},j.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},j.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},j.CipherSuites={},j.getCipherSuite=function(a){var b=null;for(var c in j.CipherSuites){var d=j.CipherSuites[c];if(d.id[0]===a.charCodeAt(0)&&d.id[1]===a.charCodeAt(1)){b=d;break}}return b},j.handleUnexpected=function(a,b){(a.open||a.entity!==j.ConnectionEnd.client)&&a.error(a,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})},j.handleHelloRequest=function(a,b,c){!a.handshaking&&a.handshakes>0&&(j.queue(a,j.createAlert(a,{level:j.Alert.Level.warning,description:j.Alert.Description.no_renegotiation})),j.flush(a)),a.process()},j.parseHelloMessage=function(a,b,c){var e=null,f=a.entity===j.ConnectionEnd.client;if(c<38)a.error(a,{message:f?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});else{var g=b.fragment,i=g.length();if(e={version:{major:g.getByte(),minor:g.getByte()},random:d.util.createBuffer(g.getBytes(32)),session_id:h(g,1),extensions:[]},f?(e.cipher_suite=g.getBytes(2),e.compression_method=g.getByte()):(e.cipher_suites=h(g,2),e.compression_methods=h(g,1)),(i=c-(i-g.length()))>0){for(var k=h(g,2);k.length()>0;)e.extensions.push({type:[k.getByte(),k.getByte()],data:h(k,2)});if(!f)for(var l=0;l<e.extensions.length;++l){var m=e.extensions[l];if(0===m.type[0]&&0===m.type[1])for(var n=h(m.data,2);n.length()>0&&0===n.getByte();)a.session.extensions.server_name.serverNameList.push(h(n,2).getBytes())}}if(a.session.version&&(e.version.major!==a.session.version.major||e.version.minor!==a.session.version.minor))return a.error(a,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});if(f)a.session.cipherSuite=j.getCipherSuite(e.cipher_suite);else for(var o=d.util.createBuffer(e.cipher_suites.bytes());o.length()>0&&(a.session.cipherSuite=j.getCipherSuite(o.getBytes(2)),null===a.session.cipherSuite););if(null===a.session.cipherSuite)return a.error(a,{message:"No cipher suites in common.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure},cipherSuite:d.util.bytesToHex(e.cipher_suite)});f?a.session.compressionMethod=e.compression_method:a.session.compressionMethod=j.CompressionMethod.none}return e},j.createSecurityParameters=function(a,b){var c=a.entity===j.ConnectionEnd.client,d=b.random.bytes(),e=c?a.session.sp.client_random:d,f=c?d:j.createRandom().getBytes();a.session.sp={entity:a.entity,prf_algorithm:j.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:a.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:e,server_random:f}},j.handleServerHello=function(a,b,c){var d=j.parseHelloMessage(a,b,c);if(!a.fail){if(!(d.version.minor<=a.version.minor))return a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});a.version.minor=d.version.minor,a.session.version=a.version;var e=d.session_id.bytes();e.length>0&&e===a.session.id?(a.expect=o,a.session.resuming=!0,a.session.sp.server_random=d.random.bytes()):(a.expect=k,a.session.resuming=!1,j.createSecurityParameters(a,d)),a.session.id=e,a.process()}},j.handleClientHello=function(a,b,c){var e,f=j.parseHelloMessage(a,b,c);if(!a.fail){var g=f.session_id.bytes(),h=null;if(a.sessionCache&&(null===(h=a.sessionCache.getSession(g))?g="":(h.version.major!==f.version.major||h.version.minor>f.version.minor)&&(h=null,g="")),0===g.length&&(g=d.random.getBytes(32)),a.session.id=g,a.session.clientHelloVersion=f.version,a.session.sp={},h)a.version=a.session.version=h.version,a.session.sp=h.sp;else{for(var i=1;i<j.SupportedVersions.length&&!((e=j.SupportedVersions[i]).minor<=f.version.minor);++i);a.version={major:e.major,minor:e.minor},a.session.version=a.version}null!==h?(a.expect=v,a.session.resuming=!0,a.session.sp.client_random=f.random.bytes()):(a.expect=!1!==a.verifyClient?s:t,a.session.resuming=!1,j.createSecurityParameters(a,f)),a.open=!0,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHello(a)})),a.session.resuming?(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))):(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)})),a.fail||(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerKeyExchange(a)})),!1!==a.verifyClient&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateRequest(a)})),j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHelloDone(a)})))),j.flush(a),a.process()}},j.handleCertificate=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e,f,g={certificate_list:h(b.fragment,3)},i=[];try{for(;g.certificate_list.length()>0;)e=h(g.certificate_list,3),f=d.asn1.fromDer(e),e=d.pki.certificateFromAsn1(f,!0),i.push(e)}catch(b){return a.error(a,{message:"Could not parse certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var k=a.entity===j.ConnectionEnd.client;(k||!0===a.verifyClient)&&0===i.length?a.error(a,{message:k?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}}):0===i.length?a.expect=k?l:t:(k?a.session.serverCertificate=i[0]:a.session.clientCertificate=i[0],j.verifyCertificateChain(a,i)&&(a.expect=k?l:t)),a.process()},j.handleServerKeyExchange=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});a.expect=m,a.process()},j.handleClientKeyExchange=function(a,b,c){if(c<48)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});var e={enc_pre_master_secret:h(b.fragment,2).getBytes()},f=null;if(a.getPrivateKey)try{f=a.getPrivateKey(a,a.session.serverCertificate),f=d.pki.privateKeyFromPem(f)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}if(null===f)return a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}});try{var g=a.session.sp;g.pre_master_secret=f.decrypt(e.enc_pre_master_secret);var i=a.session.clientHelloVersion;if(i.major!==g.pre_master_secret.charCodeAt(0)||i.minor!==g.pre_master_secret.charCodeAt(1))throw Error("TLS version rollback attack detected.")}catch(a){g.pre_master_secret=d.random.getBytes(48)}a.expect=v,null!==a.session.clientCertificate&&(a.expect=u),a.process()},j.handleCertificateRequest=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var d=b.fragment,e={certificate_types:h(d,1),certificate_authorities:h(d,2)};a.session.certificateRequest=e,a.expect=n,a.process()},j.handleCertificateVerify=function(a,b,c){if(c<2)return a.error(a,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e=b.fragment;e.read-=4;var f=e.bytes();e.read+=4;var g={signature:h(e,2).getBytes()},i=d.util.createBuffer();i.putBuffer(a.session.md5.digest()),i.putBuffer(a.session.sha1.digest()),i=i.getBytes();try{if(!a.session.clientCertificate.publicKey.verify(i,g.signature,"NONE"))throw Error("CertificateVerify signature does not match.");a.session.md5.update(f),a.session.sha1.update(f)}catch(b){return a.error(a,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure}})}a.expect=v,a.process()},j.handleServerHelloDone=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.record_overflow}});if(null===a.serverCertificate){var e={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.insufficient_security}},f=a.verify(a,e.alert.description,0,[]);if(!0!==f)return(f||0===f)&&("object"!=typeof f||d.util.isArray(f)?"number"==typeof f&&(e.alert.description=f):(f.message&&(e.message=f.message),f.alert&&(e.alert.description=f.alert))),a.error(a,e)}null!==a.session.certificateRequest&&(b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)}),j.queue(a,b)),b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createClientKeyExchange(a)}),j.queue(a,b),a.expect=r;var g=function(a,b){null!==a.session.certificateRequest&&null!==a.session.clientCertificate&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateVerify(a,b)})),j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)})),a.expect=o,j.flush(a),a.process()};if(null===a.session.certificateRequest||null===a.session.clientCertificate)return g(a,null);j.getClientSignature(a,g)},j.handleChangeCipherSpec=function(a,b){if(1!==b.fragment.getByte())return a.error(a,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var c=a.entity===j.ConnectionEnd.client;(a.session.resuming&&c||!a.session.resuming&&!c)&&(a.state.pending=j.createConnectionState(a)),a.state.current.read=a.state.pending.read,(!a.session.resuming&&c||a.session.resuming&&!c)&&(a.state.pending=null),a.expect=c?p:w,a.process()},j.handleFinished=function(a,b,c){var f=b.fragment;f.read-=4;var g=f.bytes();f.read+=4;var h=b.fragment.getBytes();(f=d.util.createBuffer()).putBuffer(a.session.md5.digest()),f.putBuffer(a.session.sha1.digest());var i=a.entity===j.ConnectionEnd.client;if((f=e(a.session.sp.master_secret,i?"server finished":"client finished",f.getBytes(),12)).getBytes()!==h)return a.error(a,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decrypt_error}});a.session.md5.update(g),a.session.sha1.update(g),(a.session.resuming&&i||!a.session.resuming&&!i)&&(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.current.write=a.state.pending.write,a.state.pending=null,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))),a.expect=i?q:x,a.handshaking=!1,++a.handshakes,a.peerCertificate=i?a.session.serverCertificate:a.session.clientCertificate,j.flush(a),a.isConnected=!0,a.connected(a),a.process()},j.handleAlert=function(a,b){var c,d=b.fragment,e={level:d.getByte(),description:d.getByte()};switch(e.description){case j.Alert.Description.close_notify:c="Connection closed.";break;case j.Alert.Description.unexpected_message:c="Unexpected message.";break;case j.Alert.Description.bad_record_mac:c="Bad record MAC.";break;case j.Alert.Description.decryption_failed:c="Decryption failed.";break;case j.Alert.Description.record_overflow:c="Record overflow.";break;case j.Alert.Description.decompression_failure:c="Decompression failed.";break;case j.Alert.Description.handshake_failure:c="Handshake failure.";break;case j.Alert.Description.bad_certificate:c="Bad certificate.";break;case j.Alert.Description.unsupported_certificate:c="Unsupported certificate.";break;case j.Alert.Description.certificate_revoked:c="Certificate revoked.";break;case j.Alert.Description.certificate_expired:c="Certificate expired.";break;case j.Alert.Description.certificate_unknown:c="Certificate unknown.";break;case j.Alert.Description.illegal_parameter:c="Illegal parameter.";break;case j.Alert.Description.unknown_ca:c="Unknown certificate authority.";break;case j.Alert.Description.access_denied:c="Access denied.";break;case j.Alert.Description.decode_error:c="Decode error.";break;case j.Alert.Description.decrypt_error:c="Decrypt error.";break;case j.Alert.Description.export_restriction:c="Export restriction.";break;case j.Alert.Description.protocol_version:c="Unsupported protocol version.";break;case j.Alert.Description.insufficient_security:c="Insufficient security.";break;case j.Alert.Description.internal_error:c="Internal error.";break;case j.Alert.Description.user_canceled:c="User canceled.";break;case j.Alert.Description.no_renegotiation:c="Renegotiation not supported.";break;default:c="Unknown error."}if(e.description===j.Alert.Description.close_notify)return a.close();a.error(a,{message:c,send:!1,origin:a.entity===j.ConnectionEnd.client?"server":"client",alert:e}),a.process()},j.handleHandshake=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt24();if(f>c.length())return a.fragmented=b,b.fragment=d.util.createBuffer(),c.read-=4,a.process();a.fragmented=null,c.read-=4;var g=c.bytes(f+4);c.read+=4,e in M[a.entity][a.expect]?(a.entity!==j.ConnectionEnd.server||a.open||a.fail||(a.handshaking=!0,a.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:d.md.md5.create(),sha1:d.md.sha1.create()}),e!==j.HandshakeType.hello_request&&e!==j.HandshakeType.certificate_verify&&e!==j.HandshakeType.finished&&(a.session.md5.update(g),a.session.sha1.update(g)),M[a.entity][a.expect][e](a,b,f)):j.handleUnexpected(a,b)},j.handleApplicationData=function(a,b){a.data.putBuffer(b.fragment),a.dataReady(a),a.process()},j.handleHeartbeat=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt16(),g=c.getBytes(f);if(e===j.HeartbeatMessageType.heartbeat_request){if(a.handshaking||f>g.length)return a.process();j.queue(a,j.createRecord(a,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_response,g)})),j.flush(a)}else if(e===j.HeartbeatMessageType.heartbeat_response){if(g!==a.expectedHeartbeatPayload)return a.process();a.heartbeatReceived&&a.heartbeatReceived(a,d.util.createBuffer(g))}a.process()};var k=1,l=2,m=3,n=4,o=5,p=6,q=7,r=8,s=1,t=2,u=3,v=4,w=5,x=6,y=j.handleUnexpected,z=j.handleChangeCipherSpec,A=j.handleAlert,B=j.handleHandshake,C=j.handleApplicationData,D=j.handleHeartbeat,E=[];E[j.ConnectionEnd.client]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]],E[j.ConnectionEnd.server]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]];var F=j.handleHelloRequest,G=j.handleServerHello,H=j.handleCertificate,I=j.handleServerKeyExchange,J=j.handleCertificateRequest,K=j.handleServerHelloDone,L=j.handleFinished,M=[];M[j.ConnectionEnd.client]=[[y,y,G,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,H,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]];var N=j.handleClientHello,O=j.handleClientKeyExchange,P=j.handleCertificateVerify;M[j.ConnectionEnd.server]=[[y,N,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,H,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,O,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,P,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]],j.generateKeys=function(a,b){var c=b.client_random+b.server_random;a.session.resuming||(b.master_secret=e(b.pre_master_secret,"master secret",c,48).bytes(),b.pre_master_secret=null),c=b.server_random+b.client_random;var d=2*b.mac_key_length+2*b.enc_key_length,f=a.version.major===j.Versions.TLS_1_0.major&&a.version.minor===j.Versions.TLS_1_0.minor;f&&(d+=2*b.fixed_iv_length);var g=e(b.master_secret,"key expansion",c,d),h={client_write_MAC_key:g.getBytes(b.mac_key_length),server_write_MAC_key:g.getBytes(b.mac_key_length),client_write_key:g.getBytes(b.enc_key_length),server_write_key:g.getBytes(b.enc_key_length)};return f&&(h.client_write_IV=g.getBytes(b.fixed_iv_length),h.server_write_IV=g.getBytes(b.fixed_iv_length)),h},j.createConnectionState=function(a){var b=a.entity===j.ConnectionEnd.client,c=function(){var a={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(a){return!0},compressionState:null,compressFunction:function(a){return!0},updateSequenceNumber:function(){0xffffffff===a.sequenceNumber[1]?(a.sequenceNumber[1]=0,++a.sequenceNumber[0]):++a.sequenceNumber[1]}};return a},d={read:c(),write:c()};if(d.read.update=function(a,b){return d.read.cipherFunction(b,d.read)?d.read.compressFunction(a,b,d.read)||a.error(a,{message:"Could not decompress record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decompression_failure}}):a.error(a,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_record_mac}}),!a.fail},d.write.update=function(a,b){return d.write.compressFunction(a,b,d.write)?d.write.cipherFunction(b,d.write)||a.error(a,{message:"Could not encrypt record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):a.error(a,{message:"Could not compress record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}),!a.fail},a.session){var e=a.session.sp;switch(a.session.cipherSuite.initSecurityParameters(e),e.keys=j.generateKeys(a,e),d.read.macKey=b?e.keys.server_write_MAC_key:e.keys.client_write_MAC_key,d.write.macKey=b?e.keys.client_write_MAC_key:e.keys.server_write_MAC_key,a.session.cipherSuite.initConnectionState(d,a,e),e.compression_algorithm){case j.CompressionMethod.none:break;case j.CompressionMethod.deflate:d.read.compressFunction=g,d.write.compressFunction=f;break;default:throw Error("Unsupported compression algorithm.")}}return d},j.createRandom=function(){var a=new Date,b=+a+6e4*a.getTimezoneOffset(),c=d.util.createBuffer();return c.putInt32(b),c.putBytes(d.random.getBytes(28)),c},j.createRecord=function(a,b){return b.data?{type:b.type,version:{major:a.version.major,minor:a.version.minor},length:b.data.length(),fragment:b.data}:null},j.createAlert=function(a,b){var c=d.util.createBuffer();return c.putByte(b.level),c.putByte(b.description),j.createRecord(a,{type:j.ContentType.alert,data:c})},j.createClientHello=function(a){a.session.clientHelloVersion={major:a.version.major,minor:a.version.minor};for(var b=d.util.createBuffer(),c=0;c<a.cipherSuites.length;++c){var e=a.cipherSuites[c];b.putByte(e.id[0]),b.putByte(e.id[1])}var f=b.length(),g=d.util.createBuffer();g.putByte(j.CompressionMethod.none);var h=g.length(),k=d.util.createBuffer();if(a.virtualHost){var l=d.util.createBuffer();l.putByte(0),l.putByte(0);var m=d.util.createBuffer();m.putByte(0),i(m,2,d.util.createBuffer(a.virtualHost));var n=d.util.createBuffer();i(n,2,m),i(l,2,n),k.putBuffer(l)}var o=k.length();o>0&&(o+=2);var p=a.session.id,q=p.length+1+2+4+28+2+f+1+h+o,r=d.util.createBuffer();return r.putByte(j.HandshakeType.client_hello),r.putInt24(q),r.putByte(a.version.major),r.putByte(a.version.minor),r.putBytes(a.session.sp.client_random),i(r,1,d.util.createBuffer(p)),i(r,2,b),i(r,1,g),o>0&&i(r,2,k),r},j.createServerHello=function(a){var b=a.session.id,c=b.length+1+2+4+28+2+1,e=d.util.createBuffer();return e.putByte(j.HandshakeType.server_hello),e.putInt24(c),e.putByte(a.version.major),e.putByte(a.version.minor),e.putBytes(a.session.sp.server_random),i(e,1,d.util.createBuffer(b)),e.putByte(a.session.cipherSuite.id[0]),e.putByte(a.session.cipherSuite.id[1]),e.putByte(a.session.compressionMethod),e},j.createCertificate=function(a){var b,c=a.entity===j.ConnectionEnd.client,e=null;a.getCertificate&&(b=c?a.session.certificateRequest:a.session.extensions.server_name.serverNameList,e=a.getCertificate(a,b));var f=d.util.createBuffer();if(null!==e)try{d.util.isArray(e)||(e=[e]);for(var g=null,h=0;h<e.length;++h){var k=d.pem.decode(e[h])[0];if("CERTIFICATE"!==k.type&&"X509 CERTIFICATE"!==k.type&&"TRUSTED CERTIFICATE"!==k.type){var l=Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw l.headerType=k.type,l}if(k.procType&&"ENCRYPTED"===k.procType.type)throw Error("Could not convert certificate from PEM; PEM is encrypted.");var m=d.util.createBuffer(k.body);null===g&&(g=d.asn1.fromDer(m.bytes(),!1));var n=d.util.createBuffer();i(n,3,m),f.putBuffer(n)}e=d.pki.certificateFromAsn1(g),c?a.session.clientCertificate=e:a.session.serverCertificate=e}catch(b){return a.error(a,{message:"Could not send certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var o=3+f.length(),p=d.util.createBuffer();return p.putByte(j.HandshakeType.certificate),p.putInt24(o),i(p,3,f),p},j.createClientKeyExchange=function(a){var b=d.util.createBuffer();b.putByte(a.session.clientHelloVersion.major),b.putByte(a.session.clientHelloVersion.minor),b.putBytes(d.random.getBytes(46));var c=a.session.sp;c.pre_master_secret=b.getBytes();var e=(b=a.session.serverCertificate.publicKey.encrypt(c.pre_master_secret)).length+2,f=d.util.createBuffer();return f.putByte(j.HandshakeType.client_key_exchange),f.putInt24(e),f.putInt16(b.length),f.putBytes(b),f},j.createServerKeyExchange=function(a){return d.util.createBuffer()},j.getClientSignature=function(a,b){var c=d.util.createBuffer();c.putBuffer(a.session.md5.digest()),c.putBuffer(a.session.sha1.digest()),c=c.getBytes(),a.getSignature=a.getSignature||function(a,b,c){var e=null;if(a.getPrivateKey)try{e=a.getPrivateKey(a,a.session.clientCertificate),e=d.pki.privateKeyFromPem(e)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}null===e?a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):b=e.sign(b,null),c(a,b)},a.getSignature(a,c,b)},j.createCertificateVerify=function(a,b){var c=b.length+2,e=d.util.createBuffer();return e.putByte(j.HandshakeType.certificate_verify),e.putInt24(c),e.putInt16(b.length),e.putBytes(b),e},j.createCertificateRequest=function(a){var b=d.util.createBuffer();b.putByte(1);var c=d.util.createBuffer();for(var e in a.caStore.certs){var f=a.caStore.certs[e],g=d.pki.distinguishedNameToAsn1(f.subject),h=d.asn1.toDer(g);c.putInt16(h.length()),c.putBuffer(h)}var k=1+b.length()+2+c.length(),l=d.util.createBuffer();return l.putByte(j.HandshakeType.certificate_request),l.putInt24(k),i(l,1,b),i(l,2,c),l},j.createServerHelloDone=function(a){var b=d.util.createBuffer();return b.putByte(j.HandshakeType.server_hello_done),b.putInt24(0),b},j.createChangeCipherSpec=function(){var a=d.util.createBuffer();return a.putByte(1),a},j.createFinished=function(a){var b=d.util.createBuffer();b.putBuffer(a.session.md5.digest()),b.putBuffer(a.session.sha1.digest());var c=a.entity===j.ConnectionEnd.client;b=e(a.session.sp.master_secret,c?"client finished":"server finished",b.getBytes(),12);var f=d.util.createBuffer();return f.putByte(j.HandshakeType.finished),f.putInt24(b.length()),f.putBuffer(b),f},j.createHeartbeat=function(a,b,c){void 0===c&&(c=b.length);var e=d.util.createBuffer();e.putByte(a),e.putInt16(c),e.putBytes(b);var f=Math.max(16,e.length()-c-3);return e.putBytes(d.random.getBytes(f)),e},j.queue=function(a,b){if(b&&(0!==b.fragment.length()||b.type!==j.ContentType.handshake&&b.type!==j.ContentType.alert&&b.type!==j.ContentType.change_cipher_spec)){if(b.type===j.ContentType.handshake){var c,e=b.fragment.bytes();a.session.md5.update(e),a.session.sha1.update(e),e=null}if(b.fragment.length()<=j.MaxFragment)c=[b];else{c=[];for(var f=b.fragment.bytes();f.length>j.MaxFragment;)c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f.slice(0,j.MaxFragment))})),f=f.slice(j.MaxFragment);f.length>0&&c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f)}))}for(var g=0;g<c.length&&!a.fail;++g){var h=c[g];a.state.current.write.update(a,h)&&a.records.push(h)}}},j.flush=function(a){for(var b=0;b<a.records.length;++b){var c=a.records[b];a.tlsData.putByte(c.type),a.tlsData.putByte(c.version.major),a.tlsData.putByte(c.version.minor),a.tlsData.putInt16(c.fragment.length()),a.tlsData.putBuffer(a.records[b].fragment)}return a.records=[],a.tlsDataReady(a)};var Q=function(a){switch(a){case!0:return!0;case d.pki.certificateError.bad_certificate:return j.Alert.Description.bad_certificate;case d.pki.certificateError.unsupported_certificate:return j.Alert.Description.unsupported_certificate;case d.pki.certificateError.certificate_revoked:return j.Alert.Description.certificate_revoked;case d.pki.certificateError.certificate_expired:return j.Alert.Description.certificate_expired;case d.pki.certificateError.certificate_unknown:return j.Alert.Description.certificate_unknown;case d.pki.certificateError.unknown_ca:return j.Alert.Description.unknown_ca;default:return j.Alert.Description.bad_certificate}},R=function(a){switch(a){case!0:return!0;case j.Alert.Description.bad_certificate:return d.pki.certificateError.bad_certificate;case j.Alert.Description.unsupported_certificate:return d.pki.certificateError.unsupported_certificate;case j.Alert.Description.certificate_revoked:return d.pki.certificateError.certificate_revoked;case j.Alert.Description.certificate_expired:return d.pki.certificateError.certificate_expired;case j.Alert.Description.certificate_unknown:return d.pki.certificateError.certificate_unknown;case j.Alert.Description.unknown_ca:return d.pki.certificateError.unknown_ca;default:return d.pki.certificateError.bad_certificate}};for(var S in j.verifyCertificateChain=function(a,b){try{var c={};for(var e in a.verifyOptions)c[e]=a.verifyOptions[e];c.verify=function(b,c,e){Q(b);var f=a.verify(a,b,c,e);if(!0!==f){if("object"==typeof f&&!d.util.isArray(f)){var g=Error("The application rejected the certificate.");throw g.send=!0,g.alert={level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate},f.message&&(g.message=f.message),f.alert&&(g.alert.description=f.alert),g}f!==b&&(f=R(f))}return f},d.pki.verifyCertificateChain(a.caStore,b,c)}catch(b){var f=b;("object"!=typeof f||d.util.isArray(f))&&(f={send:!0,alert:{level:j.Alert.Level.fatal,description:Q(b)}}),"send"in f||(f.send=!0),"alert"in f||(f.alert={level:j.Alert.Level.fatal,description:Q(f.error)}),a.error(a,f)}return!a.fail},j.createSessionCache=function(a,b){var c=null;if(a&&a.getSession&&a.setSession&&a.order)c=a;else{for(var e in(c={}).cache=a||{},c.capacity=Math.max(b||100,1),c.order=[],a)c.order.length<=b?c.order.push(e):delete a[e];c.getSession=function(a){var b=null,e=null;if(a?e=d.util.bytesToHex(a):c.order.length>0&&(e=c.order[0]),null!==e&&e in c.cache){for(var f in b=c.cache[e],delete c.cache[e],c.order)if(c.order[f]===e){c.order.splice(f,1);break}}return b},c.setSession=function(a,b){if(c.order.length===c.capacity){var e=c.order.shift();delete c.cache[e]}var e=d.util.bytesToHex(a);c.order.push(e),c.cache[e]=b}}return c},j.createConnection=function(a){var b=null;b=a.caStore?d.util.isArray(a.caStore)?d.pki.createCaStore(a.caStore):a.caStore:d.pki.createCaStore();var c=a.cipherSuites||null;if(null===c)for(var e in c=[],j.CipherSuites)c.push(j.CipherSuites[e]);var f=a.server?j.ConnectionEnd.server:j.ConnectionEnd.client,g=a.sessionCache?j.createSessionCache(a.sessionCache):null,h={version:{major:j.Version.major,minor:j.Version.minor},entity:f,sessionId:a.sessionId,caStore:b,sessionCache:g,cipherSuites:c,connected:a.connected,virtualHost:a.virtualHost||null,verifyClient:a.verifyClient||!1,verify:a.verify||function(a,b,c,d){return b},verifyOptions:a.verifyOptions||{},getCertificate:a.getCertificate||null,getPrivateKey:a.getPrivateKey||null,getSignature:a.getSignature||null,input:d.util.createBuffer(),tlsData:d.util.createBuffer(),data:d.util.createBuffer(),tlsDataReady:a.tlsDataReady,dataReady:a.dataReady,heartbeatReceived:a.heartbeatReceived,closed:a.closed,error:function(b,c){c.origin=c.origin||(b.entity===j.ConnectionEnd.client?"client":"server"),c.send&&(j.queue(b,j.createAlert(b,c.alert)),j.flush(b));var d=!1!==c.fatal;d&&(b.fail=!0),a.error(b,c),d&&b.close(!1)},deflate:a.deflate||null,inflate:a.inflate||null};h.reset=function(a){h.version={major:j.Version.major,minor:j.Version.minor},h.record=null,h.session=null,h.peerCertificate=null,h.state={pending:null,current:null},h.entity,j.ConnectionEnd.client,h.expect=0,h.fragmented=null,h.records=[],h.open=!1,h.handshakes=0,h.handshaking=!1,h.isConnected=!1,h.fail=!(a||void 0===a),h.input.clear(),h.tlsData.clear(),h.data.clear(),h.state.current=j.createConnectionState(h)},h.reset();var i=function(a,b){var c=b.type-j.ContentType.change_cipher_spec,d=E[a.entity][a.expect];c in d?d[c](a,b):j.handleUnexpected(a,b)},k=function(a){var b=0,c=a.input,e=c.length();if(e<5)b=5-e;else{a.record={type:c.getByte(),version:{major:c.getByte(),minor:c.getByte()},length:c.getInt16(),fragment:d.util.createBuffer(),ready:!1};var f=a.record.version.major===a.version.major;f&&a.session&&a.session.version&&(f=a.record.version.minor===a.version.minor),f||a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}})}return b},l=function(a){var b=0,c=a.input,d=c.length();return d<a.record.length?b=a.record.length-d:(a.record.fragment.putBytes(c.getBytes(a.record.length)),c.compact(),a.state.current.read.update(a,a.record)&&(null!==a.fragmented&&(a.fragmented.type===a.record.type?(a.fragmented.fragment.putBuffer(a.record.fragment),a.record=a.fragmented):a.error(a,{message:"Invalid fragmented record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})),a.record.ready=!0)),b};return h.handshake=function(a){if(h.entity!==j.ConnectionEnd.client)h.error(h,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(h.handshaking)h.error(h,{message:"Handshake already in progress.",fatal:!1});else{h.fail&&!h.open&&0===h.handshakes&&(h.fail=!1),h.handshaking=!0;var b=null;(a=a||"").length>0&&(h.sessionCache&&(b=h.sessionCache.getSession(a)),null===b&&(a="")),0===a.length&&h.sessionCache&&null!==(b=h.sessionCache.getSession())&&(a=b.id),h.session={id:a,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:d.md.md5.create(),sha1:d.md.sha1.create()},b&&(h.version=b.version,h.session.sp=b.sp),h.session.sp.client_random=j.createRandom().getBytes(),h.open=!0,j.queue(h,j.createRecord(h,{type:j.ContentType.handshake,data:j.createClientHello(h)})),j.flush(h)}},h.process=function(a){var b=0;return a&&h.input.putBytes(a),h.fail||(null!==h.record&&h.record.ready&&h.record.fragment.isEmpty()&&(h.record=null),null===h.record&&(b=k(h)),h.fail||null===h.record||h.record.ready||(b=l(h)),!h.fail&&null!==h.record&&h.record.ready&&i(h,h.record)),b},h.prepare=function(a){return j.queue(h,j.createRecord(h,{type:j.ContentType.application_data,data:d.util.createBuffer(a)})),j.flush(h)},h.prepareHeartbeatRequest=function(a,b){return a instanceof d.util.ByteBuffer&&(a=a.bytes()),void 0===b&&(b=a.length),h.expectedHeartbeatPayload=a,j.queue(h,j.createRecord(h,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_request,a,b)})),j.flush(h)},h.close=function(a){if(!h.fail&&h.sessionCache&&h.session){var b={id:h.session.id,version:h.session.version,sp:h.session.sp};b.sp.keys=null,h.sessionCache.setSession(b.id,b)}h.open&&(h.open=!1,h.input.clear(),(h.isConnected||h.handshaking)&&(h.isConnected=h.handshaking=!1,j.queue(h,j.createAlert(h,{level:j.Alert.Level.warning,description:j.Alert.Description.close_notify})),j.flush(h)),h.closed(h)),h.reset(a)},h},a.exports=d.tls=d.tls||{},j)"function"!=typeof j[S]&&(d.tls[S]=j[S]);d.tls.prf_tls1=e,d.tls.hmac_sha1=function(a,b,c){var e=d.hmac.create();e.start("SHA1",a);var f=d.util.createBuffer();return f.putInt32(b[0]),f.putInt32(b[1]),f.putByte(c.type),f.putByte(c.version.major),f.putByte(c.version.minor),f.putInt16(c.length),f.putBytes(c.fragment.bytes()),e.update(f.getBytes()),e.digest().getBytes()},d.tls.createSessionCache=j.createSessionCache,d.tls.createConnection=j.createConnection},27137:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(82009);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},27400:(a,b,c)=>{a.exports=c(45654),c(45518),c(39804),c(63070),c(66568),c(88819),c(22164),c(76632),c(33206),c(31881),c(69445),c(41702),c(70710),c(49345),c(24985),c(15873),c(76103),c(94463),c(36902),c(4890),c(87981),c(29984),c(67382),c(28169),c(27080),c(33889)},28169:(a,b,c)=>{var d=c(45654);c(45518),c(76632),c(38627),c(4554),c(33889);var e=a.exports=d.ssh=d.ssh||{};function f(a,b){var c=b.toString(16);c[0]>="8"&&(c="00"+c);var e=d.util.hexToBytes(c);a.putInt32(e.length),a.putBytes(e)}function g(a,b){a.putInt32(b.length),a.putString(b)}function h(){for(var a=d.md.sha1.create(),b=arguments.length,c=0;c<b;++c)a.update(arguments[c]);return a.digest()}e.privateKeyToPutty=function(a,b,c){c=c||"";var e,i="ssh-rsa",j=""===(b=b||"")?"none":"aes256-cbc",k="PuTTY-User-Key-File-2: "+i+"\r\n";k+="Encryption: "+j+"\r\n",k+="Comment: "+c+"\r\n";var l=d.util.createBuffer();g(l,i),f(l,a.e),f(l,a.n);var m=d.util.encode64(l.bytes(),64),n=Math.floor(m.length/66)+1;k+="Public-Lines: "+n+"\r\n",k+=m;var o=d.util.createBuffer();if(f(o,a.d),f(o,a.p),f(o,a.q),f(o,a.qInv),b){var p=o.length()+16-1;p-=p%16;var q=h(o.bytes());q.truncate(q.length()-p+o.length()),o.putBuffer(q);var r=d.util.createBuffer();r.putBuffer(h("\0\0\0\0",b)),r.putBuffer(h("\0\0\0\x01",b));var s=d.aes.createEncryptionCipher(r.truncate(8),"CBC");s.start(d.util.createBuffer().fillWithByte(0,16)),s.update(o.copy()),s.finish();var t=s.output;t.truncate(16),e=d.util.encode64(t.bytes(),64)}else e=d.util.encode64(o.bytes(),64);k+="\r\nPrivate-Lines: "+(n=Math.floor(e.length/66)+1)+"\r\n",k+=e;var u=h("putty-private-key-file-mac-key",b),v=d.util.createBuffer();g(v,i),g(v,j),g(v,c),v.putInt32(l.length()),v.putBuffer(l),v.putInt32(o.length()),v.putBuffer(o);var w=d.hmac.create();return w.start("sha1",u),w.update(v.bytes()),k+="\r\nPrivate-MAC: "+w.digest().toHex()+"\r\n"},e.publicKeyToOpenSSH=function(a,b){var c="ssh-rsa";b=b||"";var e=d.util.createBuffer();return g(e,c),f(e,a.e),f(e,a.n),c+" "+d.util.encode64(e.bytes())+" "+b},e.privateKeyToOpenSSH=function(a,b){return b?d.pki.encryptRsaPrivateKey(a,b,{legacy:!0,algorithm:"aes128"}):d.pki.privateKeyToPem(a)},e.getPublicKeyFingerprint=function(a,b){var c=(b=b||{}).md||d.md.md5.create(),e=d.util.createBuffer();g(e,"ssh-rsa"),f(e,a.e),f(e,a.n),c.start(),c.update(e.getBytes());var h=c.digest();if("hex"===b.encoding){var i=h.toHex();return b.delimiter?i.match(/.{2}/g).join(b.delimiter):i}if("binary"===b.encoding)return h.getBytes();if(b.encoding)throw Error('Unknown encoding "'+b.encoding+'".');return h}},28665:(a,b,c)=>{"use strict";let{kConstruct:d}=c(49176),{kEnumerableProperty:e}=c(84285),{iteratorMixin:f,isValidHeaderName:g,isValidHeaderValue:h}=c(42425),{webidl:i}=c(32984),j=c(34589),k=c(57975);function l(a){return 10===a||13===a||9===a||32===a}function m(a){let b=0,c=a.length;for(;c>b&&l(a.charCodeAt(c-1));)--c;for(;c>b&&l(a.charCodeAt(b));)++b;return 0===b&&c===a.length?a:a.substring(b,c)}function n(a,b){if(Array.isArray(b))for(let c=0;c<b.length;++c){let d=b[c];if(2!==d.length)throw i.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${d.length}.`});o(a,d[0],d[1])}else if("object"==typeof b&&null!==b){let c=Object.keys(b);for(let d=0;d<c.length;++d)o(a,c[d],b[c[d]])}else throw i.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function o(a,b,c){if(c=m(c),g(b)){if(!h(c))throw i.errors.invalidArgument({prefix:"Headers.append",value:c,type:"header value"})}else throw i.errors.invalidArgument({prefix:"Headers.append",value:b,type:"header name"});if("immutable"===s(a))throw TypeError("immutable");return u(a).append(b,c,!1)}function p(a,b){return a[0]<b[0]?-1:1}class q{cookies=null;sortedMap;headersMap;constructor(a){a instanceof q?(this.headersMap=new Map(a.headersMap),this.sortedMap=a.sortedMap,this.cookies=null===a.cookies?null:[...a.cookies]):(this.headersMap=new Map(a),this.sortedMap=null)}contains(a,b){return this.headersMap.has(b?a:a.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(a,b,c){this.sortedMap=null;let d=c?a:a.toLowerCase(),e=this.headersMap.get(d);if(e){let a="cookie"===d?"; ":", ";this.headersMap.set(d,{name:e.name,value:`${e.value}${a}${b}`})}else this.headersMap.set(d,{name:a,value:b});"set-cookie"===d&&(this.cookies??=[]).push(b)}set(a,b,c){this.sortedMap=null;let d=c?a:a.toLowerCase();"set-cookie"===d&&(this.cookies=[b]),this.headersMap.set(d,{name:a,value:b})}delete(a,b){this.sortedMap=null,b||(a=a.toLowerCase()),"set-cookie"===a&&(this.cookies=null),this.headersMap.delete(a)}get(a,b){return this.headersMap.get(b?a:a.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:a,1:{value:b}}of this.headersMap)yield[a,b]}get entries(){let a={};if(0!==this.headersMap.size)for(let{name:b,value:c}of this.headersMap.values())a[b]=c;return a}rawValues(){return this.headersMap.values()}get entriesList(){let a=[];if(0!==this.headersMap.size)for(let{0:b,1:{name:c,value:d}}of this.headersMap)if("set-cookie"===b)for(let b of this.cookies)a.push([c,b]);else a.push([c,d]);return a}toSortedArray(){let a=this.headersMap.size,b=Array(a);if(a<=32){if(0===a)return b;let c=this.headersMap[Symbol.iterator](),d=c.next().value;b[0]=[d[0],d[1].value],j(null!==d[1].value);for(let d=1,e=0,f=0,g=0,h=0,i,k;d<a;++d){for(k=c.next().value,j(null!==(i=b[d]=[k[0],k[1].value])[1]),g=0,f=d;g<f;)b[h=g+(f-g>>1)][0]<=i[0]?g=h+1:f=h;if(d!==h){for(e=d;e>g;)b[e]=b[--e];b[g]=i}}if(!c.next().done)throw TypeError("Unreachable");return b}{let a=0;for(let{0:c,1:{value:d}}of this.headersMap)b[a++]=[c,d],j(null!==d);return b.sort(p)}}}class r{#E;#F;constructor(a){if(i.util.markAsUncloneable(this),a===d)return;this.#F=new q,this.#E="none",void 0!==a&&n(this,a=i.converters.HeadersInit(a,"Headers constructor","init"))}append(a,b){i.brandCheck(this,r),i.argumentLengthCheck(arguments,2,"Headers.append");let c="Headers.append";return a=i.converters.ByteString(a,c,"name"),b=i.converters.ByteString(b,c,"value"),o(this,a,b)}delete(a){if(i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.delete"),!g(a=i.converters.ByteString(a,"Headers.delete","name")))throw i.errors.invalidArgument({prefix:"Headers.delete",value:a,type:"header name"});if("immutable"===this.#E)throw TypeError("immutable");this.#F.contains(a,!1)&&this.#F.delete(a,!1)}get(a){i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.get");let b="Headers.get";if(!g(a=i.converters.ByteString(a,b,"name")))throw i.errors.invalidArgument({prefix:b,value:a,type:"header name"});return this.#F.get(a,!1)}has(a){i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.has");let b="Headers.has";if(!g(a=i.converters.ByteString(a,b,"name")))throw i.errors.invalidArgument({prefix:b,value:a,type:"header name"});return this.#F.contains(a,!1)}set(a,b){i.brandCheck(this,r),i.argumentLengthCheck(arguments,2,"Headers.set");let c="Headers.set";if(a=i.converters.ByteString(a,c,"name"),b=m(b=i.converters.ByteString(b,c,"value")),g(a)){if(!h(b))throw i.errors.invalidArgument({prefix:c,value:b,type:"header value"})}else throw i.errors.invalidArgument({prefix:c,value:a,type:"header name"});if("immutable"===this.#E)throw TypeError("immutable");this.#F.set(a,b,!1)}getSetCookie(){i.brandCheck(this,r);let a=this.#F.cookies;return a?[...a]:[]}[k.inspect.custom](a,b){return b.depth??=a,`Headers ${k.formatWithOptions(b,this.#F.entries)}`}static getHeadersGuard(a){return a.#E}static setHeadersGuard(a,b){a.#E=b}static getHeadersList(a){return a.#F}static setHeadersList(a,b){a.#F=b}}let{getHeadersGuard:s,setHeadersGuard:t,getHeadersList:u,setHeadersList:v}=r;Reflect.deleteProperty(r,"getHeadersGuard"),Reflect.deleteProperty(r,"setHeadersGuard"),Reflect.deleteProperty(r,"getHeadersList"),Reflect.deleteProperty(r,"setHeadersList"),f("Headers",r,function(a){let b=u(a);if(!b)return[];if(b.sortedMap)return b.sortedMap;let c=[],d=b.toSortedArray(),e=b.cookies;if(null===e||1===e.length)return b.sortedMap=d;for(let a=0;a<d.length;++a){let{0:b,1:f}=d[a];if("set-cookie"===b)for(let a=0;a<e.length;++a)c.push([b,e[a]]);else c.push([b,f])}return b.sortedMap=c},0,1),Object.defineProperties(r.prototype,{append:e,delete:e,get:e,has:e,set:e,getSetCookie:e,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[k.inspect.custom]:{enumerable:!1}}),i.converters.HeadersInit=function(a,b,c){if(i.util.Type(a)===i.util.Types.OBJECT){let d=Reflect.get(a,Symbol.iterator);if(!k.types.isProxy(a)&&d===r.prototype.entries)try{return u(a).entriesList}catch{}return"function"==typeof d?i.converters["sequence<sequence<ByteString>>"](a,b,c,d.bind(a)):i.converters["record<ByteString, ByteString>"](a,b,c)}throw i.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})},a.exports={fill:n,compareHeaderName:p,Headers:r,HeadersList:q,getHeadersGuard:s,setHeadersGuard:t,setHeadersList:v,getHeadersList:u}},28820:a=>{"use strict";let b=["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"],c={};Object.setPrototypeOf(c,null);for(let a=0;a<b.length;++a){let d=b[a],e=d.toLowerCase();c[d]=c[e]=e}a.exports={wellknownHeaderNames:b,headerNameLowerCasedRecord:c}},28998:(a,b,c)=>{"use strict";let{UndiciError:d}=c(61448),e=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class f extends d{constructor(a){super(a),this.name="MockNotMatchedError",this.message=a||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](a){return a&&!0===a[e]}get[e](){return!0}}a.exports={MockNotMatchedError:f}},29055:(a,b,c)=>{"use strict";c.d(b,{B:()=>e,V:()=>f});var d=c(11897);function e(a,b=!1){return b?{role:d.z7.ASSISTANT,reasoning_content:a}:{reasoning_content:a}}function f(a){if(!a||"object"!=typeof a)return"";if("string"==typeof a.reasoning_content&&a.reasoning_content)return a.reasoning_content;if("string"==typeof a.reasoning&&a.reasoning)return a.reasoning;let b=a.reasoning_details;return Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.text||a?.content||"").join(""):""}},29137:(a,b,c)=>{"use strict";c.d(b,{c:()=>g});var d=c(49471);let e=[{match:/claude/i,drop:["temperature"]},{provider:"github",match:/gpt-5\.4/i,drop:["temperature"]},{provider:"github",match:a=>/claude/i.test(a)&&!/claude.*(opus|sonnet).*4\.6/i.test(a),drop:["thinking","reasoning_effort"]},{provider:"cloudflare-ai",flattenContent:!0},{provider:"volcengine-ark",match:/glm-5/i,clampToModelMaxOutput:!0}];function f(a,b,c){"number"==typeof a[b]&&Number.isFinite(a[b])&&a[b]>c&&(a[b]=c)}function g(a,b,c){if(!b||!c||"object"!=typeof c)return c;for(let g of e)if((!g.provider||g.provider===a)&&(!g.match||("function"==typeof g.match?g.match(b):g.match.test(b)))){for(let a of g.drop||[])void 0!==c[a]&&delete c[a];if(g.flattenContent&&Array.isArray(c.messages))for(let a of c.messages)a&&Array.isArray(a.content)&&(a.content=a.content.map(a=>a?.type==="text"&&"string"==typeof a.text?a.text:"").join(""));if(g.clampToModelMaxOutput){let e=(0,d.nl)(a,b).maxOutput;Number.isFinite(e)&&e>0&&(f(c,"max_tokens",e),f(c,"max_completion_tokens",e),f(c,"max_output_tokens",e))}}return c}},29653:a=>{"use strict";a.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}},29984:(a,b,c)=>{var d=c(45654);c(45518),c(6680),c(4890),c(33889),function(){if(d.random&&d.random.getBytes){a.exports=d.random;return}!function(b){var c={},e=[,,,,],f=d.util.createBuffer();function g(){var a=d.prng.create(c);return a.getBytes=function(b,c){return a.generate(b,c)},a.getBytesSync=function(b){return a.generate(b)},a}c.formatKey=function(a){var b=d.util.createBuffer(a);return(a=[,,,,])[0]=b.getInt32(),a[1]=b.getInt32(),a[2]=b.getInt32(),a[3]=b.getInt32(),d.aes._expandKey(a,!1)},c.formatSeed=function(a){var b=d.util.createBuffer(a);return(a=[,,,,])[0]=b.getInt32(),a[1]=b.getInt32(),a[2]=b.getInt32(),a[3]=b.getInt32(),a},c.cipher=function(a,b){return d.aes._updateBlock(a,b,e,!1),f.putInt32(e[0]),f.putInt32(e[1]),f.putInt32(e[2]),f.putInt32(e[3]),f.getBytes()},c.increment=function(a){return++a[3],a},c.md=d.md.sha256;var h=g(),i=null,j=d.util.globalScope,k=j.crypto||j.msCrypto;if(k&&k.getRandomValues&&(i=function(a){return k.getRandomValues(a)}),d.options.usePureJavaScript||!d.util.isNodejs&&!i){if("u"<typeof window||window.document,h.collectInt(+new Date,32),"u">typeof navigator){var l="";for(var m in navigator)try{"string"==typeof navigator[m]&&(l+=navigator[m])}catch(a){}h.collect(l),l=null}b&&(b().mousemove(function(a){h.collectInt(a.clientX,16),h.collectInt(a.clientY,16)}),b().keypress(function(a){h.collectInt(a.charCode,8)}))}if(d.random)for(var m in h)d.random[m]=h[m];else d.random=h;d.random.createInstance=g,a.exports=d.random}("u">typeof jQuery?jQuery:null)}()},30322:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});var d=c(46248);class e extends d.L{constructor(){super("azure")}isUserConfiguredBase(a){return super.isUserConfiguredBase(a)||!!a?.providerSpecificData?.azureEndpoint||!!process.env.AZURE_ENDPOINT}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return super.transformRequest(a,b,c,d)}}},30816:(a,b,c)=>{"use strict";c.d(b,{M:()=>function a(b){if(!b||"object"!=typeof b)return b;if(Array.isArray(b)){for(let c of b)a(c);return b}for(let a of d)if("string"==typeof b[a]){let c=Number(b[a]);Number.isNaN(c)||(b[a]=c)}for(let c of Object.values(b))c&&"object"==typeof c&&a(c);return b}}),c(11897),c(90242);let d=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","minItems","maxItems","minProperties","maxProperties","multipleOf"]},31629:(a,b,c)=>{"use strict";c(77598),c(17438),new TextEncoder,c(78116)},31825:(a,b,c)=>{"use strict";let d=c(34589),{kRetryHandlerDefaultRetry:e}=c(49176),{RequestRetryError:f}=c(61448),{isDisturbed:g,parseRangeHeader:h,wrapRequestBody:i}=c(84285);function j(a,b,c,d){let e=a["content-length"];if(null==e||!Number.isFinite(b.start)||!Number.isFinite(b.end))return;let g=Number(e),h=b.end-b.start+1;if(!Number.isFinite(g)||g!==h)throw new f("Content-Length mismatch",c,{headers:a,data:{count:d}})}class k{constructor(){this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(a){this.target?.abort(a)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}get rawTrailers(){return this.target?.rawTrailers??null}}class l{constructor(a,{dispatch:b,handler:c}){const{retryOptions:d,...f}=a,{retry:g,maxRetries:h,maxTimeout:j,minTimeout:m,timeoutFactor:n,methods:o,errorCodes:p,retryAfter:q,statusCodes:r,throwOnError:s}=d??{};this.error=null,this.dispatch=b,this.handler=c,this.opts={...f,body:i(a.body)},this.retryOpts={throwOnError:s??!0,retry:g??l[e],retryAfter:q??!0,maxTimeout:j??3e4,minTimeout:m??500,timeoutFactor:n??2,maxRetries:h??5,methods:o??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE","QUERY"],statusCodes:r??[500,502,503,504,429],errorCodes:p??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new k}onResponseStartWithRetry(a,b,c,d,e){if(this.retryOpts.throwOnError)return void(!1===this.retryOpts.statusCodes.includes(b)?(this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d)):this.error=e);if(g(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d);return}a.pause(),this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},(function(f){if(f){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d),a.resume();return}this.error=e,a.resume()}).bind(this))}onRequestStart(a,b){this.controllerProxy.target=a,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,b)}onRequestUpgrade(a,b,c,d){this.handler.onRequestUpgrade?.(this.controllerProxy,b,c,d)}static[e](a,{state:b,opts:c},d){let{statusCode:e,code:f,headers:g}=a,{method:h,retryOptions:i}=c,{maxRetries:j,minTimeout:k,maxTimeout:l,timeoutFactor:m,statusCodes:n,errorCodes:o,methods:p}=i,{counter:q}=b;if(f&&"UND_ERR_REQ_RETRY"!==f&&!o.includes(f)||Array.isArray(p)&&!p.includes(h)||null!=e&&Array.isArray(n)&&!n.includes(e)||q>j)return void d(a);let r=g?.["retry-after"];if(r){let a;r=Number.isNaN(r=Number(r))?isNaN(a=new Date(g["retry-after"]).getTime())?null:a-Date.now():1e3*r}setTimeout(()=>d(null),0===r?0:r>0?Math.min(r,l):Math.min(k*m**(q-1),l))}onResponseStart(a,b,c,e){if(b<200)return void this.handler.onResponseStart?.(this.controllerProxy,b,c,e);if(this.error=null,this.retryCount+=1,this.statusCode=b,this.headers=c,b>=300){let d=new f("Request failed",b,{headers:c,data:{count:this.retryCount}});this.onResponseStartWithRetry(a,b,c,e,d);return}if(this.headersSent){if(206!==b&&(this.start>0||200!==b))throw new f("server does not support the range header and the payload was partially consumed",b,{headers:c,data:{count:this.retryCount}});let a=h(c["content-range"]);if(!a)throw new f("Content-Range mismatch",b,{headers:c,data:{count:this.retryCount}});if(null!=this.etag&&this.etag!==c.etag)throw new f("ETag mismatch",b,{headers:c,data:{count:this.retryCount}});j(c,a,b,this.retryCount);let{start:e,size:g,end:i=g?g-1:null}=a;d(this.start===e,"content-range mismatch"),d(null==this.end||this.end===i,"content-range mismatch");return}if(null==this.end){if(206===b){let a=h(c["content-range"]);if(null==a||null==a.end){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,e);return}j(c,a,b,this.retryCount);let{start:f,size:g,end:i=g?g-1:null}=a;d(null!=f&&Number.isFinite(f),"content-range mismatch"),d(null!=i&&Number.isFinite(i),"invalid content-length"),this.start=f,this.end=i}if(null==this.end&&"HEAD"!==this.opts.method){let a=c["content-length"];this.end=null!=a?Number(a)-1:null}d(Number.isFinite(this.start)),d(null==this.end||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=null!=c.etag?c.etag:null,null!=this.etag&&"W"===this.etag[0]&&"/"===this.etag[1]&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,e)}else throw new f("Request failed",b,{headers:c,data:{count:this.retryCount}})}onResponseData(a,b){this.error||(this.start+=b.length,this.handler.onResponseData?.(this.controllerProxy,b))}onResponseEnd(a,b){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(null!=this.end&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new f("Content-Range mismatch",this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,b)}this.retry()}retry(){if(0!==this.start){let a={range:`bytes=${this.start}-${this.end??""}`};null!=this.etag&&(a["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...a}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(a){this.handler.onResponseError?.(this.controllerProxy,a)}}onResponseError(a,b){a?.aborted||g(this.opts.body)?this.handler.onResponseError?.(this.controllerProxy,b):(this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(b,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},(function(a){a?this.handler?.onResponseError?.(this.controllerProxy,a):this.retry()}).bind(this)))}}a.exports=l},31881:(a,b,c)=>{var d,e=c(45654);c(33889),a.exports=e.log=e.log||{},e.log.levels=["none","error","warning","info","debug","verbose","max"];var f={},g=[],h=null;e.log.LEVEL_LOCKED=2,e.log.NO_LEVEL_CHECK=4,e.log.INTERPOLATE=8;for(var i=0;i<e.log.levels.length;++i){var j=e.log.levels[i];f[j]={index:i,name:j.toUpperCase()}}e.log.logMessage=function(a){for(var b=f[a.level].index,c=0;c<g.length;++c){var d=g[c];d.flags&e.log.NO_LEVEL_CHECK?d.f(a):b<=f[d.level].index&&d.f(d,a)}},e.log.prepareStandard=function(a){"standard"in a||(a.standard=f[a.level].name+" ["+a.category+"] "+a.message)},e.log.prepareFull=function(a){if(!("full"in a)){var b=[a.message];b=b.concat([]),a.full=e.util.format.apply(this,b)}},e.log.prepareStandardFull=function(a){"standardFull"in a||(e.log.prepareStandard(a),a.standardFull=a.standard)};for(var k=["error","warning","info","debug","verbose"],i=0;i<k.length;++i)!function(a){e.log[a]=function(b,c){var d=Array.prototype.slice.call(arguments).slice(2),f={timestamp:new Date,level:a,category:b,message:c,arguments:d};e.log.logMessage(f)}}(k[i]);if(e.log.makeLogger=function(a){var b={flags:0,f:a};return e.log.setLevel(b,"none"),b},e.log.setLevel=function(a,b){var c=!1;if(a&&!(a.flags&e.log.LEVEL_LOCKED)){for(var d=0;d<e.log.levels.length;++d)if(b==e.log.levels[d]){a.level=b,c=!0;break}}return c},e.log.lock=function(a,b){void 0===b||b?a.flags|=e.log.LEVEL_LOCKED:a.flags&=~e.log.LEVEL_LOCKED},e.log.addLogger=function(a){g.push(a)},"u">typeof console&&"log"in console){if(console.error&&console.warn&&console.info&&console.debug){var l={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},m=function(a,b){e.log.prepareStandard(b);var c=l[b.level],d=[b.standard];d=d.concat(b.arguments.slice()),c.apply(console,d)};d=e.log.makeLogger(m)}else{var m=function(a,b){e.log.prepareStandardFull(b),console.log(b.standardFull)};d=e.log.makeLogger(m)}e.log.setLevel(d,"debug"),e.log.addLogger(d),h=d}else console={log:function(){}};if(null!==h&&"u">typeof window&&window.location){var n=new URL(window.location.href).searchParams;n.has("console.level")&&e.log.setLevel(h,n.get("console.level").slice(-1)[0]),n.has("console.lock")&&"true"==n.get("console.lock").slice(-1)[0]&&e.log.lock(h)}e.log.consoleLogger=h},32e3:(a,b,c)=>{var d,e,f,g=c(45654);a.exports=g.jsbn=g.jsbn||{};function h(a,b,c){this.data=[],null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function i(){return new h(null)}function j(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this.data[a],j=this.data[a++]>>14,k=h*i+j*g;e=((i=g*i+((16383&k)<<14)+c.data[d]+e)>>28)+(k>>14)+h*j,c.data[d++]=0xfffffff&i}return e}g.jsbn.BigInteger=h,"u"<typeof navigator?(h.prototype.am=j,d=28):"Microsoft Internet Explorer"==navigator.appName?(h.prototype.am=function(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this.data[a],j=this.data[a++]>>15,k=h*i+j*g;e=((i=g*i+((32767&k)<<15)+c.data[d]+(0x3fffffff&e))>>>30)+(k>>>15)+h*j+(e>>>30),c.data[d++]=0x3fffffff&i}return e},d=30):"Netscape"!=navigator.appName?(h.prototype.am=function(a,b,c,d,e,f){for(;--f>=0;){var g=b*this.data[a++]+c.data[d]+e;e=Math.floor(g/0x4000000),c.data[d++]=0x3ffffff&g}return e},d=26):(h.prototype.am=j,d=28),h.prototype.DB=d,h.prototype.DM=(1<<d)-1,h.prototype.DV=1<<d,h.prototype.FV=0x10000000000000,h.prototype.F1=52-d,h.prototype.F2=2*d-52;var k=[];for(f=0,e=48;f<=9;++f)k[e++]=f;for(f=10,e=97;f<36;++f)k[e++]=f;for(f=10,e=65;f<36;++f)k[e++]=f;function l(a){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(a)}function m(a,b){var c=k[a.charCodeAt(b)];return null==c?-1:c}function n(a){var b=i();return b.fromInt(a),b}function o(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function p(a){this.m=a}function q(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<a.DB-15)-1,this.mt2=2*a.t}function r(a,b){return a&b}function s(a,b){return a|b}function t(a,b){return a^b}function u(a,b){return a&~b}function v(){}function w(a){return a}function x(a){this.r2=i(),this.q3=i(),h.ONE.dlShiftTo(2*a.t,this.r2),this.mu=this.r2.divide(a),this.m=a}p.prototype.convert=function(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a},p.prototype.revert=function(a){return a},p.prototype.reduce=function(a){a.divRemTo(this.m,null,a)},p.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},p.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},q.prototype.convert=function(a){var b=i();return a.abs().dlShiftTo(this.m.t,b),b.divRemTo(this.m,null,b),a.s<0&&b.compareTo(h.ZERO)>0&&this.m.subTo(b,b),b},q.prototype.revert=function(a){var b=i();return a.copyTo(b),this.reduce(b),b},q.prototype.reduce=function(a){for(;a.t<=this.mt2;)a.data[a.t++]=0;for(var b=0;b<this.m.t;++b){var c=32767&a.data[b],d=c*this.mpl+((c*this.mph+(a.data[b]>>15)*this.mpl&this.um)<<15)&a.DM;for(c=b+this.m.t,a.data[c]+=this.m.am(0,d,a,b,0,this.m.t);a.data[c]>=a.DV;)a.data[c]-=a.DV,a.data[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)},q.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},q.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},h.prototype.copyTo=function(a){for(var b=this.t-1;b>=0;--b)a.data[b]=this.data[b];a.t=this.t,a.s=this.s},h.prototype.fromInt=function(a){this.t=1,this.s=a<0?-1:0,a>0?this.data[0]=a:a<-1?this.data[0]=a+this.DV:this.t=0},h.prototype.fromString=function(a,b){if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var c,d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:m(a,d);if(g<0){"-"==a.charAt(d)&&(e=!0);continue}e=!1,0==f?this.data[this.t++]=g:f+c>this.DB?(this.data[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this.data[this.t++]=g>>this.DB-f):this.data[this.t-1]|=g<<f,(f+=c)>=this.DB&&(f-=this.DB)}8==c&&(128&a[0])!=0&&(this.s=-1,f>0&&(this.data[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&h.ZERO.subTo(this,this)},h.prototype.clamp=function(){for(var a=this.s&this.DM;this.t>0&&this.data[this.t-1]==a;)--this.t},h.prototype.dlShiftTo=function(a,b){var c;for(c=this.t-1;c>=0;--c)b.data[c+a]=this.data[c];for(c=a-1;c>=0;--c)b.data[c]=0;b.t=this.t+a,b.s=this.s},h.prototype.drShiftTo=function(a,b){for(var c=a;c<this.t;++c)b.data[c-a]=this.data[c];b.t=Math.max(this.t-a,0),b.s=this.s},h.prototype.lShiftTo=function(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b.data[c+g+1]=this.data[c]>>e|h,h=(this.data[c]&f)<<d;for(c=g-1;c>=0;--c)b.data[c]=0;b.data[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()},h.prototype.rShiftTo=function(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t){b.t=0;return}var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b.data[0]=this.data[c]>>d;for(var g=c+1;g<this.t;++g)b.data[g-c-1]|=(this.data[g]&f)<<e,b.data[g-c]=this.data[g]>>d;d>0&&(b.data[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()},h.prototype.subTo=function(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this.data[c]-a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=d<0?-1:0,d<-1?b.data[c++]=this.DV+d:d>0&&(b.data[c++]=d),b.t=c,b.clamp()},h.prototype.multiplyTo=function(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b.data[e]=0;for(e=0;e<d.t;++e)b.data[e+c.t]=c.am(0,d.data[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&h.ZERO.subTo(b,b)},h.prototype.squareTo=function(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a.data[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b.data[c],a,2*c,0,1);(a.data[c+b.t]+=b.am(c+1,2*b.data[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a.data[c+b.t]-=b.DV,a.data[c+b.t+1]=1)}a.t>0&&(a.data[a.t-1]+=b.am(c,b.data[c],a,2*c,0,1)),a.s=0,a.clamp()},h.prototype.divRemTo=function(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t){null!=b&&b.fromInt(0),null!=c&&this.copyTo(c);return}null==c&&(c=i());var f=i(),g=this.s,j=a.s,k=this.DB-o(d.data[d.t-1]);k>0?(d.lShiftTo(k,f),e.lShiftTo(k,c)):(d.copyTo(f),e.copyTo(c));var l=f.t,m=f.data[l-1];if(0!=m){var n=m*(1<<this.F1)+(l>1?f.data[l-2]>>this.F2:0),p=this.FV/n,q=(1<<this.F1)/n,r=1<<this.F2,s=c.t,t=s-l,u=null==b?i():b;for(f.dlShiftTo(t,u),c.compareTo(u)>=0&&(c.data[c.t++]=1,c.subTo(u,c)),h.ONE.dlShiftTo(l,u),u.subTo(f,f);f.t<l;)f.data[f.t++]=0;for(;--t>=0;){var v=c.data[--s]==m?this.DM:Math.floor(c.data[s]*p+(c.data[s-1]+r)*q);if((c.data[s]+=f.am(0,v,c,t,0,l))<v)for(f.dlShiftTo(t,u),c.subTo(u,c);c.data[s]<--v;)c.subTo(u,c)}null!=b&&(c.drShiftTo(l,b),g!=j&&h.ZERO.subTo(b,b)),c.t=l,c.clamp(),k>0&&c.rShiftTo(k,c),g<0&&h.ZERO.subTo(c,c)}}},h.prototype.invDigit=function(){if(this.t<1)return 0;var a=this.data[0];if((1&a)==0)return 0;var b=3&a;return(b=(b=(b=(b=b*(2-(15&a)*b)&15)*(2-(255&a)*b)&255)*(2-((65535&a)*b&65535))&65535)*(2-a*b%this.DV)%this.DV)>0?this.DV-b:-b},h.prototype.isEven=function(){return(this.t>0?1&this.data[0]:this.s)==0},h.prototype.exp=function(a,b){if(a>0xffffffff||a<1)return h.ONE;var c=i(),d=i(),e=b.convert(this),f=o(a)-1;for(e.copyTo(c);--f>=0;)if(b.sqrTo(c,d),(a&1<<f)>0)b.mulTo(d,e,c);else{var g=c;c=d,d=g}return b.revert(c)},h.prototype.toString=function(a){if(this.s<0)return"-"+this.negate().toString(a);if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var b,c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-- >0)for(h<this.DB&&(c=this.data[g]>>h)>0&&(e=!0,f=l(c));g>=0;)h<b?c=(this.data[g]&(1<<h)-1)<<b-h|this.data[--g]>>(h+=this.DB-b):(c=this.data[g]>>(h-=b)&d,h<=0&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=l(c));return e?f:"0"},h.prototype.negate=function(){var a=i();return h.ZERO.subTo(this,a),a},h.prototype.abs=function(){return this.s<0?this.negate():this},h.prototype.compareTo=function(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(0!=(b=c-a.t))return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this.data[c]-a.data[c]))return b;return 0},h.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+o(this.data[this.t-1]^this.s&this.DM)},h.prototype.mod=function(a){var b=i();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(h.ZERO)>0&&a.subTo(b,b),b},h.prototype.modPowInt=function(a,b){var c;return c=a<256||b.isEven()?new p(b):new q(b),this.exp(a,c)},h.ZERO=n(0),h.ONE=n(1),v.prototype.convert=w,v.prototype.revert=w,v.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c)},v.prototype.sqrTo=function(a,b){a.squareTo(b)},x.prototype.convert=function(a){if(a.s<0||a.t>2*this.m.t)return a.mod(this.m);if(0>a.compareTo(this.m))return a;var b=i();return a.copyTo(b),this.reduce(b),b},x.prototype.revert=function(a){return a},x.prototype.reduce=function(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);0>a.compareTo(this.r2);)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)},x.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},x.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)};var y=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=0x4000000/y[y.length-1];h.prototype.chunkSize=function(a){return Math.floor(Math.LN2*this.DB/Math.log(a))},h.prototype.toRadix=function(a){if(null==a&&(a=10),0==this.signum()||a<2||a>36)return"0";var b=this.chunkSize(a),c=Math.pow(a,b),d=n(c),e=i(),f=i(),g="";for(this.divRemTo(d,e,f);e.signum()>0;)g=(c+f.intValue()).toString(a).substr(1)+g,e.divRemTo(d,e,f);return f.intValue().toString(a)+g},h.prototype.fromRadix=function(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,f=0,g=0,i=0;i<a.length;++i){var j=m(a,i);if(j<0){"-"==a.charAt(i)&&0==this.signum()&&(e=!0);continue}g=b*g+j,++f>=c&&(this.dMultiply(d),this.dAddOffset(g,0),f=0,g=0)}f>0&&(this.dMultiply(Math.pow(b,f)),this.dAddOffset(g,0)),e&&h.ZERO.subTo(this,this)},h.prototype.fromNumber=function(a,b,c){if("number"==typeof b)if(a<2)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(h.ONE.shiftLeft(a-1),s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(h.ONE.shiftLeft(a-1),this);else{var d=[],e=7&a;d.length=(a>>3)+1,b.nextBytes(d),e>0?d[0]&=(1<<e)-1:d[0]=0,this.fromString(d,256)}},h.prototype.bitwiseTo=function(a,b,c){var d,e,f=Math.min(a.t,this.t);for(d=0;d<f;++d)c.data[d]=b(this.data[d],a.data[d]);if(a.t<this.t){for(e=a.s&this.DM,d=f;d<this.t;++d)c.data[d]=b(this.data[d],e);c.t=this.t}else{for(e=this.s&this.DM,d=f;d<a.t;++d)c.data[d]=b(e,a.data[d]);c.t=a.t}c.s=b(this.s,a.s),c.clamp()},h.prototype.changeBit=function(a,b){var c=h.ONE.shiftLeft(a);return this.bitwiseTo(c,b,c),c},h.prototype.addTo=function(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this.data[c]+a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d+=a.s;c<this.t;)d+=this.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d+=a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=a.s}b.s=d<0?-1:0,d>0?b.data[c++]=d:d<-1&&(b.data[c++]=this.DV+d),b.t=c,b.clamp()},h.prototype.dMultiply=function(a){this.data[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()},h.prototype.dAddOffset=function(a,b){if(0!=a){for(;this.t<=b;)this.data[this.t++]=0;for(this.data[b]+=a;this.data[b]>=this.DV;)this.data[b]-=this.DV,++b>=this.t&&(this.data[this.t++]=0),++this.data[b]}},h.prototype.multiplyLowerTo=function(a,b,c){var d,e=Math.min(this.t+a.t,b);for(c.s=0,c.t=e;e>0;)c.data[--e]=0;for(d=c.t-this.t;e<d;++e)c.data[e+this.t]=this.am(0,a.data[e],c,e,0,this.t);for(d=Math.min(a.t,b);e<d;++e)this.am(0,a.data[e],c,e,0,b-e);c.clamp()},h.prototype.multiplyUpperTo=function(a,b,c){--b;var d=c.t=this.t+a.t-b;for(c.s=0;--d>=0;)c.data[d]=0;for(d=Math.max(b-this.t,0);d<a.t;++d)c.data[this.t+d-b]=this.am(b-d,a.data[d],c,0,0,this.t+d-b);c.clamp(),c.drShiftTo(1,c)},h.prototype.modInt=function(a){if(a<=0)return 0;var b=this.DV%a,c=this.s<0?a-1:0;if(this.t>0)if(0==b)c=this.data[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this.data[d])%a;return c},h.prototype.millerRabin=function(a){var b,c=this.subtract(h.ONE),d=c.getLowestSetBit();if(d<=0)return!1;for(var e=c.shiftRight(d),f={nextBytes:function(a){for(var b=0;b<a.length;++b)a[b]=Math.floor(256*Math.random())}},g=0;g<a;++g){do b=new h(this.bitLength(),f);while(0>=b.compareTo(h.ONE)||b.compareTo(c)>=0);var i=b.modPow(e,this);if(0!=i.compareTo(h.ONE)&&0!=i.compareTo(c)){for(var j=1;j++<d&&0!=i.compareTo(c);)if(0==(i=i.modPowInt(2,this)).compareTo(h.ONE))return!1;if(0!=i.compareTo(c))return!1}}return!0},h.prototype.clone=function(){var a=i();return this.copyTo(a),a},h.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;else if(0==this.t)return -1}else if(1==this.t)return this.data[0];else if(0==this.t)return 0;return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},h.prototype.byteValue=function(){return 0==this.t?this.s:this.data[0]<<24>>24},h.prototype.shortValue=function(){return 0==this.t?this.s:this.data[0]<<16>>16},h.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},h.prototype.toByteArray=function(){var a=this.t,b=[];b[0]=this.s;var c,d=this.DB-a*this.DB%8,e=0;if(a-- >0)for(d<this.DB&&(c=this.data[a]>>d)!=(this.s&this.DM)>>d&&(b[e++]=c|this.s<<this.DB-d);a>=0;)d<8?c=(this.data[a]&(1<<d)-1)<<8-d|this.data[--a]>>(d+=this.DB-8):(c=this.data[a]>>(d-=8)&255,d<=0&&(d+=this.DB,--a)),(128&c)!=0&&(c|=-256),0==e&&(128&this.s)!=(128&c)&&++e,(e>0||c!=this.s)&&(b[e++]=c);return b},h.prototype.equals=function(a){return 0==this.compareTo(a)},h.prototype.min=function(a){return 0>this.compareTo(a)?this:a},h.prototype.max=function(a){return this.compareTo(a)>0?this:a},h.prototype.and=function(a){var b=i();return this.bitwiseTo(a,r,b),b},h.prototype.or=function(a){var b=i();return this.bitwiseTo(a,s,b),b},h.prototype.xor=function(a){var b=i();return this.bitwiseTo(a,t,b),b},h.prototype.andNot=function(a){var b=i();return this.bitwiseTo(a,u,b),b},h.prototype.not=function(){for(var a=i(),b=0;b<this.t;++b)a.data[b]=this.DM&~this.data[b];return a.t=this.t,a.s=~this.s,a},h.prototype.shiftLeft=function(a){var b=i();return a<0?this.rShiftTo(-a,b):this.lShiftTo(a,b),b},h.prototype.shiftRight=function(a){var b=i();return a<0?this.lShiftTo(-a,b):this.rShiftTo(a,b),b},h.prototype.getLowestSetBit=function(){for(var a=0;a<this.t;++a)if(0!=this.data[a])return a*this.DB+function(a){if(0==a)return -1;var b=0;return(65535&a)==0&&(a>>=16,b+=16),(255&a)==0&&(a>>=8,b+=8),(15&a)==0&&(a>>=4,b+=4),(3&a)==0&&(a>>=2,b+=2),(1&a)==0&&++b,b}(this.data[a]);return this.s<0?this.t*this.DB:-1},h.prototype.bitCount=function(){for(var a=0,b=this.s&this.DM,c=0;c<this.t;++c)a+=function(a){for(var b=0;0!=a;)a&=a-1,++b;return b}(this.data[c]^b);return a},h.prototype.testBit=function(a){var b=Math.floor(a/this.DB);return b>=this.t?0!=this.s:(this.data[b]&1<<a%this.DB)!=0},h.prototype.setBit=function(a){return this.changeBit(a,s)},h.prototype.clearBit=function(a){return this.changeBit(a,u)},h.prototype.flipBit=function(a){return this.changeBit(a,t)},h.prototype.add=function(a){var b=i();return this.addTo(a,b),b},h.prototype.subtract=function(a){var b=i();return this.subTo(a,b),b},h.prototype.multiply=function(a){var b=i();return this.multiplyTo(a,b),b},h.prototype.divide=function(a){var b=i();return this.divRemTo(a,b,null),b},h.prototype.remainder=function(a){var b=i();return this.divRemTo(a,null,b),b},h.prototype.divideAndRemainder=function(a){var b=i(),c=i();return this.divRemTo(a,b,c),[b,c]},h.prototype.modPow=function(a,b){var c,d,e=a.bitLength(),f=n(1);if(e<=0)return f;c=e<18?1:e<48?3:e<144?4:e<768?5:6,d=e<8?new p(b):b.isEven()?new x(b):new q(b);var g=[],h=3,j=c-1,k=(1<<c)-1;if(g[1]=d.convert(this),c>1){var l=i();for(d.sqrTo(g[1],l);h<=k;)g[h]=i(),d.mulTo(l,g[h-2],g[h]),h+=2}var m,r,s=a.t-1,t=!0,u=i();for(e=o(a.data[s])-1;s>=0;){for(e>=j?m=a.data[s]>>e-j&k:(m=(a.data[s]&(1<<e+1)-1)<<j-e,s>0&&(m|=a.data[s-1]>>this.DB+e-j)),h=c;(1&m)==0;)m>>=1,--h;if((e-=h)<0&&(e+=this.DB,--s),t)g[m].copyTo(f),t=!1;else{for(;h>1;)d.sqrTo(f,u),d.sqrTo(u,f),h-=2;h>0?d.sqrTo(f,u):(r=f,f=u,u=r),d.mulTo(u,g[m],f)}for(;s>=0&&(a.data[s]&1<<e)==0;)d.sqrTo(f,u),r=f,f=u,u=r,--e<0&&(e=this.DB-1,--s)}return d.revert(f)},h.prototype.modInverse=function(a){if(0==this.signum())return h.ZERO;var b=a.isEven();if(this.isEven()&&b||0==a.signum())return h.ZERO;for(var c=a.clone(),d=this.clone(),e=n(1),f=n(0),g=n(0),i=n(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(e.isEven()&&f.isEven()||(e.addTo(this,e),f.subTo(a,f)),e.rShiftTo(1,e)):f.isEven()||f.subTo(a,f),f.rShiftTo(1,f);for(;d.isEven();)d.rShiftTo(1,d),b?(g.isEven()&&i.isEven()||(g.addTo(this,g),i.subTo(a,i)),g.rShiftTo(1,g)):i.isEven()||i.subTo(a,i),i.rShiftTo(1,i);c.compareTo(d)>=0?(c.subTo(d,c),b&&e.subTo(g,e),f.subTo(i,f)):(d.subTo(c,d),b&&g.subTo(e,g),i.subTo(f,i))}return 0!=d.compareTo(h.ONE)?h.ZERO:i.compareTo(a)>=0?i.subtract(a):0>i.signum()&&(i.addTo(a,i),0>i.signum())?i.add(a):i},h.prototype.pow=function(a){return this.exp(a,new v)},h.prototype.gcd=function(a){var b=this.s<0?this.negate():this.clone(),c=a.s<0?a.negate():a.clone();if(0>b.compareTo(c)){var d=b;b=c,c=d}var e=b.getLowestSetBit(),f=c.getLowestSetBit();if(f<0)return b;for(e<f&&(f=e),f>0&&(b.rShiftTo(f,b),c.rShiftTo(f,c));b.signum()>0;)(e=b.getLowestSetBit())>0&&b.rShiftTo(e,b),(e=c.getLowestSetBit())>0&&c.rShiftTo(e,c),b.compareTo(c)>=0?(b.subTo(c,b),b.rShiftTo(1,b)):(c.subTo(b,c),c.rShiftTo(1,c));return f>0&&c.lShiftTo(f,c),c},h.prototype.isProbablePrime=function(a){var b,c=this.abs();if(1==c.t&&c.data[0]<=y[y.length-1]){for(b=0;b<y.length;++b)if(c.data[0]==y[b])return!0;return!1}if(c.isEven())return!1;for(b=1;b<y.length;){for(var d=y[b],e=b+1;e<y.length&&d<z;)d*=y[e++];for(d=c.modInt(d);b<e;)if(d%y[b++]==0)return!1}return c.millerRabin(a)},h.prototype.square=function(){var a=i();return this.squareTo(a),a}},32264:(a,b,c)=>{"use strict";let{RequestAbortedError:d}=c(61448);class e{#G;#H=[];#I=5242880;#J=0;#e={};#K="";#L=!1;#M=!1;#N=!1;#O=!1;#B=null;#P=null;constructor(a,b,c=5242880){this.#G=a,this.#P=b,this.#I=c}addWaitingHandler(a){if(this.#O||this.#N)return!1;let b=this.#Q(a),c=b.controller;try{if(a.onRequestStart?.(c,null),c.aborted)return b.done=!0,!0;this.#M&&a.onResponseStart?.(c,this.#J,this.#e,this.#K)}catch{return b.done=!0,!0}return c.aborted||this.#H.push(b),!0}onRequestStart(a,b){this.#B=a,this.#G.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#G.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,d){for(let e of(this.#M=!0,this.#J=b,this.#e=c,this.#K=d,this.#G.onResponseStart?.(a,b,c,d),this.#H)){let{handler:a,controller:f}=e;if(e.done||f.aborted){e.done=!0;continue}try{a.onResponseStart?.(f,b,c,d)}catch{}f.aborted&&(e.done=!0)}this.#R()}onResponseData(a,b){if(!this.#L&&!this.#O){for(let c of(this.#N=!0,this.#G.onResponseData?.(a,b),this.#H)){let{handler:a,controller:d}=c;if(c.done||d.aborted){c.done=!0;continue}if(d.paused){this.#S(c,b);continue}try{a.onResponseData?.(d,b)}catch{}d.aborted&&(c.done=!0,c.bufferedChunks=[],c.bufferedBytes=0)}this.#R()}}onResponseEnd(a,b){if(!this.#L&&!this.#O){for(let c of(this.#O=!0,this.#G.onResponseEnd?.(a,b),this.#H)){if(c.done||c.controller.aborted||(this.#T(c),c.done||c.controller.aborted)){c.done=!0;continue}if(c.controller.paused&&c.bufferedChunks.length>0){c.pendingTrailers=b;continue}try{c.handler.onResponseEnd?.(c.controller,b)}catch{}c.done=!0}this.#R(),this.#P?.()}}onResponseError(a,b){if(!this.#O){for(let c of(this.#L=!0,this.#O=!0,this.#G.onResponseError?.(a,b),this.#H))this.#U(c,b);this.#H=[],this.#P?.()}}#Q(a){let b={handler:a,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},c={aborted:!1,paused:!1,reason:null};return b.controller={resume:()=>{if(!c.aborted){if(c.paused=!1,this.#T(b),this.#O&&b.pendingTrailers&&0===b.bufferedChunks.length&&!c.paused&&!c.aborted){try{b.handler.onResponseEnd?.(b.controller,b.pendingTrailers)}catch{}b.pendingTrailers=null,b.done=!0}this.#R()}},pause:()=>{c.aborted||(c.paused=!0)},get paused(){return c.paused},get aborted(){return c.aborted},get reason(){return c.reason},abort:a=>{c.aborted=!0,c.reason=a??null,b.done=!0,b.pendingTrailers=null,b.bufferedChunks=[],b.bufferedBytes=0}},b}#S(a,b){if(a.done||a.controller.aborted){a.done=!0,a.bufferedChunks=[],a.bufferedBytes=0;return}let c=Buffer.from(b);if(a.bufferedChunks.push(c),a.bufferedBytes+=c.length,a.bufferedBytes>this.#I){let b=new d(`Deduplicated waiting handler exceeded maxBufferSize (${this.#I} bytes) while paused`);this.#U(a,b)}}#T(a){let{handler:b,controller:c}=a;for(;!a.done&&!c.aborted&&!c.paused&&a.bufferedChunks.length>0;){let d=a.bufferedChunks.shift();a.bufferedBytes-=d.length;try{b.onResponseData?.(c,d)}catch{}if(c.aborted){a.done=!0,a.pendingTrailers=null,a.bufferedChunks=[],a.bufferedBytes=0;break}}}#U(a,b){if(!a.done){a.done=!0,a.pendingTrailers=null,a.bufferedChunks=[],a.bufferedBytes=0;try{a.controller.abort(b),a.handler.onResponseError?.(a.controller,b)}catch{}}}#R(){this.#H=this.#H.filter(a=>!1===a.done)}}a.exports=e},32984:(a,b,c)=>{"use strict";let d=c(34589),{types:e,inspect:f}=c(57975),{markAsUncloneable:g}=c(75919),h=Function.call.bind(Function.prototype[Symbol.hasInstance]),i={converters:{},util:{},errors:{},is:{}};i.errors.exception=function(a){return TypeError(`${a.header}: ${a.message}`)},i.errors.conversionFailed=function(a){let b=1===a.types.length?"":" one of",c=`${a.argument} could not be converted to${b}: ${a.types.join(", ")}.`;return i.errors.exception({header:a.prefix,message:c})},i.errors.invalidArgument=function(a){return i.errors.exception({header:a.prefix,message:`"${a.value}" is an invalid ${a.type}.`})},i.brandCheck=function(a,b){if(!h(b,a)){let a=TypeError("Illegal invocation");throw a.code="ERR_INVALID_THIS",a}},i.brandCheckMultiple=function(a){let b=a.map(a=>i.util.MakeTypeAssertion(a));return a=>{if(b.every(b=>!b(a))){let a=TypeError("Illegal invocation");throw a.code="ERR_INVALID_THIS",a}}},i.argumentLengthCheck=function({length:a},b,c){if(a<b)throw i.errors.exception({message:`${b} argument${1!==b?"s":""} required, but${a?" only":""} ${a} found.`,header:c})},i.illegalConstructor=function(){throw i.errors.exception({header:"TypeError",message:"Illegal constructor"})},i.util.MakeTypeAssertion=function(a){return b=>h(a,b)},i.util.Type=function(a){switch(typeof a){case"undefined":return 1;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"bigint":return 6;case"function":case"object":if(null===a)return 7;return 8}},i.util.Types={UNDEFINED:1,BOOLEAN:2,STRING:3,SYMBOL:4,NUMBER:5,BIGINT:6,NULL:7,OBJECT:8},i.util.TypeValueToString=function(a){switch(i.util.Type(a)){case 1:return"Undefined";case 2:return"Boolean";case 3:return"String";case 4:return"Symbol";case 5:return"Number";case 6:return"BigInt";case 7:return"Null";case 8:return"Object"}},i.util.markAsUncloneable=g,i.util.ConvertToInt=function(a,b,c,d){let e,f;64===b?(e=0x1fffffffffffff,f="unsigned"===c?0:-0x1fffffffffffff):"unsigned"===c?(f=0,e=Math.pow(2,b)-1):(f=-Math.pow(2,b-1),e=Math.pow(2,b-1)-1);let g=Number(a);if(0===g&&(g=0),i.util.HasFlag(d,i.attributes.EnforceRange)){if(Number.isNaN(g)||g===1/0||g===-1/0)throw i.errors.exception({header:"Integer conversion",message:`Could not convert ${i.util.Stringify(a)} to an integer.`});if((g=i.util.IntegerPart(g))<f||g>e)throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${f}-${e}, got ${g}.`});return g}return!Number.isNaN(g)&&i.util.HasFlag(d,i.attributes.Clamp)?g=Math.floor(g=Math.min(Math.max(g,f),e))%2==0?Math.floor(g):Math.ceil(g):Number.isNaN(g)||0===g&&Object.is(0,g)||g===1/0||g===-1/0?0:(g=i.util.IntegerPart(g)%Math.pow(2,b),"signed"===c&&g>=Math.pow(2,b-1))?g-Math.pow(2,b):g},i.util.IntegerPart=function(a){let b=Math.floor(Math.abs(a));return a<0?-1*b:b},i.util.Stringify=function(a){switch(i.util.Type(a)){case 4:return`Symbol(${a.description})`;case 8:return f(a);case 3:return`"${a}"`;case 6:return`${a}n`;default:return`${a}`}},i.util.IsResizableArrayBuffer=function(a){if(e.isArrayBuffer(a))return a.resizable;if(e.isSharedArrayBuffer(a))return a.growable;throw i.errors.exception({header:"IsResizableArrayBuffer",message:`"${i.util.Stringify(a)}" is not an array buffer.`})},i.util.HasFlag=function(a,b){return"number"==typeof a&&(a&b)===b},i.sequenceConverter=function(a){return(b,c,d,e)=>{if(8!==i.util.Type(b))throw i.errors.exception({header:c,message:`${d} (${i.util.Stringify(b)}) is not iterable.`});let f="function"==typeof e?e():b?.[Symbol.iterator]?.(),g=[],h=0;if(void 0===f||"function"!=typeof f.next)throw i.errors.exception({header:c,message:`${d} is not iterable.`});for(;;){let{done:b,value:e}=f.next();if(b)break;g.push(a(e,c,`${d}[${h++}]`))}return g}},i.recordConverter=function(a,b){return(c,d,f)=>{if(8!==i.util.Type(c))throw i.errors.exception({header:d,message:`${f} ("${i.util.TypeValueToString(c)}") is not an Object.`});let g={};if(!e.isProxy(c)){for(let e of[...Object.getOwnPropertyNames(c),...Object.getOwnPropertySymbols(c)]){let h=i.util.Stringify(e),j=a(e,d,`Key ${h} in ${f}`),k=b(c[e],d,`${f}[${h}]`);g[j]=k}return g}for(let e of Reflect.ownKeys(c)){let h=Reflect.getOwnPropertyDescriptor(c,e);if(h?.enumerable){let h=a(e,d,f),i=b(c[e],d,f);g[h]=i}}return g}},i.interfaceConverter=function(a,b){return(c,d,e)=>{if(!a(c))throw i.errors.exception({header:d,message:`Expected ${e} ("${i.util.Stringify(c)}") to be an instance of ${b}.`});return c}},i.dictionaryConverter=function(a){return a.sort((a,b)=>(a.key>b.key)-(a.key<b.key)),(b,c,d)=>{let e={};if(null!=b&&8!==i.util.Type(b))throw i.errors.exception({header:c,message:`Expected ${b} to be one of: Null, Undefined, Object.`});for(let f of a){let{key:a,defaultValue:g,required:h,converter:j}=f;if(!0===h&&(null==b||!Object.hasOwn(b,a)))throw i.errors.exception({header:c,message:`Missing required key "${a}".`});let k=b?.[a],l=void 0!==g;if(l&&void 0===k&&(k=g()),h||l||void 0!==k){if(k=j(k,c,`${d}.${a}`),f.allowedValues&&!f.allowedValues.includes(k))throw i.errors.exception({header:c,message:`${k} is not an accepted type. Expected one of ${f.allowedValues.join(", ")}.`});e[a]=k}}return e}},i.nullableConverter=function(a){return(b,c,d)=>null===b?b:a(b,c,d)},i.is.USVString=function(a){return"string"==typeof a&&a.isWellFormed()},i.is.ReadableStream=i.util.MakeTypeAssertion(ReadableStream),i.is.Blob=i.util.MakeTypeAssertion(Blob),i.is.URLSearchParams=i.util.MakeTypeAssertion(URLSearchParams),i.is.File=i.util.MakeTypeAssertion(File),i.is.URL=i.util.MakeTypeAssertion(URL),i.is.AbortSignal=i.util.MakeTypeAssertion(AbortSignal),i.is.MessagePort=i.util.MakeTypeAssertion(MessagePort),i.is.BufferSource=function(a){return e.isArrayBuffer(a)||ArrayBuffer.isView(a)&&e.isArrayBuffer(a.buffer)},i.util.getCopyOfBytesHeldByBufferSource=function(a){let b=a,c=0,f=0;if(e.isTypedArray(a)||e.isDataView(a)?(b=a.buffer,c=a.byteOffset):d(e.isAnyArrayBuffer(a)),f=a.byteLength,b.detached)return new Uint8Array(0);let g=new Uint8Array(f),h=new Uint8Array(b,c,f);return g.set(h),g},i.converters.DOMString=function(a,b,c,d){if(null===a&&i.util.HasFlag(d,i.attributes.LegacyNullToEmptyString))return"";if("symbol"==typeof a)throw i.errors.exception({header:b,message:`${c} is a symbol, which cannot be converted to a DOMString.`});return String(a)},i.converters.ByteString=function(a,b,c){if("symbol"==typeof a)throw i.errors.exception({header:b,message:`${c} is a symbol, which cannot be converted to a ByteString.`});let d=String(a);for(let a=0;a<d.length;a++)if(d.charCodeAt(a)>255)throw TypeError(`Cannot convert argument to a ByteString because the character at index ${a} has a value of ${d.charCodeAt(a)} which is greater than 255.`);return d},i.converters.USVString=function(a){return"string"==typeof a?a.toWellFormed():`${a}`.toWellFormed()},i.converters.boolean=function(a){return!!a},i.converters.any=function(a){return a},i.converters["long long"]=function(a,b,c){return i.util.ConvertToInt(a,64,"signed",0,b,c)},i.converters["unsigned long long"]=function(a,b,c){return i.util.ConvertToInt(a,64,"unsigned",0,b,c)},i.converters["unsigned long"]=function(a,b,c){return i.util.ConvertToInt(a,32,"unsigned",0,b,c)},i.converters["unsigned short"]=function(a,b,c,d){return i.util.ConvertToInt(a,16,"unsigned",d,b,c)},i.converters.ArrayBuffer=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isArrayBuffer(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer"]});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a resizable ArrayBuffer.`});return a},i.converters.SharedArrayBuffer=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isSharedArrayBuffer(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["SharedArrayBuffer"]});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a resizable SharedArrayBuffer.`});return a},i.converters.TypedArray=function(a,b,c,d,f){if(8!==i.util.Type(a)||!e.isTypedArray(a)||a.constructor.name!==b.name)throw i.errors.conversionFailed({prefix:c,argument:`${d} ("${i.util.Stringify(a)}")`,types:[b.name]});if(!i.util.HasFlag(f,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:c,message:`${d} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(f,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:c,message:`${d} cannot be a view on a resizable array buffer.`});return a},i.converters.DataView=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isDataView(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["DataView"]});if(!i.util.HasFlag(d,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a resizable array buffer.`});return a},i.converters.ArrayBufferView=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isArrayBufferView(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBufferView"]});if(!i.util.HasFlag(d,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a resizable array buffer.`});return a},i.converters.BufferSource=function(a,b,c,d){if(e.isArrayBuffer(a))return i.converters.ArrayBuffer(a,b,c,d);if(e.isArrayBufferView(a))return d&=~i.attributes.AllowShared,i.converters.ArrayBufferView(a,b,c,d);if(e.isSharedArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a SharedArrayBuffer.`});throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer","ArrayBufferView"]})},i.converters.AllowSharedBufferSource=function(a,b,c,d){if(e.isArrayBuffer(a))return i.converters.ArrayBuffer(a,b,c,d);if(e.isSharedArrayBuffer(a))return i.converters.SharedArrayBuffer(a,b,c,d);if(e.isArrayBufferView(a))return d|=i.attributes.AllowShared,i.converters.ArrayBufferView(a,b,c,d);throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})},i.converters["sequence<ByteString>"]=i.sequenceConverter(i.converters.ByteString),i.converters["sequence<sequence<ByteString>>"]=i.sequenceConverter(i.converters["sequence<ByteString>"]),i.converters["record<ByteString, ByteString>"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString),i.converters.Blob=i.interfaceConverter(i.is.Blob,"Blob"),i.converters.AbortSignal=i.interfaceConverter(i.is.AbortSignal,"AbortSignal"),i.converters.EventHandlerNonNull=function(a){return 8!==i.util.Type(a)?null:"function"==typeof a?a:()=>{}},i.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},a.exports={webidl:i}},33113:(a,b,c)=>{"use strict";c.d(b,{DH:()=>v});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(55511),f=c(27137),g=c(79401);function h(a){return e.createHash("md5").update(a).digest("hex")}function i(a,b,c){var d;let i,j;if(!c?.userId)throw Error("cosy: user id is empty");if(!c?.authToken)throw Error("cosy: auth token is empty");let k=Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"latin1"):Buffer.from(a||[]),{cosyKey:l,info:m}=(d={uid:c.userId,security_oauth_token:c.authToken,name:c.name||"",aid:"",email:c.email||""},i=(0,f.A)().slice(0,16),j=function(a,b){var c;let d,f,g=Buffer.from(b,"utf8");if(16!==g.length)throw Error(`aes key must be 16 bytes, got ${g.length}`);let h=g.subarray(0,16),i=e.createCipheriv("aes-128-cbc",g,h);i.setAutoPadding(!1);let j=(d=16-(c=Buffer.from(a,"utf8")).length%16,f=Buffer.alloc(c.length+d,d),c.copy(f,0),f);return Buffer.concat([i.update(j),i.final()]).toString("base64")}(JSON.stringify(d),i),{cosyKey:e.publicEncrypt({key:g.pr,padding:e.constants.RSA_PKCS1_PADDING},Buffer.from(i,"utf8")).toString("base64"),info:j}),n=String(Math.floor(Date.now()/1e3)),o=JSON.stringify({version:"v1",requestId:(0,f.A)(),info:m,cosyVersion:g.cT,ideVersion:""}),p=Buffer.from(o,"utf8").toString("base64"),q=function(a){let b;try{b=new URL(a).pathname||""}catch{return""}return b.startsWith("/algo")?b.slice(5):b}(b),r=`${p}
129
+ ${g}`:f.stack}(b,q):b&&"object"==typeof b&&Error.captureStackTrace(b,a.exports.hd),b})},a.exports.Headers=c(28665).Headers,a.exports.Response=c(78196).Response,a.exports.Request=c(12600).Request,a.exports.FormData=c(2887).FormData;let{setGlobalOrigin:r,getGlobalOrigin:s}=c(79412),{CacheStorage:t}=c(49166),{kConstruct:u}=c(49176);new t(u);let{deleteCookie:v,getCookies:w,getSetCookies:x,setCookie:y,parseCookie:z}=c(70106),{parseMIMEType:A,serializeAMimeType:B}=c(16537),{CloseEvent:C,ErrorEvent:D,MessageEvent:E}=c(51753),{WebSocket:F,ping:G}=c(52039);a.exports.kb=F,a.exports.rd=C,a.exports.NN=D,a.exports.aM=E,c(42430).WebSocketStream,c(87404).WebSocketError,o(j.request),o(j.stream),o(j.pipeline),o(j.connect),o(j.upgrade);let{EventSource:H}=c(47703);a.exports.GD=H},26317:(a,b,c)=>{"use strict";c.d(b,{Vp:()=>f,nE:()=>e});let d={none:0,minimal:512,low:1024,medium:8192,high:24576,xhigh:32768,max:128e3};function e(a){if(a)return d[String(a).toLowerCase()]}function f(a){return!a||a<=0?null:a<=2048?"low":a<=16384?"medium":"high"}},26376:(a,b,c)=>{"use strict";let{makeRequest:d}=c(12600);a.exports={isValidLastEventId:function(a){return -1===a.indexOf("\0")},isASCIINumber:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(48>a.charCodeAt(b)||a.charCodeAt(b)>57)return!1;return!0},createPotentialCORSRequest:function(a,b,c,e){let f="no cors"===c?"no-cors":"cors";e&&"no-cors"===f&&(f="same-origin");let g="include";return"anonymous"===c&&(g="same-origin"),d({urlList:[a],destination:b,mode:f,credentials:g,useURLCredentials:!0})}}},26408:(a,b,c)=>{"use strict";c.d(b,{$q:()=>h,ni:()=>l,W$:()=>j});var d=c(71553),e=c(25814);let f=[{sig:[137,80,78,71],offset:0,mime:"image/png"},{sig:[255,216,255],offset:0,mime:"image/jpeg"},{sig:[71,73,70,56],offset:0,mime:"image/gif"},{sig:[82,73,70,70],offset:0,mime:"image/webp",verifyWebp:!0},{sig:[66,77],offset:0,mime:"image/bmp"}],g=new Set(["localhost","127.0.0.1","0.0.0.0","::1","169.254.169.254","metadata.google.internal"]);function h(a,b){return`data:${a};base64,${b}`}let i=/^data:([^;]+);base64,([\s\S]+)$/;function j(a){if("string"!=typeof a)return null;let b=a.match(i);return b?{mimeType:b[1],base64:b[2]}:null}async function k(a){if(!a||g.has(a.toLowerCase()))return null;try{let b=await (0,d.lookup)(a,{all:!0});if(!b.length||b.some(a=>(function(a){if(!a||"::1"===a||a.startsWith("fc")||a.startsWith("fd")||a.startsWith("fe80"))return!0;let b=(a.includes(".")?a.split(":").pop():a).split(".").map(a=>Number.parseInt(a,10));if(4!==b.length||b.some(a=>Number.isNaN(a)))return!a.includes(":");let[c,d]=b;return 10===c||127===c||0===c||172===c&&d>=16&&d<=31||192===c&&168===d||169===c&&254===d||100===c&&d>=64&&d<=127||!1})(a.address)))return null;return b}catch{return null}}async function l(a,b={}){let c,{signal:d,timeoutMs:g=1e4,maxBytes:h=0xa00000}=b;if(!a||!a.startsWith("http://")&&!a.startsWith("https://"))return null;try{c=new URL(a)}catch{return null}let i=await k(c.hostname);if(!i)return null;let j=new AbortController,m=d?null:setTimeout(()=>j.abort(),g),n=d||j.signal,o=new e.g6({connect:{lookup:(a,b,c)=>c(null,[{address:i[0].address,family:i[0].family}])}});try{let b=await fetch(a,{signal:n,redirect:"manual",dispatcher:o});if(!b.ok||!b.body)return null;let c=b.body.getReader(),d=[],e=0;for(;;){let{done:a,value:b}=await c.read();if(a)break;if((e+=b.length)>h){try{await c.cancel()}catch{}return null}d.push(b)}let g=Buffer.concat(d.map(a=>Buffer.from(a))),i=function(a){for(let{sig:b,offset:c,mime:d,verifyWebp:e}of f){if(a.length<c+b.length)continue;let f=!0;for(let d=0;d<b.length;d++)if(a[c+d]!==b[d]){f=!1;break}if(f&&(!e||a.length>=12&&87===a[8]&&69===a[9]&&66===a[10]&&80===a[11]))return d}return null}(g);if(!i)return null;return{url:`data:${i};base64,${g.toString("base64")}`,mimeType:i}}catch{return null}finally{m&&clearTimeout(m),o.close().catch(()=>{})}}},26757:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,InvalidReturnValueError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);function k(){}class l extends e{constructor(a,b,c){if(!a||"object"!=typeof a)throw new f("invalid opts");const{signal:d,method:e,opaque:g,body:j,onInfo:l,responseHeaders:m}=a;try{if("function"!=typeof c)throw new f("invalid callback");if("function"!=typeof b)throw new f("invalid factory");if(d&&"function"!=typeof d.on&&"function"!=typeof d.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");if("CONNECT"===e)throw new f("invalid method");if(l&&"function"!=typeof l)throw new f("invalid onInfo callback");super("UNDICI_STREAM")}catch(a){throw h.isStream(j)&&h.destroy(j.on("error",k),a),a}this.responseHeaders=m||null,this.opaque=g||null,this.factory=b,this.callback=c,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=j,this.onInfo=l||null,h.isStream(j)&&j.on("error",a=>{this.onResponseError(this.controller,a)}),i(this,d)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){var e;let f,i,j,k,l,{factory:m,opaque:n,context:o,responseHeaders:p}=this,q=a?.rawHeaders,r="raw"===p?h.parseRawHeaders(q):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:r});return}if(this.factory=null,null===m)return;let s=this.runInAsyncScope(m,null,{statusCode:b,headers:r,opaque:n,context:o});if(!s||"function"!=typeof s.write||"function"!=typeof s.end||"function"!=typeof s.on)throw new g("expected Writable");e=(a,b)=>{let{callback:c,res:d,opaque:e,trailers:f,abort:g}=this;this.res=null,(a||!d?.readable)&&h.destroy(d,b?void 0:a),this.callback=null,this.runInAsyncScope(c,null,a||null,{opaque:e,trailers:f}),a&&g(a)},f=!1,i=(a,b=!1)=>{f||(f=!0,s.removeListener("close",j),s.removeListener("error",k),s.removeListener("finish",l),e(a,b))},j=()=>{let a;i(s.errored??s.writableErrored??s._writableState?.errored??(s.writableFinished?void 0:((a=Error("Premature close")).code="ERR_STREAM_PREMATURE_CLOSE",a)))},k=a=>i(a,!0),l=()=>i(),s.on("close",j),s.on("error",k),s.on("finish",l),s.closed?process.nextTick(j):s.writableFinished&&process.nextTick(l),s.on("drain",()=>a.resume()),this.res=s,!0===(void 0!==s.writableNeedDrain?s.writableNeedDrain:s._writableState?.needDrain)&&a.pause()}onResponseData(a,b){let{res:c}=this;c&&!1===c.write(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;j(this),c&&(b&&"object"==typeof b&&(this.trailers=b),c.end())}onResponseError(a,b){let{res:c,callback:d,opaque:e,body:f}=this;j(this),this.factory=null,c?(this.res=null,h.destroy(c,b)):d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:e})})),f&&(this.body=null,h.destroy(f,b))}}a.exports=function a(b,c,d){if(void 0===d)return new Promise((d,e)=>{a.call(this,b,c,(a,b)=>a?e(a):d(b))});try{let a=new l(b,c,d);this.dispatch(b,a)}catch(c){if("function"!=typeof d)throw c;let a=b?.opaque;queueMicrotask(()=>d(c,{opaque:a}))}}},27060:(a,b,c)=>{"use strict";let{isIP:d}=c(77030),{lookup:e}=c(40610),f=c(60823),{InvalidArgumentError:g,InformationalError:h}=c(61448);function i(a){return"string"==typeof a&&"host"===a.toLowerCase()}function j(a,b){let c=function(a){let b;if(null==a)return null;if(Array.isArray(a)){if(0===a.length||!Array.isArray(a[0]))return a;let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}if("object"==typeof a&&(b=Object.getPrototypeOf(a),Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator])){let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}return a}(b);return!function(a){if(null==a)return!1;if(Array.isArray(a)){if(0===a.length)return!1;for(let b=0;b<a.length;b+=2)if(i(a[b]))return!0;return!1}if("object"==typeof a){for(let b in a)if(i(b))return!0}return!1}(c)?Array.isArray(c)?["host",a,...c]:c&&"object"==typeof c?{host:a,...c}:{host:a}:c}class k{#t=0;#u=new Map;constructor(a){this.#t=a.maxItems}get size(){return this.#u.size}get(a){return this.#u.get(a)??null}set(a,b){this.#u.set(a,b)}delete(a){this.#u.delete(a)}full(){return this.size>=this.#t}}class l{#v=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(a){this.#v=a.maxTTL,this.#t=a.maxItems,this.dualStack=a.dualStack,this.affinity=a.affinity,this.lookup=a.lookup??this.#w,this.pick=a.pick??this.#x,this.storage=a.storage??new k(a)}runLookup(a,b,c){let d=this.storage.get(a.hostname);if(null==d&&this.storage.full())return void c(null,a);let e={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...b.dns,maxTTL:this.#v,maxItems:this.#t};if(null==d)this.lookup(a,e,(b,d)=>{let f;if(b||null==d||0===d.length)return void c(b??new h("No DNS entries found"));this.setRecords(a,d);let g=this.storage.get(a.hostname),i=this.pick(a,g,e.affinity);f="number"==typeof i.port?`:${i.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===i.family?`[${i.address}]`:i.address}${f}`))});else{let f,g=this.pick(a,d,e.affinity);if(null==g){this.storage.delete(a.hostname),this.runLookup(a,b,c);return}f="number"==typeof g.port?`:${g.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===g.family?`[${g.address}]`:g.address}${f}`))}}#w(a,b,c){e(a.hostname,{all:!0,family:!1===this.dualStack?this.affinity:0,order:"ipv4first"},(a,b)=>{if(a)return c(a);let d=new Map;for(let a of b)d.set(`${a.address}:${a.family}`,a);c(null,d.values())})}#x(a,b,c){let d,e=null,{records:f,offset:g}=b;if(this.dualStack?(null==c&&(null==g||0x7fffffff===g?(b.offset=0,c=4):(b.offset++,c=(1&b.offset)==1?6:4)),d=null!=f[c]&&f[c].ips.length>0?f[c]:f[4===c?6:4]):d=f[c],null==d||0===d.ips.length)return e;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let h=d.offset%d.ips.length;return null==(e=d.ips[h]??null)?e:Date.now()-e.timestamp>e.ttl?(d.ips.splice(h,1),this.pick(a,b,c)):e}pickFamily(a,b){let c=this.storage.get(a.hostname)?.records;if(!c)return null;let d=c[b];if(!d)return null;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let e=d.offset%d.ips.length,f=d.ips[e]??null;return null==f||Date.now()-f.timestamp>f.ttl&&d.ips.splice(e,1),f}setRecords(a,b){let c=Date.now(),d={records:{4:null,6:null}},e=this.#v;for(let a of b){a.timestamp=c,"number"==typeof a.ttl?(a.ttl=Math.min(a.ttl,this.#v),e=Math.min(e,a.ttl)):a.ttl=this.#v;let b=d.records[a.family]??{ips:[]};b.ips.push(a),d.records[a.family]=b}this.storage.set(a.hostname,d,{ttl:e})}deleteRecords(a){this.storage.delete(a.hostname)}getHandler(a,b){return new m(this,a,b)}}class m extends f{#a=null;#y=null;#z=null;#A=null;#B=null;#C=null;#D=!0;constructor(a,{origin:b,handler:c,dispatch:d,newOrigin:e},f){super(c),this.#A=b,this.#C=e,this.#y={...f},this.#a=a,this.#z=d}onResponseError(a,b){switch(b.code){case"ETIMEDOUT":case"ECONNREFUSED":if(this.#a.dualStack){let c;if(!this.#D)return void super.onResponseError(a,b);this.#D=!1;let d="["===this.#C.hostname[0]?4:6,e=this.#a.pickFamily(this.#A,d);if(null==e)return void super.onResponseError(a,b);c="number"==typeof e.port?`:${e.port}`:""!==this.#A.port?`:${this.#A.port}`:"";let f={...this.#y,origin:`${this.#A.protocol}//${6===e.family?`[${e.address}]`:e.address}${c}`,headers:j(this.#A.host,this.#y.headers)};this.#z(f,this);return}super.onResponseError(a,b);break;case"ENOTFOUND":this.#a.deleteRecords(this.#A),super.onResponseError(a,b);break;default:super.onResponseError(a,b)}}}a.exports=a=>{let b;if(a?.maxTTL!=null&&("number"!=typeof a?.maxTTL||a?.maxTTL<0))throw new g("Invalid maxTTL. Must be a positive number");if(a?.maxItems!=null&&("number"!=typeof a?.maxItems||a?.maxItems<1))throw new g("Invalid maxItems. Must be a positive number and greater than zero");if(a?.affinity!=null&&a?.affinity!==4&&a?.affinity!==6)throw new g("Invalid affinity. Must be either 4 or 6");if(a?.dualStack!=null&&"boolean"!=typeof a?.dualStack)throw new g("Invalid dualStack. Must be a boolean");if(a?.lookup!=null&&"function"!=typeof a?.lookup)throw new g("Invalid lookup. Must be a function");if(a?.pick!=null&&"function"!=typeof a?.pick)throw new g("Invalid pick. Must be a function");if(a?.storage!=null&&("function"!=typeof a?.storage?.get||"function"!=typeof a?.storage?.set||"function"!=typeof a?.storage?.full||"function"!=typeof a?.storage?.delete))throw new g("Invalid storage. Must be a object with methods: { get, set, full, delete }");let c=a?.dualStack??!0;b=c?a?.affinity??null:a?.affinity??4;let e=new l({maxTTL:a?.maxTTL??1e4,lookup:a?.lookup??null,pick:a?.pick??null,dualStack:c,affinity:b,maxItems:a?.maxItems??1/0,storage:a?.storage});return a=>function(b,c){if(null==b.origin)return a(b,c);let f=b.origin.constructor===URL?b.origin:new URL(b.origin);return 0!==d(f.hostname)?a(b,c):(e.runLookup(f,b,(d,g)=>{if(d)return c.onResponseError(null,d);a({...b,servername:f.hostname,origin:g.origin,headers:j(f.host,b.headers)},e.getHandler({origin:f,dispatch:a,handler:c,newOrigin:g},b))}),!0)}}},27080:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(38627),c(49345),c(94463),c(29984),c(4554),c(33889);var e=function(a,b,c,e){var f=d.util.createBuffer(),g=a.length>>1,h=g+(1&a.length),i=a.substr(0,h),j=a.substr(g,h),k=d.util.createBuffer(),l=d.hmac.create();c=b+c;var m=Math.ceil(e/16),n=Math.ceil(e/20);l.start("MD5",i);var o=d.util.createBuffer();k.putBytes(c);for(var p=0;p<m;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),o.putBuffer(l.digest());l.start("SHA1",j);var q=d.util.createBuffer();k.clear(),k.putBytes(c);for(var p=0;p<n;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),q.putBuffer(l.digest());return f.putBytes(d.util.xorBytes(o.getBytes(),q.getBytes(),e)),f},f=function(a,b,c){var e=!1;try{var f=a.deflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},g=function(a,b,c){var e=!1;try{var f=a.inflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},h=function(a,b){var c=0;switch(b){case 1:c=a.getByte();break;case 2:c=a.getInt16();break;case 3:c=a.getInt24();break;case 4:c=a.getInt32()}return d.util.createBuffer(a.getBytes(c))},i=function(a,b,c){a.putInt(c.length(),b<<3),a.putBuffer(c)},j={};j.Versions={TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}},j.SupportedVersions=[j.Versions.TLS_1_1,j.Versions.TLS_1_0],j.Version=j.SupportedVersions[0],j.MaxFragment=15360,j.ConnectionEnd={server:0,client:1},j.PRFAlgorithm={tls_prf_sha256:0},j.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},j.CipherType={stream:0,block:1,aead:2},j.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},j.CompressionMethod={none:0,deflate:1},j.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},j.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},j.Alert={},j.Alert.Level={warning:1,fatal:2},j.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},j.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},j.CipherSuites={},j.getCipherSuite=function(a){var b=null;for(var c in j.CipherSuites){var d=j.CipherSuites[c];if(d.id[0]===a.charCodeAt(0)&&d.id[1]===a.charCodeAt(1)){b=d;break}}return b},j.handleUnexpected=function(a,b){(a.open||a.entity!==j.ConnectionEnd.client)&&a.error(a,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})},j.handleHelloRequest=function(a,b,c){!a.handshaking&&a.handshakes>0&&(j.queue(a,j.createAlert(a,{level:j.Alert.Level.warning,description:j.Alert.Description.no_renegotiation})),j.flush(a)),a.process()},j.parseHelloMessage=function(a,b,c){var e=null,f=a.entity===j.ConnectionEnd.client;if(c<38)a.error(a,{message:f?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});else{var g=b.fragment,i=g.length();if(e={version:{major:g.getByte(),minor:g.getByte()},random:d.util.createBuffer(g.getBytes(32)),session_id:h(g,1),extensions:[]},f?(e.cipher_suite=g.getBytes(2),e.compression_method=g.getByte()):(e.cipher_suites=h(g,2),e.compression_methods=h(g,1)),(i=c-(i-g.length()))>0){for(var k=h(g,2);k.length()>0;)e.extensions.push({type:[k.getByte(),k.getByte()],data:h(k,2)});if(!f)for(var l=0;l<e.extensions.length;++l){var m=e.extensions[l];if(0===m.type[0]&&0===m.type[1])for(var n=h(m.data,2);n.length()>0&&0===n.getByte();)a.session.extensions.server_name.serverNameList.push(h(n,2).getBytes())}}if(a.session.version&&(e.version.major!==a.session.version.major||e.version.minor!==a.session.version.minor))return a.error(a,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});if(f)a.session.cipherSuite=j.getCipherSuite(e.cipher_suite);else for(var o=d.util.createBuffer(e.cipher_suites.bytes());o.length()>0&&(a.session.cipherSuite=j.getCipherSuite(o.getBytes(2)),null===a.session.cipherSuite););if(null===a.session.cipherSuite)return a.error(a,{message:"No cipher suites in common.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure},cipherSuite:d.util.bytesToHex(e.cipher_suite)});f?a.session.compressionMethod=e.compression_method:a.session.compressionMethod=j.CompressionMethod.none}return e},j.createSecurityParameters=function(a,b){var c=a.entity===j.ConnectionEnd.client,d=b.random.bytes(),e=c?a.session.sp.client_random:d,f=c?d:j.createRandom().getBytes();a.session.sp={entity:a.entity,prf_algorithm:j.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:a.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:e,server_random:f}},j.handleServerHello=function(a,b,c){var d=j.parseHelloMessage(a,b,c);if(!a.fail){if(!(d.version.minor<=a.version.minor))return a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});a.version.minor=d.version.minor,a.session.version=a.version;var e=d.session_id.bytes();e.length>0&&e===a.session.id?(a.expect=o,a.session.resuming=!0,a.session.sp.server_random=d.random.bytes()):(a.expect=k,a.session.resuming=!1,j.createSecurityParameters(a,d)),a.session.id=e,a.process()}},j.handleClientHello=function(a,b,c){var e,f=j.parseHelloMessage(a,b,c);if(!a.fail){var g=f.session_id.bytes(),h=null;if(a.sessionCache&&(null===(h=a.sessionCache.getSession(g))?g="":(h.version.major!==f.version.major||h.version.minor>f.version.minor)&&(h=null,g="")),0===g.length&&(g=d.random.getBytes(32)),a.session.id=g,a.session.clientHelloVersion=f.version,a.session.sp={},h)a.version=a.session.version=h.version,a.session.sp=h.sp;else{for(var i=1;i<j.SupportedVersions.length&&!((e=j.SupportedVersions[i]).minor<=f.version.minor);++i);a.version={major:e.major,minor:e.minor},a.session.version=a.version}null!==h?(a.expect=v,a.session.resuming=!0,a.session.sp.client_random=f.random.bytes()):(a.expect=!1!==a.verifyClient?s:t,a.session.resuming=!1,j.createSecurityParameters(a,f)),a.open=!0,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHello(a)})),a.session.resuming?(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))):(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)})),a.fail||(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerKeyExchange(a)})),!1!==a.verifyClient&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateRequest(a)})),j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHelloDone(a)})))),j.flush(a),a.process()}},j.handleCertificate=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e,f,g={certificate_list:h(b.fragment,3)},i=[];try{for(;g.certificate_list.length()>0;)e=h(g.certificate_list,3),f=d.asn1.fromDer(e),e=d.pki.certificateFromAsn1(f,!0),i.push(e)}catch(b){return a.error(a,{message:"Could not parse certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var k=a.entity===j.ConnectionEnd.client;(k||!0===a.verifyClient)&&0===i.length?a.error(a,{message:k?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}}):0===i.length?a.expect=k?l:t:(k?a.session.serverCertificate=i[0]:a.session.clientCertificate=i[0],j.verifyCertificateChain(a,i)&&(a.expect=k?l:t)),a.process()},j.handleServerKeyExchange=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});a.expect=m,a.process()},j.handleClientKeyExchange=function(a,b,c){if(c<48)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});var e={enc_pre_master_secret:h(b.fragment,2).getBytes()},f=null;if(a.getPrivateKey)try{f=a.getPrivateKey(a,a.session.serverCertificate),f=d.pki.privateKeyFromPem(f)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}if(null===f)return a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}});try{var g=a.session.sp;g.pre_master_secret=f.decrypt(e.enc_pre_master_secret);var i=a.session.clientHelloVersion;if(i.major!==g.pre_master_secret.charCodeAt(0)||i.minor!==g.pre_master_secret.charCodeAt(1))throw Error("TLS version rollback attack detected.")}catch(a){g.pre_master_secret=d.random.getBytes(48)}a.expect=v,null!==a.session.clientCertificate&&(a.expect=u),a.process()},j.handleCertificateRequest=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var d=b.fragment,e={certificate_types:h(d,1),certificate_authorities:h(d,2)};a.session.certificateRequest=e,a.expect=n,a.process()},j.handleCertificateVerify=function(a,b,c){if(c<2)return a.error(a,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e=b.fragment;e.read-=4;var f=e.bytes();e.read+=4;var g={signature:h(e,2).getBytes()},i=d.util.createBuffer();i.putBuffer(a.session.md5.digest()),i.putBuffer(a.session.sha1.digest()),i=i.getBytes();try{if(!a.session.clientCertificate.publicKey.verify(i,g.signature,"NONE"))throw Error("CertificateVerify signature does not match.");a.session.md5.update(f),a.session.sha1.update(f)}catch(b){return a.error(a,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure}})}a.expect=v,a.process()},j.handleServerHelloDone=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.record_overflow}});if(null===a.serverCertificate){var e={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.insufficient_security}},f=a.verify(a,e.alert.description,0,[]);if(!0!==f)return(f||0===f)&&("object"!=typeof f||d.util.isArray(f)?"number"==typeof f&&(e.alert.description=f):(f.message&&(e.message=f.message),f.alert&&(e.alert.description=f.alert))),a.error(a,e)}null!==a.session.certificateRequest&&(b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)}),j.queue(a,b)),b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createClientKeyExchange(a)}),j.queue(a,b),a.expect=r;var g=function(a,b){null!==a.session.certificateRequest&&null!==a.session.clientCertificate&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateVerify(a,b)})),j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)})),a.expect=o,j.flush(a),a.process()};if(null===a.session.certificateRequest||null===a.session.clientCertificate)return g(a,null);j.getClientSignature(a,g)},j.handleChangeCipherSpec=function(a,b){if(1!==b.fragment.getByte())return a.error(a,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var c=a.entity===j.ConnectionEnd.client;(a.session.resuming&&c||!a.session.resuming&&!c)&&(a.state.pending=j.createConnectionState(a)),a.state.current.read=a.state.pending.read,(!a.session.resuming&&c||a.session.resuming&&!c)&&(a.state.pending=null),a.expect=c?p:w,a.process()},j.handleFinished=function(a,b,c){var f=b.fragment;f.read-=4;var g=f.bytes();f.read+=4;var h=b.fragment.getBytes();(f=d.util.createBuffer()).putBuffer(a.session.md5.digest()),f.putBuffer(a.session.sha1.digest());var i=a.entity===j.ConnectionEnd.client;if((f=e(a.session.sp.master_secret,i?"server finished":"client finished",f.getBytes(),12)).getBytes()!==h)return a.error(a,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decrypt_error}});a.session.md5.update(g),a.session.sha1.update(g),(a.session.resuming&&i||!a.session.resuming&&!i)&&(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.current.write=a.state.pending.write,a.state.pending=null,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))),a.expect=i?q:x,a.handshaking=!1,++a.handshakes,a.peerCertificate=i?a.session.serverCertificate:a.session.clientCertificate,j.flush(a),a.isConnected=!0,a.connected(a),a.process()},j.handleAlert=function(a,b){var c,d=b.fragment,e={level:d.getByte(),description:d.getByte()};switch(e.description){case j.Alert.Description.close_notify:c="Connection closed.";break;case j.Alert.Description.unexpected_message:c="Unexpected message.";break;case j.Alert.Description.bad_record_mac:c="Bad record MAC.";break;case j.Alert.Description.decryption_failed:c="Decryption failed.";break;case j.Alert.Description.record_overflow:c="Record overflow.";break;case j.Alert.Description.decompression_failure:c="Decompression failed.";break;case j.Alert.Description.handshake_failure:c="Handshake failure.";break;case j.Alert.Description.bad_certificate:c="Bad certificate.";break;case j.Alert.Description.unsupported_certificate:c="Unsupported certificate.";break;case j.Alert.Description.certificate_revoked:c="Certificate revoked.";break;case j.Alert.Description.certificate_expired:c="Certificate expired.";break;case j.Alert.Description.certificate_unknown:c="Certificate unknown.";break;case j.Alert.Description.illegal_parameter:c="Illegal parameter.";break;case j.Alert.Description.unknown_ca:c="Unknown certificate authority.";break;case j.Alert.Description.access_denied:c="Access denied.";break;case j.Alert.Description.decode_error:c="Decode error.";break;case j.Alert.Description.decrypt_error:c="Decrypt error.";break;case j.Alert.Description.export_restriction:c="Export restriction.";break;case j.Alert.Description.protocol_version:c="Unsupported protocol version.";break;case j.Alert.Description.insufficient_security:c="Insufficient security.";break;case j.Alert.Description.internal_error:c="Internal error.";break;case j.Alert.Description.user_canceled:c="User canceled.";break;case j.Alert.Description.no_renegotiation:c="Renegotiation not supported.";break;default:c="Unknown error."}if(e.description===j.Alert.Description.close_notify)return a.close();a.error(a,{message:c,send:!1,origin:a.entity===j.ConnectionEnd.client?"server":"client",alert:e}),a.process()},j.handleHandshake=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt24();if(f>c.length())return a.fragmented=b,b.fragment=d.util.createBuffer(),c.read-=4,a.process();a.fragmented=null,c.read-=4;var g=c.bytes(f+4);c.read+=4,e in M[a.entity][a.expect]?(a.entity!==j.ConnectionEnd.server||a.open||a.fail||(a.handshaking=!0,a.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:d.md.md5.create(),sha1:d.md.sha1.create()}),e!==j.HandshakeType.hello_request&&e!==j.HandshakeType.certificate_verify&&e!==j.HandshakeType.finished&&(a.session.md5.update(g),a.session.sha1.update(g)),M[a.entity][a.expect][e](a,b,f)):j.handleUnexpected(a,b)},j.handleApplicationData=function(a,b){a.data.putBuffer(b.fragment),a.dataReady(a),a.process()},j.handleHeartbeat=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt16(),g=c.getBytes(f);if(e===j.HeartbeatMessageType.heartbeat_request){if(a.handshaking||f>g.length)return a.process();j.queue(a,j.createRecord(a,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_response,g)})),j.flush(a)}else if(e===j.HeartbeatMessageType.heartbeat_response){if(g!==a.expectedHeartbeatPayload)return a.process();a.heartbeatReceived&&a.heartbeatReceived(a,d.util.createBuffer(g))}a.process()};var k=1,l=2,m=3,n=4,o=5,p=6,q=7,r=8,s=1,t=2,u=3,v=4,w=5,x=6,y=j.handleUnexpected,z=j.handleChangeCipherSpec,A=j.handleAlert,B=j.handleHandshake,C=j.handleApplicationData,D=j.handleHeartbeat,E=[];E[j.ConnectionEnd.client]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]],E[j.ConnectionEnd.server]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]];var F=j.handleHelloRequest,G=j.handleServerHello,H=j.handleCertificate,I=j.handleServerKeyExchange,J=j.handleCertificateRequest,K=j.handleServerHelloDone,L=j.handleFinished,M=[];M[j.ConnectionEnd.client]=[[y,y,G,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,H,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]];var N=j.handleClientHello,O=j.handleClientKeyExchange,P=j.handleCertificateVerify;M[j.ConnectionEnd.server]=[[y,N,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,H,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,O,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,P,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]],j.generateKeys=function(a,b){var c=b.client_random+b.server_random;a.session.resuming||(b.master_secret=e(b.pre_master_secret,"master secret",c,48).bytes(),b.pre_master_secret=null),c=b.server_random+b.client_random;var d=2*b.mac_key_length+2*b.enc_key_length,f=a.version.major===j.Versions.TLS_1_0.major&&a.version.minor===j.Versions.TLS_1_0.minor;f&&(d+=2*b.fixed_iv_length);var g=e(b.master_secret,"key expansion",c,d),h={client_write_MAC_key:g.getBytes(b.mac_key_length),server_write_MAC_key:g.getBytes(b.mac_key_length),client_write_key:g.getBytes(b.enc_key_length),server_write_key:g.getBytes(b.enc_key_length)};return f&&(h.client_write_IV=g.getBytes(b.fixed_iv_length),h.server_write_IV=g.getBytes(b.fixed_iv_length)),h},j.createConnectionState=function(a){var b=a.entity===j.ConnectionEnd.client,c=function(){var a={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(a){return!0},compressionState:null,compressFunction:function(a){return!0},updateSequenceNumber:function(){0xffffffff===a.sequenceNumber[1]?(a.sequenceNumber[1]=0,++a.sequenceNumber[0]):++a.sequenceNumber[1]}};return a},d={read:c(),write:c()};if(d.read.update=function(a,b){return d.read.cipherFunction(b,d.read)?d.read.compressFunction(a,b,d.read)||a.error(a,{message:"Could not decompress record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decompression_failure}}):a.error(a,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_record_mac}}),!a.fail},d.write.update=function(a,b){return d.write.compressFunction(a,b,d.write)?d.write.cipherFunction(b,d.write)||a.error(a,{message:"Could not encrypt record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):a.error(a,{message:"Could not compress record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}),!a.fail},a.session){var e=a.session.sp;switch(a.session.cipherSuite.initSecurityParameters(e),e.keys=j.generateKeys(a,e),d.read.macKey=b?e.keys.server_write_MAC_key:e.keys.client_write_MAC_key,d.write.macKey=b?e.keys.client_write_MAC_key:e.keys.server_write_MAC_key,a.session.cipherSuite.initConnectionState(d,a,e),e.compression_algorithm){case j.CompressionMethod.none:break;case j.CompressionMethod.deflate:d.read.compressFunction=g,d.write.compressFunction=f;break;default:throw Error("Unsupported compression algorithm.")}}return d},j.createRandom=function(){var a=new Date,b=+a+6e4*a.getTimezoneOffset(),c=d.util.createBuffer();return c.putInt32(b),c.putBytes(d.random.getBytes(28)),c},j.createRecord=function(a,b){return b.data?{type:b.type,version:{major:a.version.major,minor:a.version.minor},length:b.data.length(),fragment:b.data}:null},j.createAlert=function(a,b){var c=d.util.createBuffer();return c.putByte(b.level),c.putByte(b.description),j.createRecord(a,{type:j.ContentType.alert,data:c})},j.createClientHello=function(a){a.session.clientHelloVersion={major:a.version.major,minor:a.version.minor};for(var b=d.util.createBuffer(),c=0;c<a.cipherSuites.length;++c){var e=a.cipherSuites[c];b.putByte(e.id[0]),b.putByte(e.id[1])}var f=b.length(),g=d.util.createBuffer();g.putByte(j.CompressionMethod.none);var h=g.length(),k=d.util.createBuffer();if(a.virtualHost){var l=d.util.createBuffer();l.putByte(0),l.putByte(0);var m=d.util.createBuffer();m.putByte(0),i(m,2,d.util.createBuffer(a.virtualHost));var n=d.util.createBuffer();i(n,2,m),i(l,2,n),k.putBuffer(l)}var o=k.length();o>0&&(o+=2);var p=a.session.id,q=p.length+1+2+4+28+2+f+1+h+o,r=d.util.createBuffer();return r.putByte(j.HandshakeType.client_hello),r.putInt24(q),r.putByte(a.version.major),r.putByte(a.version.minor),r.putBytes(a.session.sp.client_random),i(r,1,d.util.createBuffer(p)),i(r,2,b),i(r,1,g),o>0&&i(r,2,k),r},j.createServerHello=function(a){var b=a.session.id,c=b.length+1+2+4+28+2+1,e=d.util.createBuffer();return e.putByte(j.HandshakeType.server_hello),e.putInt24(c),e.putByte(a.version.major),e.putByte(a.version.minor),e.putBytes(a.session.sp.server_random),i(e,1,d.util.createBuffer(b)),e.putByte(a.session.cipherSuite.id[0]),e.putByte(a.session.cipherSuite.id[1]),e.putByte(a.session.compressionMethod),e},j.createCertificate=function(a){var b,c=a.entity===j.ConnectionEnd.client,e=null;a.getCertificate&&(b=c?a.session.certificateRequest:a.session.extensions.server_name.serverNameList,e=a.getCertificate(a,b));var f=d.util.createBuffer();if(null!==e)try{d.util.isArray(e)||(e=[e]);for(var g=null,h=0;h<e.length;++h){var k=d.pem.decode(e[h])[0];if("CERTIFICATE"!==k.type&&"X509 CERTIFICATE"!==k.type&&"TRUSTED CERTIFICATE"!==k.type){var l=Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw l.headerType=k.type,l}if(k.procType&&"ENCRYPTED"===k.procType.type)throw Error("Could not convert certificate from PEM; PEM is encrypted.");var m=d.util.createBuffer(k.body);null===g&&(g=d.asn1.fromDer(m.bytes(),!1));var n=d.util.createBuffer();i(n,3,m),f.putBuffer(n)}e=d.pki.certificateFromAsn1(g),c?a.session.clientCertificate=e:a.session.serverCertificate=e}catch(b){return a.error(a,{message:"Could not send certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var o=3+f.length(),p=d.util.createBuffer();return p.putByte(j.HandshakeType.certificate),p.putInt24(o),i(p,3,f),p},j.createClientKeyExchange=function(a){var b=d.util.createBuffer();b.putByte(a.session.clientHelloVersion.major),b.putByte(a.session.clientHelloVersion.minor),b.putBytes(d.random.getBytes(46));var c=a.session.sp;c.pre_master_secret=b.getBytes();var e=(b=a.session.serverCertificate.publicKey.encrypt(c.pre_master_secret)).length+2,f=d.util.createBuffer();return f.putByte(j.HandshakeType.client_key_exchange),f.putInt24(e),f.putInt16(b.length),f.putBytes(b),f},j.createServerKeyExchange=function(a){return d.util.createBuffer()},j.getClientSignature=function(a,b){var c=d.util.createBuffer();c.putBuffer(a.session.md5.digest()),c.putBuffer(a.session.sha1.digest()),c=c.getBytes(),a.getSignature=a.getSignature||function(a,b,c){var e=null;if(a.getPrivateKey)try{e=a.getPrivateKey(a,a.session.clientCertificate),e=d.pki.privateKeyFromPem(e)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}null===e?a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):b=e.sign(b,null),c(a,b)},a.getSignature(a,c,b)},j.createCertificateVerify=function(a,b){var c=b.length+2,e=d.util.createBuffer();return e.putByte(j.HandshakeType.certificate_verify),e.putInt24(c),e.putInt16(b.length),e.putBytes(b),e},j.createCertificateRequest=function(a){var b=d.util.createBuffer();b.putByte(1);var c=d.util.createBuffer();for(var e in a.caStore.certs){var f=a.caStore.certs[e],g=d.pki.distinguishedNameToAsn1(f.subject),h=d.asn1.toDer(g);c.putInt16(h.length()),c.putBuffer(h)}var k=1+b.length()+2+c.length(),l=d.util.createBuffer();return l.putByte(j.HandshakeType.certificate_request),l.putInt24(k),i(l,1,b),i(l,2,c),l},j.createServerHelloDone=function(a){var b=d.util.createBuffer();return b.putByte(j.HandshakeType.server_hello_done),b.putInt24(0),b},j.createChangeCipherSpec=function(){var a=d.util.createBuffer();return a.putByte(1),a},j.createFinished=function(a){var b=d.util.createBuffer();b.putBuffer(a.session.md5.digest()),b.putBuffer(a.session.sha1.digest());var c=a.entity===j.ConnectionEnd.client;b=e(a.session.sp.master_secret,c?"client finished":"server finished",b.getBytes(),12);var f=d.util.createBuffer();return f.putByte(j.HandshakeType.finished),f.putInt24(b.length()),f.putBuffer(b),f},j.createHeartbeat=function(a,b,c){void 0===c&&(c=b.length);var e=d.util.createBuffer();e.putByte(a),e.putInt16(c),e.putBytes(b);var f=Math.max(16,e.length()-c-3);return e.putBytes(d.random.getBytes(f)),e},j.queue=function(a,b){if(b&&(0!==b.fragment.length()||b.type!==j.ContentType.handshake&&b.type!==j.ContentType.alert&&b.type!==j.ContentType.change_cipher_spec)){if(b.type===j.ContentType.handshake){var c,e=b.fragment.bytes();a.session.md5.update(e),a.session.sha1.update(e),e=null}if(b.fragment.length()<=j.MaxFragment)c=[b];else{c=[];for(var f=b.fragment.bytes();f.length>j.MaxFragment;)c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f.slice(0,j.MaxFragment))})),f=f.slice(j.MaxFragment);f.length>0&&c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f)}))}for(var g=0;g<c.length&&!a.fail;++g){var h=c[g];a.state.current.write.update(a,h)&&a.records.push(h)}}},j.flush=function(a){for(var b=0;b<a.records.length;++b){var c=a.records[b];a.tlsData.putByte(c.type),a.tlsData.putByte(c.version.major),a.tlsData.putByte(c.version.minor),a.tlsData.putInt16(c.fragment.length()),a.tlsData.putBuffer(a.records[b].fragment)}return a.records=[],a.tlsDataReady(a)};var Q=function(a){switch(a){case!0:return!0;case d.pki.certificateError.bad_certificate:return j.Alert.Description.bad_certificate;case d.pki.certificateError.unsupported_certificate:return j.Alert.Description.unsupported_certificate;case d.pki.certificateError.certificate_revoked:return j.Alert.Description.certificate_revoked;case d.pki.certificateError.certificate_expired:return j.Alert.Description.certificate_expired;case d.pki.certificateError.certificate_unknown:return j.Alert.Description.certificate_unknown;case d.pki.certificateError.unknown_ca:return j.Alert.Description.unknown_ca;default:return j.Alert.Description.bad_certificate}},R=function(a){switch(a){case!0:return!0;case j.Alert.Description.bad_certificate:return d.pki.certificateError.bad_certificate;case j.Alert.Description.unsupported_certificate:return d.pki.certificateError.unsupported_certificate;case j.Alert.Description.certificate_revoked:return d.pki.certificateError.certificate_revoked;case j.Alert.Description.certificate_expired:return d.pki.certificateError.certificate_expired;case j.Alert.Description.certificate_unknown:return d.pki.certificateError.certificate_unknown;case j.Alert.Description.unknown_ca:return d.pki.certificateError.unknown_ca;default:return d.pki.certificateError.bad_certificate}};for(var S in j.verifyCertificateChain=function(a,b){try{var c={};for(var e in a.verifyOptions)c[e]=a.verifyOptions[e];c.verify=function(b,c,e){Q(b);var f=a.verify(a,b,c,e);if(!0!==f){if("object"==typeof f&&!d.util.isArray(f)){var g=Error("The application rejected the certificate.");throw g.send=!0,g.alert={level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate},f.message&&(g.message=f.message),f.alert&&(g.alert.description=f.alert),g}f!==b&&(f=R(f))}return f},d.pki.verifyCertificateChain(a.caStore,b,c)}catch(b){var f=b;("object"!=typeof f||d.util.isArray(f))&&(f={send:!0,alert:{level:j.Alert.Level.fatal,description:Q(b)}}),"send"in f||(f.send=!0),"alert"in f||(f.alert={level:j.Alert.Level.fatal,description:Q(f.error)}),a.error(a,f)}return!a.fail},j.createSessionCache=function(a,b){var c=null;if(a&&a.getSession&&a.setSession&&a.order)c=a;else{for(var e in(c={}).cache=a||{},c.capacity=Math.max(b||100,1),c.order=[],a)c.order.length<=b?c.order.push(e):delete a[e];c.getSession=function(a){var b=null,e=null;if(a?e=d.util.bytesToHex(a):c.order.length>0&&(e=c.order[0]),null!==e&&e in c.cache){for(var f in b=c.cache[e],delete c.cache[e],c.order)if(c.order[f]===e){c.order.splice(f,1);break}}return b},c.setSession=function(a,b){if(c.order.length===c.capacity){var e=c.order.shift();delete c.cache[e]}var e=d.util.bytesToHex(a);c.order.push(e),c.cache[e]=b}}return c},j.createConnection=function(a){var b=null;b=a.caStore?d.util.isArray(a.caStore)?d.pki.createCaStore(a.caStore):a.caStore:d.pki.createCaStore();var c=a.cipherSuites||null;if(null===c)for(var e in c=[],j.CipherSuites)c.push(j.CipherSuites[e]);var f=a.server?j.ConnectionEnd.server:j.ConnectionEnd.client,g=a.sessionCache?j.createSessionCache(a.sessionCache):null,h={version:{major:j.Version.major,minor:j.Version.minor},entity:f,sessionId:a.sessionId,caStore:b,sessionCache:g,cipherSuites:c,connected:a.connected,virtualHost:a.virtualHost||null,verifyClient:a.verifyClient||!1,verify:a.verify||function(a,b,c,d){return b},verifyOptions:a.verifyOptions||{},getCertificate:a.getCertificate||null,getPrivateKey:a.getPrivateKey||null,getSignature:a.getSignature||null,input:d.util.createBuffer(),tlsData:d.util.createBuffer(),data:d.util.createBuffer(),tlsDataReady:a.tlsDataReady,dataReady:a.dataReady,heartbeatReceived:a.heartbeatReceived,closed:a.closed,error:function(b,c){c.origin=c.origin||(b.entity===j.ConnectionEnd.client?"client":"server"),c.send&&(j.queue(b,j.createAlert(b,c.alert)),j.flush(b));var d=!1!==c.fatal;d&&(b.fail=!0),a.error(b,c),d&&b.close(!1)},deflate:a.deflate||null,inflate:a.inflate||null};h.reset=function(a){h.version={major:j.Version.major,minor:j.Version.minor},h.record=null,h.session=null,h.peerCertificate=null,h.state={pending:null,current:null},h.entity,j.ConnectionEnd.client,h.expect=0,h.fragmented=null,h.records=[],h.open=!1,h.handshakes=0,h.handshaking=!1,h.isConnected=!1,h.fail=!(a||void 0===a),h.input.clear(),h.tlsData.clear(),h.data.clear(),h.state.current=j.createConnectionState(h)},h.reset();var i=function(a,b){var c=b.type-j.ContentType.change_cipher_spec,d=E[a.entity][a.expect];c in d?d[c](a,b):j.handleUnexpected(a,b)},k=function(a){var b=0,c=a.input,e=c.length();if(e<5)b=5-e;else{a.record={type:c.getByte(),version:{major:c.getByte(),minor:c.getByte()},length:c.getInt16(),fragment:d.util.createBuffer(),ready:!1};var f=a.record.version.major===a.version.major;f&&a.session&&a.session.version&&(f=a.record.version.minor===a.version.minor),f||a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}})}return b},l=function(a){var b=0,c=a.input,d=c.length();return d<a.record.length?b=a.record.length-d:(a.record.fragment.putBytes(c.getBytes(a.record.length)),c.compact(),a.state.current.read.update(a,a.record)&&(null!==a.fragmented&&(a.fragmented.type===a.record.type?(a.fragmented.fragment.putBuffer(a.record.fragment),a.record=a.fragmented):a.error(a,{message:"Invalid fragmented record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})),a.record.ready=!0)),b};return h.handshake=function(a){if(h.entity!==j.ConnectionEnd.client)h.error(h,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(h.handshaking)h.error(h,{message:"Handshake already in progress.",fatal:!1});else{h.fail&&!h.open&&0===h.handshakes&&(h.fail=!1),h.handshaking=!0;var b=null;(a=a||"").length>0&&(h.sessionCache&&(b=h.sessionCache.getSession(a)),null===b&&(a="")),0===a.length&&h.sessionCache&&null!==(b=h.sessionCache.getSession())&&(a=b.id),h.session={id:a,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:d.md.md5.create(),sha1:d.md.sha1.create()},b&&(h.version=b.version,h.session.sp=b.sp),h.session.sp.client_random=j.createRandom().getBytes(),h.open=!0,j.queue(h,j.createRecord(h,{type:j.ContentType.handshake,data:j.createClientHello(h)})),j.flush(h)}},h.process=function(a){var b=0;return a&&h.input.putBytes(a),h.fail||(null!==h.record&&h.record.ready&&h.record.fragment.isEmpty()&&(h.record=null),null===h.record&&(b=k(h)),h.fail||null===h.record||h.record.ready||(b=l(h)),!h.fail&&null!==h.record&&h.record.ready&&i(h,h.record)),b},h.prepare=function(a){return j.queue(h,j.createRecord(h,{type:j.ContentType.application_data,data:d.util.createBuffer(a)})),j.flush(h)},h.prepareHeartbeatRequest=function(a,b){return a instanceof d.util.ByteBuffer&&(a=a.bytes()),void 0===b&&(b=a.length),h.expectedHeartbeatPayload=a,j.queue(h,j.createRecord(h,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_request,a,b)})),j.flush(h)},h.close=function(a){if(!h.fail&&h.sessionCache&&h.session){var b={id:h.session.id,version:h.session.version,sp:h.session.sp};b.sp.keys=null,h.sessionCache.setSession(b.id,b)}h.open&&(h.open=!1,h.input.clear(),(h.isConnected||h.handshaking)&&(h.isConnected=h.handshaking=!1,j.queue(h,j.createAlert(h,{level:j.Alert.Level.warning,description:j.Alert.Description.close_notify})),j.flush(h)),h.closed(h)),h.reset(a)},h},a.exports=d.tls=d.tls||{},j)"function"!=typeof j[S]&&(d.tls[S]=j[S]);d.tls.prf_tls1=e,d.tls.hmac_sha1=function(a,b,c){var e=d.hmac.create();e.start("SHA1",a);var f=d.util.createBuffer();return f.putInt32(b[0]),f.putInt32(b[1]),f.putByte(c.type),f.putByte(c.version.major),f.putByte(c.version.minor),f.putInt16(c.length),f.putBytes(c.fragment.bytes()),e.update(f.getBytes()),e.digest().getBytes()},d.tls.createSessionCache=j.createSessionCache,d.tls.createConnection=j.createConnection},27137:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(82009);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},28169:(a,b,c)=>{var d=c(45654);c(45518),c(76632),c(38627),c(4554),c(33889);var e=a.exports=d.ssh=d.ssh||{};function f(a,b){var c=b.toString(16);c[0]>="8"&&(c="00"+c);var e=d.util.hexToBytes(c);a.putInt32(e.length),a.putBytes(e)}function g(a,b){a.putInt32(b.length),a.putString(b)}function h(){for(var a=d.md.sha1.create(),b=arguments.length,c=0;c<b;++c)a.update(arguments[c]);return a.digest()}e.privateKeyToPutty=function(a,b,c){c=c||"";var e,i="ssh-rsa",j=""===(b=b||"")?"none":"aes256-cbc",k="PuTTY-User-Key-File-2: "+i+"\r\n";k+="Encryption: "+j+"\r\n",k+="Comment: "+c+"\r\n";var l=d.util.createBuffer();g(l,i),f(l,a.e),f(l,a.n);var m=d.util.encode64(l.bytes(),64),n=Math.floor(m.length/66)+1;k+="Public-Lines: "+n+"\r\n",k+=m;var o=d.util.createBuffer();if(f(o,a.d),f(o,a.p),f(o,a.q),f(o,a.qInv),b){var p=o.length()+16-1;p-=p%16;var q=h(o.bytes());q.truncate(q.length()-p+o.length()),o.putBuffer(q);var r=d.util.createBuffer();r.putBuffer(h("\0\0\0\0",b)),r.putBuffer(h("\0\0\0\x01",b));var s=d.aes.createEncryptionCipher(r.truncate(8),"CBC");s.start(d.util.createBuffer().fillWithByte(0,16)),s.update(o.copy()),s.finish();var t=s.output;t.truncate(16),e=d.util.encode64(t.bytes(),64)}else e=d.util.encode64(o.bytes(),64);k+="\r\nPrivate-Lines: "+(n=Math.floor(e.length/66)+1)+"\r\n",k+=e;var u=h("putty-private-key-file-mac-key",b),v=d.util.createBuffer();g(v,i),g(v,j),g(v,c),v.putInt32(l.length()),v.putBuffer(l),v.putInt32(o.length()),v.putBuffer(o);var w=d.hmac.create();return w.start("sha1",u),w.update(v.bytes()),k+="\r\nPrivate-MAC: "+w.digest().toHex()+"\r\n"},e.publicKeyToOpenSSH=function(a,b){var c="ssh-rsa";b=b||"";var e=d.util.createBuffer();return g(e,c),f(e,a.e),f(e,a.n),c+" "+d.util.encode64(e.bytes())+" "+b},e.privateKeyToOpenSSH=function(a,b){return b?d.pki.encryptRsaPrivateKey(a,b,{legacy:!0,algorithm:"aes128"}):d.pki.privateKeyToPem(a)},e.getPublicKeyFingerprint=function(a,b){var c=(b=b||{}).md||d.md.md5.create(),e=d.util.createBuffer();g(e,"ssh-rsa"),f(e,a.e),f(e,a.n),c.start(),c.update(e.getBytes());var h=c.digest();if("hex"===b.encoding){var i=h.toHex();return b.delimiter?i.match(/.{2}/g).join(b.delimiter):i}if("binary"===b.encoding)return h.getBytes();if(b.encoding)throw Error('Unknown encoding "'+b.encoding+'".');return h}},28665:(a,b,c)=>{"use strict";let{kConstruct:d}=c(49176),{kEnumerableProperty:e}=c(84285),{iteratorMixin:f,isValidHeaderName:g,isValidHeaderValue:h}=c(42425),{webidl:i}=c(32984),j=c(34589),k=c(57975);function l(a){return 10===a||13===a||9===a||32===a}function m(a){let b=0,c=a.length;for(;c>b&&l(a.charCodeAt(c-1));)--c;for(;c>b&&l(a.charCodeAt(b));)++b;return 0===b&&c===a.length?a:a.substring(b,c)}function n(a,b){if(Array.isArray(b))for(let c=0;c<b.length;++c){let d=b[c];if(2!==d.length)throw i.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${d.length}.`});o(a,d[0],d[1])}else if("object"==typeof b&&null!==b){let c=Object.keys(b);for(let d=0;d<c.length;++d)o(a,c[d],b[c[d]])}else throw i.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function o(a,b,c){if(c=m(c),g(b)){if(!h(c))throw i.errors.invalidArgument({prefix:"Headers.append",value:c,type:"header value"})}else throw i.errors.invalidArgument({prefix:"Headers.append",value:b,type:"header name"});if("immutable"===s(a))throw TypeError("immutable");return u(a).append(b,c,!1)}function p(a,b){return a[0]<b[0]?-1:1}class q{cookies=null;sortedMap;headersMap;constructor(a){a instanceof q?(this.headersMap=new Map(a.headersMap),this.sortedMap=a.sortedMap,this.cookies=null===a.cookies?null:[...a.cookies]):(this.headersMap=new Map(a),this.sortedMap=null)}contains(a,b){return this.headersMap.has(b?a:a.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(a,b,c){this.sortedMap=null;let d=c?a:a.toLowerCase(),e=this.headersMap.get(d);if(e){let a="cookie"===d?"; ":", ";this.headersMap.set(d,{name:e.name,value:`${e.value}${a}${b}`})}else this.headersMap.set(d,{name:a,value:b});"set-cookie"===d&&(this.cookies??=[]).push(b)}set(a,b,c){this.sortedMap=null;let d=c?a:a.toLowerCase();"set-cookie"===d&&(this.cookies=[b]),this.headersMap.set(d,{name:a,value:b})}delete(a,b){this.sortedMap=null,b||(a=a.toLowerCase()),"set-cookie"===a&&(this.cookies=null),this.headersMap.delete(a)}get(a,b){return this.headersMap.get(b?a:a.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:a,1:{value:b}}of this.headersMap)yield[a,b]}get entries(){let a={};if(0!==this.headersMap.size)for(let{name:b,value:c}of this.headersMap.values())a[b]=c;return a}rawValues(){return this.headersMap.values()}get entriesList(){let a=[];if(0!==this.headersMap.size)for(let{0:b,1:{name:c,value:d}}of this.headersMap)if("set-cookie"===b)for(let b of this.cookies)a.push([c,b]);else a.push([c,d]);return a}toSortedArray(){let a=this.headersMap.size,b=Array(a);if(a<=32){if(0===a)return b;let c=this.headersMap[Symbol.iterator](),d=c.next().value;b[0]=[d[0],d[1].value],j(null!==d[1].value);for(let d=1,e=0,f=0,g=0,h=0,i,k;d<a;++d){for(k=c.next().value,j(null!==(i=b[d]=[k[0],k[1].value])[1]),g=0,f=d;g<f;)b[h=g+(f-g>>1)][0]<=i[0]?g=h+1:f=h;if(d!==h){for(e=d;e>g;)b[e]=b[--e];b[g]=i}}if(!c.next().done)throw TypeError("Unreachable");return b}{let a=0;for(let{0:c,1:{value:d}}of this.headersMap)b[a++]=[c,d],j(null!==d);return b.sort(p)}}}class r{#E;#F;constructor(a){if(i.util.markAsUncloneable(this),a===d)return;this.#F=new q,this.#E="none",void 0!==a&&n(this,a=i.converters.HeadersInit(a,"Headers constructor","init"))}append(a,b){i.brandCheck(this,r),i.argumentLengthCheck(arguments,2,"Headers.append");let c="Headers.append";return a=i.converters.ByteString(a,c,"name"),b=i.converters.ByteString(b,c,"value"),o(this,a,b)}delete(a){if(i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.delete"),!g(a=i.converters.ByteString(a,"Headers.delete","name")))throw i.errors.invalidArgument({prefix:"Headers.delete",value:a,type:"header name"});if("immutable"===this.#E)throw TypeError("immutable");this.#F.contains(a,!1)&&this.#F.delete(a,!1)}get(a){i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.get");let b="Headers.get";if(!g(a=i.converters.ByteString(a,b,"name")))throw i.errors.invalidArgument({prefix:b,value:a,type:"header name"});return this.#F.get(a,!1)}has(a){i.brandCheck(this,r),i.argumentLengthCheck(arguments,1,"Headers.has");let b="Headers.has";if(!g(a=i.converters.ByteString(a,b,"name")))throw i.errors.invalidArgument({prefix:b,value:a,type:"header name"});return this.#F.contains(a,!1)}set(a,b){i.brandCheck(this,r),i.argumentLengthCheck(arguments,2,"Headers.set");let c="Headers.set";if(a=i.converters.ByteString(a,c,"name"),b=m(b=i.converters.ByteString(b,c,"value")),g(a)){if(!h(b))throw i.errors.invalidArgument({prefix:c,value:b,type:"header value"})}else throw i.errors.invalidArgument({prefix:c,value:a,type:"header name"});if("immutable"===this.#E)throw TypeError("immutable");this.#F.set(a,b,!1)}getSetCookie(){i.brandCheck(this,r);let a=this.#F.cookies;return a?[...a]:[]}[k.inspect.custom](a,b){return b.depth??=a,`Headers ${k.formatWithOptions(b,this.#F.entries)}`}static getHeadersGuard(a){return a.#E}static setHeadersGuard(a,b){a.#E=b}static getHeadersList(a){return a.#F}static setHeadersList(a,b){a.#F=b}}let{getHeadersGuard:s,setHeadersGuard:t,getHeadersList:u,setHeadersList:v}=r;Reflect.deleteProperty(r,"getHeadersGuard"),Reflect.deleteProperty(r,"setHeadersGuard"),Reflect.deleteProperty(r,"getHeadersList"),Reflect.deleteProperty(r,"setHeadersList"),f("Headers",r,function(a){let b=u(a);if(!b)return[];if(b.sortedMap)return b.sortedMap;let c=[],d=b.toSortedArray(),e=b.cookies;if(null===e||1===e.length)return b.sortedMap=d;for(let a=0;a<d.length;++a){let{0:b,1:f}=d[a];if("set-cookie"===b)for(let a=0;a<e.length;++a)c.push([b,e[a]]);else c.push([b,f])}return b.sortedMap=c},0,1),Object.defineProperties(r.prototype,{append:e,delete:e,get:e,has:e,set:e,getSetCookie:e,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[k.inspect.custom]:{enumerable:!1}}),i.converters.HeadersInit=function(a,b,c){if(i.util.Type(a)===i.util.Types.OBJECT){let d=Reflect.get(a,Symbol.iterator);if(!k.types.isProxy(a)&&d===r.prototype.entries)try{return u(a).entriesList}catch{}return"function"==typeof d?i.converters["sequence<sequence<ByteString>>"](a,b,c,d.bind(a)):i.converters["record<ByteString, ByteString>"](a,b,c)}throw i.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})},a.exports={fill:n,compareHeaderName:p,Headers:r,HeadersList:q,getHeadersGuard:s,setHeadersGuard:t,setHeadersList:v,getHeadersList:u}},28820:a=>{"use strict";let b=["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"],c={};Object.setPrototypeOf(c,null);for(let a=0;a<b.length;++a){let d=b[a],e=d.toLowerCase();c[d]=c[e]=e}a.exports={wellknownHeaderNames:b,headerNameLowerCasedRecord:c}},28998:(a,b,c)=>{"use strict";let{UndiciError:d}=c(61448),e=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED");class f extends d{constructor(a){super(a),this.name="MockNotMatchedError",this.message=a||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](a){return a&&!0===a[e]}get[e](){return!0}}a.exports={MockNotMatchedError:f}},29055:(a,b,c)=>{"use strict";c.d(b,{B:()=>e,V:()=>f});var d=c(11897);function e(a,b=!1){return b?{role:d.z7.ASSISTANT,reasoning_content:a}:{reasoning_content:a}}function f(a){if(!a||"object"!=typeof a)return"";if("string"==typeof a.reasoning_content&&a.reasoning_content)return a.reasoning_content;if("string"==typeof a.reasoning&&a.reasoning)return a.reasoning;let b=a.reasoning_details;return Array.isArray(b)?b.map(a=>"string"==typeof a?a:a?.text||a?.content||"").join(""):""}},29137:(a,b,c)=>{"use strict";c.d(b,{c:()=>g});var d=c(49471);let e=[{match:/claude/i,drop:["temperature"]},{provider:"github",match:/gpt-5\.4/i,drop:["temperature"]},{provider:"github",match:a=>/claude/i.test(a)&&!/claude.*(opus|sonnet).*4\.6/i.test(a),drop:["thinking","reasoning_effort"]},{provider:"cloudflare-ai",flattenContent:!0},{provider:"volcengine-ark",match:/glm-5/i,clampToModelMaxOutput:!0}];function f(a,b,c){"number"==typeof a[b]&&Number.isFinite(a[b])&&a[b]>c&&(a[b]=c)}function g(a,b,c){if(!b||!c||"object"!=typeof c)return c;for(let g of e)if((!g.provider||g.provider===a)&&(!g.match||("function"==typeof g.match?g.match(b):g.match.test(b)))){for(let a of g.drop||[])void 0!==c[a]&&delete c[a];if(g.flattenContent&&Array.isArray(c.messages))for(let a of c.messages)a&&Array.isArray(a.content)&&(a.content=a.content.map(a=>a?.type==="text"&&"string"==typeof a.text?a.text:"").join(""));if(g.clampToModelMaxOutput){let e=(0,d.nl)(a,b).maxOutput;Number.isFinite(e)&&e>0&&(f(c,"max_tokens",e),f(c,"max_completion_tokens",e),f(c,"max_output_tokens",e))}}return c}},29653:a=>{"use strict";a.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}},29984:(a,b,c)=>{var d=c(45654);c(45518),c(6680),c(4890),c(33889),function(){if(d.random&&d.random.getBytes){a.exports=d.random;return}!function(b){var c={},e=[,,,,],f=d.util.createBuffer();function g(){var a=d.prng.create(c);return a.getBytes=function(b,c){return a.generate(b,c)},a.getBytesSync=function(b){return a.generate(b)},a}c.formatKey=function(a){var b=d.util.createBuffer(a);return(a=[,,,,])[0]=b.getInt32(),a[1]=b.getInt32(),a[2]=b.getInt32(),a[3]=b.getInt32(),d.aes._expandKey(a,!1)},c.formatSeed=function(a){var b=d.util.createBuffer(a);return(a=[,,,,])[0]=b.getInt32(),a[1]=b.getInt32(),a[2]=b.getInt32(),a[3]=b.getInt32(),a},c.cipher=function(a,b){return d.aes._updateBlock(a,b,e,!1),f.putInt32(e[0]),f.putInt32(e[1]),f.putInt32(e[2]),f.putInt32(e[3]),f.getBytes()},c.increment=function(a){return++a[3],a},c.md=d.md.sha256;var h=g(),i=null,j=d.util.globalScope,k=j.crypto||j.msCrypto;if(k&&k.getRandomValues&&(i=function(a){return k.getRandomValues(a)}),d.options.usePureJavaScript||!d.util.isNodejs&&!i){if("u"<typeof window||window.document,h.collectInt(+new Date,32),"u">typeof navigator){var l="";for(var m in navigator)try{"string"==typeof navigator[m]&&(l+=navigator[m])}catch(a){}h.collect(l),l=null}b&&(b().mousemove(function(a){h.collectInt(a.clientX,16),h.collectInt(a.clientY,16)}),b().keypress(function(a){h.collectInt(a.charCode,8)}))}if(d.random)for(var m in h)d.random[m]=h[m];else d.random=h;d.random.createInstance=g,a.exports=d.random}("u">typeof jQuery?jQuery:null)}()},30322:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});var d=c(46248);class e extends d.L{constructor(){super("azure")}isUserConfiguredBase(a){return super.isUserConfiguredBase(a)||!!a?.providerSpecificData?.azureEndpoint||!!process.env.AZURE_ENDPOINT}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return super.transformRequest(a,b,c,d)}}},30816:(a,b,c)=>{"use strict";c.d(b,{M:()=>function a(b){if(!b||"object"!=typeof b)return b;if(Array.isArray(b)){for(let c of b)a(c);return b}for(let a of d)if("string"==typeof b[a]){let c=Number(b[a]);Number.isNaN(c)||(b[a]=c)}for(let c of Object.values(b))c&&"object"==typeof c&&a(c);return b}}),c(11897),c(90242);let d=["minimum","maximum","exclusiveMinimum","exclusiveMaximum","minLength","maxLength","minItems","maxItems","minProperties","maxProperties","multipleOf"]},31629:(a,b,c)=>{"use strict";c(77598),c(17438),new TextEncoder,c(78116)},31825:(a,b,c)=>{"use strict";let d=c(34589),{kRetryHandlerDefaultRetry:e}=c(49176),{RequestRetryError:f}=c(61448),{isDisturbed:g,parseRangeHeader:h,wrapRequestBody:i}=c(84285);function j(a,b,c,d){let e=a["content-length"];if(null==e||!Number.isFinite(b.start)||!Number.isFinite(b.end))return;let g=Number(e),h=b.end-b.start+1;if(!Number.isFinite(g)||g!==h)throw new f("Content-Length mismatch",c,{headers:a,data:{count:d}})}class k{constructor(){this.target=null}pause(){this.target?.pause()}resume(){this.target?.resume()}abort(a){this.target?.abort(a)}get paused(){return this.target?.paused??!1}get aborted(){return this.target?.aborted??!1}get reason(){return this.target?.reason??null}get rawHeaders(){return this.target?.rawHeaders??null}get rawTrailers(){return this.target?.rawTrailers??null}}class l{constructor(a,{dispatch:b,handler:c}){const{retryOptions:d,...f}=a,{retry:g,maxRetries:h,maxTimeout:j,minTimeout:m,timeoutFactor:n,methods:o,errorCodes:p,retryAfter:q,statusCodes:r,throwOnError:s}=d??{};this.error=null,this.dispatch=b,this.handler=c,this.opts={...f,body:i(a.body)},this.retryOpts={throwOnError:s??!0,retry:g??l[e],retryAfter:q??!0,maxTimeout:j??3e4,minTimeout:m??500,timeoutFactor:n??2,maxRetries:h??5,methods:o??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE","QUERY"],statusCodes:r??[500,502,503,504,429],errorCodes:p??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null,this.statusCode=null,this.headers=null,this.controllerProxy=new k}onResponseStartWithRetry(a,b,c,d,e){if(this.retryOpts.throwOnError)return void(!1===this.retryOpts.statusCodes.includes(b)?(this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d)):this.error=e);if(g(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d);return}a.pause(),this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},(function(f){if(f){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,d),a.resume();return}this.error=e,a.resume()}).bind(this))}onRequestStart(a,b){this.controllerProxy.target=a,this.headersSent||this.handler.onRequestStart?.(this.controllerProxy,b)}onRequestUpgrade(a,b,c,d){this.handler.onRequestUpgrade?.(this.controllerProxy,b,c,d)}static[e](a,{state:b,opts:c},d){let{statusCode:e,code:f,headers:g}=a,{method:h,retryOptions:i}=c,{maxRetries:j,minTimeout:k,maxTimeout:l,timeoutFactor:m,statusCodes:n,errorCodes:o,methods:p}=i,{counter:q}=b;if(f&&"UND_ERR_REQ_RETRY"!==f&&!o.includes(f)||Array.isArray(p)&&!p.includes(h)||null!=e&&Array.isArray(n)&&!n.includes(e)||q>j)return void d(a);let r=g?.["retry-after"];if(r){let a;r=Number.isNaN(r=Number(r))?isNaN(a=new Date(g["retry-after"]).getTime())?null:a-Date.now():1e3*r}setTimeout(()=>d(null),0===r?0:r>0?Math.min(r,l):Math.min(k*m**(q-1),l))}onResponseStart(a,b,c,e){if(b<200)return void this.handler.onResponseStart?.(this.controllerProxy,b,c,e);if(this.error=null,this.retryCount+=1,this.statusCode=b,this.headers=c,b>=300){let d=new f("Request failed",b,{headers:c,data:{count:this.retryCount}});this.onResponseStartWithRetry(a,b,c,e,d);return}if(this.headersSent){if(206!==b&&(this.start>0||200!==b))throw new f("server does not support the range header and the payload was partially consumed",b,{headers:c,data:{count:this.retryCount}});let a=h(c["content-range"]);if(!a)throw new f("Content-Range mismatch",b,{headers:c,data:{count:this.retryCount}});if(null!=this.etag&&this.etag!==c.etag)throw new f("ETag mismatch",b,{headers:c,data:{count:this.retryCount}});j(c,a,b,this.retryCount);let{start:e,size:g,end:i=g?g-1:null}=a;d(this.start===e,"content-range mismatch"),d(null==this.end||this.end===i,"content-range mismatch");return}if(null==this.end){if(206===b){let a=h(c["content-range"]);if(null==a||null==a.end){this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,e);return}j(c,a,b,this.retryCount);let{start:f,size:g,end:i=g?g-1:null}=a;d(null!=f&&Number.isFinite(f),"content-range mismatch"),d(null!=i&&Number.isFinite(i),"invalid content-length"),this.start=f,this.end=i}if(null==this.end&&"HEAD"!==this.opts.method){let a=c["content-length"];this.end=null!=a?Number(a)-1:null}d(Number.isFinite(this.start)),d(null==this.end||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=null!=c.etag?c.etag:null,null!=this.etag&&"W"===this.etag[0]&&"/"===this.etag[1]&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(this.controllerProxy,b,c,e)}else throw new f("Request failed",b,{headers:c,data:{count:this.retryCount}})}onResponseData(a,b){this.error||(this.start+=b.length,this.handler.onResponseData?.(this.controllerProxy,b))}onResponseEnd(a,b){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error){if(null!=this.end&&Number.isFinite(this.end)&&this.start!==this.end+1)throw new f("Content-Range mismatch",this.statusCode,{headers:this.headers,data:{count:this.retryCount}});return this.retryCount=0,this.handler.onResponseEnd?.(this.controllerProxy,b)}this.retry()}retry(){if(0!==this.start){let a={range:`bytes=${this.start}-${this.end??""}`};null!=this.etag&&(a["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...a}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(a){this.handler.onResponseError?.(this.controllerProxy,a)}}onResponseError(a,b){a?.aborted||g(this.opts.body)?this.handler.onResponseError?.(this.controllerProxy,b):(this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(b,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},(function(a){a?this.handler?.onResponseError?.(this.controllerProxy,a):this.retry()}).bind(this)))}}a.exports=l},31881:(a,b,c)=>{var d,e=c(45654);c(33889),a.exports=e.log=e.log||{},e.log.levels=["none","error","warning","info","debug","verbose","max"];var f={},g=[],h=null;e.log.LEVEL_LOCKED=2,e.log.NO_LEVEL_CHECK=4,e.log.INTERPOLATE=8;for(var i=0;i<e.log.levels.length;++i){var j=e.log.levels[i];f[j]={index:i,name:j.toUpperCase()}}e.log.logMessage=function(a){for(var b=f[a.level].index,c=0;c<g.length;++c){var d=g[c];d.flags&e.log.NO_LEVEL_CHECK?d.f(a):b<=f[d.level].index&&d.f(d,a)}},e.log.prepareStandard=function(a){"standard"in a||(a.standard=f[a.level].name+" ["+a.category+"] "+a.message)},e.log.prepareFull=function(a){if(!("full"in a)){var b=[a.message];b=b.concat([]),a.full=e.util.format.apply(this,b)}},e.log.prepareStandardFull=function(a){"standardFull"in a||(e.log.prepareStandard(a),a.standardFull=a.standard)};for(var k=["error","warning","info","debug","verbose"],i=0;i<k.length;++i)!function(a){e.log[a]=function(b,c){var d=Array.prototype.slice.call(arguments).slice(2),f={timestamp:new Date,level:a,category:b,message:c,arguments:d};e.log.logMessage(f)}}(k[i]);if(e.log.makeLogger=function(a){var b={flags:0,f:a};return e.log.setLevel(b,"none"),b},e.log.setLevel=function(a,b){var c=!1;if(a&&!(a.flags&e.log.LEVEL_LOCKED)){for(var d=0;d<e.log.levels.length;++d)if(b==e.log.levels[d]){a.level=b,c=!0;break}}return c},e.log.lock=function(a,b){void 0===b||b?a.flags|=e.log.LEVEL_LOCKED:a.flags&=~e.log.LEVEL_LOCKED},e.log.addLogger=function(a){g.push(a)},"u">typeof console&&"log"in console){if(console.error&&console.warn&&console.info&&console.debug){var l={error:console.error,warning:console.warn,info:console.info,debug:console.debug,verbose:console.debug},m=function(a,b){e.log.prepareStandard(b);var c=l[b.level],d=[b.standard];d=d.concat(b.arguments.slice()),c.apply(console,d)};d=e.log.makeLogger(m)}else{var m=function(a,b){e.log.prepareStandardFull(b),console.log(b.standardFull)};d=e.log.makeLogger(m)}e.log.setLevel(d,"debug"),e.log.addLogger(d),h=d}else console={log:function(){}};if(null!==h&&"u">typeof window&&window.location){var n=new URL(window.location.href).searchParams;n.has("console.level")&&e.log.setLevel(h,n.get("console.level").slice(-1)[0]),n.has("console.lock")&&"true"==n.get("console.lock").slice(-1)[0]&&e.log.lock(h)}e.log.consoleLogger=h},32e3:(a,b,c)=>{var d,e,f,g=c(45654);a.exports=g.jsbn=g.jsbn||{};function h(a,b,c){this.data=[],null!=a&&("number"==typeof a?this.fromNumber(a,b,c):null==b&&"string"!=typeof a?this.fromString(a,256):this.fromString(a,b))}function i(){return new h(null)}function j(a,b,c,d,e,f){for(var g=16383&b,h=b>>14;--f>=0;){var i=16383&this.data[a],j=this.data[a++]>>14,k=h*i+j*g;e=((i=g*i+((16383&k)<<14)+c.data[d]+e)>>28)+(k>>14)+h*j,c.data[d++]=0xfffffff&i}return e}g.jsbn.BigInteger=h,"u"<typeof navigator?(h.prototype.am=j,d=28):"Microsoft Internet Explorer"==navigator.appName?(h.prototype.am=function(a,b,c,d,e,f){for(var g=32767&b,h=b>>15;--f>=0;){var i=32767&this.data[a],j=this.data[a++]>>15,k=h*i+j*g;e=((i=g*i+((32767&k)<<15)+c.data[d]+(0x3fffffff&e))>>>30)+(k>>>15)+h*j+(e>>>30),c.data[d++]=0x3fffffff&i}return e},d=30):"Netscape"!=navigator.appName?(h.prototype.am=function(a,b,c,d,e,f){for(;--f>=0;){var g=b*this.data[a++]+c.data[d]+e;e=Math.floor(g/0x4000000),c.data[d++]=0x3ffffff&g}return e},d=26):(h.prototype.am=j,d=28),h.prototype.DB=d,h.prototype.DM=(1<<d)-1,h.prototype.DV=1<<d,h.prototype.FV=0x10000000000000,h.prototype.F1=52-d,h.prototype.F2=2*d-52;var k=[];for(f=0,e=48;f<=9;++f)k[e++]=f;for(f=10,e=97;f<36;++f)k[e++]=f;for(f=10,e=65;f<36;++f)k[e++]=f;function l(a){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(a)}function m(a,b){var c=k[a.charCodeAt(b)];return null==c?-1:c}function n(a){var b=i();return b.fromInt(a),b}function o(a){var b,c=1;return 0!=(b=a>>>16)&&(a=b,c+=16),0!=(b=a>>8)&&(a=b,c+=8),0!=(b=a>>4)&&(a=b,c+=4),0!=(b=a>>2)&&(a=b,c+=2),0!=(b=a>>1)&&(a=b,c+=1),c}function p(a){this.m=a}function q(a){this.m=a,this.mp=a.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<a.DB-15)-1,this.mt2=2*a.t}function r(a,b){return a&b}function s(a,b){return a|b}function t(a,b){return a^b}function u(a,b){return a&~b}function v(){}function w(a){return a}function x(a){this.r2=i(),this.q3=i(),h.ONE.dlShiftTo(2*a.t,this.r2),this.mu=this.r2.divide(a),this.m=a}p.prototype.convert=function(a){return a.s<0||a.compareTo(this.m)>=0?a.mod(this.m):a},p.prototype.revert=function(a){return a},p.prototype.reduce=function(a){a.divRemTo(this.m,null,a)},p.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},p.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},q.prototype.convert=function(a){var b=i();return a.abs().dlShiftTo(this.m.t,b),b.divRemTo(this.m,null,b),a.s<0&&b.compareTo(h.ZERO)>0&&this.m.subTo(b,b),b},q.prototype.revert=function(a){var b=i();return a.copyTo(b),this.reduce(b),b},q.prototype.reduce=function(a){for(;a.t<=this.mt2;)a.data[a.t++]=0;for(var b=0;b<this.m.t;++b){var c=32767&a.data[b],d=c*this.mpl+((c*this.mph+(a.data[b]>>15)*this.mpl&this.um)<<15)&a.DM;for(c=b+this.m.t,a.data[c]+=this.m.am(0,d,a,b,0,this.m.t);a.data[c]>=a.DV;)a.data[c]-=a.DV,a.data[++c]++}a.clamp(),a.drShiftTo(this.m.t,a),a.compareTo(this.m)>=0&&a.subTo(this.m,a)},q.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},q.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)},h.prototype.copyTo=function(a){for(var b=this.t-1;b>=0;--b)a.data[b]=this.data[b];a.t=this.t,a.s=this.s},h.prototype.fromInt=function(a){this.t=1,this.s=a<0?-1:0,a>0?this.data[0]=a:a<-1?this.data[0]=a+this.DV:this.t=0},h.prototype.fromString=function(a,b){if(16==b)c=4;else if(8==b)c=3;else if(256==b)c=8;else if(2==b)c=1;else if(32==b)c=5;else{if(4!=b)return void this.fromRadix(a,b);c=2}this.t=0,this.s=0;for(var c,d=a.length,e=!1,f=0;--d>=0;){var g=8==c?255&a[d]:m(a,d);if(g<0){"-"==a.charAt(d)&&(e=!0);continue}e=!1,0==f?this.data[this.t++]=g:f+c>this.DB?(this.data[this.t-1]|=(g&(1<<this.DB-f)-1)<<f,this.data[this.t++]=g>>this.DB-f):this.data[this.t-1]|=g<<f,(f+=c)>=this.DB&&(f-=this.DB)}8==c&&(128&a[0])!=0&&(this.s=-1,f>0&&(this.data[this.t-1]|=(1<<this.DB-f)-1<<f)),this.clamp(),e&&h.ZERO.subTo(this,this)},h.prototype.clamp=function(){for(var a=this.s&this.DM;this.t>0&&this.data[this.t-1]==a;)--this.t},h.prototype.dlShiftTo=function(a,b){var c;for(c=this.t-1;c>=0;--c)b.data[c+a]=this.data[c];for(c=a-1;c>=0;--c)b.data[c]=0;b.t=this.t+a,b.s=this.s},h.prototype.drShiftTo=function(a,b){for(var c=a;c<this.t;++c)b.data[c-a]=this.data[c];b.t=Math.max(this.t-a,0),b.s=this.s},h.prototype.lShiftTo=function(a,b){var c,d=a%this.DB,e=this.DB-d,f=(1<<e)-1,g=Math.floor(a/this.DB),h=this.s<<d&this.DM;for(c=this.t-1;c>=0;--c)b.data[c+g+1]=this.data[c]>>e|h,h=(this.data[c]&f)<<d;for(c=g-1;c>=0;--c)b.data[c]=0;b.data[g]=h,b.t=this.t+g+1,b.s=this.s,b.clamp()},h.prototype.rShiftTo=function(a,b){b.s=this.s;var c=Math.floor(a/this.DB);if(c>=this.t){b.t=0;return}var d=a%this.DB,e=this.DB-d,f=(1<<d)-1;b.data[0]=this.data[c]>>d;for(var g=c+1;g<this.t;++g)b.data[g-c-1]|=(this.data[g]&f)<<e,b.data[g-c]=this.data[g]>>d;d>0&&(b.data[this.t-c-1]|=(this.s&f)<<e),b.t=this.t-c,b.clamp()},h.prototype.subTo=function(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this.data[c]-a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d-=a.s;c<this.t;)d+=this.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d-=a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d-=a.s}b.s=d<0?-1:0,d<-1?b.data[c++]=this.DV+d:d>0&&(b.data[c++]=d),b.t=c,b.clamp()},h.prototype.multiplyTo=function(a,b){var c=this.abs(),d=a.abs(),e=c.t;for(b.t=e+d.t;--e>=0;)b.data[e]=0;for(e=0;e<d.t;++e)b.data[e+c.t]=c.am(0,d.data[e],b,e,0,c.t);b.s=0,b.clamp(),this.s!=a.s&&h.ZERO.subTo(b,b)},h.prototype.squareTo=function(a){for(var b=this.abs(),c=a.t=2*b.t;--c>=0;)a.data[c]=0;for(c=0;c<b.t-1;++c){var d=b.am(c,b.data[c],a,2*c,0,1);(a.data[c+b.t]+=b.am(c+1,2*b.data[c],a,2*c+1,d,b.t-c-1))>=b.DV&&(a.data[c+b.t]-=b.DV,a.data[c+b.t+1]=1)}a.t>0&&(a.data[a.t-1]+=b.am(c,b.data[c],a,2*c,0,1)),a.s=0,a.clamp()},h.prototype.divRemTo=function(a,b,c){var d=a.abs();if(!(d.t<=0)){var e=this.abs();if(e.t<d.t){null!=b&&b.fromInt(0),null!=c&&this.copyTo(c);return}null==c&&(c=i());var f=i(),g=this.s,j=a.s,k=this.DB-o(d.data[d.t-1]);k>0?(d.lShiftTo(k,f),e.lShiftTo(k,c)):(d.copyTo(f),e.copyTo(c));var l=f.t,m=f.data[l-1];if(0!=m){var n=m*(1<<this.F1)+(l>1?f.data[l-2]>>this.F2:0),p=this.FV/n,q=(1<<this.F1)/n,r=1<<this.F2,s=c.t,t=s-l,u=null==b?i():b;for(f.dlShiftTo(t,u),c.compareTo(u)>=0&&(c.data[c.t++]=1,c.subTo(u,c)),h.ONE.dlShiftTo(l,u),u.subTo(f,f);f.t<l;)f.data[f.t++]=0;for(;--t>=0;){var v=c.data[--s]==m?this.DM:Math.floor(c.data[s]*p+(c.data[s-1]+r)*q);if((c.data[s]+=f.am(0,v,c,t,0,l))<v)for(f.dlShiftTo(t,u),c.subTo(u,c);c.data[s]<--v;)c.subTo(u,c)}null!=b&&(c.drShiftTo(l,b),g!=j&&h.ZERO.subTo(b,b)),c.t=l,c.clamp(),k>0&&c.rShiftTo(k,c),g<0&&h.ZERO.subTo(c,c)}}},h.prototype.invDigit=function(){if(this.t<1)return 0;var a=this.data[0];if((1&a)==0)return 0;var b=3&a;return(b=(b=(b=(b=b*(2-(15&a)*b)&15)*(2-(255&a)*b)&255)*(2-((65535&a)*b&65535))&65535)*(2-a*b%this.DV)%this.DV)>0?this.DV-b:-b},h.prototype.isEven=function(){return(this.t>0?1&this.data[0]:this.s)==0},h.prototype.exp=function(a,b){if(a>0xffffffff||a<1)return h.ONE;var c=i(),d=i(),e=b.convert(this),f=o(a)-1;for(e.copyTo(c);--f>=0;)if(b.sqrTo(c,d),(a&1<<f)>0)b.mulTo(d,e,c);else{var g=c;c=d,d=g}return b.revert(c)},h.prototype.toString=function(a){if(this.s<0)return"-"+this.negate().toString(a);if(16==a)b=4;else if(8==a)b=3;else if(2==a)b=1;else if(32==a)b=5;else{if(4!=a)return this.toRadix(a);b=2}var b,c,d=(1<<b)-1,e=!1,f="",g=this.t,h=this.DB-g*this.DB%b;if(g-- >0)for(h<this.DB&&(c=this.data[g]>>h)>0&&(e=!0,f=l(c));g>=0;)h<b?c=(this.data[g]&(1<<h)-1)<<b-h|this.data[--g]>>(h+=this.DB-b):(c=this.data[g]>>(h-=b)&d,h<=0&&(h+=this.DB,--g)),c>0&&(e=!0),e&&(f+=l(c));return e?f:"0"},h.prototype.negate=function(){var a=i();return h.ZERO.subTo(this,a),a},h.prototype.abs=function(){return this.s<0?this.negate():this},h.prototype.compareTo=function(a){var b=this.s-a.s;if(0!=b)return b;var c=this.t;if(0!=(b=c-a.t))return this.s<0?-b:b;for(;--c>=0;)if(0!=(b=this.data[c]-a.data[c]))return b;return 0},h.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+o(this.data[this.t-1]^this.s&this.DM)},h.prototype.mod=function(a){var b=i();return this.abs().divRemTo(a,null,b),this.s<0&&b.compareTo(h.ZERO)>0&&a.subTo(b,b),b},h.prototype.modPowInt=function(a,b){var c;return c=a<256||b.isEven()?new p(b):new q(b),this.exp(a,c)},h.ZERO=n(0),h.ONE=n(1),v.prototype.convert=w,v.prototype.revert=w,v.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c)},v.prototype.sqrTo=function(a,b){a.squareTo(b)},x.prototype.convert=function(a){if(a.s<0||a.t>2*this.m.t)return a.mod(this.m);if(0>a.compareTo(this.m))return a;var b=i();return a.copyTo(b),this.reduce(b),b},x.prototype.revert=function(a){return a},x.prototype.reduce=function(a){for(a.drShiftTo(this.m.t-1,this.r2),a.t>this.m.t+1&&(a.t=this.m.t+1,a.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);0>a.compareTo(this.r2);)a.dAddOffset(1,this.m.t+1);for(a.subTo(this.r2,a);a.compareTo(this.m)>=0;)a.subTo(this.m,a)},x.prototype.mulTo=function(a,b,c){a.multiplyTo(b,c),this.reduce(c)},x.prototype.sqrTo=function(a,b){a.squareTo(b),this.reduce(b)};var y=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],z=0x4000000/y[y.length-1];h.prototype.chunkSize=function(a){return Math.floor(Math.LN2*this.DB/Math.log(a))},h.prototype.toRadix=function(a){if(null==a&&(a=10),0==this.signum()||a<2||a>36)return"0";var b=this.chunkSize(a),c=Math.pow(a,b),d=n(c),e=i(),f=i(),g="";for(this.divRemTo(d,e,f);e.signum()>0;)g=(c+f.intValue()).toString(a).substr(1)+g,e.divRemTo(d,e,f);return f.intValue().toString(a)+g},h.prototype.fromRadix=function(a,b){this.fromInt(0),null==b&&(b=10);for(var c=this.chunkSize(b),d=Math.pow(b,c),e=!1,f=0,g=0,i=0;i<a.length;++i){var j=m(a,i);if(j<0){"-"==a.charAt(i)&&0==this.signum()&&(e=!0);continue}g=b*g+j,++f>=c&&(this.dMultiply(d),this.dAddOffset(g,0),f=0,g=0)}f>0&&(this.dMultiply(Math.pow(b,f)),this.dAddOffset(g,0)),e&&h.ZERO.subTo(this,this)},h.prototype.fromNumber=function(a,b,c){if("number"==typeof b)if(a<2)this.fromInt(1);else for(this.fromNumber(a,c),this.testBit(a-1)||this.bitwiseTo(h.ONE.shiftLeft(a-1),s,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(b);)this.dAddOffset(2,0),this.bitLength()>a&&this.subTo(h.ONE.shiftLeft(a-1),this);else{var d=[],e=7&a;d.length=(a>>3)+1,b.nextBytes(d),e>0?d[0]&=(1<<e)-1:d[0]=0,this.fromString(d,256)}},h.prototype.bitwiseTo=function(a,b,c){var d,e,f=Math.min(a.t,this.t);for(d=0;d<f;++d)c.data[d]=b(this.data[d],a.data[d]);if(a.t<this.t){for(e=a.s&this.DM,d=f;d<this.t;++d)c.data[d]=b(this.data[d],e);c.t=this.t}else{for(e=this.s&this.DM,d=f;d<a.t;++d)c.data[d]=b(e,a.data[d]);c.t=a.t}c.s=b(this.s,a.s),c.clamp()},h.prototype.changeBit=function(a,b){var c=h.ONE.shiftLeft(a);return this.bitwiseTo(c,b,c),c},h.prototype.addTo=function(a,b){for(var c=0,d=0,e=Math.min(a.t,this.t);c<e;)d+=this.data[c]+a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;if(a.t<this.t){for(d+=a.s;c<this.t;)d+=this.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=this.s}else{for(d+=this.s;c<a.t;)d+=a.data[c],b.data[c++]=d&this.DM,d>>=this.DB;d+=a.s}b.s=d<0?-1:0,d>0?b.data[c++]=d:d<-1&&(b.data[c++]=this.DV+d),b.t=c,b.clamp()},h.prototype.dMultiply=function(a){this.data[this.t]=this.am(0,a-1,this,0,0,this.t),++this.t,this.clamp()},h.prototype.dAddOffset=function(a,b){if(0!=a){for(;this.t<=b;)this.data[this.t++]=0;for(this.data[b]+=a;this.data[b]>=this.DV;)this.data[b]-=this.DV,++b>=this.t&&(this.data[this.t++]=0),++this.data[b]}},h.prototype.multiplyLowerTo=function(a,b,c){var d,e=Math.min(this.t+a.t,b);for(c.s=0,c.t=e;e>0;)c.data[--e]=0;for(d=c.t-this.t;e<d;++e)c.data[e+this.t]=this.am(0,a.data[e],c,e,0,this.t);for(d=Math.min(a.t,b);e<d;++e)this.am(0,a.data[e],c,e,0,b-e);c.clamp()},h.prototype.multiplyUpperTo=function(a,b,c){--b;var d=c.t=this.t+a.t-b;for(c.s=0;--d>=0;)c.data[d]=0;for(d=Math.max(b-this.t,0);d<a.t;++d)c.data[this.t+d-b]=this.am(b-d,a.data[d],c,0,0,this.t+d-b);c.clamp(),c.drShiftTo(1,c)},h.prototype.modInt=function(a){if(a<=0)return 0;var b=this.DV%a,c=this.s<0?a-1:0;if(this.t>0)if(0==b)c=this.data[0]%a;else for(var d=this.t-1;d>=0;--d)c=(b*c+this.data[d])%a;return c},h.prototype.millerRabin=function(a){var b,c=this.subtract(h.ONE),d=c.getLowestSetBit();if(d<=0)return!1;for(var e=c.shiftRight(d),f={nextBytes:function(a){for(var b=0;b<a.length;++b)a[b]=Math.floor(256*Math.random())}},g=0;g<a;++g){do b=new h(this.bitLength(),f);while(0>=b.compareTo(h.ONE)||b.compareTo(c)>=0);var i=b.modPow(e,this);if(0!=i.compareTo(h.ONE)&&0!=i.compareTo(c)){for(var j=1;j++<d&&0!=i.compareTo(c);)if(0==(i=i.modPowInt(2,this)).compareTo(h.ONE))return!1;if(0!=i.compareTo(c))return!1}}return!0},h.prototype.clone=function(){var a=i();return this.copyTo(a),a},h.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this.data[0]-this.DV;else if(0==this.t)return -1}else if(1==this.t)return this.data[0];else if(0==this.t)return 0;return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]},h.prototype.byteValue=function(){return 0==this.t?this.s:this.data[0]<<24>>24},h.prototype.shortValue=function(){return 0==this.t?this.s:this.data[0]<<16>>16},h.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this.data[0]<=0?0:1},h.prototype.toByteArray=function(){var a=this.t,b=[];b[0]=this.s;var c,d=this.DB-a*this.DB%8,e=0;if(a-- >0)for(d<this.DB&&(c=this.data[a]>>d)!=(this.s&this.DM)>>d&&(b[e++]=c|this.s<<this.DB-d);a>=0;)d<8?c=(this.data[a]&(1<<d)-1)<<8-d|this.data[--a]>>(d+=this.DB-8):(c=this.data[a]>>(d-=8)&255,d<=0&&(d+=this.DB,--a)),(128&c)!=0&&(c|=-256),0==e&&(128&this.s)!=(128&c)&&++e,(e>0||c!=this.s)&&(b[e++]=c);return b},h.prototype.equals=function(a){return 0==this.compareTo(a)},h.prototype.min=function(a){return 0>this.compareTo(a)?this:a},h.prototype.max=function(a){return this.compareTo(a)>0?this:a},h.prototype.and=function(a){var b=i();return this.bitwiseTo(a,r,b),b},h.prototype.or=function(a){var b=i();return this.bitwiseTo(a,s,b),b},h.prototype.xor=function(a){var b=i();return this.bitwiseTo(a,t,b),b},h.prototype.andNot=function(a){var b=i();return this.bitwiseTo(a,u,b),b},h.prototype.not=function(){for(var a=i(),b=0;b<this.t;++b)a.data[b]=this.DM&~this.data[b];return a.t=this.t,a.s=~this.s,a},h.prototype.shiftLeft=function(a){var b=i();return a<0?this.rShiftTo(-a,b):this.lShiftTo(a,b),b},h.prototype.shiftRight=function(a){var b=i();return a<0?this.lShiftTo(-a,b):this.rShiftTo(a,b),b},h.prototype.getLowestSetBit=function(){for(var a=0;a<this.t;++a)if(0!=this.data[a])return a*this.DB+function(a){if(0==a)return -1;var b=0;return(65535&a)==0&&(a>>=16,b+=16),(255&a)==0&&(a>>=8,b+=8),(15&a)==0&&(a>>=4,b+=4),(3&a)==0&&(a>>=2,b+=2),(1&a)==0&&++b,b}(this.data[a]);return this.s<0?this.t*this.DB:-1},h.prototype.bitCount=function(){for(var a=0,b=this.s&this.DM,c=0;c<this.t;++c)a+=function(a){for(var b=0;0!=a;)a&=a-1,++b;return b}(this.data[c]^b);return a},h.prototype.testBit=function(a){var b=Math.floor(a/this.DB);return b>=this.t?0!=this.s:(this.data[b]&1<<a%this.DB)!=0},h.prototype.setBit=function(a){return this.changeBit(a,s)},h.prototype.clearBit=function(a){return this.changeBit(a,u)},h.prototype.flipBit=function(a){return this.changeBit(a,t)},h.prototype.add=function(a){var b=i();return this.addTo(a,b),b},h.prototype.subtract=function(a){var b=i();return this.subTo(a,b),b},h.prototype.multiply=function(a){var b=i();return this.multiplyTo(a,b),b},h.prototype.divide=function(a){var b=i();return this.divRemTo(a,b,null),b},h.prototype.remainder=function(a){var b=i();return this.divRemTo(a,null,b),b},h.prototype.divideAndRemainder=function(a){var b=i(),c=i();return this.divRemTo(a,b,c),[b,c]},h.prototype.modPow=function(a,b){var c,d,e=a.bitLength(),f=n(1);if(e<=0)return f;c=e<18?1:e<48?3:e<144?4:e<768?5:6,d=e<8?new p(b):b.isEven()?new x(b):new q(b);var g=[],h=3,j=c-1,k=(1<<c)-1;if(g[1]=d.convert(this),c>1){var l=i();for(d.sqrTo(g[1],l);h<=k;)g[h]=i(),d.mulTo(l,g[h-2],g[h]),h+=2}var m,r,s=a.t-1,t=!0,u=i();for(e=o(a.data[s])-1;s>=0;){for(e>=j?m=a.data[s]>>e-j&k:(m=(a.data[s]&(1<<e+1)-1)<<j-e,s>0&&(m|=a.data[s-1]>>this.DB+e-j)),h=c;(1&m)==0;)m>>=1,--h;if((e-=h)<0&&(e+=this.DB,--s),t)g[m].copyTo(f),t=!1;else{for(;h>1;)d.sqrTo(f,u),d.sqrTo(u,f),h-=2;h>0?d.sqrTo(f,u):(r=f,f=u,u=r),d.mulTo(u,g[m],f)}for(;s>=0&&(a.data[s]&1<<e)==0;)d.sqrTo(f,u),r=f,f=u,u=r,--e<0&&(e=this.DB-1,--s)}return d.revert(f)},h.prototype.modInverse=function(a){if(0==this.signum())return h.ZERO;var b=a.isEven();if(this.isEven()&&b||0==a.signum())return h.ZERO;for(var c=a.clone(),d=this.clone(),e=n(1),f=n(0),g=n(0),i=n(1);0!=c.signum();){for(;c.isEven();)c.rShiftTo(1,c),b?(e.isEven()&&f.isEven()||(e.addTo(this,e),f.subTo(a,f)),e.rShiftTo(1,e)):f.isEven()||f.subTo(a,f),f.rShiftTo(1,f);for(;d.isEven();)d.rShiftTo(1,d),b?(g.isEven()&&i.isEven()||(g.addTo(this,g),i.subTo(a,i)),g.rShiftTo(1,g)):i.isEven()||i.subTo(a,i),i.rShiftTo(1,i);c.compareTo(d)>=0?(c.subTo(d,c),b&&e.subTo(g,e),f.subTo(i,f)):(d.subTo(c,d),b&&g.subTo(e,g),i.subTo(f,i))}return 0!=d.compareTo(h.ONE)?h.ZERO:i.compareTo(a)>=0?i.subtract(a):0>i.signum()&&(i.addTo(a,i),0>i.signum())?i.add(a):i},h.prototype.pow=function(a){return this.exp(a,new v)},h.prototype.gcd=function(a){var b=this.s<0?this.negate():this.clone(),c=a.s<0?a.negate():a.clone();if(0>b.compareTo(c)){var d=b;b=c,c=d}var e=b.getLowestSetBit(),f=c.getLowestSetBit();if(f<0)return b;for(e<f&&(f=e),f>0&&(b.rShiftTo(f,b),c.rShiftTo(f,c));b.signum()>0;)(e=b.getLowestSetBit())>0&&b.rShiftTo(e,b),(e=c.getLowestSetBit())>0&&c.rShiftTo(e,c),b.compareTo(c)>=0?(b.subTo(c,b),b.rShiftTo(1,b)):(c.subTo(b,c),c.rShiftTo(1,c));return f>0&&c.lShiftTo(f,c),c},h.prototype.isProbablePrime=function(a){var b,c=this.abs();if(1==c.t&&c.data[0]<=y[y.length-1]){for(b=0;b<y.length;++b)if(c.data[0]==y[b])return!0;return!1}if(c.isEven())return!1;for(b=1;b<y.length;){for(var d=y[b],e=b+1;e<y.length&&d<z;)d*=y[e++];for(d=c.modInt(d);b<e;)if(d%y[b++]==0)return!1}return c.millerRabin(a)},h.prototype.square=function(){var a=i();return this.squareTo(a),a}},32264:(a,b,c)=>{"use strict";let{RequestAbortedError:d}=c(61448);class e{#G;#H=[];#I=5242880;#J=0;#e={};#K="";#L=!1;#M=!1;#N=!1;#O=!1;#B=null;#P=null;constructor(a,b,c=5242880){this.#G=a,this.#P=b,this.#I=c}addWaitingHandler(a){if(this.#O||this.#N)return!1;let b=this.#Q(a),c=b.controller;try{if(a.onRequestStart?.(c,null),c.aborted)return b.done=!0,!0;this.#M&&a.onResponseStart?.(c,this.#J,this.#e,this.#K)}catch{return b.done=!0,!0}return c.aborted||this.#H.push(b),!0}onRequestStart(a,b){this.#B=a,this.#G.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#G.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,d){for(let e of(this.#M=!0,this.#J=b,this.#e=c,this.#K=d,this.#G.onResponseStart?.(a,b,c,d),this.#H)){let{handler:a,controller:f}=e;if(e.done||f.aborted){e.done=!0;continue}try{a.onResponseStart?.(f,b,c,d)}catch{}f.aborted&&(e.done=!0)}this.#R()}onResponseData(a,b){if(!this.#L&&!this.#O){for(let c of(this.#N=!0,this.#G.onResponseData?.(a,b),this.#H)){let{handler:a,controller:d}=c;if(c.done||d.aborted){c.done=!0;continue}if(d.paused){this.#S(c,b);continue}try{a.onResponseData?.(d,b)}catch{}d.aborted&&(c.done=!0,c.bufferedChunks=[],c.bufferedBytes=0)}this.#R()}}onResponseEnd(a,b){if(!this.#L&&!this.#O){for(let c of(this.#O=!0,this.#G.onResponseEnd?.(a,b),this.#H)){if(c.done||c.controller.aborted||(this.#T(c),c.done||c.controller.aborted)){c.done=!0;continue}if(c.controller.paused&&c.bufferedChunks.length>0){c.pendingTrailers=b;continue}try{c.handler.onResponseEnd?.(c.controller,b)}catch{}c.done=!0}this.#R(),this.#P?.()}}onResponseError(a,b){if(!this.#O){for(let c of(this.#L=!0,this.#O=!0,this.#G.onResponseError?.(a,b),this.#H))this.#U(c,b);this.#H=[],this.#P?.()}}#Q(a){let b={handler:a,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},c={aborted:!1,paused:!1,reason:null};return b.controller={resume:()=>{if(!c.aborted){if(c.paused=!1,this.#T(b),this.#O&&b.pendingTrailers&&0===b.bufferedChunks.length&&!c.paused&&!c.aborted){try{b.handler.onResponseEnd?.(b.controller,b.pendingTrailers)}catch{}b.pendingTrailers=null,b.done=!0}this.#R()}},pause:()=>{c.aborted||(c.paused=!0)},get paused(){return c.paused},get aborted(){return c.aborted},get reason(){return c.reason},abort:a=>{c.aborted=!0,c.reason=a??null,b.done=!0,b.pendingTrailers=null,b.bufferedChunks=[],b.bufferedBytes=0}},b}#S(a,b){if(a.done||a.controller.aborted){a.done=!0,a.bufferedChunks=[],a.bufferedBytes=0;return}let c=Buffer.from(b);if(a.bufferedChunks.push(c),a.bufferedBytes+=c.length,a.bufferedBytes>this.#I){let b=new d(`Deduplicated waiting handler exceeded maxBufferSize (${this.#I} bytes) while paused`);this.#U(a,b)}}#T(a){let{handler:b,controller:c}=a;for(;!a.done&&!c.aborted&&!c.paused&&a.bufferedChunks.length>0;){let d=a.bufferedChunks.shift();a.bufferedBytes-=d.length;try{b.onResponseData?.(c,d)}catch{}if(c.aborted){a.done=!0,a.pendingTrailers=null,a.bufferedChunks=[],a.bufferedBytes=0;break}}}#U(a,b){if(!a.done){a.done=!0,a.pendingTrailers=null,a.bufferedChunks=[],a.bufferedBytes=0;try{a.controller.abort(b),a.handler.onResponseError?.(a.controller,b)}catch{}}}#R(){this.#H=this.#H.filter(a=>!1===a.done)}}a.exports=e},32984:(a,b,c)=>{"use strict";let d=c(34589),{types:e,inspect:f}=c(57975),{markAsUncloneable:g}=c(75919),h=Function.call.bind(Function.prototype[Symbol.hasInstance]),i={converters:{},util:{},errors:{},is:{}};i.errors.exception=function(a){return TypeError(`${a.header}: ${a.message}`)},i.errors.conversionFailed=function(a){let b=1===a.types.length?"":" one of",c=`${a.argument} could not be converted to${b}: ${a.types.join(", ")}.`;return i.errors.exception({header:a.prefix,message:c})},i.errors.invalidArgument=function(a){return i.errors.exception({header:a.prefix,message:`"${a.value}" is an invalid ${a.type}.`})},i.brandCheck=function(a,b){if(!h(b,a)){let a=TypeError("Illegal invocation");throw a.code="ERR_INVALID_THIS",a}},i.brandCheckMultiple=function(a){let b=a.map(a=>i.util.MakeTypeAssertion(a));return a=>{if(b.every(b=>!b(a))){let a=TypeError("Illegal invocation");throw a.code="ERR_INVALID_THIS",a}}},i.argumentLengthCheck=function({length:a},b,c){if(a<b)throw i.errors.exception({message:`${b} argument${1!==b?"s":""} required, but${a?" only":""} ${a} found.`,header:c})},i.illegalConstructor=function(){throw i.errors.exception({header:"TypeError",message:"Illegal constructor"})},i.util.MakeTypeAssertion=function(a){return b=>h(a,b)},i.util.Type=function(a){switch(typeof a){case"undefined":return 1;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"bigint":return 6;case"function":case"object":if(null===a)return 7;return 8}},i.util.Types={UNDEFINED:1,BOOLEAN:2,STRING:3,SYMBOL:4,NUMBER:5,BIGINT:6,NULL:7,OBJECT:8},i.util.TypeValueToString=function(a){switch(i.util.Type(a)){case 1:return"Undefined";case 2:return"Boolean";case 3:return"String";case 4:return"Symbol";case 5:return"Number";case 6:return"BigInt";case 7:return"Null";case 8:return"Object"}},i.util.markAsUncloneable=g,i.util.ConvertToInt=function(a,b,c,d){let e,f;64===b?(e=0x1fffffffffffff,f="unsigned"===c?0:-0x1fffffffffffff):"unsigned"===c?(f=0,e=Math.pow(2,b)-1):(f=-Math.pow(2,b-1),e=Math.pow(2,b-1)-1);let g=Number(a);if(0===g&&(g=0),i.util.HasFlag(d,i.attributes.EnforceRange)){if(Number.isNaN(g)||g===1/0||g===-1/0)throw i.errors.exception({header:"Integer conversion",message:`Could not convert ${i.util.Stringify(a)} to an integer.`});if((g=i.util.IntegerPart(g))<f||g>e)throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${f}-${e}, got ${g}.`});return g}return!Number.isNaN(g)&&i.util.HasFlag(d,i.attributes.Clamp)?g=Math.floor(g=Math.min(Math.max(g,f),e))%2==0?Math.floor(g):Math.ceil(g):Number.isNaN(g)||0===g&&Object.is(0,g)||g===1/0||g===-1/0?0:(g=i.util.IntegerPart(g)%Math.pow(2,b),"signed"===c&&g>=Math.pow(2,b-1))?g-Math.pow(2,b):g},i.util.IntegerPart=function(a){let b=Math.floor(Math.abs(a));return a<0?-1*b:b},i.util.Stringify=function(a){switch(i.util.Type(a)){case 4:return`Symbol(${a.description})`;case 8:return f(a);case 3:return`"${a}"`;case 6:return`${a}n`;default:return`${a}`}},i.util.IsResizableArrayBuffer=function(a){if(e.isArrayBuffer(a))return a.resizable;if(e.isSharedArrayBuffer(a))return a.growable;throw i.errors.exception({header:"IsResizableArrayBuffer",message:`"${i.util.Stringify(a)}" is not an array buffer.`})},i.util.HasFlag=function(a,b){return"number"==typeof a&&(a&b)===b},i.sequenceConverter=function(a){return(b,c,d,e)=>{if(8!==i.util.Type(b))throw i.errors.exception({header:c,message:`${d} (${i.util.Stringify(b)}) is not iterable.`});let f="function"==typeof e?e():b?.[Symbol.iterator]?.(),g=[],h=0;if(void 0===f||"function"!=typeof f.next)throw i.errors.exception({header:c,message:`${d} is not iterable.`});for(;;){let{done:b,value:e}=f.next();if(b)break;g.push(a(e,c,`${d}[${h++}]`))}return g}},i.recordConverter=function(a,b){return(c,d,f)=>{if(8!==i.util.Type(c))throw i.errors.exception({header:d,message:`${f} ("${i.util.TypeValueToString(c)}") is not an Object.`});let g={};if(!e.isProxy(c)){for(let e of[...Object.getOwnPropertyNames(c),...Object.getOwnPropertySymbols(c)]){let h=i.util.Stringify(e),j=a(e,d,`Key ${h} in ${f}`),k=b(c[e],d,`${f}[${h}]`);g[j]=k}return g}for(let e of Reflect.ownKeys(c)){let h=Reflect.getOwnPropertyDescriptor(c,e);if(h?.enumerable){let h=a(e,d,f),i=b(c[e],d,f);g[h]=i}}return g}},i.interfaceConverter=function(a,b){return(c,d,e)=>{if(!a(c))throw i.errors.exception({header:d,message:`Expected ${e} ("${i.util.Stringify(c)}") to be an instance of ${b}.`});return c}},i.dictionaryConverter=function(a){return a.sort((a,b)=>(a.key>b.key)-(a.key<b.key)),(b,c,d)=>{let e={};if(null!=b&&8!==i.util.Type(b))throw i.errors.exception({header:c,message:`Expected ${b} to be one of: Null, Undefined, Object.`});for(let f of a){let{key:a,defaultValue:g,required:h,converter:j}=f;if(!0===h&&(null==b||!Object.hasOwn(b,a)))throw i.errors.exception({header:c,message:`Missing required key "${a}".`});let k=b?.[a],l=void 0!==g;if(l&&void 0===k&&(k=g()),h||l||void 0!==k){if(k=j(k,c,`${d}.${a}`),f.allowedValues&&!f.allowedValues.includes(k))throw i.errors.exception({header:c,message:`${k} is not an accepted type. Expected one of ${f.allowedValues.join(", ")}.`});e[a]=k}}return e}},i.nullableConverter=function(a){return(b,c,d)=>null===b?b:a(b,c,d)},i.is.USVString=function(a){return"string"==typeof a&&a.isWellFormed()},i.is.ReadableStream=i.util.MakeTypeAssertion(ReadableStream),i.is.Blob=i.util.MakeTypeAssertion(Blob),i.is.URLSearchParams=i.util.MakeTypeAssertion(URLSearchParams),i.is.File=i.util.MakeTypeAssertion(File),i.is.URL=i.util.MakeTypeAssertion(URL),i.is.AbortSignal=i.util.MakeTypeAssertion(AbortSignal),i.is.MessagePort=i.util.MakeTypeAssertion(MessagePort),i.is.BufferSource=function(a){return e.isArrayBuffer(a)||ArrayBuffer.isView(a)&&e.isArrayBuffer(a.buffer)},i.util.getCopyOfBytesHeldByBufferSource=function(a){let b=a,c=0,f=0;if(e.isTypedArray(a)||e.isDataView(a)?(b=a.buffer,c=a.byteOffset):d(e.isAnyArrayBuffer(a)),f=a.byteLength,b.detached)return new Uint8Array(0);let g=new Uint8Array(f),h=new Uint8Array(b,c,f);return g.set(h),g},i.converters.DOMString=function(a,b,c,d){if(null===a&&i.util.HasFlag(d,i.attributes.LegacyNullToEmptyString))return"";if("symbol"==typeof a)throw i.errors.exception({header:b,message:`${c} is a symbol, which cannot be converted to a DOMString.`});return String(a)},i.converters.ByteString=function(a,b,c){if("symbol"==typeof a)throw i.errors.exception({header:b,message:`${c} is a symbol, which cannot be converted to a ByteString.`});let d=String(a);for(let a=0;a<d.length;a++)if(d.charCodeAt(a)>255)throw TypeError(`Cannot convert argument to a ByteString because the character at index ${a} has a value of ${d.charCodeAt(a)} which is greater than 255.`);return d},i.converters.USVString=function(a){return"string"==typeof a?a.toWellFormed():`${a}`.toWellFormed()},i.converters.boolean=function(a){return!!a},i.converters.any=function(a){return a},i.converters["long long"]=function(a,b,c){return i.util.ConvertToInt(a,64,"signed",0,b,c)},i.converters["unsigned long long"]=function(a,b,c){return i.util.ConvertToInt(a,64,"unsigned",0,b,c)},i.converters["unsigned long"]=function(a,b,c){return i.util.ConvertToInt(a,32,"unsigned",0,b,c)},i.converters["unsigned short"]=function(a,b,c,d){return i.util.ConvertToInt(a,16,"unsigned",d,b,c)},i.converters.ArrayBuffer=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isArrayBuffer(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer"]});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a resizable ArrayBuffer.`});return a},i.converters.SharedArrayBuffer=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isSharedArrayBuffer(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["SharedArrayBuffer"]});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a resizable SharedArrayBuffer.`});return a},i.converters.TypedArray=function(a,b,c,d,f){if(8!==i.util.Type(a)||!e.isTypedArray(a)||a.constructor.name!==b.name)throw i.errors.conversionFailed({prefix:c,argument:`${d} ("${i.util.Stringify(a)}")`,types:[b.name]});if(!i.util.HasFlag(f,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:c,message:`${d} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(f,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:c,message:`${d} cannot be a view on a resizable array buffer.`});return a},i.converters.DataView=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isDataView(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["DataView"]});if(!i.util.HasFlag(d,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a resizable array buffer.`});return a},i.converters.ArrayBufferView=function(a,b,c,d){if(8!==i.util.Type(a)||!e.isArrayBufferView(a))throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBufferView"]});if(!i.util.HasFlag(d,i.attributes.AllowShared)&&e.isSharedArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a shared array buffer.`});if(!i.util.HasFlag(d,i.attributes.AllowResizable)&&i.util.IsResizableArrayBuffer(a.buffer))throw i.errors.exception({header:b,message:`${c} cannot be a view on a resizable array buffer.`});return a},i.converters.BufferSource=function(a,b,c,d){if(e.isArrayBuffer(a))return i.converters.ArrayBuffer(a,b,c,d);if(e.isArrayBufferView(a))return d&=~i.attributes.AllowShared,i.converters.ArrayBufferView(a,b,c,d);if(e.isSharedArrayBuffer(a))throw i.errors.exception({header:b,message:`${c} cannot be a SharedArrayBuffer.`});throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer","ArrayBufferView"]})},i.converters.AllowSharedBufferSource=function(a,b,c,d){if(e.isArrayBuffer(a))return i.converters.ArrayBuffer(a,b,c,d);if(e.isSharedArrayBuffer(a))return i.converters.SharedArrayBuffer(a,b,c,d);if(e.isArrayBufferView(a))return d|=i.attributes.AllowShared,i.converters.ArrayBufferView(a,b,c,d);throw i.errors.conversionFailed({prefix:b,argument:`${c} ("${i.util.Stringify(a)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})},i.converters["sequence<ByteString>"]=i.sequenceConverter(i.converters.ByteString),i.converters["sequence<sequence<ByteString>>"]=i.sequenceConverter(i.converters["sequence<ByteString>"]),i.converters["record<ByteString, ByteString>"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString),i.converters.Blob=i.interfaceConverter(i.is.Blob,"Blob"),i.converters.AbortSignal=i.interfaceConverter(i.is.AbortSignal,"AbortSignal"),i.converters.EventHandlerNonNull=function(a){return 8!==i.util.Type(a)?null:"function"==typeof a?a:()=>{}},i.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16},a.exports={webidl:i}},33113:(a,b,c)=>{"use strict";c.d(b,{DH:()=>v});let d=(()=>{let a=new Int16Array(128).fill(-1);for(let b=0;b<64;b++)a["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(b)]="_doRTgHZBKcGVjlvpC,@aFSx#DPuNJme&i*MzLOEn)sUrthbf%Y^w.(kIQyXqWA!".charCodeAt(b);return a[61]=36,a})();var e=c(55511),f=c(27137),g=c(79401);function h(a){return e.createHash("md5").update(a).digest("hex")}function i(a,b,c){var d;let i,j;if(!c?.userId)throw Error("cosy: user id is empty");if(!c?.authToken)throw Error("cosy: auth token is empty");let k=Buffer.isBuffer(a)?a:"string"==typeof a?Buffer.from(a,"latin1"):Buffer.from(a||[]),{cosyKey:l,info:m}=(d={uid:c.userId,security_oauth_token:c.authToken,name:c.name||"",aid:"",email:c.email||""},i=(0,f.A)().slice(0,16),j=function(a,b){var c;let d,f,g=Buffer.from(b,"utf8");if(16!==g.length)throw Error(`aes key must be 16 bytes, got ${g.length}`);let h=g.subarray(0,16),i=e.createCipheriv("aes-128-cbc",g,h);i.setAutoPadding(!1);let j=(d=16-(c=Buffer.from(a,"utf8")).length%16,f=Buffer.alloc(c.length+d,d),c.copy(f,0),f);return Buffer.concat([i.update(j),i.final()]).toString("base64")}(JSON.stringify(d),i),{cosyKey:e.publicEncrypt({key:g.pr,padding:e.constants.RSA_PKCS1_PADDING},Buffer.from(i,"utf8")).toString("base64"),info:j}),n=String(Math.floor(Date.now()/1e3)),o=JSON.stringify({version:"v1",requestId:(0,f.A)(),info:m,cosyVersion:g.cT,ideVersion:""}),p=Buffer.from(o,"utf8").toString("base64"),q=function(a){let b;try{b=new URL(a).pathname||""}catch{return""}return b.startsWith("/algo")?b.slice(5):b}(b),r=`${p}
130
130
  ${l}
131
131
  ${n}
132
132
  ${k.toString("latin1")}
@@ -182,7 +182,9 @@ ${e(h)}\r
182
182
  `);f.push(a),j+=a.byteLength}else{let a=v.encode(`${c}; name="${d(e(b))}"`+(h.name?`; filename="${d(h.name)}"`:"")+"\r\n"+`Content-Type: ${h.type||"application/octet-stream"}\r
183
183
  \r
184
184
  `);f.push(a,h,g),"number"==typeof h.size?j+=a.byteLength+h.size+g.byteLength:l=!0}let m=v.encode(`--${b}--\r
185
- `);f.push(m),j+=m.byteLength,l&&(j=null),i=a,h=async function*(){for(let a of f)a.stream?yield*a.stream():yield a},o=`multipart/form-data; boundary=${b}`}else if(l.is.Blob(a))i=a,j=a.size,a.type&&(o=a.type);else if("function"==typeof a[Symbol.asyncIterator]){if(b)throw TypeError("keepalive");if(d.isDisturbed(a)||a.locked)throw TypeError("Response body object should not be disturbed or locked");c=l.is.ReadableStream(a)?a:e(a)}return("string"==typeof i||p(i))&&(h=()=>(j="string"==typeof i?Buffer.byteLength(i):i.length,i)),null!=h&&(async()=>{let a=h(),b=a?.[Symbol.asyncIterator]?.();if(b)for await(let a of b){if(n(c))break;a.length&&g.enqueue(new Uint8Array(a))}else a?.length&&!n(c)&&g.enqueue("string"==typeof a?v.encode(a):new Uint8Array(a));queueMicrotask(()=>f(g))})(),[{stream:c,source:i,length:j},o]}function y(a,b,c,d){try{l.brandCheck(a,c)}catch(a){return Promise.reject(a)}if(z(a=d(a)))return Promise.reject(TypeError("Body is unusable: Body has already been read"));let e=Promise.withResolvers(),f=e.reject,h=a=>{try{e.resolve(b(a))}catch(a){f(a)}};return null==a.body?h(Buffer.allocUnsafe(0)):g(a.body,h,f),e.promise}function z(a){let b=a.body;return null!=b&&(b.stream.locked||d.isDisturbed(b.stream))}function A(a){let b=h(a.headersList);return"failure"===b?null:b}a.exports={extractBody:x,safelyExtractBody:function(a,b=!1){return l.is.ReadableStream(a)&&(m(!d.isDisturbed(a),"The body has already been consumed."),m(!a.locked,"The stream is locked.")),x(a,b)},cloneBody:function(a){let{0:b,1:c}=u?.(a.stream,!0)??a.stream.tee();return a.stream=b,{stream:c,length:a.length,source:a.source}},mixinBody:function(a,b){Object.assign(a.prototype,{blob(){return y(this,a=>{let c=A(b(this));return null===c?c="":c&&(c=q(c)),new Blob([a],{type:c})},a,b)},arrayBuffer(){return y(this,a=>new Uint8Array(a).buffer,a,b)},text(){return y(this,t,a,b)},json(){return y(this,s,a,b)},formData(){return y(this,a=>{let c=A(b(this));if(null!==c)switch(c.essence){case"multipart/form-data":{let b=r(a,c),d=new i;return j(d,b),d}case"application/x-www-form-urlencoded":{let b=new URLSearchParams(a.toString()),c=new i;for(let[a,d]of b)c.append(a,d);return c}}throw TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},a,b)},bytes(){return y(this,a=>new Uint8Array(a),a,b)},textStream(){let a=b(this);if(z(a))throw TypeError("Body is unusable: Body has already been read");if(null==a.body){let a,b=new ReadableStream({start:b=>{a=b},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return a.close(),b}let c=a.body.stream,d=new TextDecoderStream("UTF-8");return c.pipeThrough(d)}})},streamRegistry:new FinalizationRegistry(a=>{let b=a.deref();!b||b.locked||o(b)||n(b)||b.cancel("Response object has been garbage collected").catch(w)}),bodyUnusable:z}},35689:(a,b,c)=>{"use strict";let{PoolBase:d,kClients:e,kNeedDrain:f,kAddClient:g,kGetDispatcher:h,kHasDispatcher:i,kRemoveClient:j}=c(39065),k=c(40106),{InvalidArgumentError:l}=c(61448),m=c(84285),{kUrl:n}=c(49176),o=c(55285),p=Symbol("options"),q=Symbol("connections"),r=Symbol("factory");function s(a,b){return new k(a,b)}class t extends d{constructor(a,{connections:b,factory:c=s,connect:d,connectTimeout:f,tls:g,maxCachedSessions:h,socketPath:i,autoSelectFamily:j,autoSelectFamilyAttemptTimeout:k,allowH2:t,useH2c:u,clientTtl:v,...w}={}){if(null!=b&&(!Number.isFinite(b)||b<0))throw new l("invalid connections");if("function"!=typeof c)throw new l("factory must be a function.");if(null!=d&&"function"!=typeof d&&"object"!=typeof d)throw new l("connect must be a function or an object");"function"!=typeof d&&(d=o({...g,maxCachedSessions:h,allowH2:t,useH2c:u,socketPath:i,timeout:f,..."boolean"==typeof j?{autoSelectFamily:j,autoSelectFamilyAttemptTimeout:k}:void 0,...d})),super(w),this[q]=b||null,this[n]=m.parseOrigin(a),this[p]={...m.deepClone(w),connect:d,allowH2:t,useH2c:u,clientTtl:v,socketPath:i},this[r]=c,this.on("connect",(a,b)=>{if(null!=v&&v>0)for(let a of b)Object.assign(a,{ttl:Date.now()})}),this.on("connectionError",(a,b,c)=>{for(let a of b){let b=this[e].indexOf(a);-1!==b&&this[e].splice(b,1)}})}[h](){let a=this[p].clientTtl;for(let b=0;b<this[e].length;b++){let c=this[e][b];if(null!=a&&a>0&&c.ttl&&Date.now()-c.ttl>a)this[j](c),b--;else if(!c[f])return c}if(!this[q]||this[e].length<this[q]){let a=this[r](this[n],this[p]);return this[g](a),a}}[i](){let a=this[p].clientTtl;for(let b=0;b<this[e].length;b++){let c=this[e][b];if(null!=a&&a>0&&c.ttl&&Date.now()-c.ttl>a)this[j](c),b--;else if(!c[f])return!0}if(!this[q]||this[e].length<this[q]){let a=this[r](this[n],this[p]);return this[g](a),!0}return!1}}a.exports=t},36105:(a,b,c)=>{var d=c(45654);d.pki=d.pki||{};var e=a.exports=d.pki.oids=d.oids=d.oids||{};function f(a,b){e[a]=b,e[b]=a}f("1.2.840.113549.1.1.1","rsaEncryption"),f("1.2.840.113549.1.1.4","md5WithRSAEncryption"),f("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),f("1.2.840.113549.1.1.7","RSAES-OAEP"),f("1.2.840.113549.1.1.8","mgf1"),f("1.2.840.113549.1.1.9","pSpecified"),f("1.2.840.113549.1.1.10","RSASSA-PSS"),f("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),f("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),f("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),f("1.3.101.112","EdDSA25519"),f("1.2.840.10040.4.3","dsa-with-sha1"),f("1.3.14.3.2.7","desCBC"),f("1.3.14.3.2.26","sha1"),f("1.3.14.3.2.29","sha1WithRSASignature"),f("2.16.840.1.101.3.4.2.1","sha256"),f("2.16.840.1.101.3.4.2.2","sha384"),f("2.16.840.1.101.3.4.2.3","sha512"),f("2.16.840.1.101.3.4.2.4","sha224"),f("2.16.840.1.101.3.4.2.5","sha512-224"),f("2.16.840.1.101.3.4.2.6","sha512-256"),f("1.2.840.113549.2.2","md2"),f("1.2.840.113549.2.5","md5"),f("1.2.840.113549.1.7.1","data"),f("1.2.840.113549.1.7.2","signedData"),f("1.2.840.113549.1.7.3","envelopedData"),f("1.2.840.113549.1.7.4","signedAndEnvelopedData"),f("1.2.840.113549.1.7.5","digestedData"),f("1.2.840.113549.1.7.6","encryptedData"),f("1.2.840.113549.1.9.1","emailAddress"),f("1.2.840.113549.1.9.2","unstructuredName"),f("1.2.840.113549.1.9.3","contentType"),f("1.2.840.113549.1.9.4","messageDigest"),f("1.2.840.113549.1.9.5","signingTime"),f("1.2.840.113549.1.9.6","counterSignature"),f("1.2.840.113549.1.9.7","challengePassword"),f("1.2.840.113549.1.9.8","unstructuredAddress"),f("1.2.840.113549.1.9.14","extensionRequest"),f("1.2.840.113549.1.9.20","friendlyName"),f("1.2.840.113549.1.9.21","localKeyId"),f("1.2.840.113549.1.9.22.1","x509Certificate"),f("1.2.840.113549.1.12.10.1.1","keyBag"),f("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),f("1.2.840.113549.1.12.10.1.3","certBag"),f("1.2.840.113549.1.12.10.1.4","crlBag"),f("1.2.840.113549.1.12.10.1.5","secretBag"),f("1.2.840.113549.1.12.10.1.6","safeContentsBag"),f("1.2.840.113549.1.5.13","pkcs5PBES2"),f("1.2.840.113549.1.5.12","pkcs5PBKDF2"),f("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),f("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),f("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),f("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),f("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),f("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),f("1.2.840.113549.2.7","hmacWithSHA1"),f("1.2.840.113549.2.8","hmacWithSHA224"),f("1.2.840.113549.2.9","hmacWithSHA256"),f("1.2.840.113549.2.10","hmacWithSHA384"),f("1.2.840.113549.2.11","hmacWithSHA512"),f("1.2.840.113549.3.7","des-EDE3-CBC"),f("2.16.840.1.101.3.4.1.2","aes128-CBC"),f("2.16.840.1.101.3.4.1.22","aes192-CBC"),f("2.16.840.1.101.3.4.1.42","aes256-CBC"),f("2.5.4.3","commonName"),f("2.5.4.4","surname"),f("2.5.4.5","serialNumber"),f("2.5.4.6","countryName"),f("2.5.4.7","localityName"),f("2.5.4.8","stateOrProvinceName"),f("2.5.4.9","streetAddress"),f("2.5.4.10","organizationName"),f("2.5.4.11","organizationalUnitName"),f("2.5.4.12","title"),f("2.5.4.13","description"),f("2.5.4.15","businessCategory"),f("2.5.4.17","postalCode"),f("2.5.4.42","givenName"),f("2.5.4.65","pseudonym"),f("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),f("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),f("2.16.840.1.113730.1.1","nsCertType"),f("2.16.840.1.113730.1.13","nsComment"),e["2.5.29.1"]="authorityKeyIdentifier",e["2.5.29.2"]="keyAttributes",e["2.5.29.3"]="certificatePolicies",e["2.5.29.4"]="keyUsageRestriction",e["2.5.29.5"]="policyMapping",e["2.5.29.6"]="subtreesConstraint",e["2.5.29.7"]="subjectAltName",e["2.5.29.8"]="issuerAltName",e["2.5.29.9"]="subjectDirectoryAttributes",e["2.5.29.10"]="basicConstraints",e["2.5.29.11"]="nameConstraints",e["2.5.29.12"]="policyConstraints",e["2.5.29.13"]="basicConstraints",f("2.5.29.14","subjectKeyIdentifier"),f("2.5.29.15","keyUsage"),e["2.5.29.16"]="privateKeyUsagePeriod",f("2.5.29.17","subjectAltName"),f("2.5.29.18","issuerAltName"),f("2.5.29.19","basicConstraints"),e["2.5.29.20"]="cRLNumber",e["2.5.29.21"]="cRLReason",e["2.5.29.22"]="expirationDate",e["2.5.29.23"]="instructionCode",e["2.5.29.24"]="invalidityDate",e["2.5.29.25"]="cRLDistributionPoints",e["2.5.29.26"]="issuingDistributionPoint",e["2.5.29.27"]="deltaCRLIndicator",e["2.5.29.28"]="issuingDistributionPoint",e["2.5.29.29"]="certificateIssuer",e["2.5.29.30"]="nameConstraints",f("2.5.29.31","cRLDistributionPoints"),f("2.5.29.32","certificatePolicies"),e["2.5.29.33"]="policyMappings",e["2.5.29.34"]="policyConstraints",f("2.5.29.35","authorityKeyIdentifier"),e["2.5.29.36"]="policyConstraints",f("2.5.29.37","extKeyUsage"),e["2.5.29.46"]="freshestCRL",e["2.5.29.54"]="inhibitAnyPolicy",f("1.3.6.1.4.1.11129.2.4.2","timestampList"),f("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),f("1.3.6.1.5.5.7.3.1","serverAuth"),f("1.3.6.1.5.5.7.3.2","clientAuth"),f("1.3.6.1.5.5.7.3.3","codeSigning"),f("1.3.6.1.5.5.7.3.4","emailProtection"),f("1.3.6.1.5.5.7.3.8","timeStamping")},36649:(a,b,c)=>{"use strict";let{wellknownHeaderNames:d,headerNameLowerCasedRecord:e}=c(28820);class f{value=null;left=null;middle=null;right=null;code;constructor(a,b,c){if(void 0===c||c>=a.length)throw TypeError("Unreachable");if((this.code=a.charCodeAt(c))>127)throw TypeError("key must be ascii string");a.length!==++c?this.middle=new f(a,b,c):this.value=b}add(a,b){let c=a.length;if(0===c)throw TypeError("Unreachable");let d=0,e=this;for(;;){let g=a.charCodeAt(d);if(g>127)throw TypeError("key must be ascii string");if(e.code===g)if(c===++d){e.value=b;break}else if(null!==e.middle)e=e.middle;else{e.middle=new f(a,b,d);break}else if(e.code<g)if(null!==e.left)e=e.left;else{e.left=new f(a,b,d);break}else if(null!==e.right)e=e.right;else{e.right=new f(a,b,d);break}}}search(a){let b=a.length,c=0,d=this;for(;null!==d&&c<b;){let e=a[c];for(e<=90&&e>=65&&(e|=32);null!==d;){if(e===d.code){if(b===++c)return d;d=d.middle;break}d=d.code<e?d.left:d.right}}return null}}class g{node=null;insert(a,b){null===this.node?this.node=new f(a,b,0):this.node.add(a,b)}lookup(a){return this.node?.search(a)?.value??null}}let h=new g;for(let a=0;a<d.length;++a){let b=e[d[a]];h.insert(b,b)}a.exports={TernarySearchTree:g,tree:h}},36902:(a,b,c)=>{var d=c(45654);c(33889),c(32e3),c(29984),function(){if(d.prime){a.exports=d.prime;return}var b=a.exports=d.prime=d.prime||{},c=d.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],f=new c(null);f.fromInt(30);var g=function(a,b){return a|b};function h(a,b,c,f){var g,h=i(a,b),j=(g=h.bitLength())<=100?27:g<=150?18:g<=200?15:g<=250?12:g<=300?9:g<=350?8:g<=400?7:g<=500?6:g<=600?5:g<=800?4:g<=1250?3:2;"millerRabinTests"in c&&(j=c.millerRabinTests);var k=10;"maxBlockTime"in c&&(k=c.maxBlockTime),function a(b,c,f,g,h,j,k){var l=+new Date;do{if(b.bitLength()>c&&(b=i(c,f)),b.isProbablePrime(h))return k(null,b);b.dAddOffset(e[g++%8],0)}while(j<0||new Date-l<j);d.util.setImmediate(function(){a(b,c,f,g,h,j,k)})}(h,a,b,0,j,k,f)}function i(a,b){var d=new c(a,b),e=a-1;return d.testBit(e)||d.bitwiseTo(c.ONE.shiftLeft(e),g,d),d.dAddOffset(31-d.mod(f).byteValue(),0),d}b.generateProbablePrime=function(a,b,e){"function"==typeof b&&(e=b,b={});var f,g,j,k,l=(b=b||{}).algorithm||"PRIMEINC";"string"==typeof l&&(l={name:l}),l.options=l.options||{};var m=b.prng||d.random;if("PRIMEINC"===l.name){return f=a,g={nextBytes:function(a){for(var b=m.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=b.charCodeAt(c)}},j=l.options,k=e,"workers"in j?function(a,b,e,f){if("u"<typeof Worker)return h(a,b,e,f);var g=i(a,b),j=e.workers,k=e.workLoad||100,l=30*k/8,m=e.workerScript||"forge/prime.worker.js";if(-1===j)return d.util.estimateCores(function(a,b){a&&(b=2),j=b-1,n()});function n(){j=Math.max(1,j);for(var d=[],e=0;e<j;++e)d[e]=new Worker(m);for(var h=j,e=0;e<j;++e)d[e].addEventListener("message",o);var n=!1;function o(e){if(!n){--h;var j=e.data;if(j.found){for(var m=0;m<d.length;++m)d[m].terminate();return n=!0,f(null,new c(j.prime,16))}g.bitLength()>a&&(g=i(a,b));var o=g.toString(16);e.target.postMessage({hex:o,workLoad:k}),g.dAddOffset(l,0)}}}n()}(f,g,j,k):h(f,g,j,k)}throw Error("Invalid prime generation algorithm: "+l.name)}}()},37071:(a,b,c)=>{"use strict";c.d(b,{T:()=>r});var d=c(67671);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
185
+ `);f.push(m),j+=m.byteLength,l&&(j=null),i=a,h=async function*(){for(let a of f)a.stream?yield*a.stream():yield a},o=`multipart/form-data; boundary=${b}`}else if(l.is.Blob(a))i=a,j=a.size,a.type&&(o=a.type);else if("function"==typeof a[Symbol.asyncIterator]){if(b)throw TypeError("keepalive");if(d.isDisturbed(a)||a.locked)throw TypeError("Response body object should not be disturbed or locked");c=l.is.ReadableStream(a)?a:e(a)}return("string"==typeof i||p(i))&&(h=()=>(j="string"==typeof i?Buffer.byteLength(i):i.length,i)),null!=h&&(async()=>{let a=h(),b=a?.[Symbol.asyncIterator]?.();if(b)for await(let a of b){if(n(c))break;a.length&&g.enqueue(new Uint8Array(a))}else a?.length&&!n(c)&&g.enqueue("string"==typeof a?v.encode(a):new Uint8Array(a));queueMicrotask(()=>f(g))})(),[{stream:c,source:i,length:j},o]}function y(a,b,c,d){try{l.brandCheck(a,c)}catch(a){return Promise.reject(a)}if(z(a=d(a)))return Promise.reject(TypeError("Body is unusable: Body has already been read"));let e=Promise.withResolvers(),f=e.reject,h=a=>{try{e.resolve(b(a))}catch(a){f(a)}};return null==a.body?h(Buffer.allocUnsafe(0)):g(a.body,h,f),e.promise}function z(a){let b=a.body;return null!=b&&(b.stream.locked||d.isDisturbed(b.stream))}function A(a){let b=h(a.headersList);return"failure"===b?null:b}a.exports={extractBody:x,safelyExtractBody:function(a,b=!1){return l.is.ReadableStream(a)&&(m(!d.isDisturbed(a),"The body has already been consumed."),m(!a.locked,"The stream is locked.")),x(a,b)},cloneBody:function(a){let{0:b,1:c}=u?.(a.stream,!0)??a.stream.tee();return a.stream=b,{stream:c,length:a.length,source:a.source}},mixinBody:function(a,b){Object.assign(a.prototype,{blob(){return y(this,a=>{let c=A(b(this));return null===c?c="":c&&(c=q(c)),new Blob([a],{type:c})},a,b)},arrayBuffer(){return y(this,a=>new Uint8Array(a).buffer,a,b)},text(){return y(this,t,a,b)},json(){return y(this,s,a,b)},formData(){return y(this,a=>{let c=A(b(this));if(null!==c)switch(c.essence){case"multipart/form-data":{let b=r(a,c),d=new i;return j(d,b),d}case"application/x-www-form-urlencoded":{let b=new URLSearchParams(a.toString()),c=new i;for(let[a,d]of b)c.append(a,d);return c}}throw TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},a,b)},bytes(){return y(this,a=>new Uint8Array(a),a,b)},textStream(){let a=b(this);if(z(a))throw TypeError("Body is unusable: Body has already been read");if(null==a.body){let a,b=new ReadableStream({start:b=>{a=b},pull:()=>Promise.resolve(),cancel:()=>Promise.resolve()},{size:()=>1});return a.close(),b}let c=a.body.stream,d=new TextDecoderStream("UTF-8");return c.pipeThrough(d)}})},streamRegistry:new FinalizationRegistry(a=>{let b=a.deref();!b||b.locked||o(b)||n(b)||b.cancel("Response object has been garbage collected").catch(w)}),bodyUnusable:z}},35689:(a,b,c)=>{"use strict";let{PoolBase:d,kClients:e,kNeedDrain:f,kAddClient:g,kGetDispatcher:h,kHasDispatcher:i,kRemoveClient:j}=c(39065),k=c(40106),{InvalidArgumentError:l}=c(61448),m=c(84285),{kUrl:n}=c(49176),o=c(55285),p=Symbol("options"),q=Symbol("connections"),r=Symbol("factory");function s(a,b){return new k(a,b)}class t extends d{constructor(a,{connections:b,factory:c=s,connect:d,connectTimeout:f,tls:g,maxCachedSessions:h,socketPath:i,autoSelectFamily:j,autoSelectFamilyAttemptTimeout:k,allowH2:t,useH2c:u,clientTtl:v,...w}={}){if(null!=b&&(!Number.isFinite(b)||b<0))throw new l("invalid connections");if("function"!=typeof c)throw new l("factory must be a function.");if(null!=d&&"function"!=typeof d&&"object"!=typeof d)throw new l("connect must be a function or an object");"function"!=typeof d&&(d=o({...g,maxCachedSessions:h,allowH2:t,useH2c:u,socketPath:i,timeout:f,..."boolean"==typeof j?{autoSelectFamily:j,autoSelectFamilyAttemptTimeout:k}:void 0,...d})),super(w),this[q]=b||null,this[n]=m.parseOrigin(a),this[p]={...m.deepClone(w),connect:d,allowH2:t,useH2c:u,clientTtl:v,socketPath:i},this[r]=c,this.on("connect",(a,b)=>{if(null!=v&&v>0)for(let a of b)Object.assign(a,{ttl:Date.now()})}),this.on("connectionError",(a,b,c)=>{for(let a of b){let b=this[e].indexOf(a);-1!==b&&this[e].splice(b,1)}})}[h](){let a=this[p].clientTtl;for(let b=0;b<this[e].length;b++){let c=this[e][b];if(null!=a&&a>0&&c.ttl&&Date.now()-c.ttl>a)this[j](c),b--;else if(!c[f])return c}if(!this[q]||this[e].length<this[q]){let a=this[r](this[n],this[p]);return this[g](a),a}}[i](){let a=this[p].clientTtl;for(let b=0;b<this[e].length;b++){let c=this[e][b];if(null!=a&&a>0&&c.ttl&&Date.now()-c.ttl>a)this[j](c),b--;else if(!c[f])return!0}if(!this[q]||this[e].length<this[q]){let a=this[r](this[n],this[p]);return this[g](a),!0}return!1}}a.exports=t},36105:(a,b,c)=>{var d=c(45654);d.pki=d.pki||{};var e=a.exports=d.pki.oids=d.oids=d.oids||{};function f(a,b){e[a]=b,e[b]=a}f("1.2.840.113549.1.1.1","rsaEncryption"),f("1.2.840.113549.1.1.4","md5WithRSAEncryption"),f("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),f("1.2.840.113549.1.1.7","RSAES-OAEP"),f("1.2.840.113549.1.1.8","mgf1"),f("1.2.840.113549.1.1.9","pSpecified"),f("1.2.840.113549.1.1.10","RSASSA-PSS"),f("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),f("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),f("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),f("1.3.101.112","EdDSA25519"),f("1.2.840.10040.4.3","dsa-with-sha1"),f("1.3.14.3.2.7","desCBC"),f("1.3.14.3.2.26","sha1"),f("1.3.14.3.2.29","sha1WithRSASignature"),f("2.16.840.1.101.3.4.2.1","sha256"),f("2.16.840.1.101.3.4.2.2","sha384"),f("2.16.840.1.101.3.4.2.3","sha512"),f("2.16.840.1.101.3.4.2.4","sha224"),f("2.16.840.1.101.3.4.2.5","sha512-224"),f("2.16.840.1.101.3.4.2.6","sha512-256"),f("1.2.840.113549.2.2","md2"),f("1.2.840.113549.2.5","md5"),f("1.2.840.113549.1.7.1","data"),f("1.2.840.113549.1.7.2","signedData"),f("1.2.840.113549.1.7.3","envelopedData"),f("1.2.840.113549.1.7.4","signedAndEnvelopedData"),f("1.2.840.113549.1.7.5","digestedData"),f("1.2.840.113549.1.7.6","encryptedData"),f("1.2.840.113549.1.9.1","emailAddress"),f("1.2.840.113549.1.9.2","unstructuredName"),f("1.2.840.113549.1.9.3","contentType"),f("1.2.840.113549.1.9.4","messageDigest"),f("1.2.840.113549.1.9.5","signingTime"),f("1.2.840.113549.1.9.6","counterSignature"),f("1.2.840.113549.1.9.7","challengePassword"),f("1.2.840.113549.1.9.8","unstructuredAddress"),f("1.2.840.113549.1.9.14","extensionRequest"),f("1.2.840.113549.1.9.20","friendlyName"),f("1.2.840.113549.1.9.21","localKeyId"),f("1.2.840.113549.1.9.22.1","x509Certificate"),f("1.2.840.113549.1.12.10.1.1","keyBag"),f("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),f("1.2.840.113549.1.12.10.1.3","certBag"),f("1.2.840.113549.1.12.10.1.4","crlBag"),f("1.2.840.113549.1.12.10.1.5","secretBag"),f("1.2.840.113549.1.12.10.1.6","safeContentsBag"),f("1.2.840.113549.1.5.13","pkcs5PBES2"),f("1.2.840.113549.1.5.12","pkcs5PBKDF2"),f("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),f("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),f("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),f("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),f("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),f("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),f("1.2.840.113549.2.7","hmacWithSHA1"),f("1.2.840.113549.2.8","hmacWithSHA224"),f("1.2.840.113549.2.9","hmacWithSHA256"),f("1.2.840.113549.2.10","hmacWithSHA384"),f("1.2.840.113549.2.11","hmacWithSHA512"),f("1.2.840.113549.3.7","des-EDE3-CBC"),f("2.16.840.1.101.3.4.1.2","aes128-CBC"),f("2.16.840.1.101.3.4.1.22","aes192-CBC"),f("2.16.840.1.101.3.4.1.42","aes256-CBC"),f("2.5.4.3","commonName"),f("2.5.4.4","surname"),f("2.5.4.5","serialNumber"),f("2.5.4.6","countryName"),f("2.5.4.7","localityName"),f("2.5.4.8","stateOrProvinceName"),f("2.5.4.9","streetAddress"),f("2.5.4.10","organizationName"),f("2.5.4.11","organizationalUnitName"),f("2.5.4.12","title"),f("2.5.4.13","description"),f("2.5.4.15","businessCategory"),f("2.5.4.17","postalCode"),f("2.5.4.42","givenName"),f("2.5.4.65","pseudonym"),f("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName"),f("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName"),f("2.16.840.1.113730.1.1","nsCertType"),f("2.16.840.1.113730.1.13","nsComment"),e["2.5.29.1"]="authorityKeyIdentifier",e["2.5.29.2"]="keyAttributes",e["2.5.29.3"]="certificatePolicies",e["2.5.29.4"]="keyUsageRestriction",e["2.5.29.5"]="policyMapping",e["2.5.29.6"]="subtreesConstraint",e["2.5.29.7"]="subjectAltName",e["2.5.29.8"]="issuerAltName",e["2.5.29.9"]="subjectDirectoryAttributes",e["2.5.29.10"]="basicConstraints",e["2.5.29.11"]="nameConstraints",e["2.5.29.12"]="policyConstraints",e["2.5.29.13"]="basicConstraints",f("2.5.29.14","subjectKeyIdentifier"),f("2.5.29.15","keyUsage"),e["2.5.29.16"]="privateKeyUsagePeriod",f("2.5.29.17","subjectAltName"),f("2.5.29.18","issuerAltName"),f("2.5.29.19","basicConstraints"),e["2.5.29.20"]="cRLNumber",e["2.5.29.21"]="cRLReason",e["2.5.29.22"]="expirationDate",e["2.5.29.23"]="instructionCode",e["2.5.29.24"]="invalidityDate",e["2.5.29.25"]="cRLDistributionPoints",e["2.5.29.26"]="issuingDistributionPoint",e["2.5.29.27"]="deltaCRLIndicator",e["2.5.29.28"]="issuingDistributionPoint",e["2.5.29.29"]="certificateIssuer",e["2.5.29.30"]="nameConstraints",f("2.5.29.31","cRLDistributionPoints"),f("2.5.29.32","certificatePolicies"),e["2.5.29.33"]="policyMappings",e["2.5.29.34"]="policyConstraints",f("2.5.29.35","authorityKeyIdentifier"),e["2.5.29.36"]="policyConstraints",f("2.5.29.37","extKeyUsage"),e["2.5.29.46"]="freshestCRL",e["2.5.29.54"]="inhibitAnyPolicy",f("1.3.6.1.4.1.11129.2.4.2","timestampList"),f("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),f("1.3.6.1.5.5.7.3.1","serverAuth"),f("1.3.6.1.5.5.7.3.2","clientAuth"),f("1.3.6.1.5.5.7.3.3","codeSigning"),f("1.3.6.1.5.5.7.3.4","emailProtection"),f("1.3.6.1.5.5.7.3.8","timeStamping")},36649:(a,b,c)=>{"use strict";let{wellknownHeaderNames:d,headerNameLowerCasedRecord:e}=c(28820);class f{value=null;left=null;middle=null;right=null;code;constructor(a,b,c){if(void 0===c||c>=a.length)throw TypeError("Unreachable");if((this.code=a.charCodeAt(c))>127)throw TypeError("key must be ascii string");a.length!==++c?this.middle=new f(a,b,c):this.value=b}add(a,b){let c=a.length;if(0===c)throw TypeError("Unreachable");let d=0,e=this;for(;;){let g=a.charCodeAt(d);if(g>127)throw TypeError("key must be ascii string");if(e.code===g)if(c===++d){e.value=b;break}else if(null!==e.middle)e=e.middle;else{e.middle=new f(a,b,d);break}else if(e.code<g)if(null!==e.left)e=e.left;else{e.left=new f(a,b,d);break}else if(null!==e.right)e=e.right;else{e.right=new f(a,b,d);break}}}search(a){let b=a.length,c=0,d=this;for(;null!==d&&c<b;){let e=a[c];for(e<=90&&e>=65&&(e|=32);null!==d;){if(e===d.code){if(b===++c)return d;d=d.middle;break}d=d.code<e?d.left:d.right}}return null}}class g{node=null;insert(a,b){null===this.node?this.node=new f(a,b,0):this.node.add(a,b)}lookup(a){return this.node?.search(a)?.value??null}}let h=new g;for(let a=0;a<d.length;++a){let b=e[d[a]];h.insert(b,b)}a.exports={TernarySearchTree:g,tree:h}},36902:(a,b,c)=>{var d=c(45654);c(33889),c(32e3),c(29984),function(){if(d.prime){a.exports=d.prime;return}var b=a.exports=d.prime=d.prime||{},c=d.jsbn.BigInteger,e=[6,4,2,4,2,4,6,2],f=new c(null);f.fromInt(30);var g=function(a,b){return a|b};function h(a,b,c,f){var g,h=i(a,b),j=(g=h.bitLength())<=100?27:g<=150?18:g<=200?15:g<=250?12:g<=300?9:g<=350?8:g<=400?7:g<=500?6:g<=600?5:g<=800?4:g<=1250?3:2;"millerRabinTests"in c&&(j=c.millerRabinTests);var k=10;"maxBlockTime"in c&&(k=c.maxBlockTime),function a(b,c,f,g,h,j,k){var l=+new Date;do{if(b.bitLength()>c&&(b=i(c,f)),b.isProbablePrime(h))return k(null,b);b.dAddOffset(e[g++%8],0)}while(j<0||new Date-l<j);d.util.setImmediate(function(){a(b,c,f,g,h,j,k)})}(h,a,b,0,j,k,f)}function i(a,b){var d=new c(a,b),e=a-1;return d.testBit(e)||d.bitwiseTo(c.ONE.shiftLeft(e),g,d),d.dAddOffset(31-d.mod(f).byteValue(),0),d}b.generateProbablePrime=function(a,b,e){"function"==typeof b&&(e=b,b={});var f,g,j,k,l=(b=b||{}).algorithm||"PRIMEINC";"string"==typeof l&&(l={name:l}),l.options=l.options||{};var m=b.prng||d.random;if("PRIMEINC"===l.name){return f=a,g={nextBytes:function(a){for(var b=m.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=b.charCodeAt(c)}},j=l.options,k=e,"workers"in j?function(a,b,e,f){if("u"<typeof Worker)return h(a,b,e,f);var g=i(a,b),j=e.workers,k=e.workLoad||100,l=30*k/8,m=e.workerScript||"forge/prime.worker.js";if(-1===j)return d.util.estimateCores(function(a,b){a&&(b=2),j=b-1,n()});function n(){j=Math.max(1,j);for(var d=[],e=0;e<j;++e)d[e]=new Worker(m);for(var h=j,e=0;e<j;++e)d[e].addEventListener("message",o);var n=!1;function o(e){if(!n){--h;var j=e.data;if(j.found){for(var m=0;m<d.length;++m)d[m].terminate();return n=!0,f(null,new c(j.prime,16))}g.bitLength()>a&&(g=i(a,b));var o=g.toString(16);e.target.postMessage({hex:o,workLoad:k}),g.dAddOffset(l,0)}}}n()}(f,g,j,k):h(f,g,j,k)}throw Error("Invalid prime generation algorithm: "+l.name)}}()},37417:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,MaxOriginsReachedError:e}=c(61448),{kBusy:f,kClients:g,kConnected:h,kRunning:i,kClose:j,kDestroy:k,kDispatch:l,kUrl:m}=c(49176),n=c(5318),o=c(35689),p=c(40106),q=c(84285),r=Symbol("onConnect"),s=Symbol("onDisconnect"),t=Symbol("onConnectionError"),u=Symbol("onDrain"),v=Symbol("factory"),w=Symbol("options"),x=Symbol("origins");function y(a,b){return b&&1===b.connections?new p(a,b):new o(a,b)}class z extends n{constructor({factory:a=y,maxOrigins:b=1/0,connect:c,...e}={}){if("function"!=typeof a)throw new d("factory must be a function.");if(null!=c&&"function"!=typeof c&&"object"!=typeof c)throw new d("connect must be a function or an object");if("number"!=typeof b||Number.isNaN(b)||b<=0)throw new d("maxOrigins must be a number greater than 0");super(e),c&&"function"!=typeof c&&(c={...c}),this[w]={...q.deepClone(e),maxOrigins:b,connect:c},this[v]=a,this[g]=new Map,this[x]=new Set,this[u]=(a,b)=>{this.emit("drain",a,[this,...b])},this[r]=(a,b)=>{this.emit("connect",a,[this,...b])},this[s]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)},this[t]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)}}get[i](){let a=0;for(let b of this[g].values())a+=b[i];return a}[l](a,b){let c;if(a.origin&&("string"==typeof a.origin||a.origin instanceof URL))c=String(a.origin);else throw new d("opts.origin must be a non-empty string or URL.");let i=a.allowH2??this[w].allowH2,j=!1===i?`${c}#http1-only`:c;if(this[x].size>=this[w].maxOrigins&&!this[x].has(c))throw new e;let k=this[g].get(j);if(!k){k=this[v](a.origin,!1===i?{...this[w],allowH2:!1}:this[w]);let b=()=>{if(this[g].get(j)!==k||k[h]>0||k[f])return;this[g].delete(j),k.destroyed||k.close();let a=!1;for(let b of this[g].keys())if(b===c||b===`${c}#http1-only`){a=!0;break}a||this[x].delete(c)};k.on("drain",this[u]).on("connect",this[r]).on("disconnect",(a,c,d)=>{b(),this[s](a,c,d)}).on("connectionError",(a,c,d)=>{b(),this[t](a,c,d)}),this[g].set(j,k),this[x].add(c)}return k.dispatch(a,b)}[j](){let a=[];for(let b of this[g].values())a.push(b.close());return this[g].clear(),Promise.all(a)}[k](a){let b=[];for(let c of this[g].values())b.push(c.destroy(a));return this[g].clear(),Promise.all(b)}get stats(){let a={};for(let b of this[g].values())b.stats&&(a[b[m].origin]=b.stats);return a}}a.exports=z},37436:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(21820),g="switchboard";function h(){return"win32"===process.platform?e.join(process.env.APPDATA||e.join(f.homedir(),"AppData","Roaming"),g):e.join(f.homedir(),`.${g}`)}let i=function(){let a=process.env.DATA_DIR;if(!a)return h();try{return d.mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${g}`),h();throw b}}(),j=e.join(i,"mitm");a.exports={DATA_DIR:i,MITM_DIR:j}},37606:(a,b,c)=>{"use strict";c.d(b,{Ay:()=>A});var d=c(67671),e=c(38421),f=c(19016),g=c(24725),h=c(50969);let i=e.xq["perplexity-web"].baseUrl,j="2.18",k={"pplx-auto":["concise","pplx_pro"],"pplx-sonar":["copilot","experimental"],"pplx-gpt":["copilot","gpt54"],"pplx-gemini":["copilot","gemini31pro_high"],"pplx-sonnet":["copilot","claude46sonnet"],"pplx-opus":["copilot","claude46opus"],"pplx-nemotron":["copilot","nv_nemotron_3_super"]},l={"pplx-gpt":"gpt54_thinking","pplx-sonnet":"claude46sonnetthinking","pplx-opus":"claude46opusthinking"},m=/\[\d+\]/g,n=/<grok:[^>]*>.*?<\/grok:[^>]*>/gs,o=/<grok:[^>]*\/>/g,p=/<[?]xml[^?]*[?]>/g,q=/<\/?response\b[^>]*>/gi,r=/ {2,}/g,s=/\n{3,}/g,t=new Map;function u(a){let b=a.map(a=>`${a.role}:${a.content}`).join("\n"),c=0x811c9dc5;for(let a=0;a<b.length;a++)c^=b.charCodeAt(a),c=0x1000193*c>>>0;return c.toString(16).padStart(8,"0")}function v(a,b,c,d){if(!d)return;let e=u([...a,{role:"user",content:b},{role:"assistant",content:c}]);if(t.set(e,{backendUuid:d,ts:Date.now()}),t.size>200){let a=null,b=1/0;for(let[c,d]of t)d.ts<b&&(b=d.ts,a=c);a&&t.delete(a)}}function w(a,b=!0){let c=a;return c=(c=(c=(c=(c=c.replace(p,"")).replace(m,"")).replace(n,"")).replace(o,"")).replace(q,""),b&&(c=(c=(c=c.replace(r," ")).replace(s,"\n\n")).trim()),c}async function*x(a,b){let c=a.getReader(),d=new TextDecoder,e="",f=[];function g(){if(0===f.length)return null;let a=f.join("\n");f=[];let b=a.trim();if(!b||"[DONE]"===b)return"done";try{return JSON.parse(b)}catch{return null}}try{for(;;){if(b?.aborted)return;let{value:a,done:h}=await c.read();if(h)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a);e=e.slice(a+1);let c=b.endsWith("\r")?b.slice(0,-1):b;if(""===c){let a=g();if("done"===a)return;a&&(yield a);continue}if(c.startsWith("data:")&&f.push(c.slice(5).trimStart()),"event: end_of_stream"===c)return}}(e+=d.decode()).trim().startsWith("data:")&&f.push(e.trim().slice(5).trimStart());let a=g();a&&"done"!==a&&(yield a)}finally{c.releaseLock()}}async function*y(a,b){let c="",d=null,e=0,f=new Set;for await(let g of x(a,b)){if(g.error_code||g.error_message)return void(yield{error:g.error_message||`Perplexity error: ${g.error_code}`,done:!0});g.backend_uuid&&(d=g.backend_uuid);let a=g.blocks??[];for(let b of a){let a=b.intended_usage??"";if("pro_search_steps"===a&&b.plan_block?.steps){for(let a of b.plan_block.steps)if("SEARCH_WEB"===a.step_type)for(let b of a.search_web_content?.queries??[]){let a=b.query??"";a&&!f.has(a)&&(f.add(a),yield{thinking:`Searching: ${a}`,backendUuid:d??void 0})}else if("READ_RESULTS"===a.step_type)for(let b of(a.read_results_content?.urls??[]).slice(0,3))b&&!f.has(b)&&(f.add(b),yield{thinking:`Reading: ${b}`,backendUuid:d??void 0})}if("plan"===a&&b.plan_block?.goals)for(let a of b.plan_block.goals){let b=a.description??"";b&&!f.has(b)&&(f.add(b),yield{thinking:b,backendUuid:d??void 0})}if(!a.includes("markdown"))continue;let g=b.markdown_block;if(!g)continue;let h=g.chunks??[];if(0!==h.length)if("DONE"===g.progress)c=h.join("");else{let a=c+h.join("");if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}}if(0===a.length&&g.text){let a=g.text.trim();if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}if(g.final||"COMPLETED"===g.status)break}yield{delta:"",answer:c,backendUuid:d??void 0,done:!0}}async function z(a,b,c,d,e,f,g){let h="",i=null,j=[];for await(let b of y(a,g)){if(b.backendUuid&&(i=b.backendUuid),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"PPLX_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){j.push(b.thinking);continue}if(b.done){h=b.answer||h;break}b.answer&&(h=b.answer)}v(e,f,h=w(h),i);let k=j.length>0?j.join("\n"):void 0,l={role:"assistant",content:h};k&&(l.reasoning_content=k);let m=Math.ceil(f.length/4),n=Math.ceil(h.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:l,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:m,completion_tokens:n,total_tokens:m+n}}),{status:200,headers:{"Content-Type":"application/json"}})}class A extends d.Hv{constructor(){super("perplexity-web",e.xq["perplexity-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:m,proxyOptions:n=null}){var o,p,q,r,s;let x,A,B,C,D,E=b?.messages;if(!E||!Array.isArray(E)||0===E.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:b};(b?.thinking===!0||b?.reasoning_effort!=null&&"none"!==b.reasoning_effort)&&l[a]?(x="copilot",A=l[a],m?.info?.("PPLX-WEB",`Thinking mode → ${a} using ${A}`)):k[a]?[x,A]=k[a]:(x="copilot",A=a,m?.info?.("PPLX-WEB",`Unmapped model ${a}, using as raw preference`));let F=function(a){let b="",c=[];for(let d of a){let a=String(d.role||"user");"developer"===a&&(a="system");let e="";"string"==typeof d.content?e=d.content:Array.isArray(d.content)&&(e=d.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),e.trim()&&("system"===a?b+=e+"\n":("user"===a||"assistant"===a)&&c.push({role:a,content:e}))}let d="";return c.length>0&&"user"===c[c.length-1].role&&(d=c.pop().content),{systemMsg:b,history:c,currentMsg:d}}(E),G=function(a){if(0===a.length)return null;let b=u(a),c=t.get(b);return c?Date.now()-c.ts>36e5?(t.delete(b),null):c.backendUuid:null}(F.history);G&&m?.info?.("PPLX-WEB",`Session continue: ${G.slice(0,12)}...`);let H=function(a,b,c){if(b)return a.currentMsg;let d={},e=[];a.systemMsg.trim()&&e.push(a.systemMsg.trim());let f=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=a.map(a=>{let b=a?.function||a||{},c=b.name||"unnamed",d=(b.description||"").split("\n")[0].slice(0,200);return`- ${c}: ${d}`});return`Available tools (reference only, cannot invoke):
186
+ ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(F,G,b?.tools);if(!H.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:b};let I=(o=x,p=A,D="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:H,params:{query_str:H,search_focus:"internet",mode:o,model_preference:p,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:j,language:"en-US",timezone:D,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:G}}),J={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":j};d.accessToken?J.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(J.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),m?.info?.("PPLX-WEB",`Query to ${a} (pref=${A}, mode=${x}), len=${H.length}`);let K={method:"POST",headers:J,body:JSON.stringify(I),identity:this.config.identity,provider:this.provider,format:this.config.format};e&&(K.signal=e);try{B=await (0,h.Fm)(i,K,n)}catch(a){return m?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I}}if(!B.ok){let a=B.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),m?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I}}if(!B.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I};let L=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,M=Math.floor(Date.now()/1e3);if(c){let b;C=new Response((q=B.body,r=F.history,s=F.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",h=null;for await(let f of y(q,e)){if(f.backendUuid&&(h=f.backendUuid),f.error){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:f.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(f.done){d=f.answer||d;break}let e=f.delta||"";e&&(e=w(e,!1))&&c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),f.answer&&(d=f.answer)}c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U)),v(r,s,w(d),h)}catch(d){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else C=await z(B.body,a,L,M,F.history,F.currentMsg,e);return{response:C,url:i,headers:J,transformedBody:I}}}},37691:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha512=d.sha512||{};d.md.sha512=d.md.algorithms.sha512=e;var f=d.sha384=d.sha512.sha384=d.sha512.sha384||{};f.create=function(){return e.create("SHA-384")},d.md.sha384=d.md.algorithms.sha384=f,d.sha512.sha256=d.sha512.sha256||{create:function(){return e.create("SHA-512/256")}},d.md["sha512/256"]=d.md.algorithms["sha512/256"]=d.sha512.sha256,d.sha512.sha224=d.sha512.sha224||{create:function(){return e.create("SHA-512/224")}},d.md["sha512/224"]=d.md.algorithms["sha512/224"]=d.sha512.sha224,e.create=function(a){if(h||(g=String.fromCharCode(128)+d.util.fillString("\0",128),i=[[0x428a2f98,0xd728ae22],[0x71374491,0x23ef65cd],[0xb5c0fbcf,0xec4d3b2f],[0xe9b5dba5,0x8189dbbc],[0x3956c25b,0xf348b538],[0x59f111f1,0xb605d019],[0x923f82a4,0xaf194f9b],[0xab1c5ed5,0xda6d8118],[0xd807aa98,0xa3030242],[0x12835b01,0x45706fbe],[0x243185be,0x4ee4b28c],[0x550c7dc3,0xd5ffb4e2],[0x72be5d74,0xf27b896f],[0x80deb1fe,0x3b1696b1],[0x9bdc06a7,0x25c71235],[0xc19bf174,0xcf692694],[0xe49b69c1,0x9ef14ad2],[0xefbe4786,0x384f25e3],[0xfc19dc6,0x8b8cd5b5],[0x240ca1cc,0x77ac9c65],[0x2de92c6f,0x592b0275],[0x4a7484aa,0x6ea6e483],[0x5cb0a9dc,0xbd41fbd4],[0x76f988da,0x831153b5],[0x983e5152,0xee66dfab],[0xa831c66d,0x2db43210],[0xb00327c8,0x98fb213f],[0xbf597fc7,0xbeef0ee4],[0xc6e00bf3,0x3da88fc2],[0xd5a79147,0x930aa725],[0x6ca6351,0xe003826f],[0x14292967,0xa0e6e70],[0x27b70a85,0x46d22ffc],[0x2e1b2138,0x5c26c926],[0x4d2c6dfc,0x5ac42aed],[0x53380d13,0x9d95b3df],[0x650a7354,0x8baf63de],[0x766a0abb,0x3c77b2a8],[0x81c2c92e,0x47edaee6],[0x92722c85,0x1482353b],[0xa2bfe8a1,0x4cf10364],[0xa81a664b,0xbc423001],[0xc24b8b70,0xd0f89791],[0xc76c51a3,0x654be30],[0xd192e819,0xd6ef5218],[0xd6990624,0x5565a910],[0xf40e3585,0x5771202a],[0x106aa070,0x32bbd1b8],[0x19a4c116,0xb8d2d0c8],[0x1e376c08,0x5141ab53],[0x2748774c,0xdf8eeb99],[0x34b0bcb5,0xe19b48a8],[0x391c0cb3,0xc5c95a63],[0x4ed8aa4a,0xe3418acb],[0x5b9cca4f,0x7763e373],[0x682e6ff3,0xd6b2b8a3],[0x748f82ee,0x5defb2fc],[0x78a5636f,0x43172f60],[0x84c87814,0xa1f0ab72],[0x8cc70208,0x1a6439ec],[0x90befffa,0x23631e28],[0xa4506ceb,0xde82bde9],[0xbef9a3f7,0xb2c67915],[0xc67178f2,0xe372532b],[0xca273ece,0xea26619c],[0xd186b8c7,0x21c0c207],[0xeada7dd6,0xcde0eb1e],[0xf57d4f7f,0xee6ed178],[0x6f067aa,0x72176fba],[0xa637dc5,0xa2c898a6],[0x113f9804,0xbef90dae],[0x1b710b35,0x131c471b],[0x28db77f5,0x23047d84],[0x32caab7b,0x40c72493],[0x3c9ebe0a,0x15c9bebc],[0x431d67c4,0x9c100d4c],[0x4cc5d4be,0xcb3e42b6],[0x597f299c,0xfc657e2a],[0x5fcb6fab,0x3ad6faec],[0x6c44198c,0x4a475817]],(j={})["SHA-512"]=[[0x6a09e667,0xf3bcc908],[0xbb67ae85,0x84caa73b],[0x3c6ef372,0xfe94f82b],[0xa54ff53a,0x5f1d36f1],[0x510e527f,0xade682d1],[0x9b05688c,0x2b3e6c1f],[0x1f83d9ab,0xfb41bd6b],[0x5be0cd19,0x137e2179]],j["SHA-384"]=[[0xcbbb9d5d,0xc1059ed8],[0x629a292a,0x367cd507],[0x9159015a,0x3070dd17],[0x152fecd8,0xf70e5939],[0x67332667,0xffc00b31],[0x8eb44a87,0x68581511],[0xdb0c2e0d,0x64f98fa7],[0x47b5481d,0xbefa4fa4]],j["SHA-512/256"]=[[0x22312194,0xfc2bf72c],[0x9f555fa3,0xc84c64c2],[0x2393b86b,0x6f53b151],[0x96387719,0x5940eabd],[0x96283ee2,0xa88effe3],[0xbe5e1e25,0x53863992],[0x2b0199fc,0x2c85b8aa],[0xeb72ddc,0x81c52ca2]],j["SHA-512/224"]=[[0x8c3d37c8,0x19544da2],[0x73e19966,0x89dcd4d6],[0x1dfab7ae,0x32ff9c82],[0x679dd514,0x582f9fcf],[0xf6d2b69,0x7bd44da8],[0x77e36f73,0x4c48942],[0x3f9d85a8,0x6a1d36c8],[0x1112e6ad,0x91d692a1]],h=!0),void 0===a&&(a="SHA-512"),!(a in j))throw Error("Invalid SHA-512 algorithm: "+a);for(var b=j[a],c=null,e=d.util.createBuffer(),f=Array(80),l=0;l<80;++l)f[l]=[,,];var m=64;switch(a){case"SHA-384":m=48;break;case"SHA-512/256":m=32;break;case"SHA-512/224":m=28}var n={algorithm:a.replace("-","").toLowerCase(),blockLength:128,digestLength:m,messageLength:0,fullMessageLength:null,messageLengthSize:16};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength128=[];for(var a=n.messageLengthSize/4,f=0;f<a;++f)n.fullMessageLength.push(0);e=d.util.createBuffer(),c=Array(b.length);for(var f=0;f<b.length;++f)c[f]=b[f].slice(0);return n},n.start(),n.update=function(a,b){"utf8"===b&&(a=d.util.encodeUtf8(a));var g=a.length;n.messageLength+=g,g=[g/0x100000000>>>0,g>>>0];for(var h=n.fullMessageLength.length-1;h>=0;--h)n.fullMessageLength[h]+=g[1],g[1]=g[0]+(n.fullMessageLength[h]/0x100000000>>>0),n.fullMessageLength[h]=n.fullMessageLength[h]>>>0,g[0]=g[1]/0x100000000>>>0;return e.putBytes(a),k(c,f,e),(e.read>2048||0===e.length())&&e.compact(),n},n.digest=function(){var b,h,i=d.util.createBuffer();i.putBytes(e.bytes());var j=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize&n.blockLength-1;i.putBytes(g.substr(0,n.blockLength-j));for(var l=8*n.fullMessageLength[0],m=0;m<n.fullMessageLength.length-1;++m)l+=(b=8*n.fullMessageLength[m+1])/0x100000000>>>0,i.putInt32(l>>>0),l=b>>>0;i.putInt32(l);for(var o=Array(c.length),m=0;m<c.length;++m)o[m]=c[m].slice(0);k(o,f,i);var p=d.util.createBuffer();h="SHA-512"===a?o.length:"SHA-384"===a?o.length-2:o.length-4;for(var m=0;m<h;++m)p.putInt32(o[m][0]),(m!==h-1||"SHA-512/224"!==a)&&p.putInt32(o[m][1]);return p},n};var g=null,h=!1,i=null,j=null;function k(a,b,c){for(var d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N=c.length();N>=128;){for(G=0;G<16;++G)b[G][0]=c.getInt32()>>>0,b[G][1]=c.getInt32()>>>0;for(;G<80;++G)d=(((H=(J=b[G-2])[0])>>>19|(I=J[1])<<13)^(I>>>29|H<<3)^H>>>6)>>>0,e=((H<<13|I>>>19)^(I<<3|H>>>29)^(H<<26|I>>>6))>>>0,f=(((H=(L=b[G-15])[0])>>>1|(I=L[1])<<31)^(H>>>8|I<<24)^H>>>7)>>>0,g=((H<<31|I>>>1)^(H<<24|I>>>8)^(H<<25|I>>>7))>>>0,K=b[G-7],M=b[G-16],I=e+K[1]+g+M[1],b[G][0]=d+K[0]+f+M[0]+(I/0x100000000>>>0)>>>0,b[G][1]=I>>>0;for(q=a[0][0],r=a[0][1],s=a[1][0],t=a[1][1],u=a[2][0],v=a[2][1],w=a[3][0],x=a[3][1],y=a[4][0],z=a[4][1],A=a[5][0],B=a[5][1],C=a[6][0],D=a[6][1],E=a[7][0],F=a[7][1],G=0;G<80;++G)k=((y>>>14|z<<18)^(y>>>18|z<<14)^(z>>>9|y<<23))>>>0,l=((y<<18|z>>>14)^(y<<14|z>>>18)^(z<<23|y>>>9))>>>0,m=(C^y&(A^C))>>>0,n=(D^z&(B^D))>>>0,h=((q>>>28|r<<4)^(r>>>2|q<<30)^(r>>>7|q<<25))>>>0,j=((q<<4|r>>>28)^(r<<30|q>>>2)^(r<<25|q>>>7))>>>0,o=(q&s|u&(q^s))>>>0,p=(r&t|v&(r^t))>>>0,I=F+l+n+i[G][1]+b[G][1],d=E+k+m+i[G][0]+b[G][0]+(I/0x100000000>>>0)>>>0,e=I>>>0,f=h+o+((I=j+p)/0x100000000>>>0)>>>0,g=I>>>0,E=C,F=D,C=A,D=B,A=y,B=z,y=w+d+((I=x+e)/0x100000000>>>0)>>>0,z=I>>>0,w=u,x=v,u=s,v=t,s=q,t=r,q=d+f+((I=e+g)/0x100000000>>>0)>>>0,r=I>>>0;I=a[0][1]+r,a[0][0]=a[0][0]+q+(I/0x100000000>>>0)>>>0,a[0][1]=I>>>0,I=a[1][1]+t,a[1][0]=a[1][0]+s+(I/0x100000000>>>0)>>>0,a[1][1]=I>>>0,I=a[2][1]+v,a[2][0]=a[2][0]+u+(I/0x100000000>>>0)>>>0,a[2][1]=I>>>0,I=a[3][1]+x,a[3][0]=a[3][0]+w+(I/0x100000000>>>0)>>>0,a[3][1]=I>>>0,I=a[4][1]+z,a[4][0]=a[4][0]+y+(I/0x100000000>>>0)>>>0,a[4][1]=I>>>0,I=a[5][1]+B,a[5][0]=a[5][0]+A+(I/0x100000000>>>0)>>>0,a[5][1]=I>>>0,I=a[6][1]+D,a[6][0]=a[6][0]+C+(I/0x100000000>>>0)>>>0,a[6][1]=I>>>0,I=a[7][1]+F,a[7][0]=a[7][0]+E+(I/0x100000000>>>0)>>>0,a[7][1]=I>>>0,N-=128}}},37703:(a,b,c)=>{"use strict";c.d(b,{getMitmAlias:()=>h,o5:()=>g}),c(24081);var d=c(58609);let e=(0,d.U)("modelAliases");(0,d.U)("customModels");let f=(0,d.U)("mitmAlias");async function g(a,b){await e.set(a,b)}async function h(a){return a?await f.get(a)||{}:await f.getAll()}},37858:(a,b,c)=>{"use strict";let{createInflate:d,createGunzip:e,createBrotliDecompress:f,createZstdDecompress:g}=c(38522),{pipeline:h}=c(57075),i=c(60823),j={gzip:e,"x-gzip":e,br:f,deflate:d,compress:d,"x-compress":d,zstd:g},k=[204,304],l=!1;class m extends i{#V=[];#W;#X;#Y;constructor(a,{skipStatusCodes:b=k,skipErrorResponses:c=!0}={}){super(a),this.#X=b,this.#Y=c}#Z(a,b){return!!(!a||b<200||this.#X.includes(b))||!!this.#Y&&!!(b>=400)}#$(a){let b=a.split(",");if(b.length>5)throw Error(`too many content-encodings in response: ${b.length}, maximum allowed is 5`);let c=[];for(let a=b.length-1;a>=0;a--){let d=b[a].trim();if(d){if(!j[d])return c.length=0,c;c.push(j[d]())}}return c}#_(a,b){a.on("readable",()=>{let c;for(;null!==(c=a.read())&&!1!==super.onResponseData(b,c););}),a.on("error",a=>{super.onResponseError(b,a)})}#aa(a){let b=this.#V[0];this.#_(b,a),b.on("end",()=>{super.onResponseEnd(a,this.#W)})}#ab(a){let b=this.#V[this.#V.length-1];this.#_(b,a),h(this.#V,b=>{b?super.onResponseError(a,b):super.onResponseEnd(a,this.#W)})}#ac(){this.#V.length=0}onResponseStart(a,b,c,d){let e=c["content-encoding"];if(this.#Z(e,b))return super.onResponseStart(a,b,c,d);let f=this.#$(e.toLowerCase());if(0===f.length)return this.#ac(),super.onResponseStart(a,b,c,d);this.#V=f;let{"content-encoding":g,"content-length":h,...i}=c;if(a?.rawHeaders){let b=a.rawHeaders;if(Array.isArray(b)){let c=[];for(let a=0;a<b.length;a+=2){let d=b[a],e=(Buffer.isBuffer(d)?d.toString("latin1"):`${d}`).toLowerCase();"content-encoding"!==e&&"content-length"!==e&&c.push(b[a],b[a+1])}a.rawHeaders=c}else if("object"==typeof b)for(let a of Object.keys(b)){let c=a.toLowerCase();("content-encoding"===c||"content-length"===c)&&delete b[a]}}return 1===this.#V.length?this.#aa(a):this.#ab(a),super.onResponseStart(a,b,i,d)}onResponseData(a,b){this.#V.length>0?this.#V[0].write(b):super.onResponseData(a,b)}onResponseEnd(a,b){if(this.#V.length>0){this.#W=b,this.#V[0].end(),this.#ac();return}super.onResponseEnd(a,b)}onResponseError(a,b){if(this.#V.length>0){for(let a of this.#V)a.destroy(b);this.#ac()}super.onResponseError(a,b)}}a.exports=function(a={}){return l||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),l=!0),b=>(c,d)=>"HEAD"===c.method?b(c,d):b(c,new m(d,a))}},38421:(a,b,c)=>{"use strict";c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(15251);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},38528:(a,b,c)=>{"use strict";c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(15251),e=c(50969);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.Fm)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},38627:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.md5=d.md5||{};d.md.md5=d.md.algorithms.md5=e,e.create=function(){j||function(){f=String.fromCharCode(128)+d.util.fillString("\0",64),g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],h=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],i=Array(64);for(var a=0;a<64;++a)i[a]=Math.floor(0x100000000*Math.abs(Math.sin(a+1)));j=!0}();var a=null,b=d.util.createBuffer(),c=Array(16),e={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x67452301,h1:0xefcdab89,h2:0x98badcfe,h3:0x10325476},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var h=f.length;e.messageLength+=h,h=[h/0x100000000>>>0,h>>>0];for(var i=e.fullMessageLength.length-1;i>=0;--i)e.fullMessageLength[i]+=h[1],h[1]=h[0]+(e.fullMessageLength[i]/0x100000000>>>0),e.fullMessageLength[i]=e.fullMessageLength[i]>>>0,h[0]=h[1]/0x100000000>>>0;return b.putBytes(f),k(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g=d.util.createBuffer();g.putBytes(b.bytes());var h=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;g.putBytes(f.substr(0,e.blockLength-h));for(var i,j=0,l=e.fullMessageLength.length-1;l>=0;--l)j=(i=8*e.fullMessageLength[l]+j)/0x100000000>>>0,g.putInt32Le(i>>>0);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3};k(m,c,g);var n=d.util.createBuffer();return n.putInt32Le(m.h0),n.putInt32Le(m.h1),n.putInt32Le(m.h2),n.putInt32Le(m.h3),n},e};var f=null,g=null,h=null,i=null,j=!1;function k(a,b,c){for(var d,e,f,j,k,l,m,n,o=c.length();o>=64;){for(e=a.h0,f=a.h1,j=a.h2,k=a.h3,n=0;n<16;++n)b[n]=c.getInt32Le(),d=e+(k^f&(j^k))+i[n]+b[n],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<32;++n)d=e+(j^k&(f^j))+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<48;++n)d=e+(f^j^k)+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<64;++n)d=e+(j^(f|~k))+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;a.h0=a.h0+e|0,a.h1=a.h1+f|0,a.h2=a.h2+j|0,a.h3=a.h3+k|0,o-=64}}},38650:(a,b,c)=>{"use strict";let{Writable:d}=c(57075),{EventEmitter:e}=c(78474),{assertCacheKey:f,assertCacheValue:g}=c(79468);class h extends e{#h=1024;#ad=0x6400000;#g=5242880;#ae=0;#af=0;#ag=new Map;#ah=!1;constructor(a){if(super(),a){if("object"!=typeof a)throw TypeError("MemoryCacheStore options must be an object");if(void 0!==a.maxCount){if("number"!=typeof a.maxCount||!Number.isInteger(a.maxCount)||a.maxCount<0)throw TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#h=a.maxCount}if(void 0!==a.maxSize){if("number"!=typeof a.maxSize||!Number.isInteger(a.maxSize)||a.maxSize<0)throw TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#ad=a.maxSize}if(void 0!==a.maxEntrySize){if("number"!=typeof a.maxEntrySize||!Number.isInteger(a.maxEntrySize)||a.maxEntrySize<0)throw TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#g=a.maxEntrySize}}}get size(){return this.#ae}isFull(){return this.#ae>=this.#ad||this.#af>=this.#h}get(a){f(a);let b=`${a.origin}:${a.path}`,c=Date.now(),d=this.#ag.get(b),e=d?i(a,d,c):null;return null==e?void 0:{statusMessage:e.statusMessage,statusCode:e.statusCode,headers:e.headers,body:e.body,vary:e.vary?e.vary:void 0,etag:e.etag,cacheControlDirectives:e.cacheControlDirectives,cachedAt:e.cachedAt,staleAt:e.staleAt,deleteAt:e.deleteAt}}createWriteStream(a,b){f(a),g(b);let c=`${a.origin}:${a.path}`,e=this,h={...a,...b,body:[],size:0};return new d({write(a,b,c){"string"==typeof a&&(a=Buffer.from(a,b)),h.size+=a.byteLength,h.size>e.#g?this.destroy():h.body.push(a),c(null)},final(b){let d=e.#ag.get(c);d||(d=[],e.#ag.set(c,d));let f=i(a,d,Date.now());if(f){let a=d.indexOf(f);d.splice(a,1,h),e.#ae-=f.size}else d.push(h),e.#af+=1;if(e.#ae+=h.size,e.#ae>e.#ad||e.#af>e.#h){for(let[a,b]of(e.#ah||(e.emit("maxSizeExceeded",{size:e.#ae,maxSize:e.#ad,count:e.#af,maxCount:e.#h}),e.#ah=!0),e.#ag)){for(let a of b.splice(0,b.length/2))e.#ae-=a.size,e.#af-=1;0===b.length&&e.#ag.delete(a)}e.#ae<e.#ad&&e.#af<e.#h&&(e.#ah=!1)}b(null)}})}delete(a){if("object"!=typeof a)throw TypeError(`expected key to be object, got ${typeof a}`);let b=`${a.origin}:${a.path}`;for(let a of this.#ag.get(b)??[])this.#ae-=a.size,this.#af-=1;this.#ag.delete(b)}}function i(a,b,c){for(let d=0;d<b.length;d++){let e=b[d];if(e.deleteAt>c&&e.method===a.method&&function(a,b){if(null==b.vary)return!0;for(let c in b.vary)if(Object.hasOwn(b.vary,c)&&!function(a,b){if(null==a&&null==b)return!0;if(null==a&&null!=b||null!=a&&null==b)return!1;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return a===b}(a.headers?.[c],b.vary[c]))return!1;return!0}(a,e))return e}}a.exports=h},39065:(a,b,c)=>{"use strict";let{PoolStats:d}=c(19071),e=c(5318),f=c(50329),{kConnected:g,kSize:h,kRunning:i,kPending:j,kQueued:k,kBusy:l,kFree:m,kUrl:n,kClose:o,kDestroy:p,kDispatch:q}=c(49176),r=Symbol("clients"),s=Symbol("needDrain"),t=Symbol("queue"),u=Symbol("closed resolve"),v=Symbol("onDrain"),w=Symbol("onConnect"),x=Symbol("onDisconnect"),y=Symbol("onConnectionError"),z=Symbol("get dispatcher"),A=Symbol("has dispatcher"),B=Symbol("add client"),C=Symbol("remove client");class D extends e{[t]=new f;[k]=0;[r]=[];[s]=!1;[v](a,b,c){let d=this[t],e=!1;for(;!e;){let b=d.shift();if(!b)break;this[k]--,e=!a.dispatch(b.opts,b.handler)}if(a[s]=e,!e&&this[s]&&(this[s]=!1,this.emit("drain",b,[this,...c])),this[u]&&d.isEmpty()){let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a).then(this[u])}}[w]=(a,b)=>{this.emit("connect",a,[this,...b])};[x]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)};[y]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)};get[l](){return this[s]}get[g](){let a=0;for(let{[g]:b}of this[r])a+=b;return a}get[m](){let a=0;for(let{[g]:b,[s]:c}of this[r])a+=b&&!c;return a}get[j](){let a=this[k];for(let{[j]:b}of this[r])a+=b;return a}get[i](){let a=0;for(let{[i]:b}of this[r])a+=b;return a}get[h](){let a=this[k];for(let{[h]:b}of this[r])a+=b;return a}get stats(){return new d(this)}[o](){if(!this[t].isEmpty())return new Promise(a=>{this[u]=a});{let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a)}}[p](a){for(;;){let b=this[t].shift();if(!b)break;b.handler.onResponseError(null,a)}let b=Array(this[r].length);for(let c=0;c<this[r].length;c++)b[c]=this[r][c].destroy(a);return Promise.all(b)}[q](a,b){let c=this[z]();return c?c.dispatch(a,b)||(c[s]=!0,this[s]=!this[A]()):(this[s]=!0,this[t].push({opts:a,handler:b}),this[k]++),!this[s]}[A](){for(let a=0;a<this[r].length;a++){let b=this[r][a];if(!b[s]&&!0!==b.closed&&!0!==b.destroyed)return!0}return!1}[B](a){return a.on("drain",this[v].bind(this,a)).on("connect",this[w]).on("disconnect",this[x]).on("connectionError",this[y]),this[r].push(a),this[s]&&queueMicrotask(()=>{this[s]&&this[v](a,a[n],[a,this])}),this}[C](a){let b=this[r].indexOf(a);-1!==b&&this[r].splice(b,1),a.close(()=>{}),this[s]=!this[r].some(a=>!a[s]&&!0!==a.closed&&!0!==a.destroyed)}}a.exports={PoolBase:D,kClients:r,kNeedDrain:s,kAddClient:B,kRemoveClient:C,kGetDispatcher:z,kHasDispatcher:A}},39490:(a,b,c)=>{"use strict";RegExp("<think>([\\s\\S]*?)</think>\\s*")},39541:(a,b,c)=>{"use strict";function d(a){if(!a||"object"!=typeof a)return null;let b=a.output_config?.effort;if("string"==typeof b&&b){let a=b.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let c=a.thinking;if(c&&"object"==typeof c){if("disabled"===c.type)return{mode:"none"};if("adaptive"===c.type||"enabled"===c.type){let a=Number(c.budget_tokens);return Number.isFinite(a)&&a>0?{mode:"budget",budget:a}:{mode:"auto"}}}let d=a.reasoning_effort??("object"==typeof a.reasoning?a.reasoning?.effort:null);if("string"==typeof d&&d){let a=d.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let e=a.thinkingConfig||a.generationConfig?.thinkingConfig||a.request?.generationConfig?.thinkingConfig;if(e&&"object"==typeof e){if("string"==typeof e.thinkingLevel)return{mode:"level",level:e.thinkingLevel.toLowerCase()};let a=Number(e.thinkingBudget);if(Number.isFinite(a))return 0===a?{mode:"none"}:a<0?{mode:"auto"}:{mode:"budget",budget:a}}if(!1===a.enable_thinking)return{mode:"none"};if(!0===a.enable_thinking){let b=Number(a.thinking_budget);return Number.isFinite(b)&&b>0?{mode:"budget",budget:b}:{mode:"auto"}}return null}c.d(b,{sS:()=>d}),c(49471),c(15251),c(26317)},39804:(a,b,c)=>{var d=c(45654);c(45518),c(27080);var e=a.exports=d.tls;function f(a,b,c){var f=b.entity===d.tls.ConnectionEnd.client;a.read.cipherState={init:!1,cipher:d.cipher.createDecipher("AES-CBC",f?c.keys.server_write_key:c.keys.client_write_key),iv:f?c.keys.server_write_IV:c.keys.client_write_IV},a.write.cipherState={init:!1,cipher:d.cipher.createCipher("AES-CBC",f?c.keys.client_write_key:c.keys.server_write_key),iv:f?c.keys.client_write_IV:c.keys.server_write_IV},a.read.cipherFunction=j,a.write.cipherFunction=g,a.read.macLength=a.write.macLength=c.mac_length,a.read.macFunction=a.write.macFunction=e.hmac_sha1}function g(a,b){var c,f=!1,g=b.macFunction(b.macKey,b.sequenceNumber,a);a.fragment.putBytes(g),b.updateSequenceNumber(),c=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:d.random.getBytesSync(16),b.cipherState.init=!0;var i=b.cipherState.cipher;return i.start({iv:c}),a.version.minor>=e.Versions.TLS_1_1.minor&&i.output.putBytes(c),i.update(a.fragment),i.finish(h)&&(a.fragment=i.output,a.length=a.fragment.length(),f=!0),f}function h(a,b,c){if(!c){var d=a-b.length()%a;b.fillWithByte(d-1,d)}return!0}function i(a,b,c){var d=!0;if(c){for(var e=b.length(),f=b.last(),g=e-1-f;g<e-1;++g)d=d&&b.at(g)==f;d&&b.truncate(f+1)}return d}function j(a,b){var c,f,g,h,j,k=!1;j=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:a.fragment.getBytes(16),b.cipherState.init=!0;var l=b.cipherState.cipher;l.start({iv:j}),l.update(a.fragment),k=l.finish(i);var m=b.macLength,n=d.random.getBytesSync(m),o=l.output.length();o>=m?(a.fragment=l.output.getBytes(o-m),n=l.output.getBytes(m)):a.fragment=l.output.getBytes(),a.fragment=d.util.createBuffer(a.fragment),a.length=a.fragment.length();var p=b.macFunction(b.macKey,b.sequenceNumber,a);return b.updateSequenceNumber(),k=(c=b.macKey,f=n,g=p,(h=d.hmac.create()).start("SHA1",c),h.update(f),f=h.digest().getBytes(),h.start(null,null),h.update(g),f===(g=h.digest().getBytes())&&k)}e.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=16,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f},e.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=32,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f}},40106:(a,b,c)=>{"use strict";let d=c(34589),e=c(77030),f=c(37067),g=c(84285),{ClientStats:h}=c(19071),{channels:i}=c(62571),j=c(76316),k=c(5318),{InvalidArgumentError:l,InformationalError:m,ClientDestroyedError:n}=c(61448),o=c(55285),{kUrl:p,kServerName:q,kClient:r,kBusy:s,kConnect:t,kResuming:u,kRunning:v,kPending:w,kSize:x,kQueue:y,kConnected:z,kConnecting:A,kNeedDrain:B,kKeepAliveDefaultTimeout:C,kHostHeader:D,kPendingIdx:E,kRunningIdx:F,kError:G,kPipelining:H,kKeepAliveTimeoutValue:I,kMaxHeadersSize:J,kKeepAliveMaxTimeout:K,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:M,kBodyTimeout:N,kStrictContentLength:O,kConnector:P,kMaxRequests:Q,kCounter:R,kClose:S,kDestroy:T,kDispatch:U,kLocalAddress:V,kMaxResponseSize:W,kOnError:X,kHTTPContext:Y,kMaxConcurrentStreams:Z,kHostAuthority:$,kResume:_,kHTTP2Options:aa}=c(49176),ab=c(97678),ac=c(80985),ad=Symbol("kClosedResolve"),ae=f&&f.maxHeaderSize&&Number.isInteger(f.maxHeaderSize)&&f.maxHeaderSize>0?()=>f.maxHeaderSize:()=>{throw new l("http module not available or http.maxHeaderSize invalid")},af=()=>{},ag=!1;function ah(a){!0!==ag&&(process.emitWarning(`Use h2Options.${a} instead. ${a} for H2 will be deprecated in future major.`,{code:"UNDICI-H2-OPTIONS"}),ag=!0)}function ai(a){return a[Y]?.version==="h2"?a[Z]:a[H]??a[Y]?.defaultPipelining??1}class aj extends k{constructor(a,{maxHeaderSize:b,headersTimeout:c,socketTimeout:d,requestTimeout:f,connectTimeout:h,bodyTimeout:i,idleTimeout:j,keepAlive:k,keepAliveTimeout:m,maxKeepAliveTimeout:n,keepAliveMaxTimeout:r,keepAliveTimeoutThreshold:s,socketPath:t,pipelining:v,tls:w,strictContentLength:x,maxCachedSessions:z,connect:A,maxRequestsPerClient:G,localAddress:R,maxResponseSize:S,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U,maxConcurrentStreams:Z,allowH2:ab,useH2c:ac,initialWindowSize:af,connectionWindowSize:ag,pingInterval:ai,webSocket:aj,h2Options:al}={}){if(void 0!==k)throw new l("unsupported keepAlive, use pipelining=0 instead");if(void 0!==d)throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==f)throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==j)throw new l("unsupported idleTimeout, use keepAliveTimeout instead");if(void 0!==n)throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(null!=b){if(!Number.isInteger(b)||b<1)throw new l("invalid maxHeaderSize")}else b=ae();if(null!=t&&"string"!=typeof t)throw new l("invalid socketPath");if(null!=h&&(!Number.isFinite(h)||h<0))throw new l("invalid connectTimeout");if(null!=m&&(!Number.isFinite(m)||m<=0))throw new l("invalid keepAliveTimeout");if(null!=r&&(!Number.isFinite(r)||r<=0))throw new l("invalid keepAliveMaxTimeout");if(null!=s&&!Number.isFinite(s))throw new l("invalid keepAliveTimeoutThreshold");if(null!=c&&(!Number.isInteger(c)||c<0))throw new l("headersTimeout must be a positive integer or zero");if(null!=i&&(!Number.isInteger(i)||i<0))throw new l("bodyTimeout must be a positive integer or zero");if(null!=A&&"function"!=typeof A&&"object"!=typeof A)throw new l("connect must be a function or an object");if(null!=G&&(!Number.isInteger(G)||G<0))throw new l("maxRequestsPerClient must be a positive number");if(null!=R&&("string"!=typeof R||0===e.isIP(R)))throw new l("localAddress must be valid string IP address");if(null!=S&&(!Number.isInteger(S)||S<-1))throw new l("maxResponseSize must be a positive number");if(null!=U&&(!Number.isInteger(U)||U<-1))throw new l("autoSelectFamilyAttemptTimeout must be a positive number");if(null!=ab&&"boolean"!=typeof ab)throw new l("allowH2 must be a valid boolean value");if(!1!==ab)if(null!=al){if(null!=al.useH2c&&"boolean"!=typeof al.useH2c)throw new l("h2Options.useH2c must be a valid boolean value");if(al.settings?.initialWindowSize!=null&&(!Number.isInteger(al.settings.initialWindowSize)||al.settings.initialWindowSize<1))throw new l("h2Options.settings.initialWindowSize must be a positive integer, greater than 0");if(null!=al.maxConcurrentStreams&&(!Number.isInteger(al.connectionWindowSize)||al.maxConcurrentStreams<1))throw new l("h2Options.maxConcurrentStreams must be a positive integer, greater than 0");if(null!=al.connectionWindowSize&&(!Number.isInteger(al.connectionWindowSize)||al.connectionWindowSize<1))throw new l("h2Options.connectionWindowSize must be a positive integer, greater than 0");if(null!=al.pingInterval&&("number"!=typeof al.pingInterval||!Number.isInteger(al.pingInterval)||al.pingInterval<0))throw new l("h2Options.pingInterval must be a positive integer, greater or equal to 0")}else{if(null!=ac&&"boolean"!=typeof ac)throw ah("useH2c"),new l("useH2c must be a valid boolean value");if(null!=Z&&("number"!=typeof Z||Z<1))throw ah("maxConcurrentStreams"),new l("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=af&&(!Number.isInteger(af)||af<1))throw ah("initialWindowSize"),new l("initialWindowSize must be a positive integer, greater than 0");if(null!=ag&&(!Number.isInteger(ag)||ag<1))throw ah("connectionWindowSize"),new l("connectionWindowSize must be a positive integer, greater than 0");if(null!=ai&&("number"!=typeof ai||!Number.isInteger(ai)||ai<0))throw ah("pingInterval"),new l("pingInterval must be a positive integer, greater or equal to 0")}if(super({webSocket:aj}),"function"!=typeof A)A=o({...w,maxCachedSessions:z,allowH2:ab,socketPath:t,useH2c:al?.useH2c??ac,timeout:h,..."boolean"==typeof T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U}:void 0,...A});else{const a=A;A=(b,c)=>a({...b,...null!=t?{socketPath:t}:null,...null!=ab?{allowH2:ab}:null},c)}this[p]=g.parseOrigin(a),this[$]=`${this[p].hostname}${this[p].port?`:${this[p].port}`:""}`,this[P]=A,this[H]=null!=v?v:1,this[J]=b,this[C]=null==m?4e3:m,this[K]=null==r?6e5:r,this[L]=null==s?2e3:s,this[I]=this[C],this[q]=null,this[V]=null!=R?R:null,this[u]=0,this[B]=0,this[D]=`host: ${this[$]}\r
187
+ `,this[N]=null!=i?i:3e5,this[M]=null!=c?c:3e5,this[O]=null==x||x,this[Q]=G,this[ad]=null,this[W]=S>-1?S:-1,this[Y]=null,this[aa]={pingInterval:al?.pingInterval??ai??6e4,connectionWindowSize:al?.connectionWindowSize??ag??524288,maxConcurrentStreams:al?.maxConcurrentStreams??Z??100,sessionOptions:{initialWindowSize:al?.initialWindowSize??af??262144}},this[y]=[],this[F]=0,this[E]=0,this[_]=a=>ao(this,a),this[X]=a=>ak(this,a)}get pipelining(){return this[H]}set pipelining(a){this[H]=a,this[_](!0)}get stats(){return new h(this)}get[w](){return this[y].length-this[E]}get[v](){return this[E]-this[F]}get[x](){return this[y].length-this[F]}get[z](){return!!this[Y]&&!this[A]&&!this[Y].destroyed}get[s](){let a=this[Y]?.version==="h2";return!!(this[Y]?.busy(null)||this[x]>=(ai(this)||1)||this[w]>0&&!a)}[t](a){al(this),this.once("connect",a)}[U](a,b){let c=new j(this[p].origin,a,b);return this[y].push(c),this[u]||(null==g.bodyLength(c.body)&&g.isIterable(c.body)?(this[u]=1,queueMicrotask(()=>ao(this))):this[_](!0)),this[u]&&2!==this[B]&&this[s]&&(this[B]=2),this[B]<2}[S](){return new Promise(a=>{this[x]?this[ad]=a:a(null)})}[T](a){return new Promise(b=>{let c=this[y].splice(this[E]);for(let b=0;b<c.length;b++){let d=c[b];null!=d&&g.errorRequest(this,d,a)}let d=()=>{this[ad]&&(this[ad](),this[ad]=null),b(null)};this[Y]?(this[Y].destroy(a,d),this[Y]=null):queueMicrotask(d),this[_]()})}}function ak(a,b){if(0===a[v]&&"UND_ERR_INFO"!==b.code&&"UND_ERR_SOCKET"!==b.code){d(a[E]===a[F]);let c=a[y].splice(a[F]);for(let d=0;d<c.length;d++){let e=c[d];null!=e&&g.errorRequest(a,e,b)}d(0===a[x])}}function al(a){d(!a[A]),d(!a[Y]);let{host:b,hostname:c,protocol:f,port:h}=a[p];if("["===c[0]){let a=c.indexOf("]");d(-1!==a);let b=c.substring(1,a);d(e.isIPv6(b)),c=b}a[A]=!0,i.beforeConnect.hasSubscribers&&i.beforeConnect.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P]});try{a[P]({host:b,hostname:c,protocol:f,port:h,servername:a[q],localAddress:a[V]},(e,j)=>{if(e){am(a,e,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}if(a.destroyed){g.destroy(j.on("error",af),new n),a[_]();return}d(j);try{a[Y]="h2"===j.alpnProtocol?ac(a,j):ab(a,j)}catch(d){j.destroy().on("error",af),am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}a[A]=!1,j[R]=0,j[Q]=a[Q],j[r]=a,j[G]=null,i.connected.hasSubscribers&&i.connected.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],socket:j}),a.emit("connect",a[p],[a]),a[_]()})}catch(d){am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]()}}function am(a,b,{host:c,hostname:d,protocol:e,port:f}){if(!a.destroyed){if(a[A]=!1,i.connectError.hasSubscribers&&i.connectError.publish({connectParams:{host:c,hostname:d,protocol:e,port:f,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],error:b}),"ERR_TLS_CERT_ALTNAME_INVALID"===b.code){let c=a[y].splice(a[F],a[v]);a[E]=a[F];for(let d=0;d<c.length;d++)g.errorRequest(a,c[d],b);for(;a[w]>0&&a[y][a[E]].servername===a[q];){let c=a[y].splice(a[E],1)[0];g.errorRequest(a,c,b)}}else ak(a,b);a.emit("connectionError",a[p],[a],b)}}function an(a){a[B]=0,a.emit("drain",a[p],[a])}function ao(a,b){2!==a[u]&&(a[u]=2,function(a,b){for(;;){if(a.destroyed)return void d(0===a[w]);if(a[ad]&&!a[x]){a[ad](),a[ad]=null;return}if(a[Y]&&a[Y].resume(),a[s])a[B]=2;else if(2===a[B]){b?(a[B]=1,queueMicrotask(()=>an(a))):an(a);continue}if(0===a[w]||a[v]>=(ai(a)||1))return;let c=a[y][a[E]];if(null===c)return;if("https:"===a[p].protocol&&a[q]!==c.servername){if(a[v]>0)return;a[q]=c.servername,a[Y]?.destroy(new m("servername changed"),()=>{a[Y]=null,ao(a)})}if(a[A])return;if(!a[Y]){a[q]=c.servername,al(a);return}if(a[Y].destroyed||a[Y].busy(c))return;!c.aborted&&a[Y].write(c)?a[E]++:a[y].splice(a[E],1)}}(a,b),a[u]=0,a[F]>256&&(a[y].splice(0,a[F]),a[E]-=a[F],a[F]=0))}a.exports=aj},40404:(a,b,c)=>{"use strict";c.d(b,{T:()=>u});var d=c(67671);let e=`You are Codex, based on GPT-5. You are running as a coding agent in the Codex CLI on a user's computer.
186
188
 
187
189
  ## General
188
190
 
@@ -298,9 +300,10 @@ You are producing plain text that will later be styled by the CLI. Follow these
298
300
  * Optionally include line/column (1‑based): :line[:column] or #Lline[Ccolumn] (column defaults to 1).
299
301
  * Do not use URIs like file://, vscode://, or https://.
300
302
  * Do not provide range of lines
301
- * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(38421),g=c(98976),h=c(10342),i=c(26408),j=c(13161),k=c(86363),l=c(49623),m=c(97137);let n=/^(rs|fc|resp|msg)_/,o=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","tool_search"]),p=new Set(["custom"]),q=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata","text"]);class r extends d.Hv{constructor(){super("codex",f.xq.codex),this._currentSessionId=null}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);c.session_id=this._currentSessionId||a?.connectionId||"default",c.originator||(c.originator="codex_cli_rs");let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d&&!c["chatgpt-account-id"]&&(c["chatgpt-account-id"]=d),c}buildUrl(a,b,c=0,d=null){let e=super.buildUrl(a,b,c,d);return this._isCompact?`${e}/compact`:e}async refreshCredentials(a,b){return a?.refreshToken?(0,g.Vq)("codex",a,b):null}needsRefresh(a){return(0,g.fp)("codex",a)}async prefetchImages(a){if(Array.isArray(a?.input))for(let b of a.input){if(!Array.isArray(b.content))continue;let a=b.content.map(async a=>{if("image_url"!==a.type)return a;let b="string"==typeof a.image_url?a.image_url:a.image_url?.url,c=a.image_url?.detail||"auto";if(!b)return a;if(b.startsWith("data:"))return{type:"input_image",image_url:b,detail:c};let d=await (0,i.ni)(b,{timeoutMs:15e3});return{type:"input_image",image_url:d?.url||b,detail:c}});b.content=await Promise.all(a)}}async execute(a){let b=Array.isArray(a.body?.input)?a.body.input.reduce((a,b)=>a+(Array.isArray(b.content)?b.content.filter(a=>"image_url"===a.type).length:0),0):0,c=Array.isArray(a.body?.input)?a.body.input.length:0;if((0,k.s)("CODEX",`execute start | inputItems=${c} | images=${b} | session=${this._currentSessionId?"resolved":"pending"}`),b>0){let b=Date.now();await this.prefetchImages(a.body),(0,k.s)("CODEX",`prefetchImages done | ${Date.now()-b}ms`)}else await this.prefetchImages(a.body);return(0,m.v)({execute:()=>super.execute(a),retryConfig:this.config.retry,signal:a.signal,log:a.log,provider:"codex"})}parseError(a,b){if(429===a.status&&b)try{let a=JSON.parse(b),c=a?.error;if(c?.type==="usage_limit_reached"){let a=Date.now(),d=null;if("number"==typeof c.resets_at&&c.resets_at>0){let b=1e3*c.resets_at;b>a&&(d=b)}if(!d&&"number"==typeof c.resets_in_seconds&&c.resets_in_seconds>0&&(d=a+1e3*c.resets_in_seconds),d)return{status:429,message:c.message||b,resetsAtMs:d}}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){this._isCompact=!!b._compact,delete b._compact,this._currentSessionId=(0,l.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.connectionId,workspaceId:d?.providerSpecificData?.workspaceId,scope:"codex"});let f=(0,h.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)!(!a||"object"!=typeof a||Array.isArray(a))&&("system"!==a.role||a.type&&"message"!==a.type||(a.role="developer"));Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&n.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&n.test(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("namespace"===c){if(Array.isArray(a.tools))for(let c of a.tools){let a="string"==typeof c?.name?c.name.trim().slice(0,128):"";a&&b.add(a)}return!0}if("function"!==c)return!!p.has(c)||!!c&&!a.function&&"string"!=typeof a.name&&o.has(c);let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1,!b.prompt_cache_key&&this._currentSessionId&&(b.prompt_cache_key=this._currentSessionId),b.model=(0,j.kt)("cx",b.model||a);let g=null;for(let a of["none","low","medium","high","xhigh"])if(b.model.endsWith(`-${a}`)){g=a,b.model=b.model.replace(`-${a}`,"");break}if(b.reasoning)b.reasoning.summary||(b.reasoning.summary="auto");else{let a=b.reasoning_effort||g||"low";b.reasoning={effort:a,summary:"auto"}}for(let a of(delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,delete b.max_output_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))q.has(a)||delete b[a];return b}}},37417:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,MaxOriginsReachedError:e}=c(61448),{kBusy:f,kClients:g,kConnected:h,kRunning:i,kClose:j,kDestroy:k,kDispatch:l,kUrl:m}=c(49176),n=c(5318),o=c(35689),p=c(40106),q=c(84285),r=Symbol("onConnect"),s=Symbol("onDisconnect"),t=Symbol("onConnectionError"),u=Symbol("onDrain"),v=Symbol("factory"),w=Symbol("options"),x=Symbol("origins");function y(a,b){return b&&1===b.connections?new p(a,b):new o(a,b)}class z extends n{constructor({factory:a=y,maxOrigins:b=1/0,connect:c,...e}={}){if("function"!=typeof a)throw new d("factory must be a function.");if(null!=c&&"function"!=typeof c&&"object"!=typeof c)throw new d("connect must be a function or an object");if("number"!=typeof b||Number.isNaN(b)||b<=0)throw new d("maxOrigins must be a number greater than 0");super(e),c&&"function"!=typeof c&&(c={...c}),this[w]={...q.deepClone(e),maxOrigins:b,connect:c},this[v]=a,this[g]=new Map,this[x]=new Set,this[u]=(a,b)=>{this.emit("drain",a,[this,...b])},this[r]=(a,b)=>{this.emit("connect",a,[this,...b])},this[s]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)},this[t]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)}}get[i](){let a=0;for(let b of this[g].values())a+=b[i];return a}[l](a,b){let c;if(a.origin&&("string"==typeof a.origin||a.origin instanceof URL))c=String(a.origin);else throw new d("opts.origin must be a non-empty string or URL.");let i=a.allowH2??this[w].allowH2,j=!1===i?`${c}#http1-only`:c;if(this[x].size>=this[w].maxOrigins&&!this[x].has(c))throw new e;let k=this[g].get(j);if(!k){k=this[v](a.origin,!1===i?{...this[w],allowH2:!1}:this[w]);let b=()=>{if(this[g].get(j)!==k||k[h]>0||k[f])return;this[g].delete(j),k.destroyed||k.close();let a=!1;for(let b of this[g].keys())if(b===c||b===`${c}#http1-only`){a=!0;break}a||this[x].delete(c)};k.on("drain",this[u]).on("connect",this[r]).on("disconnect",(a,c,d)=>{b(),this[s](a,c,d)}).on("connectionError",(a,c,d)=>{b(),this[t](a,c,d)}),this[g].set(j,k),this[x].add(c)}return k.dispatch(a,b)}[j](){let a=[];for(let b of this[g].values())a.push(b.close());return this[g].clear(),Promise.all(a)}[k](a){let b=[];for(let c of this[g].values())b.push(c.destroy(a));return this[g].clear(),Promise.all(b)}get stats(){let a={};for(let b of this[g].values())b.stats&&(a[b[m].origin]=b.stats);return a}}a.exports=z},37436:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(21820),g="switchboard";function h(){return"win32"===process.platform?e.join(process.env.APPDATA||e.join(f.homedir(),"AppData","Roaming"),g):e.join(f.homedir(),`.${g}`)}let i=function(){let a=process.env.DATA_DIR;if(!a)return h();try{return d.mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${g}`),h();throw b}}(),j=e.join(i,"mitm");a.exports={DATA_DIR:i,MITM_DIR:j}},37606:(a,b,c)=>{"use strict";c.d(b,{Ay:()=>A});var d=c(67671),e=c(38421),f=c(19016),g=c(24725),h=c(50969);let i=e.xq["perplexity-web"].baseUrl,j="2.18",k={"pplx-auto":["concise","pplx_pro"],"pplx-sonar":["copilot","experimental"],"pplx-gpt":["copilot","gpt54"],"pplx-gemini":["copilot","gemini31pro_high"],"pplx-sonnet":["copilot","claude46sonnet"],"pplx-opus":["copilot","claude46opus"],"pplx-nemotron":["copilot","nv_nemotron_3_super"]},l={"pplx-gpt":"gpt54_thinking","pplx-sonnet":"claude46sonnetthinking","pplx-opus":"claude46opusthinking"},m=/\[\d+\]/g,n=/<grok:[^>]*>.*?<\/grok:[^>]*>/gs,o=/<grok:[^>]*\/>/g,p=/<[?]xml[^?]*[?]>/g,q=/<\/?response\b[^>]*>/gi,r=/ {2,}/g,s=/\n{3,}/g,t=new Map;function u(a){let b=a.map(a=>`${a.role}:${a.content}`).join("\n"),c=0x811c9dc5;for(let a=0;a<b.length;a++)c^=b.charCodeAt(a),c=0x1000193*c>>>0;return c.toString(16).padStart(8,"0")}function v(a,b,c,d){if(!d)return;let e=u([...a,{role:"user",content:b},{role:"assistant",content:c}]);if(t.set(e,{backendUuid:d,ts:Date.now()}),t.size>200){let a=null,b=1/0;for(let[c,d]of t)d.ts<b&&(b=d.ts,a=c);a&&t.delete(a)}}function w(a,b=!0){let c=a;return c=(c=(c=(c=(c=c.replace(p,"")).replace(m,"")).replace(n,"")).replace(o,"")).replace(q,""),b&&(c=(c=(c=c.replace(r," ")).replace(s,"\n\n")).trim()),c}async function*x(a,b){let c=a.getReader(),d=new TextDecoder,e="",f=[];function g(){if(0===f.length)return null;let a=f.join("\n");f=[];let b=a.trim();if(!b||"[DONE]"===b)return"done";try{return JSON.parse(b)}catch{return null}}try{for(;;){if(b?.aborted)return;let{value:a,done:h}=await c.read();if(h)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a);e=e.slice(a+1);let c=b.endsWith("\r")?b.slice(0,-1):b;if(""===c){let a=g();if("done"===a)return;a&&(yield a);continue}if(c.startsWith("data:")&&f.push(c.slice(5).trimStart()),"event: end_of_stream"===c)return}}(e+=d.decode()).trim().startsWith("data:")&&f.push(e.trim().slice(5).trimStart());let a=g();a&&"done"!==a&&(yield a)}finally{c.releaseLock()}}async function*y(a,b){let c="",d=null,e=0,f=new Set;for await(let g of x(a,b)){if(g.error_code||g.error_message)return void(yield{error:g.error_message||`Perplexity error: ${g.error_code}`,done:!0});g.backend_uuid&&(d=g.backend_uuid);let a=g.blocks??[];for(let b of a){let a=b.intended_usage??"";if("pro_search_steps"===a&&b.plan_block?.steps){for(let a of b.plan_block.steps)if("SEARCH_WEB"===a.step_type)for(let b of a.search_web_content?.queries??[]){let a=b.query??"";a&&!f.has(a)&&(f.add(a),yield{thinking:`Searching: ${a}`,backendUuid:d??void 0})}else if("READ_RESULTS"===a.step_type)for(let b of(a.read_results_content?.urls??[]).slice(0,3))b&&!f.has(b)&&(f.add(b),yield{thinking:`Reading: ${b}`,backendUuid:d??void 0})}if("plan"===a&&b.plan_block?.goals)for(let a of b.plan_block.goals){let b=a.description??"";b&&!f.has(b)&&(f.add(b),yield{thinking:b,backendUuid:d??void 0})}if(!a.includes("markdown"))continue;let g=b.markdown_block;if(!g)continue;let h=g.chunks??[];if(0!==h.length)if("DONE"===g.progress)c=h.join("");else{let a=c+h.join("");if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}}if(0===a.length&&g.text){let a=g.text.trim();if(a.length>e){let b=a.slice(e);c=a,e=a.length,yield{delta:b,answer:c,backendUuid:d??void 0}}}if(g.final||"COMPLETED"===g.status)break}yield{delta:"",answer:c,backendUuid:d??void 0,done:!0}}async function z(a,b,c,d,e,f,g){let h="",i=null,j=[];for await(let b of y(a,g)){if(b.backendUuid&&(i=b.backendUuid),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"PPLX_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){j.push(b.thinking);continue}if(b.done){h=b.answer||h;break}b.answer&&(h=b.answer)}v(e,f,h=w(h),i);let k=j.length>0?j.join("\n"):void 0,l={role:"assistant",content:h};k&&(l.reasoning_content=k);let m=Math.ceil(f.length/4),n=Math.ceil(h.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:null,choices:[{index:0,message:l,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:m,completion_tokens:n,total_tokens:m+n}}),{status:200,headers:{"Content-Type":"application/json"}})}class A extends d.Hv{constructor(){super("perplexity-web",e.xq["perplexity-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:m,proxyOptions:n=null}){var o,p,q,r,s;let x,A,B,C,D,E=b?.messages;if(!E||!Array.isArray(E)||0===E.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:b};(b?.thinking===!0||b?.reasoning_effort!=null&&"none"!==b.reasoning_effort)&&l[a]?(x="copilot",A=l[a],m?.info?.("PPLX-WEB",`Thinking mode → ${a} using ${A}`)):k[a]?[x,A]=k[a]:(x="copilot",A=a,m?.info?.("PPLX-WEB",`Unmapped model ${a}, using as raw preference`));let F=function(a){let b="",c=[];for(let d of a){let a=String(d.role||"user");"developer"===a&&(a="system");let e="";"string"==typeof d.content?e=d.content:Array.isArray(d.content)&&(e=d.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),e.trim()&&("system"===a?b+=e+"\n":("user"===a||"assistant"===a)&&c.push({role:a,content:e}))}let d="";return c.length>0&&"user"===c[c.length-1].role&&(d=c.pop().content),{systemMsg:b,history:c,currentMsg:d}}(E),G=function(a){if(0===a.length)return null;let b=u(a),c=t.get(b);return c?Date.now()-c.ts>36e5?(t.delete(b),null):c.backendUuid:null}(F.history);G&&m?.info?.("PPLX-WEB",`Session continue: ${G.slice(0,12)}...`);let H=function(a,b,c){if(b)return a.currentMsg;let d={},e=[];a.systemMsg.trim()&&e.push(a.systemMsg.trim());let f=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=a.map(a=>{let b=a?.function||a||{},c=b.name||"unnamed",d=(b.description||"").split("\n")[0].slice(0,200);return`- ${c}: ${d}`});return`Available tools (reference only, cannot invoke):
302
- ${b.join("\n")}`}(c);f&&e.push(f),e.push("You have built-in web search. Answer questions directly using search results."),d.instructions=e,a.history.length>0&&(d.history=a.history),a.currentMsg?d.query=a.currentMsg:0===a.history.length&&(d.query="");let g=JSON.stringify(d);return g.length>96e3?g.slice(-96e3):g}(F,G,b?.tools);if(!H.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:i,headers:{},transformedBody:b};let I=(o=x,p=A,D="u">typeof Intl?Intl.DateTimeFormat().resolvedOptions().timeZone:"UTC",{query_str:H,params:{query_str:H,search_focus:"internet",mode:o,model_preference:p,sources:["web"],attachments:[],frontend_uuid:crypto.randomUUID(),frontend_context_uuid:crypto.randomUUID(),version:j,language:"en-US",timezone:D,search_recency_filter:null,is_incognito:!0,use_schematized_api:!0,last_backend_uuid:G}}),J={"Content-Type":"application/json",Accept:"text/event-stream",Origin:"https://www.perplexity.ai",Referer:"https://www.perplexity.ai/","User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36","X-App-ApiClient":"default","X-App-ApiVersion":j};d.accessToken?J.Authorization=`Bearer ${d.accessToken}`:d.apiKey&&(J.Cookie=`__Secure-next-auth.session-token=${d.apiKey}`),m?.info?.("PPLX-WEB",`Query to ${a} (pref=${A}, mode=${x}), len=${H.length}`);let K={method:"POST",headers:J,body:JSON.stringify(I),identity:this.config.identity,provider:this.provider,format:this.config.format};e&&(K.signal=e);try{B=await (0,h.Fm)(i,K,n)}catch(a){return m?.error?.("PPLX-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Perplexity connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I}}if(!B.ok){let a=B.status,b=`Perplexity returned HTTP ${a}`;return 401===a||403===a?b="Perplexity auth failed — session cookie may be expired. Re-paste your __Secure-next-auth.session-token.":429===a&&(b="Perplexity rate limited. Wait a moment and retry."),m?.warn?.("PPLX-WEB",b),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I}}if(!B.body)return{response:new Response(JSON.stringify({error:{message:"Perplexity returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:i,headers:J,transformedBody:I};let L=`chatcmpl-pplx-${crypto.randomUUID().slice(0,12)}`,M=Math.floor(Date.now()/1e3);if(c){let b;C=new Response((q=B.body,r=F.history,s=F.currentMsg,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="",h=null;for await(let f of y(q,e)){if(f.backendUuid&&(h=f.backendUuid),f.error){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{reasoning_content:f.thinking+"\n"},finish_reason:null,logprobs:null}]})));continue}if(f.done){d=f.answer||d;break}let e=f.delta||"";e&&(e=w(e,!1))&&c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:e},finish_reason:null,logprobs:null}]}))),f.answer&&(d=f.answer)}c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U)),v(r,s,w(d),h)}catch(d){c.enqueue(b.encode((0,g.N)({id:L,object:"chat.completion.chunk",created:M,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode(f.$U))}finally{c.close()}}})),{status:200,headers:{...f.uB}})}else C=await z(B.body,a,L,M,F.history,F.currentMsg,e);return{response:C,url:i,headers:J,transformedBody:I}}}},37691:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.sha512=d.sha512||{};d.md.sha512=d.md.algorithms.sha512=e;var f=d.sha384=d.sha512.sha384=d.sha512.sha384||{};f.create=function(){return e.create("SHA-384")},d.md.sha384=d.md.algorithms.sha384=f,d.sha512.sha256=d.sha512.sha256||{create:function(){return e.create("SHA-512/256")}},d.md["sha512/256"]=d.md.algorithms["sha512/256"]=d.sha512.sha256,d.sha512.sha224=d.sha512.sha224||{create:function(){return e.create("SHA-512/224")}},d.md["sha512/224"]=d.md.algorithms["sha512/224"]=d.sha512.sha224,e.create=function(a){if(h||(g=String.fromCharCode(128)+d.util.fillString("\0",128),i=[[0x428a2f98,0xd728ae22],[0x71374491,0x23ef65cd],[0xb5c0fbcf,0xec4d3b2f],[0xe9b5dba5,0x8189dbbc],[0x3956c25b,0xf348b538],[0x59f111f1,0xb605d019],[0x923f82a4,0xaf194f9b],[0xab1c5ed5,0xda6d8118],[0xd807aa98,0xa3030242],[0x12835b01,0x45706fbe],[0x243185be,0x4ee4b28c],[0x550c7dc3,0xd5ffb4e2],[0x72be5d74,0xf27b896f],[0x80deb1fe,0x3b1696b1],[0x9bdc06a7,0x25c71235],[0xc19bf174,0xcf692694],[0xe49b69c1,0x9ef14ad2],[0xefbe4786,0x384f25e3],[0xfc19dc6,0x8b8cd5b5],[0x240ca1cc,0x77ac9c65],[0x2de92c6f,0x592b0275],[0x4a7484aa,0x6ea6e483],[0x5cb0a9dc,0xbd41fbd4],[0x76f988da,0x831153b5],[0x983e5152,0xee66dfab],[0xa831c66d,0x2db43210],[0xb00327c8,0x98fb213f],[0xbf597fc7,0xbeef0ee4],[0xc6e00bf3,0x3da88fc2],[0xd5a79147,0x930aa725],[0x6ca6351,0xe003826f],[0x14292967,0xa0e6e70],[0x27b70a85,0x46d22ffc],[0x2e1b2138,0x5c26c926],[0x4d2c6dfc,0x5ac42aed],[0x53380d13,0x9d95b3df],[0x650a7354,0x8baf63de],[0x766a0abb,0x3c77b2a8],[0x81c2c92e,0x47edaee6],[0x92722c85,0x1482353b],[0xa2bfe8a1,0x4cf10364],[0xa81a664b,0xbc423001],[0xc24b8b70,0xd0f89791],[0xc76c51a3,0x654be30],[0xd192e819,0xd6ef5218],[0xd6990624,0x5565a910],[0xf40e3585,0x5771202a],[0x106aa070,0x32bbd1b8],[0x19a4c116,0xb8d2d0c8],[0x1e376c08,0x5141ab53],[0x2748774c,0xdf8eeb99],[0x34b0bcb5,0xe19b48a8],[0x391c0cb3,0xc5c95a63],[0x4ed8aa4a,0xe3418acb],[0x5b9cca4f,0x7763e373],[0x682e6ff3,0xd6b2b8a3],[0x748f82ee,0x5defb2fc],[0x78a5636f,0x43172f60],[0x84c87814,0xa1f0ab72],[0x8cc70208,0x1a6439ec],[0x90befffa,0x23631e28],[0xa4506ceb,0xde82bde9],[0xbef9a3f7,0xb2c67915],[0xc67178f2,0xe372532b],[0xca273ece,0xea26619c],[0xd186b8c7,0x21c0c207],[0xeada7dd6,0xcde0eb1e],[0xf57d4f7f,0xee6ed178],[0x6f067aa,0x72176fba],[0xa637dc5,0xa2c898a6],[0x113f9804,0xbef90dae],[0x1b710b35,0x131c471b],[0x28db77f5,0x23047d84],[0x32caab7b,0x40c72493],[0x3c9ebe0a,0x15c9bebc],[0x431d67c4,0x9c100d4c],[0x4cc5d4be,0xcb3e42b6],[0x597f299c,0xfc657e2a],[0x5fcb6fab,0x3ad6faec],[0x6c44198c,0x4a475817]],(j={})["SHA-512"]=[[0x6a09e667,0xf3bcc908],[0xbb67ae85,0x84caa73b],[0x3c6ef372,0xfe94f82b],[0xa54ff53a,0x5f1d36f1],[0x510e527f,0xade682d1],[0x9b05688c,0x2b3e6c1f],[0x1f83d9ab,0xfb41bd6b],[0x5be0cd19,0x137e2179]],j["SHA-384"]=[[0xcbbb9d5d,0xc1059ed8],[0x629a292a,0x367cd507],[0x9159015a,0x3070dd17],[0x152fecd8,0xf70e5939],[0x67332667,0xffc00b31],[0x8eb44a87,0x68581511],[0xdb0c2e0d,0x64f98fa7],[0x47b5481d,0xbefa4fa4]],j["SHA-512/256"]=[[0x22312194,0xfc2bf72c],[0x9f555fa3,0xc84c64c2],[0x2393b86b,0x6f53b151],[0x96387719,0x5940eabd],[0x96283ee2,0xa88effe3],[0xbe5e1e25,0x53863992],[0x2b0199fc,0x2c85b8aa],[0xeb72ddc,0x81c52ca2]],j["SHA-512/224"]=[[0x8c3d37c8,0x19544da2],[0x73e19966,0x89dcd4d6],[0x1dfab7ae,0x32ff9c82],[0x679dd514,0x582f9fcf],[0xf6d2b69,0x7bd44da8],[0x77e36f73,0x4c48942],[0x3f9d85a8,0x6a1d36c8],[0x1112e6ad,0x91d692a1]],h=!0),void 0===a&&(a="SHA-512"),!(a in j))throw Error("Invalid SHA-512 algorithm: "+a);for(var b=j[a],c=null,e=d.util.createBuffer(),f=Array(80),l=0;l<80;++l)f[l]=[,,];var m=64;switch(a){case"SHA-384":m=48;break;case"SHA-512/256":m=32;break;case"SHA-512/224":m=28}var n={algorithm:a.replace("-","").toLowerCase(),blockLength:128,digestLength:m,messageLength:0,fullMessageLength:null,messageLengthSize:16};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength128=[];for(var a=n.messageLengthSize/4,f=0;f<a;++f)n.fullMessageLength.push(0);e=d.util.createBuffer(),c=Array(b.length);for(var f=0;f<b.length;++f)c[f]=b[f].slice(0);return n},n.start(),n.update=function(a,b){"utf8"===b&&(a=d.util.encodeUtf8(a));var g=a.length;n.messageLength+=g,g=[g/0x100000000>>>0,g>>>0];for(var h=n.fullMessageLength.length-1;h>=0;--h)n.fullMessageLength[h]+=g[1],g[1]=g[0]+(n.fullMessageLength[h]/0x100000000>>>0),n.fullMessageLength[h]=n.fullMessageLength[h]>>>0,g[0]=g[1]/0x100000000>>>0;return e.putBytes(a),k(c,f,e),(e.read>2048||0===e.length())&&e.compact(),n},n.digest=function(){var b,h,i=d.util.createBuffer();i.putBytes(e.bytes());var j=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize&n.blockLength-1;i.putBytes(g.substr(0,n.blockLength-j));for(var l=8*n.fullMessageLength[0],m=0;m<n.fullMessageLength.length-1;++m)l+=(b=8*n.fullMessageLength[m+1])/0x100000000>>>0,i.putInt32(l>>>0),l=b>>>0;i.putInt32(l);for(var o=Array(c.length),m=0;m<c.length;++m)o[m]=c[m].slice(0);k(o,f,i);var p=d.util.createBuffer();h="SHA-512"===a?o.length:"SHA-384"===a?o.length-2:o.length-4;for(var m=0;m<h;++m)p.putInt32(o[m][0]),(m!==h-1||"SHA-512/224"!==a)&&p.putInt32(o[m][1]);return p},n};var g=null,h=!1,i=null,j=null;function k(a,b,c){for(var d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N=c.length();N>=128;){for(G=0;G<16;++G)b[G][0]=c.getInt32()>>>0,b[G][1]=c.getInt32()>>>0;for(;G<80;++G)d=(((H=(J=b[G-2])[0])>>>19|(I=J[1])<<13)^(I>>>29|H<<3)^H>>>6)>>>0,e=((H<<13|I>>>19)^(I<<3|H>>>29)^(H<<26|I>>>6))>>>0,f=(((H=(L=b[G-15])[0])>>>1|(I=L[1])<<31)^(H>>>8|I<<24)^H>>>7)>>>0,g=((H<<31|I>>>1)^(H<<24|I>>>8)^(H<<25|I>>>7))>>>0,K=b[G-7],M=b[G-16],I=e+K[1]+g+M[1],b[G][0]=d+K[0]+f+M[0]+(I/0x100000000>>>0)>>>0,b[G][1]=I>>>0;for(q=a[0][0],r=a[0][1],s=a[1][0],t=a[1][1],u=a[2][0],v=a[2][1],w=a[3][0],x=a[3][1],y=a[4][0],z=a[4][1],A=a[5][0],B=a[5][1],C=a[6][0],D=a[6][1],E=a[7][0],F=a[7][1],G=0;G<80;++G)k=((y>>>14|z<<18)^(y>>>18|z<<14)^(z>>>9|y<<23))>>>0,l=((y<<18|z>>>14)^(y<<14|z>>>18)^(z<<23|y>>>9))>>>0,m=(C^y&(A^C))>>>0,n=(D^z&(B^D))>>>0,h=((q>>>28|r<<4)^(r>>>2|q<<30)^(r>>>7|q<<25))>>>0,j=((q<<4|r>>>28)^(r<<30|q>>>2)^(r<<25|q>>>7))>>>0,o=(q&s|u&(q^s))>>>0,p=(r&t|v&(r^t))>>>0,I=F+l+n+i[G][1]+b[G][1],d=E+k+m+i[G][0]+b[G][0]+(I/0x100000000>>>0)>>>0,e=I>>>0,f=h+o+((I=j+p)/0x100000000>>>0)>>>0,g=I>>>0,E=C,F=D,C=A,D=B,A=y,B=z,y=w+d+((I=x+e)/0x100000000>>>0)>>>0,z=I>>>0,w=u,x=v,u=s,v=t,s=q,t=r,q=d+f+((I=e+g)/0x100000000>>>0)>>>0,r=I>>>0;I=a[0][1]+r,a[0][0]=a[0][0]+q+(I/0x100000000>>>0)>>>0,a[0][1]=I>>>0,I=a[1][1]+t,a[1][0]=a[1][0]+s+(I/0x100000000>>>0)>>>0,a[1][1]=I>>>0,I=a[2][1]+v,a[2][0]=a[2][0]+u+(I/0x100000000>>>0)>>>0,a[2][1]=I>>>0,I=a[3][1]+x,a[3][0]=a[3][0]+w+(I/0x100000000>>>0)>>>0,a[3][1]=I>>>0,I=a[4][1]+z,a[4][0]=a[4][0]+y+(I/0x100000000>>>0)>>>0,a[4][1]=I>>>0,I=a[5][1]+B,a[5][0]=a[5][0]+A+(I/0x100000000>>>0)>>>0,a[5][1]=I>>>0,I=a[6][1]+D,a[6][0]=a[6][0]+C+(I/0x100000000>>>0)>>>0,a[6][1]=I>>>0,I=a[7][1]+F,a[7][0]=a[7][0]+E+(I/0x100000000>>>0)>>>0,a[7][1]=I>>>0,N-=128}}},37703:(a,b,c)=>{"use strict";c.d(b,{getMitmAlias:()=>h,o5:()=>g}),c(24081);var d=c(58609);let e=(0,d.U)("modelAliases");(0,d.U)("customModels");let f=(0,d.U)("mitmAlias");async function g(a,b){await e.set(a,b)}async function h(a){return a?await f.get(a)||{}:await f.getAll()}},37858:(a,b,c)=>{"use strict";let{createInflate:d,createGunzip:e,createBrotliDecompress:f,createZstdDecompress:g}=c(38522),{pipeline:h}=c(57075),i=c(60823),j={gzip:e,"x-gzip":e,br:f,deflate:d,compress:d,"x-compress":d,zstd:g},k=[204,304],l=!1;class m extends i{#V=[];#W;#X;#Y;constructor(a,{skipStatusCodes:b=k,skipErrorResponses:c=!0}={}){super(a),this.#X=b,this.#Y=c}#Z(a,b){return!!(!a||b<200||this.#X.includes(b))||!!this.#Y&&!!(b>=400)}#$(a){let b=a.split(",");if(b.length>5)throw Error(`too many content-encodings in response: ${b.length}, maximum allowed is 5`);let c=[];for(let a=b.length-1;a>=0;a--){let d=b[a].trim();if(d){if(!j[d])return c.length=0,c;c.push(j[d]())}}return c}#_(a,b){a.on("readable",()=>{let c;for(;null!==(c=a.read())&&!1!==super.onResponseData(b,c););}),a.on("error",a=>{super.onResponseError(b,a)})}#aa(a){let b=this.#V[0];this.#_(b,a),b.on("end",()=>{super.onResponseEnd(a,this.#W)})}#ab(a){let b=this.#V[this.#V.length-1];this.#_(b,a),h(this.#V,b=>{b?super.onResponseError(a,b):super.onResponseEnd(a,this.#W)})}#ac(){this.#V.length=0}onResponseStart(a,b,c,d){let e=c["content-encoding"];if(this.#Z(e,b))return super.onResponseStart(a,b,c,d);let f=this.#$(e.toLowerCase());if(0===f.length)return this.#ac(),super.onResponseStart(a,b,c,d);this.#V=f;let{"content-encoding":g,"content-length":h,...i}=c;if(a?.rawHeaders){let b=a.rawHeaders;if(Array.isArray(b)){let c=[];for(let a=0;a<b.length;a+=2){let d=b[a],e=(Buffer.isBuffer(d)?d.toString("latin1"):`${d}`).toLowerCase();"content-encoding"!==e&&"content-length"!==e&&c.push(b[a],b[a+1])}a.rawHeaders=c}else if("object"==typeof b)for(let a of Object.keys(b)){let c=a.toLowerCase();("content-encoding"===c||"content-length"===c)&&delete b[a]}}return 1===this.#V.length?this.#aa(a):this.#ab(a),super.onResponseStart(a,b,i,d)}onResponseData(a,b){this.#V.length>0?this.#V[0].write(b):super.onResponseData(a,b)}onResponseEnd(a,b){if(this.#V.length>0){this.#W=b,this.#V[0].end(),this.#ac();return}super.onResponseEnd(a,b)}onResponseError(a,b){if(this.#V.length>0){for(let a of this.#V)a.destroy(b);this.#ac()}super.onResponseError(a,b)}}a.exports=function(a={}){return l||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),l=!0),b=>(c,d)=>"HEAD"===c.method?b(c,d):b(c,new m(d,a))}},38421:(a,b,c)=>{"use strict";c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(15251);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},38528:(a,b,c)=>{"use strict";c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(15251),e=c(50969);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.Fm)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},38627:(a,b,c)=>{var d=c(45654);c(1277),c(33889);var e=a.exports=d.md5=d.md5||{};d.md.md5=d.md.algorithms.md5=e,e.create=function(){j||function(){f=String.fromCharCode(128)+d.util.fillString("\0",64),g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,1,6,11,0,5,10,15,4,9,14,3,8,13,2,7,12,5,8,11,14,1,4,7,10,13,0,3,6,9,12,15,2,0,7,14,5,12,3,10,1,8,15,6,13,4,11,2,9],h=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],i=Array(64);for(var a=0;a<64;++a)i[a]=Math.floor(0x100000000*Math.abs(Math.sin(a+1)));j=!0}();var a=null,b=d.util.createBuffer(),c=Array(16),e={algorithm:"md5",blockLength:64,digestLength:16,messageLength:0,fullMessageLength:null,messageLengthSize:8};return e.start=function(){e.messageLength=0,e.fullMessageLength=e.messageLength64=[];for(var c=e.messageLengthSize/4,f=0;f<c;++f)e.fullMessageLength.push(0);return b=d.util.createBuffer(),a={h0:0x67452301,h1:0xefcdab89,h2:0x98badcfe,h3:0x10325476},e},e.start(),e.update=function(f,g){"utf8"===g&&(f=d.util.encodeUtf8(f));var h=f.length;e.messageLength+=h,h=[h/0x100000000>>>0,h>>>0];for(var i=e.fullMessageLength.length-1;i>=0;--i)e.fullMessageLength[i]+=h[1],h[1]=h[0]+(e.fullMessageLength[i]/0x100000000>>>0),e.fullMessageLength[i]=e.fullMessageLength[i]>>>0,h[0]=h[1]/0x100000000>>>0;return b.putBytes(f),k(a,c,b),(b.read>2048||0===b.length())&&b.compact(),e},e.digest=function(){var g=d.util.createBuffer();g.putBytes(b.bytes());var h=e.fullMessageLength[e.fullMessageLength.length-1]+e.messageLengthSize&e.blockLength-1;g.putBytes(f.substr(0,e.blockLength-h));for(var i,j=0,l=e.fullMessageLength.length-1;l>=0;--l)j=(i=8*e.fullMessageLength[l]+j)/0x100000000>>>0,g.putInt32Le(i>>>0);var m={h0:a.h0,h1:a.h1,h2:a.h2,h3:a.h3};k(m,c,g);var n=d.util.createBuffer();return n.putInt32Le(m.h0),n.putInt32Le(m.h1),n.putInt32Le(m.h2),n.putInt32Le(m.h3),n},e};var f=null,g=null,h=null,i=null,j=!1;function k(a,b,c){for(var d,e,f,j,k,l,m,n,o=c.length();o>=64;){for(e=a.h0,f=a.h1,j=a.h2,k=a.h3,n=0;n<16;++n)b[n]=c.getInt32Le(),d=e+(k^f&(j^k))+i[n]+b[n],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<32;++n)d=e+(j^k&(f^j))+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<48;++n)d=e+(f^j^k)+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;for(;n<64;++n)d=e+(j^(f|~k))+i[n]+b[g[n]],m=h[n],e=k,k=j,j=f,f+=d<<m|d>>>32-m;a.h0=a.h0+e|0,a.h1=a.h1+f|0,a.h2=a.h2+j|0,a.h3=a.h3+k|0,o-=64}}},38650:(a,b,c)=>{"use strict";let{Writable:d}=c(57075),{EventEmitter:e}=c(78474),{assertCacheKey:f,assertCacheValue:g}=c(79468);class h extends e{#h=1024;#ad=0x6400000;#g=5242880;#ae=0;#af=0;#ag=new Map;#ah=!1;constructor(a){if(super(),a){if("object"!=typeof a)throw TypeError("MemoryCacheStore options must be an object");if(void 0!==a.maxCount){if("number"!=typeof a.maxCount||!Number.isInteger(a.maxCount)||a.maxCount<0)throw TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#h=a.maxCount}if(void 0!==a.maxSize){if("number"!=typeof a.maxSize||!Number.isInteger(a.maxSize)||a.maxSize<0)throw TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#ad=a.maxSize}if(void 0!==a.maxEntrySize){if("number"!=typeof a.maxEntrySize||!Number.isInteger(a.maxEntrySize)||a.maxEntrySize<0)throw TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#g=a.maxEntrySize}}}get size(){return this.#ae}isFull(){return this.#ae>=this.#ad||this.#af>=this.#h}get(a){f(a);let b=`${a.origin}:${a.path}`,c=Date.now(),d=this.#ag.get(b),e=d?i(a,d,c):null;return null==e?void 0:{statusMessage:e.statusMessage,statusCode:e.statusCode,headers:e.headers,body:e.body,vary:e.vary?e.vary:void 0,etag:e.etag,cacheControlDirectives:e.cacheControlDirectives,cachedAt:e.cachedAt,staleAt:e.staleAt,deleteAt:e.deleteAt}}createWriteStream(a,b){f(a),g(b);let c=`${a.origin}:${a.path}`,e=this,h={...a,...b,body:[],size:0};return new d({write(a,b,c){"string"==typeof a&&(a=Buffer.from(a,b)),h.size+=a.byteLength,h.size>e.#g?this.destroy():h.body.push(a),c(null)},final(b){let d=e.#ag.get(c);d||(d=[],e.#ag.set(c,d));let f=i(a,d,Date.now());if(f){let a=d.indexOf(f);d.splice(a,1,h),e.#ae-=f.size}else d.push(h),e.#af+=1;if(e.#ae+=h.size,e.#ae>e.#ad||e.#af>e.#h){for(let[a,b]of(e.#ah||(e.emit("maxSizeExceeded",{size:e.#ae,maxSize:e.#ad,count:e.#af,maxCount:e.#h}),e.#ah=!0),e.#ag)){for(let a of b.splice(0,b.length/2))e.#ae-=a.size,e.#af-=1;0===b.length&&e.#ag.delete(a)}e.#ae<e.#ad&&e.#af<e.#h&&(e.#ah=!1)}b(null)}})}delete(a){if("object"!=typeof a)throw TypeError(`expected key to be object, got ${typeof a}`);let b=`${a.origin}:${a.path}`;for(let a of this.#ag.get(b)??[])this.#ae-=a.size,this.#af-=1;this.#ag.delete(b)}}function i(a,b,c){for(let d=0;d<b.length;d++){let e=b[d];if(e.deleteAt>c&&e.method===a.method&&function(a,b){if(null==b.vary)return!0;for(let c in b.vary)if(Object.hasOwn(b.vary,c)&&!function(a,b){if(null==a&&null==b)return!0;if(null==a&&null!=b||null!=a&&null==b)return!1;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return a===b}(a.headers?.[c],b.vary[c]))return!1;return!0}(a,e))return e}}a.exports=h},39065:(a,b,c)=>{"use strict";let{PoolStats:d}=c(19071),e=c(5318),f=c(50329),{kConnected:g,kSize:h,kRunning:i,kPending:j,kQueued:k,kBusy:l,kFree:m,kUrl:n,kClose:o,kDestroy:p,kDispatch:q}=c(49176),r=Symbol("clients"),s=Symbol("needDrain"),t=Symbol("queue"),u=Symbol("closed resolve"),v=Symbol("onDrain"),w=Symbol("onConnect"),x=Symbol("onDisconnect"),y=Symbol("onConnectionError"),z=Symbol("get dispatcher"),A=Symbol("has dispatcher"),B=Symbol("add client"),C=Symbol("remove client");class D extends e{[t]=new f;[k]=0;[r]=[];[s]=!1;[v](a,b,c){let d=this[t],e=!1;for(;!e;){let b=d.shift();if(!b)break;this[k]--,e=!a.dispatch(b.opts,b.handler)}if(a[s]=e,!e&&this[s]&&(this[s]=!1,this.emit("drain",b,[this,...c])),this[u]&&d.isEmpty()){let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a).then(this[u])}}[w]=(a,b)=>{this.emit("connect",a,[this,...b])};[x]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)};[y]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)};get[l](){return this[s]}get[g](){let a=0;for(let{[g]:b}of this[r])a+=b;return a}get[m](){let a=0;for(let{[g]:b,[s]:c}of this[r])a+=b&&!c;return a}get[j](){let a=this[k];for(let{[j]:b}of this[r])a+=b;return a}get[i](){let a=0;for(let{[i]:b}of this[r])a+=b;return a}get[h](){let a=this[k];for(let{[h]:b}of this[r])a+=b;return a}get stats(){return new d(this)}[o](){if(!this[t].isEmpty())return new Promise(a=>{this[u]=a});{let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a)}}[p](a){for(;;){let b=this[t].shift();if(!b)break;b.handler.onResponseError(null,a)}let b=Array(this[r].length);for(let c=0;c<this[r].length;c++)b[c]=this[r][c].destroy(a);return Promise.all(b)}[q](a,b){let c=this[z]();return c?c.dispatch(a,b)||(c[s]=!0,this[s]=!this[A]()):(this[s]=!0,this[t].push({opts:a,handler:b}),this[k]++),!this[s]}[A](){for(let a=0;a<this[r].length;a++){let b=this[r][a];if(!b[s]&&!0!==b.closed&&!0!==b.destroyed)return!0}return!1}[B](a){return a.on("drain",this[v].bind(this,a)).on("connect",this[w]).on("disconnect",this[x]).on("connectionError",this[y]),this[r].push(a),this[s]&&queueMicrotask(()=>{this[s]&&this[v](a,a[n],[a,this])}),this}[C](a){let b=this[r].indexOf(a);-1!==b&&this[r].splice(b,1),a.close(()=>{}),this[s]=!this[r].some(a=>!a[s]&&!0!==a.closed&&!0!==a.destroyed)}}a.exports={PoolBase:D,kClients:r,kNeedDrain:s,kAddClient:B,kRemoveClient:C,kGetDispatcher:z,kHasDispatcher:A}},39490:(a,b,c)=>{"use strict";RegExp("<think>([\\s\\S]*?)</think>\\s*")},39541:(a,b,c)=>{"use strict";function d(a){if(!a||"object"!=typeof a)return null;let b=a.output_config?.effort;if("string"==typeof b&&b){let a=b.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let c=a.thinking;if(c&&"object"==typeof c){if("disabled"===c.type)return{mode:"none"};if("adaptive"===c.type||"enabled"===c.type){let a=Number(c.budget_tokens);return Number.isFinite(a)&&a>0?{mode:"budget",budget:a}:{mode:"auto"}}}let d=a.reasoning_effort??("object"==typeof a.reasoning?a.reasoning?.effort:null);if("string"==typeof d&&d){let a=d.toLowerCase();return"none"===a||"off"===a?{mode:"none"}:"auto"===a?{mode:"auto"}:{mode:"level",level:a}}let e=a.thinkingConfig||a.generationConfig?.thinkingConfig||a.request?.generationConfig?.thinkingConfig;if(e&&"object"==typeof e){if("string"==typeof e.thinkingLevel)return{mode:"level",level:e.thinkingLevel.toLowerCase()};let a=Number(e.thinkingBudget);if(Number.isFinite(a))return 0===a?{mode:"none"}:a<0?{mode:"auto"}:{mode:"budget",budget:a}}if(!1===a.enable_thinking)return{mode:"none"};if(!0===a.enable_thinking){let b=Number(a.thinking_budget);return Number.isFinite(b)&&b>0?{mode:"budget",budget:b}:{mode:"auto"}}return null}c.d(b,{sS:()=>d}),c(49471),c(15251),c(26317)},39804:(a,b,c)=>{var d=c(45654);c(45518),c(27080);var e=a.exports=d.tls;function f(a,b,c){var f=b.entity===d.tls.ConnectionEnd.client;a.read.cipherState={init:!1,cipher:d.cipher.createDecipher("AES-CBC",f?c.keys.server_write_key:c.keys.client_write_key),iv:f?c.keys.server_write_IV:c.keys.client_write_IV},a.write.cipherState={init:!1,cipher:d.cipher.createCipher("AES-CBC",f?c.keys.client_write_key:c.keys.server_write_key),iv:f?c.keys.client_write_IV:c.keys.server_write_IV},a.read.cipherFunction=j,a.write.cipherFunction=g,a.read.macLength=a.write.macLength=c.mac_length,a.read.macFunction=a.write.macFunction=e.hmac_sha1}function g(a,b){var c,f=!1,g=b.macFunction(b.macKey,b.sequenceNumber,a);a.fragment.putBytes(g),b.updateSequenceNumber(),c=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:d.random.getBytesSync(16),b.cipherState.init=!0;var i=b.cipherState.cipher;return i.start({iv:c}),a.version.minor>=e.Versions.TLS_1_1.minor&&i.output.putBytes(c),i.update(a.fragment),i.finish(h)&&(a.fragment=i.output,a.length=a.fragment.length(),f=!0),f}function h(a,b,c){if(!c){var d=a-b.length()%a;b.fillWithByte(d-1,d)}return!0}function i(a,b,c){var d=!0;if(c){for(var e=b.length(),f=b.last(),g=e-1-f;g<e-1;++g)d=d&&b.at(g)==f;d&&b.truncate(f+1)}return d}function j(a,b){var c,f,g,h,j,k=!1;j=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:a.fragment.getBytes(16),b.cipherState.init=!0;var l=b.cipherState.cipher;l.start({iv:j}),l.update(a.fragment),k=l.finish(i);var m=b.macLength,n=d.random.getBytesSync(m),o=l.output.length();o>=m?(a.fragment=l.output.getBytes(o-m),n=l.output.getBytes(m)):a.fragment=l.output.getBytes(),a.fragment=d.util.createBuffer(a.fragment),a.length=a.fragment.length();var p=b.macFunction(b.macKey,b.sequenceNumber,a);return b.updateSequenceNumber(),k=(c=b.macKey,f=n,g=p,(h=d.hmac.create()).start("SHA1",c),h.update(f),f=h.digest().getBytes(),h.start(null,null),h.update(g),f===(g=h.digest().getBytes())&&k)}e.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=16,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f},e.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=32,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f}},40106:(a,b,c)=>{"use strict";let d=c(34589),e=c(77030),f=c(37067),g=c(84285),{ClientStats:h}=c(19071),{channels:i}=c(62571),j=c(76316),k=c(5318),{InvalidArgumentError:l,InformationalError:m,ClientDestroyedError:n}=c(61448),o=c(55285),{kUrl:p,kServerName:q,kClient:r,kBusy:s,kConnect:t,kResuming:u,kRunning:v,kPending:w,kSize:x,kQueue:y,kConnected:z,kConnecting:A,kNeedDrain:B,kKeepAliveDefaultTimeout:C,kHostHeader:D,kPendingIdx:E,kRunningIdx:F,kError:G,kPipelining:H,kKeepAliveTimeoutValue:I,kMaxHeadersSize:J,kKeepAliveMaxTimeout:K,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:M,kBodyTimeout:N,kStrictContentLength:O,kConnector:P,kMaxRequests:Q,kCounter:R,kClose:S,kDestroy:T,kDispatch:U,kLocalAddress:V,kMaxResponseSize:W,kOnError:X,kHTTPContext:Y,kMaxConcurrentStreams:Z,kHostAuthority:$,kResume:_,kHTTP2Options:aa}=c(49176),ab=c(97678),ac=c(80985),ad=Symbol("kClosedResolve"),ae=f&&f.maxHeaderSize&&Number.isInteger(f.maxHeaderSize)&&f.maxHeaderSize>0?()=>f.maxHeaderSize:()=>{throw new l("http module not available or http.maxHeaderSize invalid")},af=()=>{},ag=!1;function ah(a){!0!==ag&&(process.emitWarning(`Use h2Options.${a} instead. ${a} for H2 will be deprecated in future major.`,{code:"UNDICI-H2-OPTIONS"}),ag=!0)}function ai(a){return a[Y]?.version==="h2"?a[Z]:a[H]??a[Y]?.defaultPipelining??1}class aj extends k{constructor(a,{maxHeaderSize:b,headersTimeout:c,socketTimeout:d,requestTimeout:f,connectTimeout:h,bodyTimeout:i,idleTimeout:j,keepAlive:k,keepAliveTimeout:m,maxKeepAliveTimeout:n,keepAliveMaxTimeout:r,keepAliveTimeoutThreshold:s,socketPath:t,pipelining:v,tls:w,strictContentLength:x,maxCachedSessions:z,connect:A,maxRequestsPerClient:G,localAddress:R,maxResponseSize:S,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U,maxConcurrentStreams:Z,allowH2:ab,useH2c:ac,initialWindowSize:af,connectionWindowSize:ag,pingInterval:ai,webSocket:aj,h2Options:al}={}){if(void 0!==k)throw new l("unsupported keepAlive, use pipelining=0 instead");if(void 0!==d)throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==f)throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==j)throw new l("unsupported idleTimeout, use keepAliveTimeout instead");if(void 0!==n)throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(null!=b){if(!Number.isInteger(b)||b<1)throw new l("invalid maxHeaderSize")}else b=ae();if(null!=t&&"string"!=typeof t)throw new l("invalid socketPath");if(null!=h&&(!Number.isFinite(h)||h<0))throw new l("invalid connectTimeout");if(null!=m&&(!Number.isFinite(m)||m<=0))throw new l("invalid keepAliveTimeout");if(null!=r&&(!Number.isFinite(r)||r<=0))throw new l("invalid keepAliveMaxTimeout");if(null!=s&&!Number.isFinite(s))throw new l("invalid keepAliveTimeoutThreshold");if(null!=c&&(!Number.isInteger(c)||c<0))throw new l("headersTimeout must be a positive integer or zero");if(null!=i&&(!Number.isInteger(i)||i<0))throw new l("bodyTimeout must be a positive integer or zero");if(null!=A&&"function"!=typeof A&&"object"!=typeof A)throw new l("connect must be a function or an object");if(null!=G&&(!Number.isInteger(G)||G<0))throw new l("maxRequestsPerClient must be a positive number");if(null!=R&&("string"!=typeof R||0===e.isIP(R)))throw new l("localAddress must be valid string IP address");if(null!=S&&(!Number.isInteger(S)||S<-1))throw new l("maxResponseSize must be a positive number");if(null!=U&&(!Number.isInteger(U)||U<-1))throw new l("autoSelectFamilyAttemptTimeout must be a positive number");if(null!=ab&&"boolean"!=typeof ab)throw new l("allowH2 must be a valid boolean value");if(!1!==ab)if(null!=al){if(null!=al.useH2c&&"boolean"!=typeof al.useH2c)throw new l("h2Options.useH2c must be a valid boolean value");if(al.settings?.initialWindowSize!=null&&(!Number.isInteger(al.settings.initialWindowSize)||al.settings.initialWindowSize<1))throw new l("h2Options.settings.initialWindowSize must be a positive integer, greater than 0");if(null!=al.maxConcurrentStreams&&(!Number.isInteger(al.connectionWindowSize)||al.maxConcurrentStreams<1))throw new l("h2Options.maxConcurrentStreams must be a positive integer, greater than 0");if(null!=al.connectionWindowSize&&(!Number.isInteger(al.connectionWindowSize)||al.connectionWindowSize<1))throw new l("h2Options.connectionWindowSize must be a positive integer, greater than 0");if(null!=al.pingInterval&&("number"!=typeof al.pingInterval||!Number.isInteger(al.pingInterval)||al.pingInterval<0))throw new l("h2Options.pingInterval must be a positive integer, greater or equal to 0")}else{if(null!=ac&&"boolean"!=typeof ac)throw ah("useH2c"),new l("useH2c must be a valid boolean value");if(null!=Z&&("number"!=typeof Z||Z<1))throw ah("maxConcurrentStreams"),new l("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=af&&(!Number.isInteger(af)||af<1))throw ah("initialWindowSize"),new l("initialWindowSize must be a positive integer, greater than 0");if(null!=ag&&(!Number.isInteger(ag)||ag<1))throw ah("connectionWindowSize"),new l("connectionWindowSize must be a positive integer, greater than 0");if(null!=ai&&("number"!=typeof ai||!Number.isInteger(ai)||ai<0))throw ah("pingInterval"),new l("pingInterval must be a positive integer, greater or equal to 0")}if(super({webSocket:aj}),"function"!=typeof A)A=o({...w,maxCachedSessions:z,allowH2:ab,socketPath:t,useH2c:al?.useH2c??ac,timeout:h,..."boolean"==typeof T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U}:void 0,...A});else{const a=A;A=(b,c)=>a({...b,...null!=t?{socketPath:t}:null,...null!=ab?{allowH2:ab}:null},c)}this[p]=g.parseOrigin(a),this[$]=`${this[p].hostname}${this[p].port?`:${this[p].port}`:""}`,this[P]=A,this[H]=null!=v?v:1,this[J]=b,this[C]=null==m?4e3:m,this[K]=null==r?6e5:r,this[L]=null==s?2e3:s,this[I]=this[C],this[q]=null,this[V]=null!=R?R:null,this[u]=0,this[B]=0,this[D]=`host: ${this[$]}\r
303
- `,this[N]=null!=i?i:3e5,this[M]=null!=c?c:3e5,this[O]=null==x||x,this[Q]=G,this[ad]=null,this[W]=S>-1?S:-1,this[Y]=null,this[aa]={pingInterval:al?.pingInterval??ai??6e4,connectionWindowSize:al?.connectionWindowSize??ag??524288,maxConcurrentStreams:al?.maxConcurrentStreams??Z??100,sessionOptions:{initialWindowSize:al?.initialWindowSize??af??262144}},this[y]=[],this[F]=0,this[E]=0,this[_]=a=>ao(this,a),this[X]=a=>ak(this,a)}get pipelining(){return this[H]}set pipelining(a){this[H]=a,this[_](!0)}get stats(){return new h(this)}get[w](){return this[y].length-this[E]}get[v](){return this[E]-this[F]}get[x](){return this[y].length-this[F]}get[z](){return!!this[Y]&&!this[A]&&!this[Y].destroyed}get[s](){let a=this[Y]?.version==="h2";return!!(this[Y]?.busy(null)||this[x]>=(ai(this)||1)||this[w]>0&&!a)}[t](a){al(this),this.once("connect",a)}[U](a,b){let c=new j(this[p].origin,a,b);return this[y].push(c),this[u]||(null==g.bodyLength(c.body)&&g.isIterable(c.body)?(this[u]=1,queueMicrotask(()=>ao(this))):this[_](!0)),this[u]&&2!==this[B]&&this[s]&&(this[B]=2),this[B]<2}[S](){return new Promise(a=>{this[x]?this[ad]=a:a(null)})}[T](a){return new Promise(b=>{let c=this[y].splice(this[E]);for(let b=0;b<c.length;b++){let d=c[b];null!=d&&g.errorRequest(this,d,a)}let d=()=>{this[ad]&&(this[ad](),this[ad]=null),b(null)};this[Y]?(this[Y].destroy(a,d),this[Y]=null):queueMicrotask(d),this[_]()})}}function ak(a,b){if(0===a[v]&&"UND_ERR_INFO"!==b.code&&"UND_ERR_SOCKET"!==b.code){d(a[E]===a[F]);let c=a[y].splice(a[F]);for(let d=0;d<c.length;d++){let e=c[d];null!=e&&g.errorRequest(a,e,b)}d(0===a[x])}}function al(a){d(!a[A]),d(!a[Y]);let{host:b,hostname:c,protocol:f,port:h}=a[p];if("["===c[0]){let a=c.indexOf("]");d(-1!==a);let b=c.substring(1,a);d(e.isIPv6(b)),c=b}a[A]=!0,i.beforeConnect.hasSubscribers&&i.beforeConnect.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P]});try{a[P]({host:b,hostname:c,protocol:f,port:h,servername:a[q],localAddress:a[V]},(e,j)=>{if(e){am(a,e,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}if(a.destroyed){g.destroy(j.on("error",af),new n),a[_]();return}d(j);try{a[Y]="h2"===j.alpnProtocol?ac(a,j):ab(a,j)}catch(d){j.destroy().on("error",af),am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}a[A]=!1,j[R]=0,j[Q]=a[Q],j[r]=a,j[G]=null,i.connected.hasSubscribers&&i.connected.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],socket:j}),a.emit("connect",a[p],[a]),a[_]()})}catch(d){am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]()}}function am(a,b,{host:c,hostname:d,protocol:e,port:f}){if(!a.destroyed){if(a[A]=!1,i.connectError.hasSubscribers&&i.connectError.publish({connectParams:{host:c,hostname:d,protocol:e,port:f,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],error:b}),"ERR_TLS_CERT_ALTNAME_INVALID"===b.code){let c=a[y].splice(a[F],a[v]);a[E]=a[F];for(let d=0;d<c.length;d++)g.errorRequest(a,c[d],b);for(;a[w]>0&&a[y][a[E]].servername===a[q];){let c=a[y].splice(a[E],1)[0];g.errorRequest(a,c,b)}}else ak(a,b);a.emit("connectionError",a[p],[a],b)}}function an(a){a[B]=0,a.emit("drain",a[p],[a])}function ao(a,b){2!==a[u]&&(a[u]=2,function(a,b){for(;;){if(a.destroyed)return void d(0===a[w]);if(a[ad]&&!a[x]){a[ad](),a[ad]=null;return}if(a[Y]&&a[Y].resume(),a[s])a[B]=2;else if(2===a[B]){b?(a[B]=1,queueMicrotask(()=>an(a))):an(a);continue}if(0===a[w]||a[v]>=(ai(a)||1))return;let c=a[y][a[E]];if(null===c)return;if("https:"===a[p].protocol&&a[q]!==c.servername){if(a[v]>0)return;a[q]=c.servername,a[Y]?.destroy(new m("servername changed"),()=>{a[Y]=null,ao(a)})}if(a[A])return;if(!a[Y]){a[q]=c.servername,al(a);return}if(a[Y].destroyed||a[Y].busy(c))return;!c.aborted&&a[Y].write(c)?a[E]++:a[y].splice(a[E],1)}}(a,b),a[u]=0,a[F]>256&&(a[y].splice(0,a[F]),a[E]-=a[F],a[F]=0))}a.exports=aj},40603:(a,b,c)=>{"use strict";let{EventEmitter:d}=c(78474),{Buffer:e}=c(4573),{InvalidArgumentError:f,Socks5ProxyError:g}=c(61448),{debuglog:h}=c(57975),{parseAddress:i}=c(33297),j=h("undici:socks5"),k=e.alloc(0),l={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},m={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},n={IPV4:1,DOMAIN:3,IPV6:4},o={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},p={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class q extends d{constructor(a,b={}){if(super(),!a)throw new f("socket is required");this.socket=a,this.options=b,this.state=p.INITIAL,this.buffer=k,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],b.username&&b.password&&this.authMethods.push(l.USERNAME_PASSWORD),this.authMethods.push(l.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(a){j("received data",a.length,"bytes in state",this.state),this.buffer=e.concat([this.buffer,a]);try{switch(this.state){case p.HANDSHAKING:this.handleHandshakeResponse();break;case p.AUTHENTICATING:this.handleAuthResponse();break;case p.CONNECTING:this.handleConnectResponse()}}catch(a){this.onError(a)}}onError(a){j("socket error",a),this.state=p.ERROR,this.emit("error",a),this.destroy()}onClose(){j("socket closed"),this.state=p.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=p.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==p.INITIAL)throw new f("Handshake already started");j("starting handshake with",this.authMethods.length,"auth methods"),this.state=p.HANDSHAKING;let a=e.alloc(2+this.authMethods.length);a[0]=5,a[1]=this.authMethods.length,this.authMethods.forEach((b,c)=>{a[2+c]=b}),this.socket.write(a)}handleHandshakeResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(5!==a)throw new g(`Invalid SOCKS version: ${a}`,"UND_ERR_SOCKS5_VERSION");if(b===l.NO_ACCEPTABLE)throw new g("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),j("server selected auth method",b),b===l.NO_AUTH)this.markAuthenticated();else if(b===l.USERNAME_PASSWORD)this.state=p.AUTHENTICATING,this.sendAuthRequest();else throw new g(`Unsupported authentication method: ${b}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:a,password:b}=this.options;if(!a||!b)throw new f("Username and password required for authentication");j("sending username/password auth");let c=e.from(a),d=e.from(b);if(c.length>255||d.length>255)throw new f("Username or password too long");let g=e.alloc(3+c.length+d.length);g[0]=1,g[1]=c.length,c.copy(g,2),g[2+c.length]=d.length,d.copy(g,3+c.length),this.socket.write(g)}handleAuthResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(1!==a)throw new g(`Invalid auth sub-negotiation version: ${a}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(0!==b)throw new g("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),j("authentication successful"),this.markAuthenticated()}connect(a,b){if(this.state===p.CONNECTING||this.state===p.CONNECTED)throw new f("Connection already in progress");if(this.state!==p.AUTHENTICATED)throw new f("Client must be authenticated before CONNECT");j("connecting to",a,b),this.state=p.CONNECTING;let c=this.buildConnectRequest(m.CONNECT,a,b);this.socket.write(c)}buildConnectRequest(a,b,c){let{type:d,buffer:f}=i(b),g=e.alloc(4+f.length+2);return g[0]=5,g[1]=a,g[2]=0,g[3]=d,f.copy(g,4),g.writeUInt16BE(c,4+f.length),g}handleConnectResponse(){let a;if(this.buffer.length<4)return;let b=this.buffer[0],c=this.buffer[1],d=this.buffer[3];if(5!==b)throw new g(`Invalid SOCKS version in reply: ${b}`,"UND_ERR_SOCKS5_REPLY_VERSION");let e=4;if(d===n.IPV4)e+=6;else if(d===n.DOMAIN){if(this.buffer.length<5)return;e+=1+this.buffer[4]+2}else if(d===n.IPV6)e+=18;else throw new g(`Invalid address type in reply: ${d}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<e)return;if(c!==o.SUCCEEDED){let a=this.getReplyErrorMessage(c);throw new g(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${c}`)}let f=4;if(d===n.IPV4)a=Array.from(this.buffer.subarray(f,f+4)).join("."),f+=4;else if(d===n.DOMAIN){let b=this.buffer[f];f+=1,a=this.buffer.subarray(f,f+b).toString(),f+=b}else if(d===n.IPV6){let b=[];for(let a=0;a<8;a++){let c=this.buffer.readUInt16BE(f+2*a);b.push(c.toString(16))}a=b.join(":"),f+=16}let h=this.buffer.readUInt16BE(f);this.buffer=k,this.state=p.CONNECTED,this.socket.removeListener("data",this.onSocketData),j("connected, bound address:",a,"port:",h),this.emit("connected",{address:a,port:h})}getReplyErrorMessage(a){switch(a){case o.GENERAL_FAILURE:return"General SOCKS server failure";case o.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case o.NETWORK_UNREACHABLE:return"Network unreachable";case o.HOST_UNREACHABLE:return"Host unreachable";case o.CONNECTION_REFUSED:return"Connection refused";case o.TTL_EXPIRED:return"TTL expired";case o.COMMAND_NOT_SUPPORTED:return"Command not supported";case o.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${a}`}}}a.exports={Socks5Client:q,AUTH_METHODS:l,COMMANDS:m,ADDRESS_TYPES:n,REPLY_CODES:o,STATES:p}},41702:(a,b,c)=>{var d=c(45654);c(33889),d.mgf=d.mgf||{},(a.exports=d.mgf.mgf1=d.mgf1=d.mgf1||{}).create=function(a){return{generate:function(b,c){for(var e=new d.util.ByteBuffer,f=Math.ceil(c/a.digestLength),g=0;g<f;g++){var h=new d.util.ByteBuffer;h.putInt32(g),a.start(),a.update(b+h.getBytes()),e.putBuffer(a.digest())}return e.truncate(e.length()-c),e.getBytes()}}}},41883:(a,b,c)=>{"use strict";c.d(b,{w:()=>k});var d=c(67671),e=c(38421),f=c(96997),g=c(50969);let h=new Map;function i(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("authorized_user"===b.type&&b.client_id&&b.client_secret&&b.refresh_token)return b;return null}catch{return null}}async function j(a,b,c,d){if(h.has(a))return h.get(a);let e=await (0,g.Fm)(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}",identity:c.identity,provider:b,format:c.format},d),f=await e.json().catch(()=>null),i=(f?.[0]?.error?.message||f?.error?.message||"").match(/projects\/([^/]+)\//),j=i?.[1]||null;return j&&h.set(a,j),j}class k extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=i(d?.apiKey),h=!!e||!!g||!!d?.accessToken,j=h?null:d?.apiKey,k=e?.project_id||g?.quota_project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!k)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/global/endpoints/openapi/chat/completions`;return j?`${a}?key=${j}`:a}let l=b?"streamGenerateContent":"generateContent";if(h){if(!k)throw Error("Vertex OAuth/ADC requires a project_id. Add quota_project_id to your ADC JSON or set providerSpecificData.projectId.");let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${l}`;return b&&(e+="?alt=sse"),e}let m=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${l}`;return b&&(m+="?alt=sse"),j&&(m+=b?`&key=${j}`:`?key=${j}`),m}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){let d=(0,f.Sc)(a?.apiKey);if(d){let a=await (0,f.pb)(d,b);return a?{accessToken:a.accessToken,expiresAt:a.expiresAt}:null}let e=i(a?.apiKey);if(e){let a=await (0,f.I9)(e.refresh_token,e.client_id,e.client_secret,b,this.provider,c);return a?.accessToken?{accessToken:a.accessToken,expiresAt:a.expiresAt}:null}return null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:k=null}){let l=(0,f.Sc)(d?.apiKey),m=i(d?.apiKey);if(l){let a=await (0,f.pb)(l,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(m){let a=await (0,f.I9)(m.refresh_token,m.client_id,m.client_secret,h,this.provider,k);if(!a?.accessToken)throw Error("Vertex: failed to refresh access token from ADC JSON (authorized_user)");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!l&&!m&&!d?.providerSpecificData?.projectId){let a=await j(d.apiKey,this.provider,this.config,k);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let n=this.buildUrl(a,c,0,d),o=this.buildHeaders(d,c),p=this.transformRequest(a,b,c,d);return{response:await (0,g.Fm)(n,{method:"POST",headers:o,body:JSON.stringify(p),signal:e},k),url:n,headers:o,transformedBody:p}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#ai;#aj;#ak;constructor(a,b){this.#ai=a,this.#aj=b,this.#ak=0}next(){let e;if("object"!=typeof this||this===null||!(#ai in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ak,g=b(this.#ai);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ak=f+1,this.#aj){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#al;constructor(a){super(),this.#al=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#al):e.createInflateRaw(this.#al),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#am;#an;#ao;#ap;#aq;#ar;#as=!1;#at={onConnectionEstablished:(a,b)=>this.#au(a,b),onMessage:(a,b)=>this.#av(a,b),onParserError:a=>p(this.#at,null,a.message),onParserDrain:()=>this.#at.socket.resume(),onSocketData:a=>{this.#aw.write(a)||this.#at.socket.pause()},onSocketError:a=>{this.#at.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#at.socket.destroy()},onSocketClose:()=>this.#ax(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aw;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#am=c.toString(),this.#an=Promise.withResolvers(),this.#ao=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#an.reject(a.reason),this.#ao.reject(a.reason);return}d(a,()=>{m(this.#at.readyState)||(p(this.#at),this.#at.readyState=g.CLOSING,this.#an.reject(a.reason),this.#ao.reject(a.reason),this.#as=!0)})}const h=e.settingsObject;this.#at.controller=o(c,f,h,this.#at,b)}get url(){return this.#am.toString()}get opened(){return this.#an.promise}get closed(){return this.#ao.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#at,b,c,!0)}#ay(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#at.closeState.has(i.SENT)&&!this.#at.closeState.has(i.RECEIVED)){let a=new s(c);this.#at.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#au(a,b){this.#at.socket=a.socket;let c=this.#at.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#at.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#at,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#at.onParserDrain()),e.on("error",a=>this.#at.onParserError(a)),this.#aw=e,this.#at.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#aq=a},cancel:a=>this.#az(a)}),j=new WritableStream({write:a=>this.#ay(a),close:()=>q(this.#at,null,null),abort:a=>this.#aA(a)});this.#ap=i,this.#ar=j,this.#an.resolve({extensions:f,protocol:h,readable:i,writable:j})}#av(a,b){let c;if(this.#at.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#at,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#aq.enqueue(c)}}#ax(){let a=this.#at.closeState.has(i.SENT)&&this.#at.closeState.has(i.RECEIVED);if(this.#at.readyState=g.CLOSED,this.#as)return;this.#at.wasEverConnected||this.#an.reject(new u("Socket never opened"));let b=this.#aw?.closingInfo,c=b?.code??1005;this.#at.closeState.has(i.SENT)||this.#at.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#aq),this.#ar.locked||this.#ar.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#ao.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#aq?.error(a),this.#ar?.abort(a),this.#ao.reject(a)}}#aA(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#at,b,c)}#az(a){this.#aA(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aB=null;#aC=null;#y=null;constructor(a={}){super(),this.#y=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aD()}[i](a,b){let c=new URL(a.origin);return this.#aE(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aE(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aF(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aF(a,b){if(this.#aG&&this.#aD(),0===this.#aC.length)return!0;if("*"===this.#aB)return!1;for(let c=0;c<this.#aC.length;c++){let d=this.#aC[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aD(){let a=this.#y.noProxy??this.#aH,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aB=a,this.#aC=c}get #aG(){return void 0===this.#y.noProxy&&this.#aB!==this.#aH}get #aH(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43835:(a,b,c)=>{"use strict";c.d(b,{$D:()=>m,P9:()=>j,We:()=>h,aZ:()=>n,rG:()=>i});var d=c(39541),e=c(26317);let f="-agentic",g="-thinking";function h(a){return"google"===a||"github"===a?"arn:aws:codewhisperer:us-east-1:699475941385:profile/EHGA3GRVQMUK":"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX"}let i=`
303
+ * Examples: src/app.ts, src/app.ts:42, b/server/index.js#L10, C:\\repo\\project\\main.rs:12:5`;var f=c(38421),g=c(98976),h=c(10342),i=c(26408),j=c(13161),k=c(86363),l=c(49623),m=c(97137),n=c(68531),o=c(73081);let p=new TextEncoder,q=/^(rs|fc|resp|msg)_/,r=new Set(["image_generation","web_search","web_search_preview","file_search","computer","computer_use_preview","code_interpreter","mcp","local_shell","tool_search"]),s=new Set(["custom"]),t=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","service_tier","include","prompt_cache_key","client_metadata","text"]);class u extends d.Hv{constructor(){super("codex",f.xq.codex),this._currentSessionId=null}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b);c.session_id=this._currentSessionId||a?.connectionId||"default",c.originator||(c.originator="codex_cli_rs");let d=a?.providerSpecificData?.workspaceId;return"string"==typeof d&&d&&!c["chatgpt-account-id"]&&(c["chatgpt-account-id"]=d),c}buildUrl(a,b,c=0,d=null){let e=super.buildUrl(a,b,c,d);return this._isCompact?`${e}/compact`:e}async refreshCredentials(a,b){return a?.refreshToken?(0,g.Vq)("codex",a,b):null}needsRefresh(a){return(0,g.fp)("codex",a)}async prefetchImages(a){if(Array.isArray(a?.input))for(let b of a.input){if(!Array.isArray(b.content))continue;let a=b.content.map(async a=>{if("image_url"!==a.type)return a;let b="string"==typeof a.image_url?a.image_url:a.image_url?.url,c=a.image_url?.detail||"auto";if(!b)return a;if(b.startsWith("data:"))return{type:"input_image",image_url:b,detail:c};let d=await (0,i.ni)(b,{timeoutMs:15e3});return{type:"input_image",image_url:d?.url||b,detail:c}});b.content=await Promise.all(a)}}async execute(a){let b=Array.isArray(a.body?.input)?a.body.input.reduce((a,b)=>a+(Array.isArray(b.content)?b.content.filter(a=>"image_url"===a.type).length:0),0):0,c=Array.isArray(a.body?.input)?a.body.input.length:0;if((0,k.s)("CODEX",`execute start | inputItems=${c} | images=${b} | session=${this._currentSessionId?"resolved":"pending"}`),b>0){let b=Date.now();await this.prefetchImages(a.body),(0,k.s)("CODEX",`prefetchImages done | ${Date.now()-b}ms`)}else await this.prefetchImages(a.body);let d=await this._executeOverWebSocket(a);return d||(0,m.v)({execute:()=>super.execute(a),retryConfig:this.config.retry,signal:a.signal,log:a.log,provider:"codex"})}async _executeOverWebSocket(a){if("off"===process.env.CODEX_WS_TRANSPORT||process.env.VITEST||this._isCompact||!1===a.stream)return null;try{let b=this.transformRequest(a.model,a.body,a.stream,a.credentials),c=this.buildUrl(a.model,a.stream,0,a.credentials),d={...this.buildHeaders(a.credentials,a.stream,c,a.model)};delete d["Content-Type"],delete d.Accept;let e=function({wsUrl:a,headers:b,request:c,WebSocket:d=globalThis.WebSocket,signal:e}={}){let f;if("function"!=typeof d)throw Error("no WebSocket implementation available");try{f=new d(a,{headers:b})}catch(a){throw Error(`codex ws connect failed: ${a.message}`)}let g=!1,h=()=>{try{f.close()}catch{}};e?.addEventListener?.("abort",h,{once:!0});let i=new Promise((b,d)=>{f.onopen=()=>{try{f.send(JSON.stringify({type:"response.create",...c})),(0,k.s)("CODEX-WS",`opened ${a} | request sent`),b()}catch(a){d(Error(`codex ws send failed: ${a.message}`))}},f.onerror=()=>d(Error("codex ws handshake failed"))});return{response:new Response(new ReadableStream({start(a){let b=b=>{if(!g){g=!0,e?.removeEventListener?.("abort",h);try{f.close()}catch{}try{b?a.error(b):a.close()}catch{}}};f.onmessage=c=>{let d="string"==typeof c.data?c.data:"",e=null;try{e=JSON.parse(d)?.type||null}catch{}e&&(a.enqueue(p.encode(`event: ${e}
304
+ data: ${d}
305
+
306
+ `)),(0,o.nu)(e,{response:{}})&&((0,k.s)("CODEX-WS",`terminal ${e} | closing`),b()))},f.onclose=()=>b(g?null:Error("codex ws closed before terminal event"))},cancel(){g=!0,e?.removeEventListener?.("abort",h);try{f.close()}catch{}}}),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Switchboard-Transport":"responses-websocket"}}),url:a,headers:b,ready:i,format:n.h.OPENAI_RESPONSES}}({wsUrl:String(c).replace(/^http:\/\//i,"ws://").replace(/^https:\/\//i,"wss://"),headers:d,request:b,signal:a.signal});return await e.ready,(0,k.s)("CODEX-WS",`transport=responses_websocket | ${c}`),{response:e.response,url:c,headers:d,transformedBody:b}}catch(b){return a.log?.warn?.("CODEX-WS",`websocket transport failed, falling back to HTTP: ${b.message}`),(0,k.s)("CODEX-WS",`handshake failed: ${b.message}`),null}}parseError(a,b){if(429===a.status&&b)try{let a=JSON.parse(b),c=a?.error;if(c?.type==="usage_limit_reached"){let a=Date.now(),d=null;if("number"==typeof c.resets_at&&c.resets_at>0){let b=1e3*c.resets_at;b>a&&(d=b)}if(!d&&"number"==typeof c.resets_in_seconds&&c.resets_in_seconds>0&&(d=a+1e3*c.resets_in_seconds),d)return{status:429,message:c.message||b,resetsAtMs:d}}}catch{}return super.parseError(a,b)}transformRequest(a,b,c,d){this._isCompact=!!b._compact,delete b._compact,this._currentSessionId=(0,l.oV)({headers:d?.rawHeaders,body:b,connectionId:d?.connectionId,workspaceId:d?.providerSpecificData?.workspaceId,scope:"codex"});let f=(0,h.m)(b.input);if(f&&(b.input=f),(!b.input||Array.isArray(b.input)&&0===b.input.length)&&(b.input=[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]),Array.isArray(b.input))for(let a of b.input)!(!a||"object"!=typeof a||Array.isArray(a))&&("system"!==a.role||a.type&&"message"!==a.type||(a.role="developer"));Array.isArray(b.input)&&(b.input=b.input.filter(a=>{if("string"==typeof a&&q.test(a))return!1;if(a&&"object"==typeof a&&!Array.isArray(a)){if("item_reference"===a.type)return!1;"string"==typeof a.id&&q.test(a.id)&&delete a.id}return!0})),function(a){if(!Array.isArray(a.tools))return;let b=new Set;if(a.tools=a.tools.filter(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return!1;let c="string"==typeof a.type?a.type:"";if("namespace"===c){if(Array.isArray(a.tools))for(let c of a.tools){let a="string"==typeof c?.name?c.name.trim().slice(0,128):"";a&&b.add(a)}return!0}if("function"!==c)return!!s.has(c)||!!c&&!a.function&&"string"!=typeof a.name&&r.has(c);let d=a.function&&"object"==typeof a.function&&!Array.isArray(a.function)?a.function:null,e=("string"==typeof a.name?a.name:"string"==typeof d?.name?d.name:"").trim();if(!e)return!1;let f="string"==typeof a.description?a.description:"string"==typeof d?.description?d.description:"",g=a.parameters&&"object"==typeof a.parameters&&!Array.isArray(a.parameters)?a.parameters:d?.parameters&&"object"==typeof d.parameters&&!Array.isArray(d.parameters)?d.parameters:{type:"object",properties:{}};for(let b of Object.keys(a))delete a[b];return a.type="function",a.name=e.slice(0,128),f&&(a.description=f),a.parameters=g,b.add(e),!0}),a.tool_choice&&"object"==typeof a.tool_choice&&!Array.isArray(a.tool_choice)&&"function"===a.tool_choice.type){let c="string"==typeof a.tool_choice.name?a.tool_choice.name.trim():"";c&&b.has(c)||delete a.tool_choice}}(b),b.stream=!0,b.instructions&&""!==b.instructions.trim()||(b.instructions=e),b.store=!1,!b.prompt_cache_key&&this._currentSessionId&&(b.prompt_cache_key=this._currentSessionId),b.model=(0,j.kt)("cx",b.model||a);let g=null;for(let a of["none","low","medium","high","xhigh"])if(b.model.endsWith(`-${a}`)){g=a,b.model=b.model.replace(`-${a}`,"");break}if(b.reasoning)b.reasoning.summary||(b.reasoning.summary="auto");else{let a=b.reasoning_effort||g||"low";b.reasoning={effort:a,summary:"auto"}}for(let a of(delete b.reasoning_effort,b.reasoning&&b.reasoning.effort&&"none"!==b.reasoning.effort&&(b.include=["reasoning.encrypted_content"]),delete b.temperature,delete b.top_p,delete b.frequency_penalty,delete b.presence_penalty,delete b.logprobs,delete b.top_logprobs,delete b.n,delete b.seed,delete b.max_tokens,delete b.max_completion_tokens,delete b.max_output_tokens,delete b.user,delete b.prompt_cache_retention,delete b.metadata,delete b.stream_options,delete b.safety_identifier,delete b.previous_response_id,Object.keys(b)))t.has(a)||delete b[a];return b}}},40603:(a,b,c)=>{"use strict";let{EventEmitter:d}=c(78474),{Buffer:e}=c(4573),{InvalidArgumentError:f,Socks5ProxyError:g}=c(61448),{debuglog:h}=c(57975),{parseAddress:i}=c(33297),j=h("undici:socks5"),k=e.alloc(0),l={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},m={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},n={IPV4:1,DOMAIN:3,IPV6:4},o={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},p={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class q extends d{constructor(a,b={}){if(super(),!a)throw new f("socket is required");this.socket=a,this.options=b,this.state=p.INITIAL,this.buffer=k,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],b.username&&b.password&&this.authMethods.push(l.USERNAME_PASSWORD),this.authMethods.push(l.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(a){j("received data",a.length,"bytes in state",this.state),this.buffer=e.concat([this.buffer,a]);try{switch(this.state){case p.HANDSHAKING:this.handleHandshakeResponse();break;case p.AUTHENTICATING:this.handleAuthResponse();break;case p.CONNECTING:this.handleConnectResponse()}}catch(a){this.onError(a)}}onError(a){j("socket error",a),this.state=p.ERROR,this.emit("error",a),this.destroy()}onClose(){j("socket closed"),this.state=p.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=p.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==p.INITIAL)throw new f("Handshake already started");j("starting handshake with",this.authMethods.length,"auth methods"),this.state=p.HANDSHAKING;let a=e.alloc(2+this.authMethods.length);a[0]=5,a[1]=this.authMethods.length,this.authMethods.forEach((b,c)=>{a[2+c]=b}),this.socket.write(a)}handleHandshakeResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(5!==a)throw new g(`Invalid SOCKS version: ${a}`,"UND_ERR_SOCKS5_VERSION");if(b===l.NO_ACCEPTABLE)throw new g("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),j("server selected auth method",b),b===l.NO_AUTH)this.markAuthenticated();else if(b===l.USERNAME_PASSWORD)this.state=p.AUTHENTICATING,this.sendAuthRequest();else throw new g(`Unsupported authentication method: ${b}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:a,password:b}=this.options;if(!a||!b)throw new f("Username and password required for authentication");j("sending username/password auth");let c=e.from(a),d=e.from(b);if(c.length>255||d.length>255)throw new f("Username or password too long");let g=e.alloc(3+c.length+d.length);g[0]=1,g[1]=c.length,c.copy(g,2),g[2+c.length]=d.length,d.copy(g,3+c.length),this.socket.write(g)}handleAuthResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(1!==a)throw new g(`Invalid auth sub-negotiation version: ${a}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(0!==b)throw new g("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),j("authentication successful"),this.markAuthenticated()}connect(a,b){if(this.state===p.CONNECTING||this.state===p.CONNECTED)throw new f("Connection already in progress");if(this.state!==p.AUTHENTICATED)throw new f("Client must be authenticated before CONNECT");j("connecting to",a,b),this.state=p.CONNECTING;let c=this.buildConnectRequest(m.CONNECT,a,b);this.socket.write(c)}buildConnectRequest(a,b,c){let{type:d,buffer:f}=i(b),g=e.alloc(4+f.length+2);return g[0]=5,g[1]=a,g[2]=0,g[3]=d,f.copy(g,4),g.writeUInt16BE(c,4+f.length),g}handleConnectResponse(){let a;if(this.buffer.length<4)return;let b=this.buffer[0],c=this.buffer[1],d=this.buffer[3];if(5!==b)throw new g(`Invalid SOCKS version in reply: ${b}`,"UND_ERR_SOCKS5_REPLY_VERSION");let e=4;if(d===n.IPV4)e+=6;else if(d===n.DOMAIN){if(this.buffer.length<5)return;e+=1+this.buffer[4]+2}else if(d===n.IPV6)e+=18;else throw new g(`Invalid address type in reply: ${d}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<e)return;if(c!==o.SUCCEEDED){let a=this.getReplyErrorMessage(c);throw new g(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${c}`)}let f=4;if(d===n.IPV4)a=Array.from(this.buffer.subarray(f,f+4)).join("."),f+=4;else if(d===n.DOMAIN){let b=this.buffer[f];f+=1,a=this.buffer.subarray(f,f+b).toString(),f+=b}else if(d===n.IPV6){let b=[];for(let a=0;a<8;a++){let c=this.buffer.readUInt16BE(f+2*a);b.push(c.toString(16))}a=b.join(":"),f+=16}let h=this.buffer.readUInt16BE(f);this.buffer=k,this.state=p.CONNECTED,this.socket.removeListener("data",this.onSocketData),j("connected, bound address:",a,"port:",h),this.emit("connected",{address:a,port:h})}getReplyErrorMessage(a){switch(a){case o.GENERAL_FAILURE:return"General SOCKS server failure";case o.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case o.NETWORK_UNREACHABLE:return"Network unreachable";case o.HOST_UNREACHABLE:return"Host unreachable";case o.CONNECTION_REFUSED:return"Connection refused";case o.TTL_EXPIRED:return"TTL expired";case o.COMMAND_NOT_SUPPORTED:return"Command not supported";case o.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${a}`}}}a.exports={Socks5Client:q,AUTH_METHODS:l,COMMANDS:m,ADDRESS_TYPES:n,REPLY_CODES:o,STATES:p}},41702:(a,b,c)=>{var d=c(45654);c(33889),d.mgf=d.mgf||{},(a.exports=d.mgf.mgf1=d.mgf1=d.mgf1||{}).create=function(a){return{generate:function(b,c){for(var e=new d.util.ByteBuffer,f=Math.ceil(c/a.digestLength),g=0;g<f;g++){var h=new d.util.ByteBuffer;h.putInt32(g),a.start(),a.update(b+h.getBytes()),e.putBuffer(a.digest())}return e.truncate(e.length()-c),e.getBytes()}}}},41883:(a,b,c)=>{"use strict";c.d(b,{w:()=>k});var d=c(67671),e=c(38421),f=c(96997),g=c(50969);let h=new Map;function i(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("authorized_user"===b.type&&b.client_id&&b.client_secret&&b.refresh_token)return b;return null}catch{return null}}async function j(a,b,c,d){if(h.has(a))return h.get(a);let e=await (0,g.Fm)(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}",identity:c.identity,provider:b,format:c.format},d),f=await e.json().catch(()=>null),i=(f?.[0]?.error?.message||f?.error?.message||"").match(/projects\/([^/]+)\//),j=i?.[1]||null;return j&&h.set(a,j),j}class k extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=i(d?.apiKey),h=!!e||!!g||!!d?.accessToken,j=h?null:d?.apiKey,k=e?.project_id||g?.quota_project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!k)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/global/endpoints/openapi/chat/completions`;return j?`${a}?key=${j}`:a}let l=b?"streamGenerateContent":"generateContent";if(h){if(!k)throw Error("Vertex OAuth/ADC requires a project_id. Add quota_project_id to your ADC JSON or set providerSpecificData.projectId.");let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${k}/locations/${c}/publishers/google/models/${a}:${l}`;return b&&(e+="?alt=sse"),e}let m=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${l}`;return b&&(m+="?alt=sse"),j&&(m+=b?`&key=${j}`:`?key=${j}`),m}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b,c=null){let d=(0,f.Sc)(a?.apiKey);if(d){let a=await (0,f.pb)(d,b);return a?{accessToken:a.accessToken,expiresAt:a.expiresAt}:null}let e=i(a?.apiKey);if(e){let a=await (0,f.I9)(e.refresh_token,e.client_id,e.client_secret,b,this.provider,c);return a?.accessToken?{accessToken:a.accessToken,expiresAt:a.expiresAt}:null}return null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:k=null}){let l=(0,f.Sc)(d?.apiKey),m=i(d?.apiKey);if(l){let a=await (0,f.pb)(l,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if(m){let a=await (0,f.I9)(m.refresh_token,m.client_id,m.client_secret,h,this.provider,k);if(!a?.accessToken)throw Error("Vertex: failed to refresh access token from ADC JSON (authorized_user)");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!l&&!m&&!d?.providerSpecificData?.projectId){let a=await j(d.apiKey,this.provider,this.config,k);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let n=this.buildUrl(a,c,0,d),o=this.buildHeaders(d,c),p=this.transformRequest(a,b,c,d);return{response:await (0,g.Fm)(n,{method:"POST",headers:o,body:JSON.stringify(p),signal:e},k),url:n,headers:o,transformedBody:p}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#ai;#aj;#ak;constructor(a,b){this.#ai=a,this.#aj=b,this.#ak=0}next(){let e;if("object"!=typeof this||this===null||!(#ai in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ak,g=b(this.#ai);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ak=f+1,this.#aj){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#al;constructor(a){super(),this.#al=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#al):e.createInflateRaw(this.#al),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#am;#an;#ao;#ap;#aq;#ar;#as=!1;#at={onConnectionEstablished:(a,b)=>this.#au(a,b),onMessage:(a,b)=>this.#av(a,b),onParserError:a=>p(this.#at,null,a.message),onParserDrain:()=>this.#at.socket.resume(),onSocketData:a=>{this.#aw.write(a)||this.#at.socket.pause()},onSocketError:a=>{this.#at.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#at.socket.destroy()},onSocketClose:()=>this.#ax(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aw;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#am=c.toString(),this.#an=Promise.withResolvers(),this.#ao=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#an.reject(a.reason),this.#ao.reject(a.reason);return}d(a,()=>{m(this.#at.readyState)||(p(this.#at),this.#at.readyState=g.CLOSING,this.#an.reject(a.reason),this.#ao.reject(a.reason),this.#as=!0)})}const h=e.settingsObject;this.#at.controller=o(c,f,h,this.#at,b)}get url(){return this.#am.toString()}get opened(){return this.#an.promise}get closed(){return this.#ao.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#at,b,c,!0)}#ay(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#at.closeState.has(i.SENT)&&!this.#at.closeState.has(i.RECEIVED)){let a=new s(c);this.#at.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#au(a,b){this.#at.socket=a.socket;let c=this.#at.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#at.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#at,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#at.onParserDrain()),e.on("error",a=>this.#at.onParserError(a)),this.#aw=e,this.#at.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#aq=a},cancel:a=>this.#az(a)}),j=new WritableStream({write:a=>this.#ay(a),close:()=>q(this.#at,null,null),abort:a=>this.#aA(a)});this.#ap=i,this.#ar=j,this.#an.resolve({extensions:f,protocol:h,readable:i,writable:j})}#av(a,b){let c;if(this.#at.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#at,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#aq.enqueue(c)}}#ax(){let a=this.#at.closeState.has(i.SENT)&&this.#at.closeState.has(i.RECEIVED);if(this.#at.readyState=g.CLOSED,this.#as)return;this.#at.wasEverConnected||this.#an.reject(new u("Socket never opened"));let b=this.#aw?.closingInfo,c=b?.code??1005;this.#at.closeState.has(i.SENT)||this.#at.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#aq),this.#ar.locked||this.#ar.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#ao.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#aq?.error(a),this.#ar?.abort(a),this.#ao.reject(a)}}#aA(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#at,b,c)}#az(a){this.#aA(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aB=null;#aC=null;#y=null;constructor(a={}){super(),this.#y=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aD()}[i](a,b){let c=new URL(a.origin);return this.#aE(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aE(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aF(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aF(a,b){if(this.#aG&&this.#aD(),0===this.#aC.length)return!0;if("*"===this.#aB)return!1;for(let c=0;c<this.#aC.length;c++){let d=this.#aC[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aD(){let a=this.#y.noProxy??this.#aH,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aB=a,this.#aC=c}get #aG(){return void 0===this.#y.noProxy&&this.#aB!==this.#aH}get #aH(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43835:(a,b,c)=>{"use strict";c.d(b,{$D:()=>m,P9:()=>j,We:()=>h,aZ:()=>n,rG:()=>i});var d=c(39541),e=c(26317);let f="-agentic",g="-thinking";function h(a){return"google"===a||"github"===a?"arn:aws:codewhisperer:us-east-1:699475941385:profile/EHGA3GRVQMUK":"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX"}let i=`
304
307
  # CRITICAL: CHUNKED WRITE PROTOCOL (MANDATORY)
305
308
 
306
309
  You MUST follow these rules for ALL file operations. Violation causes server timeouts and task failure.
@@ -391,7 +394,7 @@ ${a.format(b)}`.trim())}}a.exports=G},65737:(a,b,c)=>{var d=c(45654);c(45518),c(
391
394
  FROM ${e} JOIN vault_entries ON vault_entries.id = ${e}.entryId
392
395
  WHERE ${e} MATCH ? AND ${e}.conversationId = ? AND vault_entries.expiresAt > ?${d} ORDER BY rank LIMIT ?`,f)}catch{o=[]}if(0===o.length&&l.length>0){var h;let b=l.map(()=>"lower(vault_chunks.text) LIKE ?").join(" OR "),d=c?[a,n,c,...l.map(a=>`%${a}%`),4*i]:[a,n,...l.map(a=>`%${a}%`),4*i];h=m.all(`SELECT vault_chunks.entryId AS entryId, vault_chunks.chunkIndex AS chunkIndex, vault_chunks.text AS text
393
396
  FROM vault_chunks JOIN vault_entries ON vault_entries.id = vault_chunks.entryId
394
- WHERE vault_chunks.conversationId = ? AND vault_entries.expiresAt > ?${c?" AND vault_chunks.entryId = ?":""} AND (${b}) LIMIT ?`,d),o=Array.isArray(h)&&Array.isArray(l)?h.map(a=>({...a,score:l.reduce((b,c)=>b+Number(String(a?.text||"").toLowerCase().includes(c)),0)})).sort((a,b)=>b.score-a.score).slice(0,i):[]}let p=function(a,b){if(!Array.isArray(b))return[];let c=new Map;for(let d of b.slice(0,20)){let b=d?.entryId;if(!(!b||c.has(b)))try{c.set(b,a.get("SELECT toolName FROM vault_entries WHERE id = ?",[b])?.toolName??null)}catch{c.set(b,null)}}return b.map(a=>({entryId:a.entryId,chunkIndex:a.chunkIndex,text:a.text,toolName:c.get(a.entryId)??null}))}(m,o.slice(0,i));var j=[...new Set(p.map(a=>a.entryId))],k=new Date().toISOString();if(Array.isArray(j)&&k)for(let a of j.slice(0,20))try{m.run("UPDATE vault_entries SET lastAccessedAt = ? WHERE id = ?",[k,a])}catch{}return p}catch{return[]}}async function j(a){try{if("string"!=typeof a||!a)return null;let b=await (0,d.c)(),c=b.get("SELECT id, conversationId, toolName, content, expiresAt FROM vault_entries WHERE id = ?",[a]);if(!c)return null;let f=new Date().toISOString();if(c.expiresAt<f){try{b.run("DELETE FROM vault_chunks WHERE entryId = ?",[a]),g(b)&&b.run(`DELETE FROM ${e} WHERE entryId = ?`,[a]),b.run("DELETE FROM vault_entries WHERE id = ?",[a])}catch{}return null}try{b.run("UPDATE vault_entries SET lastAccessedAt = ? WHERE id = ?",[f,a])}catch{}return{id:c.id,conversationId:c.conversationId,toolName:c.toolName,content:c.content}}catch{return null}}async function k(){try{var a=await (0,d.c)(),b=new Date().toISOString();if("string"!=typeof b||!b)return 0;let c="SELECT id FROM vault_entries WHERE expiresAt < ?";if(a.run(`DELETE FROM vault_chunks WHERE entryId IN (${c})`,[b]),g(a))try{a.run(`DELETE FROM ${e} WHERE entryId IN (${c})`,[b])}catch{}return a.run("DELETE FROM vault_entries WHERE expiresAt < ?",[b])?.changes??0}catch{return 0}}},70906:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{q:()=>i});var e=c(77168),f=c(77326);c(72345);var g=c(95695);c(63995);var h=a([e,g]);async function i(a,b=!1,c=null){let d=(0,g.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let h=await d.refreshCredentials(e,console,c);if(!h){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let j={updatedAt:new Date().toISOString()};h.accessToken&&(j.accessToken=h.accessToken),h.refreshToken&&(j.refreshToken=h.refreshToken),h.idToken&&(j.idToken=h.idToken),h.lastRefreshAt&&(j.lastRefreshAt=h.lastRefreshAt),h.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*h.expiresIn).toISOString(),j.expiresIn=h.expiresIn):h.expiresAt&&(j.expiresAt=h.expiresAt);let k={...h.providerSpecificData||{},...h.copilotToken?{copilotToken:h.copilotToken}:{},...h.copilotTokenExpiresAt?{copilotTokenExpiresAt:h.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,f.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},71137:(a,b,c)=>{"use strict";c.d(b,{CP:()=>p,yI:()=>m});var d=c(27137),e=c(74075);let f="1"===process.env.CURSOR_PROTOBUF_DEBUG,g=(a,...b)=>f&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return l(d,j(a.length),a)}return new Uint8Array(0)}function l(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function m(a,b,c=[],f=null,h=!1){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${f||"none"}, forceAgentMode=${h}`);let i=function(a,b,c=[],e=null,f=!1){return k(1,2,function(a,b,c=[],e=null,f=!1){let h,i=c?.length>0,m=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){g("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),h=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===h.size;if(i){for(let a of f)if(!h.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),l(...n.map(a=>k(1,2,function(a,b,c,d=!1,e=!1,f=[],g=null){let h=f.length>0;return l(k(1,2,a),k(2,0,b),k(13,2,c),...g?[k(32,2,g)]:[],...h?f.map(a=>k(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:m,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return l(k(1,2,h),k(2,2,e),k(3,0,j>0?j:1),...i?[k(12,2,i)]:[],k(5,2,f),k(8,2,function(a,b,c,d,e=1){return l(k(1,0,19),k(28,2,l(k(1,2,c),k(2,2,d))),k(35,2,a),...b?[k(48,2,b)]:[],k(49,0,e>0?e:1))}(h,i,n,g,j)),k(11,2,function(a,b,c,d,e,f,g=1){let h;return l(k(1,0,19),k(27,2,(h=l(k(1,2,c),k(3,2,e),k(4,2,d)),k(1,2,h))),k(3,2,a),k(9,2,b),k(10,2,e),k(48,0,g>0?g:1),...f?[k(49,2,f)]:[])}(h,e,n,m,f,i,j)))}(a))):[],k(29,0,+!!e),k(47,0,e?2:1),...d&&e?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(h=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,h),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!m),...m?[k(29,2,j(1))]:[],...o.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,m?2:1),k(47,2,""),k(48,0,+!m),k(49,0,q),k(51,0,0),k(53,0,1),k(54,2,m?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,f,h),n=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(e.gzipSync(Buffer.from(a))),d=1);let f=new Uint8Array(5+c.length);return f[0]=d,f[1]=c.length>>24&255,f[2]=c.length>>16&255,f[3]=c.length>>8&255,f[4]=255&c.length,f.set(c,5),f}(i,!1);return g("BODY",`Protobuf=${i.length}B, Framed=${n.length}B`),n}function n(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function o(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=o(b.get(27)[0].value);if(a.has(1)){let b=o(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71253:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_PRICING:()=>f,calculateCostFromTokens:()=>j,gH:()=>h,getPricingForModel:()=>i});var d=c(57690);let e={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},f={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},g=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function h(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function i(a,b){if(!b)return null;if(a&&f[a]?.[b])return f[a][b];let c=(0,d.KN)(b),i=function(a){let b=a.includes("/")?a.split("/").pop():a;if(e[b]||e[a])return e[b]||e[a];for(let{pattern:c,pricing:d}of g)if(h(c,b||a))return d;return null}(b);return c&&i?{...i,...c}:c||i}function j(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}},72285:(a,b,c)=>{"use strict";c.d(b,{h:()=>v});var d=c(77598),e=c(67671),f=c(38421),g=c(45431),h=c(98976),i=c(96997),j=c(10342),k=c(13161),l=c(49623),m=c(96930);let n=null;async function o(a="endpoint-proxy-salt"){let b=function(){if(n)return n;try{n=(0,m.machineIdSync)()}catch{n=d.randomUUID()}return n}();return d.createHash("sha256").update(b+a).digest("hex").substring(0,16)}var p=c(97137),q=c(83382);let r=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","include","temperature","top_p","max_output_tokens","parallel_tool_calls","text","metadata","prompt_cache_key"]),s=new Set(["low","medium","high","xhigh"]),t=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(a,b){return a._grokCliRequest||(a._grokCliRequest={sessionId:(0,l.oV)({headers:a.rawHeaders,body:b,connectionId:a.connectionId||a.id,workspaceId:a.providerSpecificData?.workspaceId,scope:"grok-cli"}),requestId:d.randomUUID(),agentId:a.providerSpecificData?.deviceId||null,turnIdx:1,model:null}),a._grokCliRequest}class v extends e.Hv{constructor(){super("grok-cli",f.xq["grok-cli"]||g.A.transport)}buildUrl(){return`${q.Nr}/responses`}resolveIdentity(){return q.s2}async refreshCredentials(a,b,c=null){if(!a?.refreshToken)return null;let d=await (0,i.$B)("grok-cli",a,b,c);return(0,h.hJ)("grok-cli",a,d)}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b),d=u(a,{});c["x-grok-session-id"]=d.sessionId,c["x-grok-conv-id"]=d.sessionId,c["x-grok-req-id"]=d.requestId,c["x-grok-turn-idx"]=String(d.turnIdx),d.agentId&&(c["x-grok-agent-id"]=d.agentId),d.model&&(c["x-grok-model-override"]=d.model);let e=a.providerSpecificData||{};return(e.email||a.email)&&(c["x-email"]=e.email||a.email),(e.userId||a.userId)&&(c["x-userid"]=e.userId||a.userId),c}transformRequest(a,b,c,d){var e;let f=u(d,b),g=(0,j.m)(b.input);g?b.input=g:Array.isArray(b.messages)&&(b.input=b.messages.map(a=>({type:"message",role:a.role||"user",content:"string"==typeof a.content?a.content:JSON.stringify(a.content??"")}))),b.input||(b.input=(0,j.m)("")),Array.isArray(b.input)&&(b.input=b.input.filter(a=>"string"==typeof a?!/^(rs|fc|resp|msg)_/.test(a):!a||"object"!=typeof a||"item_reference"!==a.type&&("string"==typeof a.id&&/^(rs|fc|resp|msg)_/.test(a.id)&&!t.test(a.id)&&delete a.id,!0))),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set;if(a.tools=a.tools.flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];if(["web_search","x_search","file_search","image_generation","code_interpreter","mcp","local_shell"].includes(a.type))return[a];let c=a.function&&"object"==typeof a.function?a.function:a,d="string"==typeof c.name?c.name.trim().slice(0,128):"";return d?(b.add(d),[{type:"function",name:d,...c.description?{description:String(c.description)}:{},parameters:"custom"===a.type?{type:"object",properties:{input:{type:"string"}},required:["input"]}:c.parameters||{type:"object",properties:{}}}]):[]}),0===a.tools.length)delete a.tools,delete a.tool_choice;else if(a.tool_choice&&"object"==typeof a.tool_choice){let c=a.tool_choice.name||a.tool_choice.function?.name;b.has(c)?a.tool_choice={type:"function",name:c}:delete a.tool_choice}}(b),f.turnIdx=Array.isArray(e=b.input)?Math.max(1,e.filter(a=>a?.role==="user"&&(!a.type||"message"===a.type)).length):1;let h=String(b.model||a||q.to),i=h.match(/-(low|medium|high|xhigh)$/)?.[1]||null,l=i?h.slice(0,-(i.length+1)):h;b.model=(0,k.kt)("gcli",l)||l,f.model=b.model;let m=b.reasoning&&"object"==typeof b.reasoning?b.reasoning:{};if(b.reasoning={...m,summary:m.summary||"concise"},(0,q.Au)(b.model)){let a;b.reasoning.effort="max"===(a=String(m.effort||b.reasoning_effort||i||"").trim().toLowerCase())?"xhigh":s.has(a)?a:"high"}else delete b.reasoning.effort;for(let a of(delete b.reasoning_effort,b.include=Array.isArray(b.include)?b.include:[],b.include.includes("reasoning.encrypted_content")||b.include.push("reasoning.encrypted_content"),b.stream=!0,b.store=!1,delete b.messages,delete b.max_tokens,delete b.max_completion_tokens,delete b.user,delete b.stream_options,delete b.previous_response_id,Object.keys(b)))r.has(a)||delete b[a];return b}async execute(a){var b;let c,d={...a.credentials||{}},e=u(d,a.body);return e.agentId||(b=await o("grok-cli-agent"),c=`${b}${b}`.replace(/[^0-9a-f]/gi,"0").padEnd(32,"0").slice(0,32),e.agentId=`${c.slice(0,8)}-${c.slice(8,12)}-5${c.slice(13,16)}-a${c.slice(17,20)}-${c.slice(20)}`),(0,p.v)({execute:()=>super.execute({...a,credentials:d}),retryConfig:this.config.retry,signal:a.signal,log:a.log,provider:"grok-cli"})}parseError(a,b){if(402===a.status&&b)try{let a=JSON.parse(b);return{status:402,message:a.error||a.message||b,code:a.code}}catch{}return super.parseError(a,b)}}},72345:(a,b,c)=>{"use strict";c(50969);var d=c(38528);c(10793),(0,d.U)("antigravity"),c(82961),c(20012),c(43835),(0,d.U)("minimax").urls,(0,d.U)("minimax-cn").urls,c(15251),c(83382),(0,d.U)("glm").url,(0,d.U)("glm-cn").url,(0,d.U)("vercel-ai-gateway").url},73081:(a,b,c)=>{"use strict";c(68531),c(18101),new TextEncoder},73135:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(84285),{RequestAbortedError:e}=c(61448),f=Symbol("kListener"),g=Symbol("kSignal");function h(a){a.abort?a.abort(a[g]?.reason):a.reason=a[g]?.reason??new e,i(a)}function i(a){a[g]&&("removeEventListener"in a[g]?a[g].removeEventListener("abort",a[f]):a[g].removeListener("abort",a[f]),a[g]=null,a[f]=null)}a.exports={addSignal:function(a,b){if(a.reason=null,a[g]=null,a[f]=null,b){if(b.aborted)return void h(a);a[g]=b,a[f]=()=>{h(a)},d(a[g],a[f])}},removeSignal:i}},73792:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OJ:()=>w});var e=c(77168),f=c(77326),g=c(82961),h=c(20012),i=c(95695),j=c(50969),k=c(63993),l=c(70906),m=c(78744),n=a([e,i,l]);[e,i,l]=n.then?(await n)():n;let x=m.oc;x.tickIntervalMs;let y={claude:{getUsage:g.g,sendPing:r},codex:{getUsage:h.Tl,sendPing:t}},z=global.__quotaAutoPing??={interval:null,running:!1,resetCache:{},failureCache:{}};function o(a){let b=new Date(a).getTime();return Number.isFinite(b)?new Date(6e4*Math.floor(b/6e4)).toISOString():a}function p(a,b=null){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function q(a){if(!a||!0===a.unlimited)return!1;let b=p(a.remaining);if(null!==b)return b<=0;let c=p(a.used),d=p(a.total);return null!==d&&d>0&&null!==c&&c>=d}async function r(a,b,c,d){return(await d.proxyAwareFetch("https://api.anthropic.com/v1/messages?beta=true",{method:"POST",headers:{Authorization:`Bearer ${a.accessToken}`,"content-type":"application/json"},body:JSON.stringify({model:b.pingModel,max_tokens:b.pingMaxTokens,messages:[{role:"user",content:b.pingText}]}),identity:"claude-cli",provider:"claude",format:"claude",credentialId:a.id,stream:!1,retryCount:0},c)).ok}async function s(a){if("function"==typeof a?.text)return void await a.text();let b=a?.body?.getReader?.();if(b)try{for(;;){let{done:a}=await b.read();if(a)return}}finally{b.releaseLock?.()}}async function t(a,b,c,d){var e;let f=d.getExecutor("codex"),{response:g}=await f.execute({model:b.pingModel,stream:!0,credentials:{accessToken:a.accessToken,connectionId:a.id,providerSpecificData:a.providerSpecificData},proxyOptions:c,log:console,body:{model:b.pingModel,input:(e=b.pingText,[{type:"message",role:"user",content:[{type:"input_text",text:e}]}]),instructions:b.pingInstructions,reasoning:b.pingReasoningEffort?{effort:b.pingReasoningEffort,summary:"auto"}:void 0,store:!1,stream:!0}});if(!g.ok){try{await g.body?.cancel?.()}catch{}return!1}return await s(g),!0}async function u(a,b,c,d,e,f=z){var g,h,i;let j=(g=a.id,`${b}:${g}`),k=f.resetCache[j];if(!c.pingWhenResetAtSlides&&k&&Date.now()<new Date(k).getTime()-x.refreshAheadMs||function(a,b,c=Date.now()){let d=a.failureCache[b];return d&&c-d<x.failureCooldownMs}(f,j))return;let l=(h=await e.resolveConnectionProxyConfig(a.providerSpecificData),{connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1}),m=a;try{m=(await e.refreshAndUpdateCredentials(m,!1,l)).connection}catch(c){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${a.id}: refresh failed: ${c.message}`);return}let n=await d.getUsage(m.accessToken,l),p=n?.quotas||{},r=p?.[c.quotaKey],s=function(a){if(!a||"object"!=typeof a)return null;if(!0===a.unlimited)return 100;let b=Number(a.remainingPercentage);if(Number.isFinite(b))return Math.max(0,Math.min(100,b));let c=Number(a.remaining),d=Number(a.total);return Number.isFinite(c)&&Number.isFinite(d)&&d>0?Math.max(0,Math.min(100,c/d*100)):Number.isFinite(c)?Math.max(0,c):null}(r);if(null!=s)try{await e.updateProviderConnection(m.id,{lastQuota:{remainingPercentage:s,resetAt:r.resetAt??null,at:Date.now()}})}catch{}let t=r?.resetAt;if(!t||(f.resetCache[j]=t,c.skipWhenBlockingQuotaExhausted&&(i=c.quotaKey,Object.entries(p||{}).some(([a,b])=>a!==i&&!String(a).toLowerCase().includes("session")&&q(b)))||q(r)))return;let v=Date.now(),w=o(t),y=m.lastPingedResetKey||o(m.lastPingedResetAt);if(!(!function(a,b,c,d){if(a.pingWhenResetAtSlides){let d,e;return!!b&&(d=new Date(b).getTime(),e=new Date(c).getTime(),(Number.isFinite(d)&&Number.isFinite(e)?e-d:0)>=(a.resetAtDriftMs||0))}let e=new Date(c).getTime();return Number.isFinite(e)&&d>=e-x.pingLeadMs}(c,k,t,v)||function(a,b,c=Date.now()){if(!b)return!1;let d=new Date(a.lastPingAt).getTime();return Number.isFinite(d)&&c-d<b}(m,c.minPingIntervalMs,v))&&y!==w){if(!await d.sendPing(m,c,l,e)){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${m.id}: ping failed (reset ${t})`);return}delete f.failureCache[j],await e.updateProviderConnection(m.id,{lastPingedResetAt:t,lastPingedResetKey:w,lastPingAt:new Date().toISOString(),updatedAt:new Date().toISOString()}),console.log(`[AutoPing] ${b}:${m.id}: ping sent (reset ${t})`)}}async function v(a={getSettings:f.mt,getProviderConnections:f.getProviderConnections,updateProviderConnection:f.updateProviderConnection,resolveConnectionProxyConfig:k.B,refreshAndUpdateCredentials:l.q,proxyAwareFetch:j.Fm,getExecutor:i.SB},b=z){if(!b.running){b.running=!0;try{let d=await a.getSettings();for(let[e,f]of Object.entries(x.providers)){let g=y[e];if(!g)continue;let h=d?.[f.settingsKey]?.connections||{};if(0!==Object.keys(h).length)for(let d of(await a.getProviderConnections({provider:e,isActive:!0})).filter(a=>"oauth"===a.authType&&!0===h[a.id]))try{await u(d,e,f,g,a,b)}catch(a){var c;b.failureCache[c=d.id,`${e}:${c}`]=Date.now(),console.warn(`[AutoPing] ${e}:${d.id}: ${a.message}`)}}}catch(a){console.warn("[AutoPing] tick error:",a.message)}finally{b.running=!1}}}function w(){!z.interval&&(console.log("[AutoPing] scheduler started"),v().catch(()=>{}),z.interval=setInterval(()=>{v().catch(()=>{})},x.tickIntervalMs),z.interval.unref&&z.interval.unref())}d()}catch(a){d(a)}})},74399:(a,b,c)=>{"use strict";let d=c(7344),{InvalidArgumentError:e}=c(61448),{toRawHeaders:f}=c(84285);class g{#at;constructor(a){this.#at=a}onRequestStart(a,b){this.#at.onConnect?.(b=>a.abort(b),b)}onRequestUpgrade(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#at.onUpgrade?.(b,e,d)}onResponseStart(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#at.onHeaders?.(b,e,()=>a.resume(),d)===!1&&a.pause()}onResponseData(a,b){this.#at.onData?.(b)===!1&&a.pause()}onResponseEnd(a,b){let c=a?.rawTrailers??f(b??{});this.#at.onComplete?.(c)}onResponseError(a,b){if(!this.#at.onError)throw b;this.#at.onError(b)}onBodySent(a){this.#at.onBodySent?.(a)}onRequestSent(){this.#at.onRequestSent?.()}onResponseStarted(){this.#at.onResponseStarted?.()}}class h extends d{#d;constructor(a){if(super(),!a||"function"!=typeof a.dispatch)throw new e("Argument dispatcher must implement dispatch");this.#d=a}static wrapHandler(a){if(!a||"object"!=typeof a)throw new e("handler must be an object");return"function"==typeof a.onRequestStart?a:new g(a)}dispatch(a,b){return!1!==a.allowH2&&(a={...a,allowH2:!1}),this.#d.dispatch(a,h.wrapHandler(b))}close(...a){return this.#d.close(...a)}destroy(...a){return this.#d.destroy(...a)}}a.exports=h},74570:(a,b,c)=>{"use strict";c.d(b,{Bi:()=>e,Es:()=>i,XP:()=>k,b8:()=>d,d:()=>h,ky:()=>j,w3:()=>l}),c(21820);let d="2023-06-01",e={"Anthropic-Version":d,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},f=["claude-code-20250219","oauth-2025-04-20","interleaved-thinking-2025-05-14","context-management-2025-06-27","prompt-caching-scope-2026-01-05","structured-outputs-2025-12-15","fast-mode-2026-02-01","redact-thinking-2026-02-12","token-efficient-tools-2026-03-28"],g=["advanced-tool-use-2025-11-20","effort-2025-11-24"];function h(a=""){let b=[...f];return/^claude-(opus|sonnet)/.test(a)&&b.push(...g),b.join(",")}let i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},l={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},75371:(a,b,c)=>{"use strict";c(68531),c(96684),c(62457)},76103:(a,b,c)=>{var d=c(45654);c(45518),c(63070),c(88819),c(36105),c(49345),c(56416),c(29984),c(33889),c(65737);var e=d.asn1,f=a.exports=d.pkcs7=d.pkcs7||{};function g(a){var b;if(a.type===d.pki.oids.contentType)b=e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.value).getBytes());else if(a.type===d.pki.oids.messageDigest)b=e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,a.value.bytes());else if(a.type===d.pki.oids.signingTime){var c=new Date("1950-01-01T00:00:00Z"),f=new Date("2050-01-01T00:00:00Z"),g=a.value;if("string"==typeof g){var h=Date.parse(g);g=isNaN(h)?13===g.length?e.utcTimeToDate(g):e.generalizedTimeToDate(g):new Date(h)}b=g>=c&&g<f?e.create(e.Class.UNIVERSAL,e.Type.UTCTIME,!1,e.dateToUtcTime(g)):e.create(e.Class.UNIVERSAL,e.Type.GENERALIZEDTIME,!1,e.dateToGeneralizedTime(g))}return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[b])])}function h(a,b,c){var f={};if(!e.validate(b,c,f,[])){var g=Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw g.errors=g,g}if(e.derToOid(f.contentType)!==d.pki.oids.data)throw Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(f.encryptedContent){var h="";if(d.util.isArray(f.encryptedContent))for(var i=0;i<f.encryptedContent.length;++i){if(f.encryptedContent[i].type!==e.Type.OCTETSTRING)throw Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");h+=f.encryptedContent[i].value}else h=f.encryptedContent;a.encryptedContent={algorithm:e.derToOid(f.encAlgorithm),parameter:d.util.createBuffer(f.encParameter.value),content:d.util.createBuffer(h)}}if(f.content){var h="";if(d.util.isArray(f.content))for(var i=0;i<f.content.length;++i){if(f.content[i].type!==e.Type.OCTETSTRING)throw Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");h+=f.content[i].value}else h=f.content;a.content=d.util.createBuffer(h)}return a.version=f.version.charCodeAt(0),a.rawCapture=f,f}function i(a){if(void 0===a.encryptedContent.key)throw Error("Symmetric key not available.");if(void 0===a.content){var b;switch(a.encryptedContent.algorithm){case d.pki.oids["aes128-CBC"]:case d.pki.oids["aes192-CBC"]:case d.pki.oids["aes256-CBC"]:b=d.aes.createDecryptionCipher(a.encryptedContent.key);break;case d.pki.oids.desCBC:case d.pki.oids["des-EDE3-CBC"]:b=d.des.createDecryptionCipher(a.encryptedContent.key);break;default:throw Error("Unsupported symmetric cipher, OID "+a.encryptedContent.algorithm)}if(b.start(a.encryptedContent.parameter),b.update(a.encryptedContent.content),!b.finish())throw Error("Symmetric decryption failed.");a.content=b.output}}f.messageFromPem=function(a){var b=d.pem.decode(a)[0];if("PKCS7"!==b.type){var c=Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var g=e.fromDer(b.body);return f.messageFromAsn1(g)},f.messageToPem=function(a,b){var c={type:"PKCS7",body:e.toDer(a.toAsn1()).getBytes()};return d.pem.encode(c,{maxline:b})},f.messageFromAsn1=function(a){var b,c={},g=[];if(!e.validate(a,f.asn1.contentInfoValidator,c,g)){var h=Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw h.errors=g,h}var i=e.derToOid(c.contentType);switch(i){case d.pki.oids.envelopedData:b=f.createEnvelopedData();break;case d.pki.oids.encryptedData:b=f.createEncryptedData();break;case d.pki.oids.signedData:b=f.createSignedData();break;default:throw Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return b.fromAsn1(c.content.value[0]),b},f.createSignedData=function(){var a=null;return a={type:d.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(b){if(h(a,b,f.asn1.signedDataValidator),a.certificates=[],a.crls=[],a.digestAlgorithmIdentifiers=[],a.contentInfo=null,a.signerInfos=[],a.rawCapture.certificates)for(var c=a.rawCapture.certificates.value,e=0;e<c.length;++e)a.certificates.push(d.pki.certificateFromAsn1(c[e]))},toAsn1:function(){a.contentInfo||a.sign();for(var b=[],c=0;c<a.certificates.length;++c)b.push(d.pki.certificateToAsn1(a.certificates[c]));var f=[],g=e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,a.digestAlgorithmIdentifiers),a.contentInfo])]);return b.length>0&&g.value[0].value.push(e.create(e.Class.CONTEXT_SPECIFIC,0,!0,b)),f.length>0&&g.value[0].value.push(e.create(e.Class.CONTEXT_SPECIFIC,1,!0,f)),g.value[0].value.push(e.create(e.Class.UNIVERSAL,e.Type.SET,!0,a.signerInfos)),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),g])},addSigner:function(b){var c=b.issuer,e=b.serialNumber;if(b.certificate){var f=b.certificate;"string"==typeof f&&(f=d.pki.certificateFromPem(f)),c=f.issuer.attributes,e=f.serialNumber}var g=b.key;if(!g)throw Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof g&&(g=d.pki.privateKeyFromPem(g));var h=b.digestAlgorithm||d.pki.oids.sha1;switch(h){case d.pki.oids.sha1:case d.pki.oids.sha256:case d.pki.oids.sha384:case d.pki.oids.sha512:case d.pki.oids.md5:break;default:throw Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+h)}var i=b.authenticatedAttributes||[];if(i.length>0){for(var j=!1,k=!1,l=0;l<i.length;++l){var m=i[l];if(!j&&m.type===d.pki.oids.contentType){if(j=!0,k)break;continue}if(!k&&m.type===d.pki.oids.messageDigest){if(k=!0,j)break;continue}}if(!j||!k)throw Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}a.signers.push({key:g,version:1,issuer:c,serialNumber:e,digestAlgorithm:h,signatureAlgorithm:d.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:i,unauthenticatedAttributes:[]})},sign:function(b){if(b=b||{},("object"!=typeof a.content||null===a.contentInfo)&&(a.contentInfo=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(d.pki.oids.data).getBytes())]),"content"in a)){var c;a.content instanceof d.util.ByteBuffer?c=a.content.bytes():"string"==typeof a.content&&(c=d.util.encodeUtf8(a.content)),b.detached?a.detachedContent=e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,c):a.contentInfo.value.push(e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,c)]))}0!==a.signers.length&&function(b){if(!(c=a.detachedContent?a.detachedContent:(c=a.contentInfo.value[1]).value[0]))throw Error("Could not sign PKCS#7 message; there is no content to sign.");var c,f=e.derToOid(a.contentInfo.value[0].value),h=e.toDer(c);for(var i in h.getByte(),e.getBerValueLength(h),h=h.getBytes(),b)b[i].start().update(h);for(var j=new Date,k=0;k<a.signers.length;++k){var l=a.signers[k];if(0===l.authenticatedAttributes.length){if(f!==d.pki.oids.data)throw Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var m=e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[]),n=0;n<l.authenticatedAttributes.length;++n){var o=l.authenticatedAttributes[n];o.type===d.pki.oids.messageDigest?o.value=b[l.digestAlgorithm].digest():o.type!==d.pki.oids.signingTime||o.value||(o.value=j),m.value.push(g(o)),l.authenticatedAttributesAsn1.value.push(g(o))}h=e.toDer(m).getBytes(),l.md.start().update(h)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}a.signerInfos=function(a){for(var b=[],c=0;c<a.length;++c)b.push(function(a){var b=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[d.pki.distinguishedNameToAsn1({attributes:a.issuer}),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,d.util.hexToBytes(a.serialNumber))]),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.digestAlgorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")])]);if(a.authenticatedAttributesAsn1&&b.value.push(a.authenticatedAttributesAsn1),b.value.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.signatureAlgorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")])),b.value.push(e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,a.signature)),a.unauthenticatedAttributes.length>0){for(var c=e.create(e.Class.CONTEXT_SPECIFIC,1,!0,[]),f=0;f<a.unauthenticatedAttributes.length;++f){var h=a.unauthenticatedAttributes[f];c.values.push(g(h))}b.value.push(c)}return b}(a[c]));return b}(a.signers)}(function(){for(var b={},c=0;c<a.signers.length;++c){var f=a.signers[c],g=f.digestAlgorithm;g in b||(b[g]=d.md[d.pki.oids[g]].create()),0===f.authenticatedAttributes.length?f.md=b[g]:f.md=d.md[d.pki.oids[g]].create()}for(var g in a.digestAlgorithmIdentifiers=[],b)a.digestAlgorithmIdentifiers.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(g).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]));return b}())},verify:function(){throw Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(b){"string"==typeof b&&(b=d.pki.certificateFromPem(b)),a.certificates.push(b)},addCertificateRevokationList:function(a){throw Error("PKCS#7 CRL support not yet implemented.")}}},f.createEncryptedData=function(){var a=null;return a={type:d.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:d.pki.oids["aes256-CBC"]},fromAsn1:function(b){h(a,b,f.asn1.encryptedDataValidator)},decrypt:function(b){void 0!==b&&(a.encryptedContent.key=b),i(a)}}},f.createEnvelopedData=function(){var a=null;return a={type:d.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:d.pki.oids["aes256-CBC"]},fromAsn1:function(b){var c=h(a,b,f.asn1.envelopedDataValidator);a.recipients=function(a){for(var b=[],c=0;c<a.length;++c)b.push(function(a){var b={},c=[];if(!e.validate(a,f.asn1.recipientInfoValidator,b,c)){var g=Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw g.errors=c,g}return{version:b.version.charCodeAt(0),issuer:d.pki.RDNAttributesAsArray(b.issuer),serialNumber:d.util.createBuffer(b.serial).toHex(),encryptedContent:{algorithm:e.derToOid(b.encAlgorithm),parameter:b.encParameter?b.encParameter.value:void 0,content:b.encKey}}}(a[c]));return b}(c.recipientInfos.value)},toAsn1:function(){var b;return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,function(a){for(var b,c=[],f=0;f<a.length;++f)c.push((b=a[f],e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(b.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[d.pki.distinguishedNameToAsn1({attributes:b.issuer}),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,d.util.hexToBytes(b.serialNumber))]),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(b.encryptedContent.algorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.encryptedContent.content)])));return c}(a.recipients)),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,(b=a.encryptedContent,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(d.pki.oids.data).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(b.algorithm).getBytes()),b.parameter?e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.parameter.getBytes()):void 0]),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.content.getBytes())])]))])])])},findRecipient:function(b){for(var c=b.issuer.attributes,d=0;d<a.recipients.length;++d){var e=a.recipients[d],f=e.issuer;if(e.serialNumber===b.serialNumber&&f.length===c.length){for(var g=!0,h=0;h<c.length;++h)if(f[h].type!==c[h].type||f[h].value!==c[h].value){g=!1;break}if(g)return e}}return null},decrypt:function(b,c){if(void 0===a.encryptedContent.key&&void 0!==b&&void 0!==c)switch(b.encryptedContent.algorithm){case d.pki.oids.rsaEncryption:case d.pki.oids.desCBC:var e=c.decrypt(b.encryptedContent.content);a.encryptedContent.key=d.util.createBuffer(e);break;default:throw Error("Unsupported asymmetric cipher, OID "+b.encryptedContent.algorithm)}i(a)},addRecipient:function(b){a.recipients.push({version:0,issuer:b.issuer.attributes,serialNumber:b.serialNumber,encryptedContent:{algorithm:d.pki.oids.rsaEncryption,key:b.publicKey}})},encrypt:function(b,c){if(void 0===a.encryptedContent.content){switch(c=c||a.encryptedContent.algorithm,b=b||a.encryptedContent.key,c){case d.pki.oids["aes128-CBC"]:e=16,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["aes192-CBC"]:e=24,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["aes256-CBC"]:e=32,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["des-EDE3-CBC"]:e=24,f=8,g=d.des.createEncryptionCipher;break;default:throw Error("Unsupported symmetric cipher, OID "+c)}if(void 0===b)b=d.util.createBuffer(d.random.getBytes(e));else if(b.length()!=e)throw Error("Symmetric key has wrong length; got "+b.length()+" bytes, expected "+e+".");a.encryptedContent.algorithm=c,a.encryptedContent.key=b,a.encryptedContent.parameter=d.util.createBuffer(d.random.getBytes(f));var e,f,g,h=g(b);if(h.start(a.encryptedContent.parameter.copy()),h.update(a.content),!h.finish())throw Error("Symmetric encryption failed.");a.encryptedContent.content=h.output}for(var i=0;i<a.recipients.length;++i){var j=a.recipients[i];if(void 0===j.encryptedContent.content)if(j.encryptedContent.algorithm===d.pki.oids.rsaEncryption)j.encryptedContent.content=j.encryptedContent.key.encrypt(a.encryptedContent.key.data);else throw Error("Unsupported asymmetric cipher, OID "+j.encryptedContent.algorithm)}}}}},76316:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,NotSupportedError:e}=c(61448),f=c(34589),{isValidHTTPToken:g,isValidHeaderValue:h,isStream:i,destroy:j,isBuffer:k,isFormDataLike:l,isIterable:m,hasSafeIterator:n,isBlobLike:o,serializePathWithQuery:p,parseHeaders:q,assertRequestHandler:r,getServerName:s,normalizedMethodRecords:t,getProtocolFromUrlString:u}=c(84285),{channels:v}=c(62571),{headerNameLowerCasedRecord:w}=c(28820),x=/[^\u0021-\u00ff]/,y=Symbol("handler"),z=Symbol("controller"),A=Symbol("resume");class B{#bt=!1;#bu=null;#L=!1;#bv;[A]=null;rawHeaders=null;rawTrailers=null;constructor(a){this.#bv=a}pause(){this.#bt=!0}resume(){this.#bt&&(this.#bt=!1,this[A]?.())}abort(a){this.#L||(this.#L=!0,this.#bu=a,this.#bv(a))}get aborted(){return this.#L}get reason(){return this.#bu}get paused(){return this.#bt}}class C{constructor(a,{path:b,method:c,body:e,headers:f,query:q,idempotent:w,blocking:z,upgrade:A,headersTimeout:B,bodyTimeout:C,reset:E,expectContinue:F,servername:G,throwOnError:H,maxRedirections:I,typeOfService:J},K){if("string"!=typeof b)throw new d("path must be a string");if("/"===b[0]||b.startsWith("http://")||b.startsWith("https://")||"CONNECT"===c){if(x.test(b))throw new d("invalid request path")}else throw new d("path must be an absolute URL or start with a slash");if("string"!=typeof c)throw new d("method must be a string");if(void 0===t[c]&&!g(c))throw new d("invalid request method");if(A&&"string"!=typeof A)throw new d("upgrade must be a string");if(A&&!h(A))throw new d("invalid upgrade header");if(null!=B&&(!Number.isFinite(B)||B<0))throw new d("invalid headersTimeout");if(null!=C&&(!Number.isFinite(C)||C<0))throw new d("invalid bodyTimeout");if(null!=E&&"boolean"!=typeof E)throw new d("invalid reset");if(null!=F&&"boolean"!=typeof F)throw new d("invalid expectContinue");if(null!=H)throw new d("invalid throwOnError");if(null!=I&&0!==I)throw new d("maxRedirections is not supported, use the redirect interceptor");if(null!=J&&(!Number.isInteger(J)||J<0||J>255))throw new d("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=B,this.bodyTimeout=C,this.method=c,this.typeOfService=J,this.abort=null,null==e)this.body=null;else if(i(e)){this.body=e;const a=this.body._readableState;a&&a.autoDestroy||(this.endHandler=function(){j(this)},this.body.on("end",this.endHandler)),this.errorHandler=a=>{this.abort?this.abort(a):this.error=a},this.body.on("error",this.errorHandler)}else if(k(e))this.body=e.byteLength?e:null;else if(ArrayBuffer.isView(e))this.body=e.buffer.byteLength?Buffer.from(e.buffer,e.byteOffset,e.byteLength):null;else if(e instanceof ArrayBuffer)this.body=e.byteLength?Buffer.from(e):null;else if("string"==typeof e)this.body=e.length?Buffer.from(e):null;else if(l(e)||m(e)||o(e))this.body=e;else throw new d("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=A||null,this.path=q?p(b,q):b,this.origin=a,this.protocol=u(a),this.idempotent=null==w?"HEAD"===c||"GET"===c||"QUERY"===c:w,this.blocking=z??"HEAD"!==this.method,this.reset=null==E?null:E,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=null!=F&&F,Array.isArray(f)){if(f.length%2!=0)throw new d("headers array must be even");for(let a=0;a<f.length;a+=2)D(this,f[a],f[a+1])}else if(f&&"object"==typeof f)if(n(f))for(const a of f){if(!Array.isArray(a)||2!==a.length)throw new d("headers must be in key-value pair format");D(this,a[0],a[1])}else{const a=Object.keys(f);for(let b=0;b<a.length;++b)D(this,a[b],f[a[b]])}else if(null!=f)throw new d("headers must be an object or an array");r(K,c,A),this.servername=G||s(this.host)||null,this[y]=K,v.create.hasSubscribers&&v.create.publish({request:this})}onBodySent(a){if(v.bodyChunkSent.hasSubscribers&&v.bodyChunkSent.publish({request:this,chunk:a}),this[y].onBodySent)try{return this[y].onBodySent(a)}catch(a){this.abort(a)}}onRequestSent(){if(v.bodySent.hasSubscribers&&v.bodySent.publish({request:this}),this[y].onRequestSent)try{return this[y].onRequestSent()}catch(a){this.abort(a)}}onRequestStart(a,b){return(f(!this.aborted),f(!this.completed),this[z]=new B(a),this.error)?void this[z].abort(this.error):(this.abort=a,this[y].onRequestStart(this[z],b))}onResponseStarted(){return this[y].onResponseStarted?.()}onResponseStart(a,b,c,d){f(!this.aborted),f(!this.completed),v.headers.hasSubscribers&&v.headers.publish({request:this,response:{statusCode:a,headers:b,statusText:d}});let e=this[z];e&&(e[A]=c,e.rawHeaders=b);let g=Array.isArray(b)?q(b):b;try{return this[y].onResponseStart?.(e,a,g,d),!e?.paused}catch(a){return this.abort(a),!1}}onResponseData(a){f(!this.aborted),f(!this.completed),v.bodyChunkReceived.hasSubscribers&&v.bodyChunkReceived.publish({request:this,chunk:a});let b=this[z];try{return this[y].onResponseData?.(b,a),!b?.paused}catch(a){return this.abort(a),!1}}onRequestUpgrade(a,b,c){f(!this.aborted),f(!this.completed);let d=this[z];d&&(d.rawHeaders=b);let e=Array.isArray(b)?q(b):b;return this[y].onRequestUpgrade?.(d,a,e,c)}onResponseEnd(a){this.onFinally(),f(!this.aborted),f(!this.completed),this.completed=!0,v.trailers.hasSubscribers&&v.trailers.publish({request:this,trailers:a});let b=this[z];b&&(b.rawTrailers=a);let c=Array.isArray(a)?q(a):a;try{return this[y].onResponseEnd?.(b,c)}catch(a){this.onResponseError(a)}}onResponseError(a){if(this.onFinally(),v.error.hasSubscribers&&v.error.publish({request:this,error:a}),this.aborted)return;this.aborted=!0;let b=this[z];return this[y].onResponseError?.(b,a)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(a,b){return D(this,a,b),this}}function D(a,b,c){if(c&&"object"==typeof c&&!Array.isArray(c))throw new d(`invalid ${b} header`);if(void 0===c)return;let f=w[b];if(void 0===f&&void 0===w[f=b.toLowerCase()]&&!g(f))throw new d("invalid header key");if(Array.isArray(c)){let a=[];for(let e=0;e<c.length;e++)if("string"==typeof c[e]){if(!h(c[e]))throw new d(`invalid ${b} header`);a.push(c[e])}else if(null===c[e])a.push("");else if("object"==typeof c[e])throw new d(`invalid ${b} header`);else{let f=`${c[e]}`;if(!h(f))throw new d(`invalid ${b} header`);a.push(f)}c=a}else if("string"==typeof c){if(!h(c))throw new d(`invalid ${b} header`)}else if(null===c)c="";else if(!h(c=`${c}`))throw new d(`invalid ${b} header`);if("host"===f){if(null!==a.host)throw new d("duplicate host header");if("string"!=typeof c)throw new d("invalid host header");a.host=c}else if("content-length"===f){if(null!==a.contentLength)throw new d("duplicate content-length header");if(!function(a){if("string"!=typeof a||0===a.length)return!1;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<48||c>57)return!1}return!0}(c))throw new d("invalid content-length header");a.contentLength=parseInt(c,10)}else if(null===a.contentType&&"content-type"===f)a.contentType=c,a.headers.push(b,c);else if("transfer-encoding"===f||"keep-alive"===f||"upgrade"===f)throw new d(`invalid ${f} header`);else if("connection"===f){let b="string"==typeof c?c:null;if(null===b)throw new d("invalid connection header");for(let c of b.toLowerCase().split(",")){let b=c.trim();if(!g(b))throw new d("invalid connection header");"close"===b&&(a.reset=!0)}}else if("expect"===f)throw new e("expect header not supported");else a.headers.push(b,c)}a.exports=C},76403:(a,b,c)=>{"use strict";let d,{makeNetworkError:e,makeAppropriateNetworkError:f,filterResponse:g,makeResponse:h,fromInnerResponse:i,getResponseState:j}=c(78196),{HeadersList:k}=c(28665),{Request:l,cloneRequest:m,getRequestDispatcher:n,getRequestState:o,removeRequestAbortListener:p}=c(12600),q=c(38522),{makePolicyContainer:r,clonePolicyContainer:s,requestBadPort:t,TAOCheck:u,appendRequestOriginHeader:v,responseLocationURL:w,requestCurrentURL:x,setRequestReferrerPolicyOnRedirect:y,tryUpgradeRequestToAPotentiallyTrustworthyURL:z,createOpaqueTimingInfo:A,appendFetchMetadata:B,corsCheck:C,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:E,coarsenedSharedCurrentTime:F,sameOrigin:G,isCancelled:H,isAborted:I,isErrorLike:J,fullyReadBody:K,readableStreamClose:L,urlIsLocal:M,urlIsHttpHttpsScheme:N,urlHasHttpsScheme:O,clampAndCoarsenConnectionTimingInfo:P,simpleRangeHeaderValue:Q,buildContentRange:R,createInflate:S,extractMimeType:T,hasAuthenticationEntry:U,includesCredentials:V,isTraversableNavigable:W}=c(42425),X=c(34589),{safelyExtractBody:Y,extractBody:Z}=c(35381),{redirectStatusSet:$,nullBodyStatus:_,safeMethodsSet:aa,requestBodyHeader:ab,subresourceSet:ac}=c(19608),ad=c(78474),{Readable:ae,pipeline:af,finished:ag,isErrored:ah,isReadable:ai}=c(57075),{addAbortListener:aj,bufferToLowerCasedHeaderName:ak}=c(84285),{dataURLProcessor:al,serializeAMimeType:am,minimizeSupportedMimeType:an}=c(16537),{getGlobalDispatcher:ao}=c(59970),{webidl:ap}=c(32984),{STATUS_CODES:aq}=c(37067),{bytesMatch:ar}=c(64371),{isomorphicEncode:as}=c(70745),at=["GET","HEAD"],au="u">typeof __UNDICI_IS_NODE__||"u">typeof esbuildDetection?"node":"undici";function av(a,b,c){if(Array.isArray(c)){for(let b=0;b<c.length;b+=2){let d=ak(c[b]),e=c[b+1];if(Array.isArray(e)&&!Buffer.isBuffer(e))for(let b of e)a.append(d,b.toString("latin1"),!0);else a.append(d,e.toString("latin1"),!0)}return}for(let[c,d]of Object.entries(b??{}))if(Array.isArray(d))for(let b of d)a.append(c,`${b}`,!0);else a.append(c,`${d}`,!0)}class aw extends ad{constructor(a){super(),this.dispatcher=a,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(a){"ongoing"===this.state&&(this.state="terminated",this.connection?.destroy(a),this.emit("terminated",a))}abort(a){"ongoing"===this.state&&(this.state="aborted",a||(a=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=a,this.connection?.destroy(a),this.emit("terminated",a))}}function ax(a,b="other"){if("error"===a.type&&a.aborted||!a.urlList?.length)return;let c=a.urlList[0],d=a.timingInfo,e=a.cacheState;N(c)&&null!==d&&(a.timingAllowPassed||(d=A({startTime:d.startTime}),e=""),d.endTime=F(),a.timingInfo=d,ay(d,c.href,b,globalThis,e,"",a.status))}let ay=performance.markResourceTiming;function az(a,b,c,d,e){if(a&&a.reject(d),b.body?.stream!=null&&ai(b.body.stream)&&b.body.stream.cancel(d).catch(a=>{if("ERR_INVALID_STATE"!==a.code)throw a}),null==c)return;let f=j(c);f.body?.stream!=null&&ai(f.body.stream)&&e.error(d)}function aA({request:a,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseEndOfBody:e,processResponseConsumeBody:f,useParallelQueue:g=!1,dispatcher:h=ao(),requestObject:i=null}){X(h);let j=null,k=!1;null!=a.client&&(j=a.client.globalObject,k=a.client.crossOriginIsolatedCapability);let l=A({startTime:F(k)}),m={controller:new aw(h),request:a,timingInfo:l,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseConsumeBody:f,processResponseEndOfBody:e,taskDestination:j,crossOriginIsolatedCapability:k,requestObject:i};return X(!a.body||a.body.stream),"client"===a.window&&(a.window=a.client?.globalObject?.constructor?.name==="Window"?a.client:"no-window"),"client"===a.origin&&(a.origin=a.client.origin),"client"===a.policyContainer&&(null!=a.client?a.policyContainer=s(a.client.policyContainer):a.policyContainer=r()),a.headersList.contains("accept",!0)||a.headersList.append("accept","*/*",!0),a.headersList.contains("accept-language",!0)||a.headersList.append("accept-language","*",!0),a.priority,ac.has(a.destination),aB(m,!1),m.controller}async function aB(a,b){try{let c=a.request,d=null;if(c.localURLsOnly&&!M(x(c))&&(d=e("local URLs only")),z(c),"blocked"===t(c)&&(d=e("bad port")),""===c.referrerPolicy&&(c.referrerPolicy=c.policyContainer.referrerPolicy),"no-referrer"!==c.referrer&&(c.referrer=E(c)),null===d){let b=x(c);G(b,c.url)&&"basic"===c.responseTainting||"data:"===b.protocol||"navigate"===c.mode||"websocket"===c.mode?(c.responseTainting="basic",d=await aC(a)):"same-origin"===c.mode?d=e('request mode cannot be "same-origin"'):"no-cors"===c.mode?"follow"!==c.redirect?d=e('redirect mode cannot be "follow" for "no-cors" request'):(c.responseTainting="opaque",d=await aC(a)):N(x(c))?(c.responseTainting="cors",d=await aE(a)):d=e("URL scheme must be a HTTP(S) scheme")}if(b)return d;0===d.status||d.internalResponse||(c.responseTainting,"basic"===c.responseTainting?d=g(d,"basic"):"cors"===c.responseTainting?d=g(d,"cors"):"opaque"===c.responseTainting?d=g(d,"opaque"):X(!1));let f=0===d.status?d:d.internalResponse;if(0===f.urlList.length&&f.urlList.push(...c.urlList),c.timingAllowFailed||(d.timingAllowPassed=!0),"opaque"===d.type&&206===f.status&&f.rangeRequested&&!c.headers.contains("range",!0)&&(d=f=e()),0!==d.status&&("HEAD"===c.method||"CONNECT"===c.method||_.includes(f.status))&&(f.body=null,a.controller.dump=!0),c.integrity){let b=b=>aD(a,e(b));if("opaque"===c.responseTainting||null==d.body)return void b(d.error);K(d.body,e=>{ar(e,c.integrity)?(d.body=Y(e)[0],aD(a,d)):b("integrity mismatch")},b)}else aD(a,d)}catch(b){a.controller.terminate(b)}}function aC(a){if(H(a)&&0===a.request.redirectCount)return Promise.resolve(f(a));let{request:b}=a,{protocol:g}=x(b);switch(g){case"about:":return Promise.resolve(e("about scheme is not supported"));case"blob:":{d||(d=c(4573).resolveObjectURL);let a=x(b);if(0!==a.search.length)return Promise.resolve(e("NetworkError when attempting to fetch resource."));let f=d(a.toString());if("GET"!==b.method||!ap.is.Blob(f))return Promise.resolve(e("invalid method"));let g=h(),i=f.size,j=as(`${i}`),k=f.type;if(b.headersList.contains("range",!0)){g.rangeRequested=!0;let a=Q(b.headersList.get("range",!0),!0);if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));let{rangeStartValue:c,rangeEndValue:d}=a;if(null===c)d=(c=i-d)+d-1;else{if(c>=i)return Promise.resolve(e("Range start is greater than the blob's size."));(null===d||d>=i)&&(d=i-1)}let h=f.slice(c,d+1,k);g.body=Z(h)[0];let j=as(`${h.size}`),l=R(c,d,i);g.status=206,g.statusText="Partial Content",g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0),g.headersList.set("content-range",l,!0)}else{let a=Z(f);g.statusText="OK",g.body=a[0],g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0)}return Promise.resolve(g)}case"data:":{let a=al(x(b));if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));return Promise.resolve(h({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:am(a.mimeType)}]],body:Y(a.body)[0]}))}case"file:":return Promise.resolve(e("not implemented... yet..."));case"http:":case"https:":return aE(a).catch(a=>e(a));default:return Promise.resolve(e("unknown scheme"))}}function aD(a,b){let c=a.timingInfo,d=()=>{let d=Date.now();"document"===a.request.destination&&(a.controller.fullTimingInfo=c),a.controller.reportTimingSteps=()=>{if(!N(a.request.url))return;c.endTime=d;let e=b.cacheState,f=b.bodyInfo;b.timingAllowPassed||(c=A(c),e="");let g=0;if("navigate"!==a.request.mode||!b.hasCrossOriginRedirects){g=b.status;let a=T(b.headersList);"failure"!==a&&(f.contentType=an(a))}null!=a.request.initiatorType&&ay(c,a.request.url.href,a.request.initiatorType,globalThis,e,f,g)},queueMicrotask(()=>void(a.request.done=!0,null!=a.processResponseEndOfBody&&queueMicrotask(()=>a.processResponseEndOfBody(b)),null!=a.request.initiatorType&&a.controller.reportTimingSteps()))};null!=a.processResponse&&queueMicrotask(()=>{a.processResponse(b),a.processResponse=null});let e="error"===b.type?b:b.internalResponse??b;null==e.body?d():ag(e.body.stream,()=>{d()})}async function aE(a){let b=a.request,c=null,d=null,f=a.timingInfo;if(b.serviceWorkers,null===c){if("follow"===b.redirect&&(b.serviceWorkers="none"),d=c=await aF(a),"cors"===b.responseTainting&&"failure"===C(b,c))return e("cors failure");"failure"===u(b,c)&&(b.timingAllowFailed=!0)}return("opaque"===b.responseTainting||"opaque"===c.type)&&"blocked"===D(b.origin,b.client,b.destination,d)?e("blocked"):($.has(d.status)&&("manual"!==b.redirect&&a.controller.connection.destroy(void 0,!1),"error"===b.redirect?c=e("unexpected redirect"):"manual"===b.redirect?c=d:"follow"===b.redirect?c=await function(a,b){let c,d=a.request,f=b.internalResponse?b.internalResponse:b;try{if(c=w(f,x(d).hash),null==c)return b}catch(a){return Promise.resolve(e(a))}if(!N(c))return Promise.resolve(e("URL scheme must be a HTTP(S) scheme"));if(20===d.redirectCount)return Promise.resolve(e("redirect count exceeded"));if(d.redirectCount+=1,"cors"===d.mode&&(c.username||c.password)&&!G(d,c))return Promise.resolve(e('cross origin not allowed for request mode "cors"'));if("cors"===d.responseTainting&&(c.username||c.password))return Promise.resolve(e('URL cannot contain credentials for request mode "cors"'));if(303!==f.status&&null!=d.body&&null==d.body.source)return Promise.resolve(e());if([301,302].includes(f.status)&&"POST"===d.method||303===f.status&&!at.includes(d.method))for(let a of(d.method="GET",d.body=null,ab))d.headersList.delete(a);G(x(d),c)||(d.headersList.delete("authorization",!0),d.headersList.delete("proxy-authorization",!0),d.headersList.delete("cookie",!0),d.headersList.delete("host",!0)),null!=d.body&&(X(null!=d.body.source),d.body=Y(d.body.source)[0]);let g=a.timingInfo;return g.redirectEndTime=g.postRedirectStartTime=F(a.crossOriginIsolatedCapability),0===g.redirectStartTime&&(g.redirectStartTime=g.startTime),d.urlList.push(c),y(d,f),aB(a,!0)}(a,c):X(!1)),c.timingInfo=f,c)}async function aF(a,b=!1,c=!1){let d=a.request,g=null,h=null,i=null;"no-window"===d.window&&"error"===d.redirect?(g=a,h=d):(d.body?.source!=null?h=m(d):(h=m({...d,body:null})).body=d.body,(g={...a}).request=h);let j="include"===d.credentials||"same-origin"===d.credentials&&"basic"===d.responseTainting,k=h.body?h.body.length:null,l=null;if(null==h.body&&["POST","PUT"].includes(h.method)&&(l="0"),null!=k&&(l=as(`${k}`)),null==l||h.headersList.contains("content-length",!0)||h.headersList.append("content-length",l,!0),null!=k&&h.keepalive,ap.is.URL(h.referrer)&&h.headersList.append("referer",as(h.referrer.href),!0),v(h),B(h),h.headersList.contains("user-agent",!0)||h.headersList.append("user-agent",au,!0),"default"===h.cache&&(h.headersList.contains("if-modified-since",!0)||h.headersList.contains("if-none-match",!0)||h.headersList.contains("if-unmodified-since",!0)||h.headersList.contains("if-match",!0)||h.headersList.contains("if-range",!0))&&(h.cache="no-store"),"no-cache"!==h.cache||h.preventNoCacheCacheControlHeaderModification||h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","max-age=0",!0),("no-store"===h.cache||"reload"===h.cache)&&(h.headersList.contains("pragma",!0)||h.headersList.append("pragma","no-cache",!0),h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","no-cache",!0)),h.headersList.contains("range",!0)&&h.headersList.append("accept-encoding","identity",!0),h.headersList.contains("accept-encoding",!0)||(O(x(h))?h.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):h.headersList.append("accept-encoding","gzip, deflate",!0)),h.headersList.delete("host",!0),j&&!h.headersList.contains("authorization",!0)){let a=null;if(U(h)&&(void 0===h.useURLCredentials||!V(x(h))));else if(V(x(h))&&b){let{username:b,password:c}=x(h);a=`Basic ${Buffer.from(`${b}:${c}`).toString("base64")}`}null!==a&&h.headersList.append("Authorization",a,!1)}if(h.cache="no-store","no-store"!==h.cache&&h.cache,null==i){if("only-if-cached"===h.cache)return e("only if cached");let a=await aG(g,j,c);!aa.has(h.method)&&a.status>=200&&a.status,null==i&&(i=a)}if(i.urlList=[...h.urlList],h.headersList.contains("range",!0)&&(i.rangeRequested=!0),i.requestIncludesCredentials=j,401===i.status&&"cors"!==h.responseTainting&&j&&(void 0!==d.useURLCredentials||W(d.traversableForUserPrompts))){if(null!=d.body){if(null==d.body.source)return i;d.body=Y(d.body.source)[0]}if(void 0===d.useURLCredentials||b)return H(a)?f(a):i;a.controller.connection.destroy(),i=await aF(a,!0)}if(407===i.status)return"no-window"===d.window?e():H(a)?f(a):e("proxy authentication required");if(421===i.status&&!c&&(null==d.body||null!=d.body.source)){if(H(a))return f(a);a.controller.connection.destroy(),i=await aF(a,b,!0)}return i}async function aG(a,b=!1,c=!1){X(!a.controller.connection||a.controller.connection.destroyed),a.controller.connection={abort:null,destroyed:!1,destroy(a,b=!0){!this.destroyed&&(this.destroyed=!0,b&&this.abort?.(a??new DOMException("The operation was aborted.","AbortError")))}};let d=a.request,g=null,i=a.timingInfo;d.cache="no-store",d.mode;let j=null;if(null==d.body&&a.processRequestEndOfBody)queueMicrotask(()=>a.processRequestEndOfBody());else if(null!=d.body){let b=async function*(b){H(a)||(yield b,a.processRequestBodyChunkLength?.(b.byteLength))};j=async function*(){try{for await(let a of d.body.stream)yield*b(a);!H(a)&&a.processRequestEndOfBody&&a.processRequestEndOfBody()}catch(b){H(a)||("AbortError"===b.name?a.controller.abort():a.controller.terminate(b))}}()}try{let{body:b,status:c,statusText:e,headersList:f,socket:l}=await function({body:b}){let c=x(d),e=a.controller.dispatcher,f=c.pathname+c.search,g=0===c.search.length&&"?"===c.href[c.href.length-c.hash.length-1];return function b(h,j){return new Promise((l,m)=>e.dispatch({path:g?`${f}?`:f,origin:c.origin,method:d.method,body:e.isMockActive?d.body&&(d.body.source||d.body.stream):h,__mockAgentBodyForDispatch:h,headers:d.headersList.entries,maxRedirections:0,upgrade:"websocket"===d.mode?"websocket":void 0,...!1===j?{allowH2:j}:null},{body:null,abort:null,onRequestStart(b){let{connection:c}=a.controller;i.finalConnectionTimingInfo=P(void 0,i.postRedirectStartTime,a.crossOriginIsolatedCapability);let d=a=>b.abort(a);c.destroyed?d(new DOMException("The operation was aborted.","AbortError")):(a.controller.on("terminated",d),this.abort=c.abort=d),i.finalNetworkRequestStartTime=F(a.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=F(a.crossOriginIsolatedCapability)},onResponseStart(a,b,c,e){if(b<200)return;let f=a?.rawHeaders??[],g=new k;av(g,c,f);let h=g.get("location",!0);this.body=new ae({read:()=>a.resume()});let i=h&&"follow"===d.redirect&&$.has(b),j=[];if("HEAD"!==d.method&&"CONNECT"!==d.method&&!_.includes(b)&&!i){let a=g.get("content-encoding",!0),b=a?a.toLowerCase().split(","):[];if(b.length>5)return void m(Error(`too many content-encodings in response: ${b.length}, maximum allowed is 5`));for(let a=b.length-1;a>=0;--a){let c=b[a].trim();if("x-gzip"===c||"gzip"===c)j.push(q.createGunzip({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("deflate"===c)j.push(S({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("br"===c)j.push(q.createBrotliDecompress({flush:q.constants.BROTLI_OPERATION_FLUSH,finishFlush:q.constants.BROTLI_OPERATION_FLUSH}));else if("zstd"===c)j.push(q.createZstdDecompress({flush:q.constants.ZSTD_e_continue,finishFlush:q.constants.ZSTD_e_end}));else{j.length=0;break}}}let n=b=>this.onResponseError(a,b);l({status:b,statusText:e,headersList:g,body:j.length?af(this.body,...j,b=>{b&&this.onResponseError(a,b)}).on("error",n):this.body.on("error",n)})},onResponseData(b,c){a.controller.dump||(i.encodedBodySize+=c.byteLength,!1===this.body.push(c)&&b.pause())},onResponseEnd(){this.abort&&a.controller.off("terminated",this.abort),a.controller.ended=!0,this.body?.push(null)},onResponseError(c,e){(this.abort&&a.controller.off("terminated",this.abort),"websocket"===d.mode&&!1!==j&&e?.code==="UND_ERR_INFO"&&e?.message==="HTTP/2: Extended CONNECT protocol not supported by server")?l(b(h,!1)):(this.body?.destroy(e),a.controller.terminate(e),m(e))},onRequestUpgrade(a,b,c,d){if(null!=d.session&&200!==b||null==d.session&&101!==b)return!1;let e=a?.rawHeaders??[],f=new k;return av(f,c,e),l({status:b,statusText:aq[b],headersList:f,socket:d}),!0}}))}(b)}({body:j});if(l)g=h({status:c,statusText:e,headersList:f,socket:l});else{let d=b[Symbol.asyncIterator]();a.controller.next=()=>d.next(),g=h({status:c,statusText:e,headersList:f})}}catch(b){if("AbortError"===b.name)return a.controller.connection.destroy(),f(a,b);return e(b)}let l=new ReadableStream({start(b){a.controller.controller=b},pull:()=>a.controller.resume(),cancel:b=>{H(a)||a.controller.abort(b)},type:"bytes"});return g.body={stream:l,source:null,length:null},a.controller.resume||a.controller.on("terminated",function(b){I(a)?(g.aborted=!0,ai(l)&&a.controller.controller.error(a.controller.serializedAbortReason)):ai(l)&&a.controller.controller.error(TypeError("terminated",{cause:J(b)?b:void 0})),a.controller.connection.destroy()}),a.controller.resume=async()=>{for(;;){let b,c;try{let{done:c,value:d}=await a.controller.next();if(I(a))break;b=c?void 0:d}catch(d){a.controller.ended&&!i.encodedBodySize?b=void 0:(b=d,c=!0)}if(void 0===b){L(a.controller.controller),function(a,b){a.request.done=!0,null!=a.processResponseDone&&queueMicrotask(()=>a.processResponseDone(b))}(a,g);return}if(i.decodedBodySize+=b?.byteLength??0,c)return void a.controller.terminate(b);let d=new Uint8Array(b);if(d.byteLength&&a.controller.controller.enqueue(d),ah(l))return void a.controller.terminate();if(a.controller.controller.desiredSize<=0)return}},g}a.exports={fetch:function(a,b){let c;ap.argumentLengthCheck(arguments,1,"globalThis.fetch");let d=Promise.withResolvers();try{c=new l(a,b)}catch(a){return d.reject(a),d.promise}let e=o(c);if(c.signal.aborted)return az(d,e,null,c.signal.reason,null),d.promise;let f=e.client.globalObject;f?.constructor?.name==="ServiceWorkerGlobalScope"&&(e.serviceWorkers="none");let g=null,h=!1,j=null,k=aj(c.signal,()=>{h=!0,X(null!=j),j.abort(c.signal.reason);let a=g?.deref();az(d,e,a,c.signal.reason,j.controller)}),m=()=>{k(),p(c)};return j=aA({request:e,processResponseEndOfBody:a=>{ax(a,"fetch"),m()},processResponse:a=>{if(!h){if(a.aborted){az(d,e,g,j.serializedAbortReason,j.controller),m();return}if("error"===a.type){d.reject(TypeError("fetch failed",{cause:a.error})),m();return}g=new WeakRef(i(a,"immutable")),d.resolve(g.deref()),d=null}},dispatcher:n(c),requestObject:c}),d.promise},Fetch:aw,fetching:aA,finalizeAndReportTiming:ax}},76441:(a,b,c)=>{"use strict";c(70625)},76540:(a,b,c)=>{"use strict";c(33873),c(29021);let{MITM_DIR:d}=c(37436),{generateRootCA:e,loadRootCA:f,generateLeafCert:g}=c(1653);a.exports={generateCert:function(){return e()},getCertForDomain:function(a){try{let b=f(),c=g(a,b);return{key:c.key,cert:c.cert}}catch(b){return console.error(`Failed to generate cert for ${a}:`,b.message),null}}}},76558:(a,b,c)=>{"use strict";c.d(b,{Yh:()=>p});var d=c(67671),e=c(38421),f=c(50969),g=c(55511),h=c(21820);let i=e.xq["mimo-free"].baseUrl,j="abcdefghijklmnopqrstuvwxyz0123456789",k=["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"],l="You are MiMoCode, an interactive CLI tool that helps users with software engineering tasks.",m=null,n=0;async function o(a=null){if(m&&Date.now()<n-3e5)return m;let b=await (0,f.Fm)("https://api.xiaomimimo.com/api/free-ai/bootstrap",{method:"POST",headers:{"Content-Type":"application/json","User-Agent":k[Math.floor(Math.random()*k.length)]},body:JSON.stringify({client:function(){let a="unknown-user";try{a=h.userInfo().username}catch{}let b=(h.cpus()[0]?.model||"unknown-cpu").trim(),c=`${h.hostname()}|${h.platform()}|${h.arch()}|${b}|${a}`;return(0,g.createHash)("sha256").update(c).digest("hex")}()})},a);if(!b.ok)throw Error(`MiMo bootstrap failed: ${b.status}`);let c=await b.json();if(!c.jwt)throw Error("MiMo bootstrap returned no JWT");return m=c.jwt,n=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1],"base64").toString());if(b.exp)return 1e3*b.exp}catch{}return Date.now()+3e6}(c.jwt),m}class p extends d.Hv{constructor(){super("mimo-free",e.xq["mimo-free"]),this.sessionId=function(){let a="ses_";for(let b=0;b<24;b++)a+=j[Math.floor(Math.random()*j.length)];return a}()}buildUrl(){return i}buildHeaders(a,b=!0){return{"Content-Type":"application/json","X-Mimo-Source":"mimocode-cli-free","User-Agent":k[Math.floor(Math.random()*k.length)],"x-session-affinity":this.sessionId,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b){let c;return!Array.isArray(c=b?.messages)||c.some(a=>a?.role==="system"&&"string"==typeof a.content&&a.content.includes(l))?b:{...b,messages:[{role:"system",content:l},...c]}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:g,proxyOptions:h=null}){let i;try{i=await o(h)}catch(a){throw g?.error?.("AUTH",`MiMo bootstrap failed: ${a.message}`),a}let j=this.buildUrl(),k=this.transformRequest(a,b),l={...this.buildHeaders(d,c),Authorization:`Bearer ${i}`},p=JSON.stringify(k);g?.debug?.("FETCH",`MIMO-FREE → ${j} | body=${p.length}B`);let q=await (0,f.Fm)(j,{method:"POST",headers:l,body:p,signal:e},h);return 401===q.status||403===q.status?(g?.debug?.("AUTH",`MiMo auth failed (${q.status}), re-bootstrapping...`),m=null,n=0,i=await o(h),l.Authorization=`Bearer ${i}`,{response:await (0,f.Fm)(j,{method:"POST",headers:l,body:p,signal:e},h),url:j,headers:l,transformedBody:k}):{response:q,url:j,headers:l,transformedBody:k}}}},76632:(a,b,c)=>{var d=c(45654);c(1277),c(33889),(a.exports=d.hmac=d.hmac||{}).create=function(){var a=null,b=null,c=null,e=null,f={};return f.start=function(f,g){if(null!==f)if("string"==typeof f)if((f=f.toLowerCase())in d.md.algorithms)b=d.md.algorithms[f].create();else throw Error('Unknown hash algorithm "'+f+'"');else b=f;if(null===g)g=a;else{if("string"==typeof g)g=d.util.createBuffer(g);else if(d.util.isArray(g)){var h=g;g=d.util.createBuffer();for(var i=0;i<h.length;++i)g.putByte(h[i])}var j=g.length();j>b.blockLength&&(b.start(),b.update(g.bytes()),g=b.digest()),c=d.util.createBuffer(),e=d.util.createBuffer(),j=g.length();for(var i=0;i<j;++i){var h=g.at(i);c.putByte(54^h),e.putByte(92^h)}if(j<b.blockLength)for(var h=b.blockLength-j,i=0;i<h;++i)c.putByte(54),e.putByte(92);a=g,c=c.bytes(),e=e.bytes()}b.start(),b.update(c)},f.update=function(a){b.update(a)},f.getMac=function(){var a=b.digest().bytes();return b.start(),b.update(e),b.update(a),b.digest()},f.digest=f.getMac,f}},77168:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(50969),c(38421),c(10793),c(82689),c(13161),c(68531),c(87350),c(22884),c(86538),c(1654),c(96997),c(98976);var d=c(69641);c(20830);var e=c(95695);c(80152),c(18762);var f=a([d,e]);[d,e]=f.then?(await f)():f,b()}catch(a){b(a)}})},77321:(a,b,c)=>{"use strict";c.d(b,{Z:()=>h});var d=c(38421);let e=[{match:a=>/^kimi-/i.test(a||""),scope:"toolCalls"},{match:a=>/deepseek/i.test(a||""),scope:"all"}],f="deepseek-v4-pro",g={[`${f}-max`]:{thinkingType:"enabled",reasoningEffort:"max"},[`${f}-none`]:{thinkingType:"disabled",reasoningEffort:null}};function h({provider:a,model:b,body:c}){let i=d.xq[a]?.reasoningInject,j=e.find(a=>a.match(b));var k=function({provider:a,model:b,body:c}){let d=g[b];if("deepseek"!==a||!d||!c)return c;let e={...c,model:f,thinking:{type:d.thinkingType}};if(e.extra_body?.thinking){let{thinking:a,...b}=e.extra_body;0===Object.keys(b).length?delete e.extra_body:e.extra_body=b}return d.reasoningEffort?e.reasoning_effort=d.reasoningEffort:delete e.reasoning_effort,e}({provider:a,model:b,body:c}),l=i||j;if(!l||!k?.messages||function(a){if("string"==typeof a.system||Array.isArray(a.system))return!0;if(!Array.isArray(a.messages))return!1;for(let b of a.messages)if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="tool_use"||a?.type==="tool_result"||a?.type==="thinking")return!0}return!1}(k))return k;let m=k.messages.map(a=>!function(a,b){if(a?.role!=="assistant")return!1;let c=a.reasoning_content;return("string"!=typeof c||!(c.length>0))&&("toolCalls"!==b||Array.isArray(a.tool_calls)&&a.tool_calls.length>0)}(a,l.scope)?a:{...a,reasoning_content:" "});return{...k,messages:m}}},77326:(a,b,c)=>{"use strict";c.d(b,{E5:()=>E,SB:()=>G,ui:()=>H.ui,bI:()=>e.cleanupProviderConnections,Iq:()=>g.createApiKey,jd:()=>l,iE:()=>e.createProviderConnection,eh:()=>I.eh,PX:()=>g.getApiKeys,Dj:()=>k,getProviderConnections:()=>e.getProviderConnections,mt:()=>f.getSettings,ox:()=>F.ox,sZ:()=>D,o5:()=>o.o5,uw:()=>C,oG:()=>n,updateProviderConnection:()=>e.updateProviderConnection,Xx:()=>f.Xx});var d=c(24081),e=c(92216);c(20639);var f=c(45874);c(7044);var g=c(57431),h=c(27137),i=c(50743);function j(a){return a?{id:a.id,name:a.name,kind:a.kind,models:(0,i.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt}:null}async function k(a){return j((await (0,d.c)()).get("SELECT * FROM combos WHERE name = ?",[a]))}async function l(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:(0,h.A)(),name:a.name,kind:a.kind||null,models:a.models||[],createdAt:c,updatedAt:c};return b.run("INSERT INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[e.id,e.name,e.kind,(0,i.s)(e.models),e.createdAt,e.updatedAt]),e}let m=["name","kind","models"];async function n(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM combos WHERE id = ?",[a]);if(!d)return;let f={...j(d),updatedAt:new Date().toISOString()};for(let a of m)b&&Object.prototype.hasOwnProperty.call(b,a)&&(f[a]=b[a]);c.run("UPDATE combos SET name = ?, kind = ?, models = ?, updatedAt = ? WHERE id = ?",[f.name,f.kind,(0,i.s)(f.models||[]),f.updatedAt,a]),e=f}),e}var o=c(37703);c(90181);var p=c(94735),q=c(15904),r=c(77397),s=c(15738);global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new p.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null});let t=global._pendingRequests,u=global._lastErrorProvider,v=global._recentRing;global._connectionMapCache;let w=global._statsEmitTimers,x=global._statsEmitter;function y(a,b=150){let c="update"===a?"update":"pending";w[c]||(w[c]=setTimeout(()=>{w[c]=null,x.emit(a)},b),w[c]?.unref?.())}function z(a){if(!a||null!==Object.getPrototypeOf(a)){let b=Object.create(null);return a&&Object.assign(b,a),b}return a}function A(a,b,c){let d=function(a){if(null==a)return null;let b=String(a);return"__proto__"===b||"constructor"===b||"prototype"===b?`__safe_${b}`:b}(b);null!=d&&(a[d]||(a[d]={requests:0,promptTokens:0,completionTokens:0,cachedTokens:0,cost:0}),a[d].requests+=c.requests||1,a[d].promptTokens+=c.promptTokens||0,a[d].completionTokens+=c.completionTokens||0,a[d].cachedTokens+=c.cachedTokens||0,a[d].cost+=c.cost||0,c.meta&&Object.assign(a[d],c.meta))}async function B(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.resolve().then(c.bind(c,90181)),f=await e(a,b);if(!f)return 0;let{calculateCostFromTokens:g}=await Promise.resolve().then(c.bind(c,71253));return g(d,f)}catch(a){return console.error("Error calculating cost:",a),0}}function C(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a;t.byModel[f]||(t.byModel[f]=0),t.byModel[f]=Math.max(0,t.byModel[f]+(d?1:-1)),0===t.byModel[f]&&delete t.byModel[f],c&&(t.byAccount[c]||(t.byAccount[c]={}),t.byAccount[c][f]||(t.byAccount[c][f]=0),t.byAccount[c][f]=Math.max(0,t.byAccount[c][f]+(d?1:-1)),0===t.byAccount[c][f]&&(delete t.byAccount[c][f],0===Object.keys(t.byAccount[c]).length&&delete t.byAccount[c])),!d&&e&&b&&(u.provider=b.toLowerCase(),u.ts=Date.now());let g=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${g}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),y("pending")}async function D(a){try{let b=await (0,d.c)();a.timestamp||(a.timestamp=new Date().toISOString()),a.cost=await B(a.provider,a.model,a.tokens);let c=a.tokens||{},e=(0,r.T)(c.prompt_tokens||c.input_tokens||0,"usage.promptTokens",{integer:!0}),f=(0,r.T)(c.completion_tokens||c.output_tokens||0,"usage.completionTokens",{integer:!0}),g=(0,r.T)(c.cached_tokens||c.cache_read_input_tokens||0,"usage.cachedTokens",{integer:!0}),h=(0,r.T)(a.cost,"usage.cost"),j=!1;(b.transaction(()=>{var d;let k,l,m,n,o,p,r,t,u,v,w,x,y=a.requestId||null;if(y&&b.get("SELECT id FROM usageHistory WHERE requestId = ?",[y]))return;b.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, clientKeyId, endpoint, promptTokens, completionTokens, cost, status, tokens, meta, requestId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.clientKeyId||null,a.endpoint||null,e,f,a.cost||0,a.status||"ok",(0,i.s)(c),(0,i.s)({}),y]),a.clientKeyId&&b.run("UPDATE apiKeys SET spentUsd = spentUsd + ? WHERE id = ?",[Number(a.cost||0),a.clientKeyId]);let B=parseInt(process.env.USAGE_HISTORY_MAX||"50000",10),C=b.get("SELECT value FROM _meta WHERE key = 'usageHistoryCount'");if(k=C?.value!=null?parseInt(C.value,10)+1:b.get("SELECT COUNT(*) as c FROM usageHistory")?.c||0,Number.isFinite(B)&&B>0&&k>B){let a=k-B;b.run("DELETE FROM usageHistory WHERE id IN (SELECT id FROM usageHistory ORDER BY id ASC LIMIT ?)",[a]),k=B}b.run("INSERT INTO _meta(key, value) VALUES('usageHistoryCount', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[String(k)]);let D=(l=(d=a.timestamp)?new Date(d):new Date,`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`),E=b.get("SELECT data FROM usageDaily WHERE dateKey = ?",[D]),F=E?(0,i.q)(E.data,{}):{requests:0,promptTokens:0,completionTokens:0,cost:0,byProvider:{},byModel:{},byAccount:{},byClientKey:{},byEndpoint:{}};m=a.tokens?.prompt_tokens||a.tokens?.input_tokens||0,n=a.tokens?.completion_tokens||a.tokens?.output_tokens||0,o=a.tokens?.cached_tokens||a.tokens?.cache_read_input_tokens||0,p=a.cost||0,r={promptTokens:m,completionTokens:n,cachedTokens:o,cost:p},F.requests=(F.requests||0)+1,F.promptTokens=(F.promptTokens||0)+m,F.completionTokens=(F.completionTokens||0)+n,F.cachedTokens=(F.cachedTokens||0)+o,F.cost=(F.cost||0)+p,F.byProvider=z(F.byProvider||{}),F.byModel=z(F.byModel||{}),F.byAccount=z(F.byAccount||{}),F.byClientKey=z(F.byClientKey||{}),F.byEndpoint=z(F.byEndpoint||{}),a.provider&&A(F.byProvider,a.provider,r),t=a.provider?`${a.model}|${a.provider}`:a.model,A(F.byModel,t,{...r,meta:{rawModel:a.model,provider:a.provider}}),a.connectionId&&A(F.byAccount,a.connectionId,{...r,meta:{rawModel:a.model,provider:a.provider}}),u=a.clientKeyId&&"string"==typeof a.clientKeyId?a.clientKeyId:null,v=`${u||"local-no-key"}|${a.model}|${a.provider||"unknown"}`,A(F.byClientKey,v,{...r,meta:{rawModel:a.model,provider:a.provider,clientKeyId:u}}),w=a.endpoint||"Unknown",x=`${w}|${a.model}|${a.provider||"unknown"}`,A(F.byEndpoint,x,{...r,meta:{endpoint:w,rawModel:a.model,provider:a.provider}}),b.run("INSERT INTO usageDaily(dateKey, data) VALUES(?, ?) ON CONFLICT(dateKey) DO UPDATE SET data = excluded.data",[D,(0,i.s)(F)]),(0,q.Bq)(b,()=>{let c=(0,s.ry)(b,a.provider)?a.provider:"unknown",d=b.get(`SELECT provider, requests, promptTokens, completionTokens, cachedTokens, cost
397
+ WHERE vault_chunks.conversationId = ? AND vault_entries.expiresAt > ?${c?" AND vault_chunks.entryId = ?":""} AND (${b}) LIMIT ?`,d),o=Array.isArray(h)&&Array.isArray(l)?h.map(a=>({...a,score:l.reduce((b,c)=>b+Number(String(a?.text||"").toLowerCase().includes(c)),0)})).sort((a,b)=>b.score-a.score).slice(0,i):[]}let p=function(a,b){if(!Array.isArray(b))return[];let c=new Map;for(let d of b.slice(0,20)){let b=d?.entryId;if(!(!b||c.has(b)))try{c.set(b,a.get("SELECT toolName FROM vault_entries WHERE id = ?",[b])?.toolName??null)}catch{c.set(b,null)}}return b.map(a=>({entryId:a.entryId,chunkIndex:a.chunkIndex,text:a.text,toolName:c.get(a.entryId)??null}))}(m,o.slice(0,i));var j=[...new Set(p.map(a=>a.entryId))],k=new Date().toISOString();if(Array.isArray(j)&&k)for(let a of j.slice(0,20))try{m.run("UPDATE vault_entries SET lastAccessedAt = ? WHERE id = ?",[k,a])}catch{}return p}catch{return[]}}async function j(a){try{if("string"!=typeof a||!a)return null;let b=await (0,d.c)(),c=b.get("SELECT id, conversationId, toolName, content, expiresAt FROM vault_entries WHERE id = ?",[a]);if(!c)return null;let f=new Date().toISOString();if(c.expiresAt<f){try{b.run("DELETE FROM vault_chunks WHERE entryId = ?",[a]),g(b)&&b.run(`DELETE FROM ${e} WHERE entryId = ?`,[a]),b.run("DELETE FROM vault_entries WHERE id = ?",[a])}catch{}return null}try{b.run("UPDATE vault_entries SET lastAccessedAt = ? WHERE id = ?",[f,a])}catch{}return{id:c.id,conversationId:c.conversationId,toolName:c.toolName,content:c.content}}catch{return null}}async function k(){try{var a=await (0,d.c)(),b=new Date().toISOString();if("string"!=typeof b||!b)return 0;let c="SELECT id FROM vault_entries WHERE expiresAt < ?";if(a.run(`DELETE FROM vault_chunks WHERE entryId IN (${c})`,[b]),g(a))try{a.run(`DELETE FROM ${e} WHERE entryId IN (${c})`,[b])}catch{}return a.run("DELETE FROM vault_entries WHERE expiresAt < ?",[b])?.changes??0}catch{return 0}}},70906:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{q:()=>i});var e=c(77168),f=c(77326);c(72345);var g=c(95695);c(63995);var h=a([e,g]);async function i(a,b=!1,c=null){let d=(0,g.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let h=await d.refreshCredentials(e,console,c);if(!h){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let j={updatedAt:new Date().toISOString()};h.accessToken&&(j.accessToken=h.accessToken),h.refreshToken&&(j.refreshToken=h.refreshToken),h.idToken&&(j.idToken=h.idToken),h.lastRefreshAt&&(j.lastRefreshAt=h.lastRefreshAt),h.expiresIn?(j.expiresAt=new Date(Date.now()+1e3*h.expiresIn).toISOString(),j.expiresIn=h.expiresIn):h.expiresAt&&(j.expiresAt=h.expiresAt);let k={...h.providerSpecificData||{},...h.copilotToken?{copilotToken:h.copilotToken}:{},...h.copilotTokenExpiresAt?{copilotTokenExpiresAt:h.copilotTokenExpiresAt}:{}};return Object.keys(k).length>0&&(j.providerSpecificData={...a.providerSpecificData||{},...k}),await (0,f.updateProviderConnection)(a.id,j),{connection:{...a,...j,providerSpecificData:j.providerSpecificData||a.providerSpecificData},refreshed:!0}}[e,g]=h.then?(await h)():h,d()}catch(a){d(a)}})},71137:(a,b,c)=>{"use strict";c.d(b,{CP:()=>p,yI:()=>m});var d=c(27137),e=c(74075);let f="1"===process.env.CURSOR_PROTOBUF_DEBUG,g=(a,...b)=>f&&console.log(`[PROTOBUF:${a}]`,...b);new TextDecoder;let h="1.1.3",i=new Set([1,2,3,9,10,11,27,1,25]);function j(a){let b=[];for(;a>=128;)b.push(127&a|128),a>>>=7;return b.push(127&a),new Uint8Array(b)}function k(a,b,c){let d=j(a<<3|b);if(0===b)return l(d,j(c));if(2===b){let a="string"==typeof c?new TextEncoder().encode(c):c instanceof Uint8Array?c:Buffer.isBuffer(c)?new Uint8Array(c):new Uint8Array(0);return l(d,j(a.length),a)}return new Uint8Array(0)}function l(...a){let b=new Uint8Array(a.reduce((a,b)=>a+b.length,0)),c=0;for(let d of a)b.set(d,c),c+=d.length;return b}function m(a,b,c=[],f=null,h=!1){g("BODY",`Generating: ${a.length} msgs, model=${b}, tools=${c.length}, reasoning=${f||"none"}, forceAgentMode=${h}`);let i=function(a,b,c=[],e=null,f=!1){return k(1,2,function(a,b,c=[],e=null,f=!1){let h,i=c?.length>0,m=i||f,n=[],o=[],p=[];for(let b=0;b<a.length;b++){let c=a[b],d=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0,e=Array.isArray(c?.tool_results)&&c.tool_results.length>0;if(c?.role==="assistant"&&d&&e){g("ENCODE",`normalizing mixed assistant tool payload at msg[${b}] (calls=${c.tool_calls.length}, results=${c.tool_results.length})`),p.push({...c,tool_results:[]});let d=a[b+1],e=d?.role==="assistant"&&Array.isArray(d?.tool_results)&&d.tool_results.length>0,f=new Set(c.tool_results.map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),h=new Set((d?.tool_results||[]).map(a=>a?.tool_call_id).filter(a=>"string"==typeof a)),i=f.size>0&&f.size===h.size;if(i){for(let a of f)if(!h.has(a)){i=!1;break}}e&&i||p.push({role:"assistant",content:"",tool_results:c.tool_results});continue}p.push(c)}for(let a=0;a<p.length;a++){let b=p[a],c="user"===b.role?1:2,e=(0,d.A)(),f=a===p.length-1;n.push({content:b.content,role:c,messageId:e,isLast:f,hasTools:i,toolResults:b.tool_results||[]}),o.push({messageId:e,role:c})}let q=0;return"medium"===e?q=1:"high"===e&&(q=2),l(...n.map(a=>k(1,2,function(a,b,c,d=!1,e=!1,f=[],g=null){let h=f.length>0;return l(k(1,2,a),k(2,0,b),k(13,2,c),...g?[k(32,2,g)]:[],...h?f.map(a=>k(18,2,function(a){var b;let c,d,e=function(a){let b="string"==typeof a&&a.length>0?a:"tool";if(b.startsWith("mcp__")){let a=b.slice(5),c=a.indexOf("__");if(c>=0){let b=a.slice(0,c)||"custom",d=a.slice(c+2)||"tool";return`mcp_${b}_${d}`}return`mcp_custom_${a||"tool"}`}return b.startsWith("mcp_")?b:`mcp_custom_${b}`}(a.tool_name||a.name||""),f=a.raw_args||"{}",g=a.result_content||a.result||"",{toolCallId:h,modelCallId:i}=(b=a.tool_call_id||"",c="\nmc_",(d=b.indexOf(c))>=0?{toolCallId:b.slice(0,d),modelCallId:b.slice(d+c.length)}:{toolCallId:b,modelCallId:null}),j=a.tool_index||a.index||1,{serverName:m,selectedTool:n}=function(a){if("string"!=typeof a||!a.startsWith("mcp_"))return{serverName:"custom",selectedTool:a||"tool"};let b=a.slice(4),c=b.indexOf("_");return c<0?{serverName:"custom",selectedTool:b||"tool"}:{serverName:b.slice(0,c)||"custom",selectedTool:b.slice(c+1)||"tool"}}(e);return l(k(1,2,h),k(2,2,e),k(3,0,j>0?j:1),...i?[k(12,2,i)]:[],k(5,2,f),k(8,2,function(a,b,c,d,e=1){return l(k(1,0,19),k(28,2,l(k(1,2,c),k(2,2,d))),k(35,2,a),...b?[k(48,2,b)]:[],k(49,0,e>0?e:1))}(h,i,n,g,j)),k(11,2,function(a,b,c,d,e,f,g=1){let h;return l(k(1,0,19),k(27,2,(h=l(k(1,2,c),k(3,2,e),k(4,2,d)),k(1,2,h))),k(3,2,a),k(9,2,b),k(10,2,e),k(48,0,g>0?g:1),...f?[k(49,2,f)]:[])}(h,e,n,m,f,i,j)))}(a))):[],k(29,0,+!!e),k(47,0,e?2:1),...d&&e?[k(51,2,j(1))]:[])}(a.content,a.role,a.messageId,a.isLast,a.hasTools,a.toolResults))),k(2,0,1),k(3,2,new Uint8Array(0)),k(4,0,1),k(5,2,l(k(1,2,b),k(4,2,new Uint8Array(0)))),k(8,2,""),k(13,0,1),k(15,2,(h=l(k(1,2,new Uint8Array(0)),k(2,2,new Uint8Array(0))),l(k(1,2,"cursor\\aisettings"),k(3,2,new Uint8Array(0)),k(6,2,h),k(8,0,1),k(9,0,1)))),k(19,0,1),k(23,2,(0,d.A)()),k(26,2,l(k(1,2,process.platform||"linux"),k(2,2,process.arch||"x64"),k(3,2,process.version||"v20.0.0"),k(4,2,process.cwd?.()||"/"),k(5,2,new Date().toISOString()))),k(27,0,+!!m),...m?[k(29,2,j(1))]:[],...o.map(a=>k(30,2,function(a,b,c=null){return l(k(1,2,a),...c?[k(2,2,c)]:[],k(3,0,b))}(a.messageId,a.role))),...c?.length>0?c.map(a=>{let b,c,d;return k(34,2,(b=a.function?.name||a.name||"",c=a.function?.description||a.description||"",d=a.function?.parameters||a.input_schema||{},l(...b?[k(1,2,b)]:[],...c?[k(2,2,c)]:[],...Object.keys(d).length>0?[k(3,2,JSON.stringify(d))]:[],k(4,2,"custom"))))}):[],k(35,0,0),k(38,0,0),k(46,0,m?2:1),k(47,2,""),k(48,0,+!m),k(49,0,q),k(51,0,0),k(53,0,1),k(54,2,m?"Agent":"Ask"))}(a,b,c,e,f))}(a,b,c,f,h),n=function(a,b=!1){let c=a,d=0;b&&(c=new Uint8Array(e.gzipSync(Buffer.from(a))),d=1);let f=new Uint8Array(5+c.length);return f[0]=d,f[1]=c.length>>24&255,f[2]=c.length>>16&255,f[3]=c.length>>8&255,f[4]=255&c.length,f.set(c,5),f}(i,!1);return g("BODY",`Protobuf=${i.length}B, Framed=${n.length}B`),n}function n(a,b){let c=0,d=0,e=b;for(;e<a.length;){let b=a[e];if(c|=(127&b)<<d,e++,!(128&b))break;d+=7}return[c,e]}function o(a){let b=new Map,c=0;for(;c<a.length;){let[d,e,f,g]=function(a,b){let c;if(b>=a.length)return[null,null,null,b];let[d,e]=n(a,b),f=7&d,g=e;if(0===f)[c,g]=n(a,g);else if(2===f){let[b,d]=n(a,g);c=a.slice(d,d+b),g=d+b}else 1===f?(c=a.slice(g,g+8),g+=8):5===f?(c=a.slice(g,g+4),g+=4):c=null;return[d>>3,f,c,g]}(a,c);if(null===d)break;b.has(d)||b.set(d,[]),b.get(d).push({wireType:e,value:f}),c=g}return b}function p(a){try{let b=o(a);for(let a of b.keys())i.has(a)||g("SCHEMA",`Unknown response field #${a} detected. Schema v${h} may be outdated.`);if(b.has(1)){let a=function(a){let b=o(a),c="",d="",e="",f=!1;if(b.has(3)&&(c=new TextDecoder().decode(b.get(3)[0].value).split("\n")[0]),b.has(9)&&(d=new TextDecoder().decode(b.get(9)[0].value)),b.has(11)&&(f=0!==b.get(11)[0].value),b.has(27))try{let a=o(b.get(27)[0].value);if(a.has(1)){let b=o(a.get(1)[0].value);b.has(1)&&(d=new TextDecoder().decode(b.get(1)[0].value)),b.has(3)&&(e=new TextDecoder().decode(b.get(3)[0].value))}}catch(a){g("EXTRACT",`MCP parse error: ${a.message}`)}return(!e&&b.has(10)&&(e=new TextDecoder().decode(b.get(10)[0].value)),c&&d)?{id:c,type:"function",function:{name:d,arguments:e||"{}"},isLast:f}:null}(b.get(1)[0].value);if(a)return g("EXTRACT",`Tool call: ${a.function.name}`),{text:null,error:null,toolCall:a,thinking:null}}if(b.has(2)){let{text:a,thinking:c}=function(a){let b=o(a),c=null,d=null;if(b.has(1)&&(c=new TextDecoder().decode(b.get(1)[0].value)),b.has(25))try{let a=o(b.get(25)[0].value);a.has(1)&&(d=new TextDecoder().decode(a.get(1)[0].value))}catch(a){g("EXTRACT",`Thinking parse error: ${a.message}`)}return{text:c,thinking:d}}(b.get(2)[0].value);if(a||c)return{text:a,error:null,toolCall:null,thinking:c}}return{text:null,error:null,toolCall:null,thinking:null}}catch(b){return g("EXTRACT",`Decode failed (schema v${h}): ${b.message}`),{text:null,error:null,toolCall:null,thinking:null,raw:Buffer.from(a).toString("base64"),decodeError:b.message}}}},71253:(a,b,c)=>{"use strict";c.d(b,{PROVIDER_PRICING:()=>f,calculateCostFromTokens:()=>j,gH:()=>h,getPricingForModel:()=>i});var d=c(57690);let e={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},f={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},g=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function h(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function i(a,b){if(!b)return null;if(a&&f[a]?.[b])return f[a][b];let c=(0,d.KN)(b),i=function(a){let b=a.includes("/")?a.split("/").pop():a;if(e[b]||e[a])return e[b]||e[a];for(let{pattern:c,pricing:d}of g)if(h(c,b||a))return d;return null}(b);return c&&i?{...i,...c}:c||i}function j(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}},72285:(a,b,c)=>{"use strict";c.d(b,{h:()=>v});var d=c(77598),e=c(67671),f=c(38421),g=c(45431),h=c(98976),i=c(96997),j=c(10342),k=c(13161),l=c(49623),m=c(96930);let n=null;async function o(a="endpoint-proxy-salt"){let b=function(){if(n)return n;try{n=(0,m.machineIdSync)()}catch{n=d.randomUUID()}return n}();return d.createHash("sha256").update(b+a).digest("hex").substring(0,16)}var p=c(97137),q=c(83382);let r=new Set(["model","input","instructions","tools","tool_choice","stream","store","reasoning","include","temperature","top_p","max_output_tokens","parallel_tool_calls","text","metadata","prompt_cache_key"]),s=new Set(["low","medium","high","xhigh"]),t=/^(?:rs|msg|fc)_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(a,b){return a._grokCliRequest||(a._grokCliRequest={sessionId:(0,l.oV)({headers:a.rawHeaders,body:b,connectionId:a.connectionId||a.id,workspaceId:a.providerSpecificData?.workspaceId,scope:"grok-cli"}),requestId:d.randomUUID(),agentId:a.providerSpecificData?.deviceId||null,turnIdx:1,model:null}),a._grokCliRequest}class v extends e.Hv{constructor(){super("grok-cli",f.xq["grok-cli"]||g.A.transport)}buildUrl(){return`${q.Nr}/responses`}resolveIdentity(){return q.s2}async refreshCredentials(a,b,c=null){if(!a?.refreshToken)return null;let d=await (0,i.$B)("grok-cli",a,b,c);return(0,h.hJ)("grok-cli",a,d)}needsRefresh(a){return(0,h.fp)("grok-cli",a)}buildHeaders(a,b=!0){let c=super.buildHeaders(a,b),d=u(a,{});c["x-grok-session-id"]=d.sessionId,c["x-grok-conv-id"]=d.sessionId,c["x-grok-req-id"]=d.requestId,c["x-grok-turn-idx"]=String(d.turnIdx),d.agentId&&(c["x-grok-agent-id"]=d.agentId),d.model&&(c["x-grok-model-override"]=d.model);let e=a.providerSpecificData||{};return(e.email||a.email)&&(c["x-email"]=e.email||a.email),(e.userId||a.userId)&&(c["x-userid"]=e.userId||a.userId),c}transformRequest(a,b,c,d){var e;let f=u(d,b),g=(0,j.m)(b.input);g?b.input=g:Array.isArray(b.messages)&&(b.input=b.messages.map(a=>({type:"message",role:a.role||"user",content:"string"==typeof a.content?a.content:JSON.stringify(a.content??"")}))),b.input||(b.input=(0,j.m)("")),Array.isArray(b.input)&&(b.input=b.input.filter(a=>"string"==typeof a?!/^(rs|fc|resp|msg)_/.test(a):!a||"object"!=typeof a||"item_reference"!==a.type&&("string"==typeof a.id&&/^(rs|fc|resp|msg)_/.test(a.id)&&!t.test(a.id)&&delete a.id,!0))),function(a){if(!Array.isArray(a.tools)||0===a.tools.length){delete a.tools,delete a.tool_choice;return}let b=new Set;if(a.tools=a.tools.flatMap(a=>{if(!a||"object"!=typeof a||Array.isArray(a))return[];if(["web_search","x_search","file_search","image_generation","code_interpreter","mcp","local_shell"].includes(a.type))return[a];let c=a.function&&"object"==typeof a.function?a.function:a,d="string"==typeof c.name?c.name.trim().slice(0,128):"";return d?(b.add(d),[{type:"function",name:d,...c.description?{description:String(c.description)}:{},parameters:"custom"===a.type?{type:"object",properties:{input:{type:"string"}},required:["input"]}:c.parameters||{type:"object",properties:{}}}]):[]}),0===a.tools.length)delete a.tools,delete a.tool_choice;else if(a.tool_choice&&"object"==typeof a.tool_choice){let c=a.tool_choice.name||a.tool_choice.function?.name;b.has(c)?a.tool_choice={type:"function",name:c}:delete a.tool_choice}}(b),f.turnIdx=Array.isArray(e=b.input)?Math.max(1,e.filter(a=>a?.role==="user"&&(!a.type||"message"===a.type)).length):1;let h=String(b.model||a||q.to),i=h.match(/-(low|medium|high|xhigh)$/)?.[1]||null,l=i?h.slice(0,-(i.length+1)):h;b.model=(0,k.kt)("gcli",l)||l,f.model=b.model;let m=b.reasoning&&"object"==typeof b.reasoning?b.reasoning:{};if(b.reasoning={...m,summary:m.summary||"concise"},(0,q.Au)(b.model)){let a;b.reasoning.effort="max"===(a=String(m.effort||b.reasoning_effort||i||"").trim().toLowerCase())?"xhigh":s.has(a)?a:"high"}else delete b.reasoning.effort;for(let a of(delete b.reasoning_effort,b.include=Array.isArray(b.include)?b.include:[],b.include.includes("reasoning.encrypted_content")||b.include.push("reasoning.encrypted_content"),b.stream=!0,b.store=!1,delete b.messages,delete b.max_tokens,delete b.max_completion_tokens,delete b.user,delete b.stream_options,delete b.previous_response_id,Object.keys(b)))r.has(a)||delete b[a];return b}async execute(a){var b;let c,d={...a.credentials||{}},e=u(d,a.body);return e.agentId||(b=await o("grok-cli-agent"),c=`${b}${b}`.replace(/[^0-9a-f]/gi,"0").padEnd(32,"0").slice(0,32),e.agentId=`${c.slice(0,8)}-${c.slice(8,12)}-5${c.slice(13,16)}-a${c.slice(17,20)}-${c.slice(20)}`),(0,p.v)({execute:()=>super.execute({...a,credentials:d}),retryConfig:this.config.retry,signal:a.signal,log:a.log,provider:"grok-cli"})}parseError(a,b){if(402===a.status&&b)try{let a=JSON.parse(b);return{status:402,message:a.error||a.message||b,code:a.code}}catch{}return super.parseError(a,b)}}},72345:(a,b,c)=>{"use strict";c(50969);var d=c(38528);c(10793),(0,d.U)("antigravity"),c(82961),c(20012),c(43835),(0,d.U)("minimax").urls,(0,d.U)("minimax-cn").urls,c(15251),c(83382),(0,d.U)("glm").url,(0,d.U)("glm-cn").url,(0,d.U)("vercel-ai-gateway").url},73081:(a,b,c)=>{"use strict";c.d(b,{nu:()=>e}),c(68531),c(18101);let d=new Set(["response.completed","response.done","response.failed","error"]);function e(a,b){let c=a||(b&&"string"==typeof b.type?b.type:null);if(d.has(c))return!0;let e=b?.response?.status;return"completed"===e||"failed"===e}new TextEncoder},73135:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(84285),{RequestAbortedError:e}=c(61448),f=Symbol("kListener"),g=Symbol("kSignal");function h(a){a.abort?a.abort(a[g]?.reason):a.reason=a[g]?.reason??new e,i(a)}function i(a){a[g]&&("removeEventListener"in a[g]?a[g].removeEventListener("abort",a[f]):a[g].removeListener("abort",a[f]),a[g]=null,a[f]=null)}a.exports={addSignal:function(a,b){if(a.reason=null,a[g]=null,a[f]=null,b){if(b.aborted)return void h(a);a[g]=b,a[f]=()=>{h(a)},d(a[g],a[f])}},removeSignal:i}},73792:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{OJ:()=>w});var e=c(77168),f=c(77326),g=c(82961),h=c(20012),i=c(95695),j=c(50969),k=c(63993),l=c(70906),m=c(78744),n=a([e,i,l]);[e,i,l]=n.then?(await n)():n;let x=m.oc;x.tickIntervalMs;let y={claude:{getUsage:g.g,sendPing:r},codex:{getUsage:h.Tl,sendPing:t}},z=global.__quotaAutoPing??={interval:null,running:!1,resetCache:{},failureCache:{}};function o(a){let b=new Date(a).getTime();return Number.isFinite(b)?new Date(6e4*Math.floor(b/6e4)).toISOString():a}function p(a,b=null){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function q(a){if(!a||!0===a.unlimited)return!1;let b=p(a.remaining);if(null!==b)return b<=0;let c=p(a.used),d=p(a.total);return null!==d&&d>0&&null!==c&&c>=d}async function r(a,b,c,d){return(await d.proxyAwareFetch("https://api.anthropic.com/v1/messages?beta=true",{method:"POST",headers:{Authorization:`Bearer ${a.accessToken}`,"content-type":"application/json"},body:JSON.stringify({model:b.pingModel,max_tokens:b.pingMaxTokens,messages:[{role:"user",content:b.pingText}]}),identity:"claude-cli",provider:"claude",format:"claude",credentialId:a.id,stream:!1,retryCount:0},c)).ok}async function s(a){if("function"==typeof a?.text)return void await a.text();let b=a?.body?.getReader?.();if(b)try{for(;;){let{done:a}=await b.read();if(a)return}}finally{b.releaseLock?.()}}async function t(a,b,c,d){var e;let f=d.getExecutor("codex"),{response:g}=await f.execute({model:b.pingModel,stream:!0,credentials:{accessToken:a.accessToken,connectionId:a.id,providerSpecificData:a.providerSpecificData},proxyOptions:c,log:console,body:{model:b.pingModel,input:(e=b.pingText,[{type:"message",role:"user",content:[{type:"input_text",text:e}]}]),instructions:b.pingInstructions,reasoning:b.pingReasoningEffort?{effort:b.pingReasoningEffort,summary:"auto"}:void 0,store:!1,stream:!0}});if(!g.ok){try{await g.body?.cancel?.()}catch{}return!1}return await s(g),!0}async function u(a,b,c,d,e,f=z){var g,h,i;let j=(g=a.id,`${b}:${g}`),k=f.resetCache[j];if(!c.pingWhenResetAtSlides&&k&&Date.now()<new Date(k).getTime()-x.refreshAheadMs||function(a,b,c=Date.now()){let d=a.failureCache[b];return d&&c-d<x.failureCooldownMs}(f,j))return;let l=(h=await e.resolveConnectionProxyConfig(a.providerSpecificData),{connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1}),m=a;try{m=(await e.refreshAndUpdateCredentials(m,!1,l)).connection}catch(c){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${a.id}: refresh failed: ${c.message}`);return}let n=await d.getUsage(m.accessToken,l),p=n?.quotas||{},r=p?.[c.quotaKey],s=function(a){if(!a||"object"!=typeof a)return null;if(!0===a.unlimited)return 100;let b=Number(a.remainingPercentage);if(Number.isFinite(b))return Math.max(0,Math.min(100,b));let c=Number(a.remaining),d=Number(a.total);return Number.isFinite(c)&&Number.isFinite(d)&&d>0?Math.max(0,Math.min(100,c/d*100)):Number.isFinite(c)?Math.max(0,c):null}(r);if(null!=s)try{await e.updateProviderConnection(m.id,{lastQuota:{remainingPercentage:s,resetAt:r.resetAt??null,at:Date.now()}})}catch{}let t=r?.resetAt;if(!t||(f.resetCache[j]=t,c.skipWhenBlockingQuotaExhausted&&(i=c.quotaKey,Object.entries(p||{}).some(([a,b])=>a!==i&&!String(a).toLowerCase().includes("session")&&q(b)))||q(r)))return;let v=Date.now(),w=o(t),y=m.lastPingedResetKey||o(m.lastPingedResetAt);if(!(!function(a,b,c,d){if(a.pingWhenResetAtSlides){let d,e;return!!b&&(d=new Date(b).getTime(),e=new Date(c).getTime(),(Number.isFinite(d)&&Number.isFinite(e)?e-d:0)>=(a.resetAtDriftMs||0))}let e=new Date(c).getTime();return Number.isFinite(e)&&d>=e-x.pingLeadMs}(c,k,t,v)||function(a,b,c=Date.now()){if(!b)return!1;let d=new Date(a.lastPingAt).getTime();return Number.isFinite(d)&&c-d<b}(m,c.minPingIntervalMs,v))&&y!==w){if(!await d.sendPing(m,c,l,e)){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${m.id}: ping failed (reset ${t})`);return}delete f.failureCache[j],await e.updateProviderConnection(m.id,{lastPingedResetAt:t,lastPingedResetKey:w,lastPingAt:new Date().toISOString(),updatedAt:new Date().toISOString()}),console.log(`[AutoPing] ${b}:${m.id}: ping sent (reset ${t})`)}}async function v(a={getSettings:f.mt,getProviderConnections:f.getProviderConnections,updateProviderConnection:f.updateProviderConnection,resolveConnectionProxyConfig:k.B,refreshAndUpdateCredentials:l.q,proxyAwareFetch:j.Fm,getExecutor:i.SB},b=z){if(!b.running){b.running=!0;try{let d=await a.getSettings();for(let[e,f]of Object.entries(x.providers)){let g=y[e];if(!g)continue;let h=d?.[f.settingsKey]?.connections||{};if(0!==Object.keys(h).length)for(let d of(await a.getProviderConnections({provider:e,isActive:!0})).filter(a=>"oauth"===a.authType&&!0===h[a.id]))try{await u(d,e,f,g,a,b)}catch(a){var c;b.failureCache[c=d.id,`${e}:${c}`]=Date.now(),console.warn(`[AutoPing] ${e}:${d.id}: ${a.message}`)}}}catch(a){console.warn("[AutoPing] tick error:",a.message)}finally{b.running=!1}}}function w(){!z.interval&&(console.log("[AutoPing] scheduler started"),v().catch(()=>{}),z.interval=setInterval(()=>{v().catch(()=>{})},x.tickIntervalMs),z.interval.unref&&z.interval.unref())}d()}catch(a){d(a)}})},74399:(a,b,c)=>{"use strict";let d=c(7344),{InvalidArgumentError:e}=c(61448),{toRawHeaders:f}=c(84285);class g{#at;constructor(a){this.#at=a}onRequestStart(a,b){this.#at.onConnect?.(b=>a.abort(b),b)}onRequestUpgrade(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#at.onUpgrade?.(b,e,d)}onResponseStart(a,b,c,d){let e=a?.rawHeaders??f(c??{});this.#at.onHeaders?.(b,e,()=>a.resume(),d)===!1&&a.pause()}onResponseData(a,b){this.#at.onData?.(b)===!1&&a.pause()}onResponseEnd(a,b){let c=a?.rawTrailers??f(b??{});this.#at.onComplete?.(c)}onResponseError(a,b){if(!this.#at.onError)throw b;this.#at.onError(b)}onBodySent(a){this.#at.onBodySent?.(a)}onRequestSent(){this.#at.onRequestSent?.()}onResponseStarted(){this.#at.onResponseStarted?.()}}class h extends d{#d;constructor(a){if(super(),!a||"function"!=typeof a.dispatch)throw new e("Argument dispatcher must implement dispatch");this.#d=a}static wrapHandler(a){if(!a||"object"!=typeof a)throw new e("handler must be an object");return"function"==typeof a.onRequestStart?a:new g(a)}dispatch(a,b){return!1!==a.allowH2&&(a={...a,allowH2:!1}),this.#d.dispatch(a,h.wrapHandler(b))}close(...a){return this.#d.close(...a)}destroy(...a){return this.#d.destroy(...a)}}a.exports=h},74570:(a,b,c)=>{"use strict";c.d(b,{Bi:()=>e,Es:()=>i,XP:()=>k,b8:()=>d,d:()=>h,ky:()=>j,w3:()=>l}),c(21820);let d="2023-06-01",e={"Anthropic-Version":d,"Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},f=["claude-code-20250219","oauth-2025-04-20","interleaved-thinking-2025-05-14","context-management-2025-06-27","prompt-caching-scope-2026-01-05","structured-outputs-2025-12-15","fast-mode-2026-02-01","redact-thinking-2026-02-12","token-efficient-tools-2026-03-28"],g=["advanced-tool-use-2025-11-20","effort-2025-11-24"];function h(a=""){let b=[...f];return/^claude-(opus|sonnet)/.test(a)&&b.push(...g),b.join(",")}let i="https://api.openai.com/v1",j="https://api.anthropic.com/v1",k={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},l={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"}},75371:(a,b,c)=>{"use strict";c(68531),c(96684),c(62457)},76103:(a,b,c)=>{var d=c(45654);c(45518),c(63070),c(88819),c(36105),c(49345),c(56416),c(29984),c(33889),c(65737);var e=d.asn1,f=a.exports=d.pkcs7=d.pkcs7||{};function g(a){var b;if(a.type===d.pki.oids.contentType)b=e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.value).getBytes());else if(a.type===d.pki.oids.messageDigest)b=e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,a.value.bytes());else if(a.type===d.pki.oids.signingTime){var c=new Date("1950-01-01T00:00:00Z"),f=new Date("2050-01-01T00:00:00Z"),g=a.value;if("string"==typeof g){var h=Date.parse(g);g=isNaN(h)?13===g.length?e.utcTimeToDate(g):e.generalizedTimeToDate(g):new Date(h)}b=g>=c&&g<f?e.create(e.Class.UNIVERSAL,e.Type.UTCTIME,!1,e.dateToUtcTime(g)):e.create(e.Class.UNIVERSAL,e.Type.GENERALIZEDTIME,!1,e.dateToGeneralizedTime(g))}return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[b])])}function h(a,b,c){var f={};if(!e.validate(b,c,f,[])){var g=Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw g.errors=g,g}if(e.derToOid(f.contentType)!==d.pki.oids.data)throw Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(f.encryptedContent){var h="";if(d.util.isArray(f.encryptedContent))for(var i=0;i<f.encryptedContent.length;++i){if(f.encryptedContent[i].type!==e.Type.OCTETSTRING)throw Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");h+=f.encryptedContent[i].value}else h=f.encryptedContent;a.encryptedContent={algorithm:e.derToOid(f.encAlgorithm),parameter:d.util.createBuffer(f.encParameter.value),content:d.util.createBuffer(h)}}if(f.content){var h="";if(d.util.isArray(f.content))for(var i=0;i<f.content.length;++i){if(f.content[i].type!==e.Type.OCTETSTRING)throw Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");h+=f.content[i].value}else h=f.content;a.content=d.util.createBuffer(h)}return a.version=f.version.charCodeAt(0),a.rawCapture=f,f}function i(a){if(void 0===a.encryptedContent.key)throw Error("Symmetric key not available.");if(void 0===a.content){var b;switch(a.encryptedContent.algorithm){case d.pki.oids["aes128-CBC"]:case d.pki.oids["aes192-CBC"]:case d.pki.oids["aes256-CBC"]:b=d.aes.createDecryptionCipher(a.encryptedContent.key);break;case d.pki.oids.desCBC:case d.pki.oids["des-EDE3-CBC"]:b=d.des.createDecryptionCipher(a.encryptedContent.key);break;default:throw Error("Unsupported symmetric cipher, OID "+a.encryptedContent.algorithm)}if(b.start(a.encryptedContent.parameter),b.update(a.encryptedContent.content),!b.finish())throw Error("Symmetric decryption failed.");a.content=b.output}}f.messageFromPem=function(a){var b=d.pem.decode(a)[0];if("PKCS7"!==b.type){var c=Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var g=e.fromDer(b.body);return f.messageFromAsn1(g)},f.messageToPem=function(a,b){var c={type:"PKCS7",body:e.toDer(a.toAsn1()).getBytes()};return d.pem.encode(c,{maxline:b})},f.messageFromAsn1=function(a){var b,c={},g=[];if(!e.validate(a,f.asn1.contentInfoValidator,c,g)){var h=Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw h.errors=g,h}var i=e.derToOid(c.contentType);switch(i){case d.pki.oids.envelopedData:b=f.createEnvelopedData();break;case d.pki.oids.encryptedData:b=f.createEncryptedData();break;case d.pki.oids.signedData:b=f.createSignedData();break;default:throw Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return b.fromAsn1(c.content.value[0]),b},f.createSignedData=function(){var a=null;return a={type:d.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(b){if(h(a,b,f.asn1.signedDataValidator),a.certificates=[],a.crls=[],a.digestAlgorithmIdentifiers=[],a.contentInfo=null,a.signerInfos=[],a.rawCapture.certificates)for(var c=a.rawCapture.certificates.value,e=0;e<c.length;++e)a.certificates.push(d.pki.certificateFromAsn1(c[e]))},toAsn1:function(){a.contentInfo||a.sign();for(var b=[],c=0;c<a.certificates.length;++c)b.push(d.pki.certificateToAsn1(a.certificates[c]));var f=[],g=e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,a.digestAlgorithmIdentifiers),a.contentInfo])]);return b.length>0&&g.value[0].value.push(e.create(e.Class.CONTEXT_SPECIFIC,0,!0,b)),f.length>0&&g.value[0].value.push(e.create(e.Class.CONTEXT_SPECIFIC,1,!0,f)),g.value[0].value.push(e.create(e.Class.UNIVERSAL,e.Type.SET,!0,a.signerInfos)),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),g])},addSigner:function(b){var c=b.issuer,e=b.serialNumber;if(b.certificate){var f=b.certificate;"string"==typeof f&&(f=d.pki.certificateFromPem(f)),c=f.issuer.attributes,e=f.serialNumber}var g=b.key;if(!g)throw Error("Could not add PKCS#7 signer; no private key specified.");"string"==typeof g&&(g=d.pki.privateKeyFromPem(g));var h=b.digestAlgorithm||d.pki.oids.sha1;switch(h){case d.pki.oids.sha1:case d.pki.oids.sha256:case d.pki.oids.sha384:case d.pki.oids.sha512:case d.pki.oids.md5:break;default:throw Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+h)}var i=b.authenticatedAttributes||[];if(i.length>0){for(var j=!1,k=!1,l=0;l<i.length;++l){var m=i[l];if(!j&&m.type===d.pki.oids.contentType){if(j=!0,k)break;continue}if(!k&&m.type===d.pki.oids.messageDigest){if(k=!0,j)break;continue}}if(!j||!k)throw Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}a.signers.push({key:g,version:1,issuer:c,serialNumber:e,digestAlgorithm:h,signatureAlgorithm:d.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:i,unauthenticatedAttributes:[]})},sign:function(b){if(b=b||{},("object"!=typeof a.content||null===a.contentInfo)&&(a.contentInfo=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(d.pki.oids.data).getBytes())]),"content"in a)){var c;a.content instanceof d.util.ByteBuffer?c=a.content.bytes():"string"==typeof a.content&&(c=d.util.encodeUtf8(a.content)),b.detached?a.detachedContent=e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,c):a.contentInfo.value.push(e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,c)]))}0!==a.signers.length&&function(b){if(!(c=a.detachedContent?a.detachedContent:(c=a.contentInfo.value[1]).value[0]))throw Error("Could not sign PKCS#7 message; there is no content to sign.");var c,f=e.derToOid(a.contentInfo.value[0].value),h=e.toDer(c);for(var i in h.getByte(),e.getBerValueLength(h),h=h.getBytes(),b)b[i].start().update(h);for(var j=new Date,k=0;k<a.signers.length;++k){var l=a.signers[k];if(0===l.authenticatedAttributes.length){if(f!==d.pki.oids.data)throw Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var m=e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[]),n=0;n<l.authenticatedAttributes.length;++n){var o=l.authenticatedAttributes[n];o.type===d.pki.oids.messageDigest?o.value=b[l.digestAlgorithm].digest():o.type!==d.pki.oids.signingTime||o.value||(o.value=j),m.value.push(g(o)),l.authenticatedAttributesAsn1.value.push(g(o))}h=e.toDer(m).getBytes(),l.md.start().update(h)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}a.signerInfos=function(a){for(var b=[],c=0;c<a.length;++c)b.push(function(a){var b=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[d.pki.distinguishedNameToAsn1({attributes:a.issuer}),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,d.util.hexToBytes(a.serialNumber))]),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.digestAlgorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")])]);if(a.authenticatedAttributesAsn1&&b.value.push(a.authenticatedAttributesAsn1),b.value.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.signatureAlgorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")])),b.value.push(e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,a.signature)),a.unauthenticatedAttributes.length>0){for(var c=e.create(e.Class.CONTEXT_SPECIFIC,1,!0,[]),f=0;f<a.unauthenticatedAttributes.length;++f){var h=a.unauthenticatedAttributes[f];c.values.push(g(h))}b.value.push(c)}return b}(a[c]));return b}(a.signers)}(function(){for(var b={},c=0;c<a.signers.length;++c){var f=a.signers[c],g=f.digestAlgorithm;g in b||(b[g]=d.md[d.pki.oids[g]].create()),0===f.authenticatedAttributes.length?f.md=b[g]:f.md=d.md[d.pki.oids[g]].create()}for(var g in a.digestAlgorithmIdentifiers=[],b)a.digestAlgorithmIdentifiers.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(g).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]));return b}())},verify:function(){throw Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(b){"string"==typeof b&&(b=d.pki.certificateFromPem(b)),a.certificates.push(b)},addCertificateRevokationList:function(a){throw Error("PKCS#7 CRL support not yet implemented.")}}},f.createEncryptedData=function(){var a=null;return a={type:d.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:d.pki.oids["aes256-CBC"]},fromAsn1:function(b){h(a,b,f.asn1.encryptedDataValidator)},decrypt:function(b){void 0!==b&&(a.encryptedContent.key=b),i(a)}}},f.createEnvelopedData=function(){var a=null;return a={type:d.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:d.pki.oids["aes256-CBC"]},fromAsn1:function(b){var c=h(a,b,f.asn1.envelopedDataValidator);a.recipients=function(a){for(var b=[],c=0;c<a.length;++c)b.push(function(a){var b={},c=[];if(!e.validate(a,f.asn1.recipientInfoValidator,b,c)){var g=Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw g.errors=c,g}return{version:b.version.charCodeAt(0),issuer:d.pki.RDNAttributesAsArray(b.issuer),serialNumber:d.util.createBuffer(b.serial).toHex(),encryptedContent:{algorithm:e.derToOid(b.encAlgorithm),parameter:b.encParameter?b.encParameter.value:void 0,content:b.encKey}}}(a[c]));return b}(c.recipientInfos.value)},toAsn1:function(){var b;return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(a.type).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(a.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,function(a){for(var b,c=[],f=0;f<a.length;++f)c.push((b=a[f],e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(b.version).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[d.pki.distinguishedNameToAsn1({attributes:b.issuer}),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,d.util.hexToBytes(b.serialNumber))]),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(b.encryptedContent.algorithm).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.encryptedContent.content)])));return c}(a.recipients)),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,(b=a.encryptedContent,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(d.pki.oids.data).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(b.algorithm).getBytes()),b.parameter?e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.parameter.getBytes()):void 0]),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,b.content.getBytes())])]))])])])},findRecipient:function(b){for(var c=b.issuer.attributes,d=0;d<a.recipients.length;++d){var e=a.recipients[d],f=e.issuer;if(e.serialNumber===b.serialNumber&&f.length===c.length){for(var g=!0,h=0;h<c.length;++h)if(f[h].type!==c[h].type||f[h].value!==c[h].value){g=!1;break}if(g)return e}}return null},decrypt:function(b,c){if(void 0===a.encryptedContent.key&&void 0!==b&&void 0!==c)switch(b.encryptedContent.algorithm){case d.pki.oids.rsaEncryption:case d.pki.oids.desCBC:var e=c.decrypt(b.encryptedContent.content);a.encryptedContent.key=d.util.createBuffer(e);break;default:throw Error("Unsupported asymmetric cipher, OID "+b.encryptedContent.algorithm)}i(a)},addRecipient:function(b){a.recipients.push({version:0,issuer:b.issuer.attributes,serialNumber:b.serialNumber,encryptedContent:{algorithm:d.pki.oids.rsaEncryption,key:b.publicKey}})},encrypt:function(b,c){if(void 0===a.encryptedContent.content){switch(c=c||a.encryptedContent.algorithm,b=b||a.encryptedContent.key,c){case d.pki.oids["aes128-CBC"]:e=16,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["aes192-CBC"]:e=24,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["aes256-CBC"]:e=32,f=16,g=d.aes.createEncryptionCipher;break;case d.pki.oids["des-EDE3-CBC"]:e=24,f=8,g=d.des.createEncryptionCipher;break;default:throw Error("Unsupported symmetric cipher, OID "+c)}if(void 0===b)b=d.util.createBuffer(d.random.getBytes(e));else if(b.length()!=e)throw Error("Symmetric key has wrong length; got "+b.length()+" bytes, expected "+e+".");a.encryptedContent.algorithm=c,a.encryptedContent.key=b,a.encryptedContent.parameter=d.util.createBuffer(d.random.getBytes(f));var e,f,g,h=g(b);if(h.start(a.encryptedContent.parameter.copy()),h.update(a.content),!h.finish())throw Error("Symmetric encryption failed.");a.encryptedContent.content=h.output}for(var i=0;i<a.recipients.length;++i){var j=a.recipients[i];if(void 0===j.encryptedContent.content)if(j.encryptedContent.algorithm===d.pki.oids.rsaEncryption)j.encryptedContent.content=j.encryptedContent.key.encrypt(a.encryptedContent.key.data);else throw Error("Unsupported asymmetric cipher, OID "+j.encryptedContent.algorithm)}}}}},76316:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,NotSupportedError:e}=c(61448),f=c(34589),{isValidHTTPToken:g,isValidHeaderValue:h,isStream:i,destroy:j,isBuffer:k,isFormDataLike:l,isIterable:m,hasSafeIterator:n,isBlobLike:o,serializePathWithQuery:p,parseHeaders:q,assertRequestHandler:r,getServerName:s,normalizedMethodRecords:t,getProtocolFromUrlString:u}=c(84285),{channels:v}=c(62571),{headerNameLowerCasedRecord:w}=c(28820),x=/[^\u0021-\u00ff]/,y=Symbol("handler"),z=Symbol("controller"),A=Symbol("resume");class B{#bt=!1;#bu=null;#L=!1;#bv;[A]=null;rawHeaders=null;rawTrailers=null;constructor(a){this.#bv=a}pause(){this.#bt=!0}resume(){this.#bt&&(this.#bt=!1,this[A]?.())}abort(a){this.#L||(this.#L=!0,this.#bu=a,this.#bv(a))}get aborted(){return this.#L}get reason(){return this.#bu}get paused(){return this.#bt}}class C{constructor(a,{path:b,method:c,body:e,headers:f,query:q,idempotent:w,blocking:z,upgrade:A,headersTimeout:B,bodyTimeout:C,reset:E,expectContinue:F,servername:G,throwOnError:H,maxRedirections:I,typeOfService:J},K){if("string"!=typeof b)throw new d("path must be a string");if("/"===b[0]||b.startsWith("http://")||b.startsWith("https://")||"CONNECT"===c){if(x.test(b))throw new d("invalid request path")}else throw new d("path must be an absolute URL or start with a slash");if("string"!=typeof c)throw new d("method must be a string");if(void 0===t[c]&&!g(c))throw new d("invalid request method");if(A&&"string"!=typeof A)throw new d("upgrade must be a string");if(A&&!h(A))throw new d("invalid upgrade header");if(null!=B&&(!Number.isFinite(B)||B<0))throw new d("invalid headersTimeout");if(null!=C&&(!Number.isFinite(C)||C<0))throw new d("invalid bodyTimeout");if(null!=E&&"boolean"!=typeof E)throw new d("invalid reset");if(null!=F&&"boolean"!=typeof F)throw new d("invalid expectContinue");if(null!=H)throw new d("invalid throwOnError");if(null!=I&&0!==I)throw new d("maxRedirections is not supported, use the redirect interceptor");if(null!=J&&(!Number.isInteger(J)||J<0||J>255))throw new d("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=B,this.bodyTimeout=C,this.method=c,this.typeOfService=J,this.abort=null,null==e)this.body=null;else if(i(e)){this.body=e;const a=this.body._readableState;a&&a.autoDestroy||(this.endHandler=function(){j(this)},this.body.on("end",this.endHandler)),this.errorHandler=a=>{this.abort?this.abort(a):this.error=a},this.body.on("error",this.errorHandler)}else if(k(e))this.body=e.byteLength?e:null;else if(ArrayBuffer.isView(e))this.body=e.buffer.byteLength?Buffer.from(e.buffer,e.byteOffset,e.byteLength):null;else if(e instanceof ArrayBuffer)this.body=e.byteLength?Buffer.from(e):null;else if("string"==typeof e)this.body=e.length?Buffer.from(e):null;else if(l(e)||m(e)||o(e))this.body=e;else throw new d("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=A||null,this.path=q?p(b,q):b,this.origin=a,this.protocol=u(a),this.idempotent=null==w?"HEAD"===c||"GET"===c||"QUERY"===c:w,this.blocking=z??"HEAD"!==this.method,this.reset=null==E?null:E,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=null!=F&&F,Array.isArray(f)){if(f.length%2!=0)throw new d("headers array must be even");for(let a=0;a<f.length;a+=2)D(this,f[a],f[a+1])}else if(f&&"object"==typeof f)if(n(f))for(const a of f){if(!Array.isArray(a)||2!==a.length)throw new d("headers must be in key-value pair format");D(this,a[0],a[1])}else{const a=Object.keys(f);for(let b=0;b<a.length;++b)D(this,a[b],f[a[b]])}else if(null!=f)throw new d("headers must be an object or an array");r(K,c,A),this.servername=G||s(this.host)||null,this[y]=K,v.create.hasSubscribers&&v.create.publish({request:this})}onBodySent(a){if(v.bodyChunkSent.hasSubscribers&&v.bodyChunkSent.publish({request:this,chunk:a}),this[y].onBodySent)try{return this[y].onBodySent(a)}catch(a){this.abort(a)}}onRequestSent(){if(v.bodySent.hasSubscribers&&v.bodySent.publish({request:this}),this[y].onRequestSent)try{return this[y].onRequestSent()}catch(a){this.abort(a)}}onRequestStart(a,b){return(f(!this.aborted),f(!this.completed),this[z]=new B(a),this.error)?void this[z].abort(this.error):(this.abort=a,this[y].onRequestStart(this[z],b))}onResponseStarted(){return this[y].onResponseStarted?.()}onResponseStart(a,b,c,d){f(!this.aborted),f(!this.completed),v.headers.hasSubscribers&&v.headers.publish({request:this,response:{statusCode:a,headers:b,statusText:d}});let e=this[z];e&&(e[A]=c,e.rawHeaders=b);let g=Array.isArray(b)?q(b):b;try{return this[y].onResponseStart?.(e,a,g,d),!e?.paused}catch(a){return this.abort(a),!1}}onResponseData(a){f(!this.aborted),f(!this.completed),v.bodyChunkReceived.hasSubscribers&&v.bodyChunkReceived.publish({request:this,chunk:a});let b=this[z];try{return this[y].onResponseData?.(b,a),!b?.paused}catch(a){return this.abort(a),!1}}onRequestUpgrade(a,b,c){f(!this.aborted),f(!this.completed);let d=this[z];d&&(d.rawHeaders=b);let e=Array.isArray(b)?q(b):b;return this[y].onRequestUpgrade?.(d,a,e,c)}onResponseEnd(a){this.onFinally(),f(!this.aborted),f(!this.completed),this.completed=!0,v.trailers.hasSubscribers&&v.trailers.publish({request:this,trailers:a});let b=this[z];b&&(b.rawTrailers=a);let c=Array.isArray(a)?q(a):a;try{return this[y].onResponseEnd?.(b,c)}catch(a){this.onResponseError(a)}}onResponseError(a){if(this.onFinally(),v.error.hasSubscribers&&v.error.publish({request:this,error:a}),this.aborted)return;this.aborted=!0;let b=this[z];return this[y].onResponseError?.(b,a)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(a,b){return D(this,a,b),this}}function D(a,b,c){if(c&&"object"==typeof c&&!Array.isArray(c))throw new d(`invalid ${b} header`);if(void 0===c)return;let f=w[b];if(void 0===f&&void 0===w[f=b.toLowerCase()]&&!g(f))throw new d("invalid header key");if(Array.isArray(c)){let a=[];for(let e=0;e<c.length;e++)if("string"==typeof c[e]){if(!h(c[e]))throw new d(`invalid ${b} header`);a.push(c[e])}else if(null===c[e])a.push("");else if("object"==typeof c[e])throw new d(`invalid ${b} header`);else{let f=`${c[e]}`;if(!h(f))throw new d(`invalid ${b} header`);a.push(f)}c=a}else if("string"==typeof c){if(!h(c))throw new d(`invalid ${b} header`)}else if(null===c)c="";else if(!h(c=`${c}`))throw new d(`invalid ${b} header`);if("host"===f){if(null!==a.host)throw new d("duplicate host header");if("string"!=typeof c)throw new d("invalid host header");a.host=c}else if("content-length"===f){if(null!==a.contentLength)throw new d("duplicate content-length header");if(!function(a){if("string"!=typeof a||0===a.length)return!1;for(let b=0;b<a.length;b++){let c=a.charCodeAt(b);if(c<48||c>57)return!1}return!0}(c))throw new d("invalid content-length header");a.contentLength=parseInt(c,10)}else if(null===a.contentType&&"content-type"===f)a.contentType=c,a.headers.push(b,c);else if("transfer-encoding"===f||"keep-alive"===f||"upgrade"===f)throw new d(`invalid ${f} header`);else if("connection"===f){let b="string"==typeof c?c:null;if(null===b)throw new d("invalid connection header");for(let c of b.toLowerCase().split(",")){let b=c.trim();if(!g(b))throw new d("invalid connection header");"close"===b&&(a.reset=!0)}}else if("expect"===f)throw new e("expect header not supported");else a.headers.push(b,c)}a.exports=C},76403:(a,b,c)=>{"use strict";let d,{makeNetworkError:e,makeAppropriateNetworkError:f,filterResponse:g,makeResponse:h,fromInnerResponse:i,getResponseState:j}=c(78196),{HeadersList:k}=c(28665),{Request:l,cloneRequest:m,getRequestDispatcher:n,getRequestState:o,removeRequestAbortListener:p}=c(12600),q=c(38522),{makePolicyContainer:r,clonePolicyContainer:s,requestBadPort:t,TAOCheck:u,appendRequestOriginHeader:v,responseLocationURL:w,requestCurrentURL:x,setRequestReferrerPolicyOnRedirect:y,tryUpgradeRequestToAPotentiallyTrustworthyURL:z,createOpaqueTimingInfo:A,appendFetchMetadata:B,corsCheck:C,crossOriginResourcePolicyCheck:D,determineRequestsReferrer:E,coarsenedSharedCurrentTime:F,sameOrigin:G,isCancelled:H,isAborted:I,isErrorLike:J,fullyReadBody:K,readableStreamClose:L,urlIsLocal:M,urlIsHttpHttpsScheme:N,urlHasHttpsScheme:O,clampAndCoarsenConnectionTimingInfo:P,simpleRangeHeaderValue:Q,buildContentRange:R,createInflate:S,extractMimeType:T,hasAuthenticationEntry:U,includesCredentials:V,isTraversableNavigable:W}=c(42425),X=c(34589),{safelyExtractBody:Y,extractBody:Z}=c(35381),{redirectStatusSet:$,nullBodyStatus:_,safeMethodsSet:aa,requestBodyHeader:ab,subresourceSet:ac}=c(19608),ad=c(78474),{Readable:ae,pipeline:af,finished:ag,isErrored:ah,isReadable:ai}=c(57075),{addAbortListener:aj,bufferToLowerCasedHeaderName:ak}=c(84285),{dataURLProcessor:al,serializeAMimeType:am,minimizeSupportedMimeType:an}=c(16537),{getGlobalDispatcher:ao}=c(59970),{webidl:ap}=c(32984),{STATUS_CODES:aq}=c(37067),{bytesMatch:ar}=c(64371),{isomorphicEncode:as}=c(70745),at=["GET","HEAD"],au="u">typeof __UNDICI_IS_NODE__||"u">typeof esbuildDetection?"node":"undici";function av(a,b,c){if(Array.isArray(c)){for(let b=0;b<c.length;b+=2){let d=ak(c[b]),e=c[b+1];if(Array.isArray(e)&&!Buffer.isBuffer(e))for(let b of e)a.append(d,b.toString("latin1"),!0);else a.append(d,e.toString("latin1"),!0)}return}for(let[c,d]of Object.entries(b??{}))if(Array.isArray(d))for(let b of d)a.append(c,`${b}`,!0);else a.append(c,`${d}`,!0)}class aw extends ad{constructor(a){super(),this.dispatcher=a,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(a){"ongoing"===this.state&&(this.state="terminated",this.connection?.destroy(a),this.emit("terminated",a))}abort(a){"ongoing"===this.state&&(this.state="aborted",a||(a=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=a,this.connection?.destroy(a),this.emit("terminated",a))}}function ax(a,b="other"){if("error"===a.type&&a.aborted||!a.urlList?.length)return;let c=a.urlList[0],d=a.timingInfo,e=a.cacheState;N(c)&&null!==d&&(a.timingAllowPassed||(d=A({startTime:d.startTime}),e=""),d.endTime=F(),a.timingInfo=d,ay(d,c.href,b,globalThis,e,"",a.status))}let ay=performance.markResourceTiming;function az(a,b,c,d,e){if(a&&a.reject(d),b.body?.stream!=null&&ai(b.body.stream)&&b.body.stream.cancel(d).catch(a=>{if("ERR_INVALID_STATE"!==a.code)throw a}),null==c)return;let f=j(c);f.body?.stream!=null&&ai(f.body.stream)&&e.error(d)}function aA({request:a,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseEndOfBody:e,processResponseConsumeBody:f,useParallelQueue:g=!1,dispatcher:h=ao(),requestObject:i=null}){X(h);let j=null,k=!1;null!=a.client&&(j=a.client.globalObject,k=a.client.crossOriginIsolatedCapability);let l=A({startTime:F(k)}),m={controller:new aw(h),request:a,timingInfo:l,processRequestBodyChunkLength:b,processRequestEndOfBody:c,processResponse:d,processResponseConsumeBody:f,processResponseEndOfBody:e,taskDestination:j,crossOriginIsolatedCapability:k,requestObject:i};return X(!a.body||a.body.stream),"client"===a.window&&(a.window=a.client?.globalObject?.constructor?.name==="Window"?a.client:"no-window"),"client"===a.origin&&(a.origin=a.client.origin),"client"===a.policyContainer&&(null!=a.client?a.policyContainer=s(a.client.policyContainer):a.policyContainer=r()),a.headersList.contains("accept",!0)||a.headersList.append("accept","*/*",!0),a.headersList.contains("accept-language",!0)||a.headersList.append("accept-language","*",!0),a.priority,ac.has(a.destination),aB(m,!1),m.controller}async function aB(a,b){try{let c=a.request,d=null;if(c.localURLsOnly&&!M(x(c))&&(d=e("local URLs only")),z(c),"blocked"===t(c)&&(d=e("bad port")),""===c.referrerPolicy&&(c.referrerPolicy=c.policyContainer.referrerPolicy),"no-referrer"!==c.referrer&&(c.referrer=E(c)),null===d){let b=x(c);G(b,c.url)&&"basic"===c.responseTainting||"data:"===b.protocol||"navigate"===c.mode||"websocket"===c.mode?(c.responseTainting="basic",d=await aC(a)):"same-origin"===c.mode?d=e('request mode cannot be "same-origin"'):"no-cors"===c.mode?"follow"!==c.redirect?d=e('redirect mode cannot be "follow" for "no-cors" request'):(c.responseTainting="opaque",d=await aC(a)):N(x(c))?(c.responseTainting="cors",d=await aE(a)):d=e("URL scheme must be a HTTP(S) scheme")}if(b)return d;0===d.status||d.internalResponse||(c.responseTainting,"basic"===c.responseTainting?d=g(d,"basic"):"cors"===c.responseTainting?d=g(d,"cors"):"opaque"===c.responseTainting?d=g(d,"opaque"):X(!1));let f=0===d.status?d:d.internalResponse;if(0===f.urlList.length&&f.urlList.push(...c.urlList),c.timingAllowFailed||(d.timingAllowPassed=!0),"opaque"===d.type&&206===f.status&&f.rangeRequested&&!c.headers.contains("range",!0)&&(d=f=e()),0!==d.status&&("HEAD"===c.method||"CONNECT"===c.method||_.includes(f.status))&&(f.body=null,a.controller.dump=!0),c.integrity){let b=b=>aD(a,e(b));if("opaque"===c.responseTainting||null==d.body)return void b(d.error);K(d.body,e=>{ar(e,c.integrity)?(d.body=Y(e)[0],aD(a,d)):b("integrity mismatch")},b)}else aD(a,d)}catch(b){a.controller.terminate(b)}}function aC(a){if(H(a)&&0===a.request.redirectCount)return Promise.resolve(f(a));let{request:b}=a,{protocol:g}=x(b);switch(g){case"about:":return Promise.resolve(e("about scheme is not supported"));case"blob:":{d||(d=c(4573).resolveObjectURL);let a=x(b);if(0!==a.search.length)return Promise.resolve(e("NetworkError when attempting to fetch resource."));let f=d(a.toString());if("GET"!==b.method||!ap.is.Blob(f))return Promise.resolve(e("invalid method"));let g=h(),i=f.size,j=as(`${i}`),k=f.type;if(b.headersList.contains("range",!0)){g.rangeRequested=!0;let a=Q(b.headersList.get("range",!0),!0);if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));let{rangeStartValue:c,rangeEndValue:d}=a;if(null===c)d=(c=i-d)+d-1;else{if(c>=i)return Promise.resolve(e("Range start is greater than the blob's size."));(null===d||d>=i)&&(d=i-1)}let h=f.slice(c,d+1,k);g.body=Z(h)[0];let j=as(`${h.size}`),l=R(c,d,i);g.status=206,g.statusText="Partial Content",g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0),g.headersList.set("content-range",l,!0)}else{let a=Z(f);g.statusText="OK",g.body=a[0],g.headersList.set("content-length",j,!0),g.headersList.set("content-type",k,!0)}return Promise.resolve(g)}case"data:":{let a=al(x(b));if("failure"===a)return Promise.resolve(e("failed to fetch the data URL"));return Promise.resolve(h({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:am(a.mimeType)}]],body:Y(a.body)[0]}))}case"file:":return Promise.resolve(e("not implemented... yet..."));case"http:":case"https:":return aE(a).catch(a=>e(a));default:return Promise.resolve(e("unknown scheme"))}}function aD(a,b){let c=a.timingInfo,d=()=>{let d=Date.now();"document"===a.request.destination&&(a.controller.fullTimingInfo=c),a.controller.reportTimingSteps=()=>{if(!N(a.request.url))return;c.endTime=d;let e=b.cacheState,f=b.bodyInfo;b.timingAllowPassed||(c=A(c),e="");let g=0;if("navigate"!==a.request.mode||!b.hasCrossOriginRedirects){g=b.status;let a=T(b.headersList);"failure"!==a&&(f.contentType=an(a))}null!=a.request.initiatorType&&ay(c,a.request.url.href,a.request.initiatorType,globalThis,e,f,g)},queueMicrotask(()=>void(a.request.done=!0,null!=a.processResponseEndOfBody&&queueMicrotask(()=>a.processResponseEndOfBody(b)),null!=a.request.initiatorType&&a.controller.reportTimingSteps()))};null!=a.processResponse&&queueMicrotask(()=>{a.processResponse(b),a.processResponse=null});let e="error"===b.type?b:b.internalResponse??b;null==e.body?d():ag(e.body.stream,()=>{d()})}async function aE(a){let b=a.request,c=null,d=null,f=a.timingInfo;if(b.serviceWorkers,null===c){if("follow"===b.redirect&&(b.serviceWorkers="none"),d=c=await aF(a),"cors"===b.responseTainting&&"failure"===C(b,c))return e("cors failure");"failure"===u(b,c)&&(b.timingAllowFailed=!0)}return("opaque"===b.responseTainting||"opaque"===c.type)&&"blocked"===D(b.origin,b.client,b.destination,d)?e("blocked"):($.has(d.status)&&("manual"!==b.redirect&&a.controller.connection.destroy(void 0,!1),"error"===b.redirect?c=e("unexpected redirect"):"manual"===b.redirect?c=d:"follow"===b.redirect?c=await function(a,b){let c,d=a.request,f=b.internalResponse?b.internalResponse:b;try{if(c=w(f,x(d).hash),null==c)return b}catch(a){return Promise.resolve(e(a))}if(!N(c))return Promise.resolve(e("URL scheme must be a HTTP(S) scheme"));if(20===d.redirectCount)return Promise.resolve(e("redirect count exceeded"));if(d.redirectCount+=1,"cors"===d.mode&&(c.username||c.password)&&!G(d,c))return Promise.resolve(e('cross origin not allowed for request mode "cors"'));if("cors"===d.responseTainting&&(c.username||c.password))return Promise.resolve(e('URL cannot contain credentials for request mode "cors"'));if(303!==f.status&&null!=d.body&&null==d.body.source)return Promise.resolve(e());if([301,302].includes(f.status)&&"POST"===d.method||303===f.status&&!at.includes(d.method))for(let a of(d.method="GET",d.body=null,ab))d.headersList.delete(a);G(x(d),c)||(d.headersList.delete("authorization",!0),d.headersList.delete("proxy-authorization",!0),d.headersList.delete("cookie",!0),d.headersList.delete("host",!0)),null!=d.body&&(X(null!=d.body.source),d.body=Y(d.body.source)[0]);let g=a.timingInfo;return g.redirectEndTime=g.postRedirectStartTime=F(a.crossOriginIsolatedCapability),0===g.redirectStartTime&&(g.redirectStartTime=g.startTime),d.urlList.push(c),y(d,f),aB(a,!0)}(a,c):X(!1)),c.timingInfo=f,c)}async function aF(a,b=!1,c=!1){let d=a.request,g=null,h=null,i=null;"no-window"===d.window&&"error"===d.redirect?(g=a,h=d):(d.body?.source!=null?h=m(d):(h=m({...d,body:null})).body=d.body,(g={...a}).request=h);let j="include"===d.credentials||"same-origin"===d.credentials&&"basic"===d.responseTainting,k=h.body?h.body.length:null,l=null;if(null==h.body&&["POST","PUT"].includes(h.method)&&(l="0"),null!=k&&(l=as(`${k}`)),null==l||h.headersList.contains("content-length",!0)||h.headersList.append("content-length",l,!0),null!=k&&h.keepalive,ap.is.URL(h.referrer)&&h.headersList.append("referer",as(h.referrer.href),!0),v(h),B(h),h.headersList.contains("user-agent",!0)||h.headersList.append("user-agent",au,!0),"default"===h.cache&&(h.headersList.contains("if-modified-since",!0)||h.headersList.contains("if-none-match",!0)||h.headersList.contains("if-unmodified-since",!0)||h.headersList.contains("if-match",!0)||h.headersList.contains("if-range",!0))&&(h.cache="no-store"),"no-cache"!==h.cache||h.preventNoCacheCacheControlHeaderModification||h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","max-age=0",!0),("no-store"===h.cache||"reload"===h.cache)&&(h.headersList.contains("pragma",!0)||h.headersList.append("pragma","no-cache",!0),h.headersList.contains("cache-control",!0)||h.headersList.append("cache-control","no-cache",!0)),h.headersList.contains("range",!0)&&h.headersList.append("accept-encoding","identity",!0),h.headersList.contains("accept-encoding",!0)||(O(x(h))?h.headersList.append("accept-encoding","br, gzip, deflate, zstd",!0):h.headersList.append("accept-encoding","gzip, deflate",!0)),h.headersList.delete("host",!0),j&&!h.headersList.contains("authorization",!0)){let a=null;if(U(h)&&(void 0===h.useURLCredentials||!V(x(h))));else if(V(x(h))&&b){let{username:b,password:c}=x(h);a=`Basic ${Buffer.from(`${b}:${c}`).toString("base64")}`}null!==a&&h.headersList.append("Authorization",a,!1)}if(h.cache="no-store","no-store"!==h.cache&&h.cache,null==i){if("only-if-cached"===h.cache)return e("only if cached");let a=await aG(g,j,c);!aa.has(h.method)&&a.status>=200&&a.status,null==i&&(i=a)}if(i.urlList=[...h.urlList],h.headersList.contains("range",!0)&&(i.rangeRequested=!0),i.requestIncludesCredentials=j,401===i.status&&"cors"!==h.responseTainting&&j&&(void 0!==d.useURLCredentials||W(d.traversableForUserPrompts))){if(null!=d.body){if(null==d.body.source)return i;d.body=Y(d.body.source)[0]}if(void 0===d.useURLCredentials||b)return H(a)?f(a):i;a.controller.connection.destroy(),i=await aF(a,!0)}if(407===i.status)return"no-window"===d.window?e():H(a)?f(a):e("proxy authentication required");if(421===i.status&&!c&&(null==d.body||null!=d.body.source)){if(H(a))return f(a);a.controller.connection.destroy(),i=await aF(a,b,!0)}return i}async function aG(a,b=!1,c=!1){X(!a.controller.connection||a.controller.connection.destroyed),a.controller.connection={abort:null,destroyed:!1,destroy(a,b=!0){!this.destroyed&&(this.destroyed=!0,b&&this.abort?.(a??new DOMException("The operation was aborted.","AbortError")))}};let d=a.request,g=null,i=a.timingInfo;d.cache="no-store",d.mode;let j=null;if(null==d.body&&a.processRequestEndOfBody)queueMicrotask(()=>a.processRequestEndOfBody());else if(null!=d.body){let b=async function*(b){H(a)||(yield b,a.processRequestBodyChunkLength?.(b.byteLength))};j=async function*(){try{for await(let a of d.body.stream)yield*b(a);!H(a)&&a.processRequestEndOfBody&&a.processRequestEndOfBody()}catch(b){H(a)||("AbortError"===b.name?a.controller.abort():a.controller.terminate(b))}}()}try{let{body:b,status:c,statusText:e,headersList:f,socket:l}=await function({body:b}){let c=x(d),e=a.controller.dispatcher,f=c.pathname+c.search,g=0===c.search.length&&"?"===c.href[c.href.length-c.hash.length-1];return function b(h,j){return new Promise((l,m)=>e.dispatch({path:g?`${f}?`:f,origin:c.origin,method:d.method,body:e.isMockActive?d.body&&(d.body.source||d.body.stream):h,__mockAgentBodyForDispatch:h,headers:d.headersList.entries,maxRedirections:0,upgrade:"websocket"===d.mode?"websocket":void 0,...!1===j?{allowH2:j}:null},{body:null,abort:null,onRequestStart(b){let{connection:c}=a.controller;i.finalConnectionTimingInfo=P(void 0,i.postRedirectStartTime,a.crossOriginIsolatedCapability);let d=a=>b.abort(a);c.destroyed?d(new DOMException("The operation was aborted.","AbortError")):(a.controller.on("terminated",d),this.abort=c.abort=d),i.finalNetworkRequestStartTime=F(a.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=F(a.crossOriginIsolatedCapability)},onResponseStart(a,b,c,e){if(b<200)return;let f=a?.rawHeaders??[],g=new k;av(g,c,f);let h=g.get("location",!0);this.body=new ae({read:()=>a.resume()});let i=h&&"follow"===d.redirect&&$.has(b),j=[];if("HEAD"!==d.method&&"CONNECT"!==d.method&&!_.includes(b)&&!i){let a=g.get("content-encoding",!0),b=a?a.toLowerCase().split(","):[];if(b.length>5)return void m(Error(`too many content-encodings in response: ${b.length}, maximum allowed is 5`));for(let a=b.length-1;a>=0;--a){let c=b[a].trim();if("x-gzip"===c||"gzip"===c)j.push(q.createGunzip({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("deflate"===c)j.push(S({flush:q.constants.Z_SYNC_FLUSH,finishFlush:q.constants.Z_SYNC_FLUSH}));else if("br"===c)j.push(q.createBrotliDecompress({flush:q.constants.BROTLI_OPERATION_FLUSH,finishFlush:q.constants.BROTLI_OPERATION_FLUSH}));else if("zstd"===c)j.push(q.createZstdDecompress({flush:q.constants.ZSTD_e_continue,finishFlush:q.constants.ZSTD_e_end}));else{j.length=0;break}}}let n=b=>this.onResponseError(a,b);l({status:b,statusText:e,headersList:g,body:j.length?af(this.body,...j,b=>{b&&this.onResponseError(a,b)}).on("error",n):this.body.on("error",n)})},onResponseData(b,c){a.controller.dump||(i.encodedBodySize+=c.byteLength,!1===this.body.push(c)&&b.pause())},onResponseEnd(){this.abort&&a.controller.off("terminated",this.abort),a.controller.ended=!0,this.body?.push(null)},onResponseError(c,e){(this.abort&&a.controller.off("terminated",this.abort),"websocket"===d.mode&&!1!==j&&e?.code==="UND_ERR_INFO"&&e?.message==="HTTP/2: Extended CONNECT protocol not supported by server")?l(b(h,!1)):(this.body?.destroy(e),a.controller.terminate(e),m(e))},onRequestUpgrade(a,b,c,d){if(null!=d.session&&200!==b||null==d.session&&101!==b)return!1;let e=a?.rawHeaders??[],f=new k;return av(f,c,e),l({status:b,statusText:aq[b],headersList:f,socket:d}),!0}}))}(b)}({body:j});if(l)g=h({status:c,statusText:e,headersList:f,socket:l});else{let d=b[Symbol.asyncIterator]();a.controller.next=()=>d.next(),g=h({status:c,statusText:e,headersList:f})}}catch(b){if("AbortError"===b.name)return a.controller.connection.destroy(),f(a,b);return e(b)}let l=new ReadableStream({start(b){a.controller.controller=b},pull:()=>a.controller.resume(),cancel:b=>{H(a)||a.controller.abort(b)},type:"bytes"});return g.body={stream:l,source:null,length:null},a.controller.resume||a.controller.on("terminated",function(b){I(a)?(g.aborted=!0,ai(l)&&a.controller.controller.error(a.controller.serializedAbortReason)):ai(l)&&a.controller.controller.error(TypeError("terminated",{cause:J(b)?b:void 0})),a.controller.connection.destroy()}),a.controller.resume=async()=>{for(;;){let b,c;try{let{done:c,value:d}=await a.controller.next();if(I(a))break;b=c?void 0:d}catch(d){a.controller.ended&&!i.encodedBodySize?b=void 0:(b=d,c=!0)}if(void 0===b){L(a.controller.controller),function(a,b){a.request.done=!0,null!=a.processResponseDone&&queueMicrotask(()=>a.processResponseDone(b))}(a,g);return}if(i.decodedBodySize+=b?.byteLength??0,c)return void a.controller.terminate(b);let d=new Uint8Array(b);if(d.byteLength&&a.controller.controller.enqueue(d),ah(l))return void a.controller.terminate();if(a.controller.controller.desiredSize<=0)return}},g}a.exports={fetch:function(a,b){let c;ap.argumentLengthCheck(arguments,1,"globalThis.fetch");let d=Promise.withResolvers();try{c=new l(a,b)}catch(a){return d.reject(a),d.promise}let e=o(c);if(c.signal.aborted)return az(d,e,null,c.signal.reason,null),d.promise;let f=e.client.globalObject;f?.constructor?.name==="ServiceWorkerGlobalScope"&&(e.serviceWorkers="none");let g=null,h=!1,j=null,k=aj(c.signal,()=>{h=!0,X(null!=j),j.abort(c.signal.reason);let a=g?.deref();az(d,e,a,c.signal.reason,j.controller)}),m=()=>{k(),p(c)};return j=aA({request:e,processResponseEndOfBody:a=>{ax(a,"fetch"),m()},processResponse:a=>{if(!h){if(a.aborted){az(d,e,g,j.serializedAbortReason,j.controller),m();return}if("error"===a.type){d.reject(TypeError("fetch failed",{cause:a.error})),m();return}g=new WeakRef(i(a,"immutable")),d.resolve(g.deref()),d=null}},dispatcher:n(c),requestObject:c}),d.promise},Fetch:aw,fetching:aA,finalizeAndReportTiming:ax}},76441:(a,b,c)=>{"use strict";c(70625)},76540:(a,b,c)=>{"use strict";c(33873),c(29021);let{MITM_DIR:d}=c(37436),{generateRootCA:e,loadRootCA:f,generateLeafCert:g}=c(1653);a.exports={generateCert:function(){return e()},getCertForDomain:function(a){try{let b=f(),c=g(a,b);return{key:c.key,cert:c.cert}}catch(b){return console.error(`Failed to generate cert for ${a}:`,b.message),null}}}},76558:(a,b,c)=>{"use strict";c.d(b,{Yh:()=>p});var d=c(67671),e=c(38421),f=c(50969),g=c(55511),h=c(21820);let i=e.xq["mimo-free"].baseUrl,j="abcdefghijklmnopqrstuvwxyz0123456789",k=["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36","Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"],l="You are MiMoCode, an interactive CLI tool that helps users with software engineering tasks.",m=null,n=0;async function o(a=null){if(m&&Date.now()<n-3e5)return m;let b=await (0,f.Fm)("https://api.xiaomimimo.com/api/free-ai/bootstrap",{method:"POST",headers:{"Content-Type":"application/json","User-Agent":k[Math.floor(Math.random()*k.length)]},body:JSON.stringify({client:function(){let a="unknown-user";try{a=h.userInfo().username}catch{}let b=(h.cpus()[0]?.model||"unknown-cpu").trim(),c=`${h.hostname()}|${h.platform()}|${h.arch()}|${b}|${a}`;return(0,g.createHash)("sha256").update(c).digest("hex")}()})},a);if(!b.ok)throw Error(`MiMo bootstrap failed: ${b.status}`);let c=await b.json();if(!c.jwt)throw Error("MiMo bootstrap returned no JWT");return m=c.jwt,n=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1],"base64").toString());if(b.exp)return 1e3*b.exp}catch{}return Date.now()+3e6}(c.jwt),m}class p extends d.Hv{constructor(){super("mimo-free",e.xq["mimo-free"]),this.sessionId=function(){let a="ses_";for(let b=0;b<24;b++)a+=j[Math.floor(Math.random()*j.length)];return a}()}buildUrl(){return i}buildHeaders(a,b=!0){return{"Content-Type":"application/json","X-Mimo-Source":"mimocode-cli-free","User-Agent":k[Math.floor(Math.random()*k.length)],"x-session-affinity":this.sessionId,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b){let c;return!Array.isArray(c=b?.messages)||c.some(a=>a?.role==="system"&&"string"==typeof a.content&&a.content.includes(l))?b:{...b,messages:[{role:"system",content:l},...c]}}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:g,proxyOptions:h=null}){let i;try{i=await o(h)}catch(a){throw g?.error?.("AUTH",`MiMo bootstrap failed: ${a.message}`),a}let j=this.buildUrl(),k=this.transformRequest(a,b),l={...this.buildHeaders(d,c),Authorization:`Bearer ${i}`},p=JSON.stringify(k);g?.debug?.("FETCH",`MIMO-FREE → ${j} | body=${p.length}B`);let q=await (0,f.Fm)(j,{method:"POST",headers:l,body:p,signal:e},h);return 401===q.status||403===q.status?(g?.debug?.("AUTH",`MiMo auth failed (${q.status}), re-bootstrapping...`),m=null,n=0,i=await o(h),l.Authorization=`Bearer ${i}`,{response:await (0,f.Fm)(j,{method:"POST",headers:l,body:p,signal:e},h),url:j,headers:l,transformedBody:k}):{response:q,url:j,headers:l,transformedBody:k}}}},76632:(a,b,c)=>{var d=c(45654);c(1277),c(33889),(a.exports=d.hmac=d.hmac||{}).create=function(){var a=null,b=null,c=null,e=null,f={};return f.start=function(f,g){if(null!==f)if("string"==typeof f)if((f=f.toLowerCase())in d.md.algorithms)b=d.md.algorithms[f].create();else throw Error('Unknown hash algorithm "'+f+'"');else b=f;if(null===g)g=a;else{if("string"==typeof g)g=d.util.createBuffer(g);else if(d.util.isArray(g)){var h=g;g=d.util.createBuffer();for(var i=0;i<h.length;++i)g.putByte(h[i])}var j=g.length();j>b.blockLength&&(b.start(),b.update(g.bytes()),g=b.digest()),c=d.util.createBuffer(),e=d.util.createBuffer(),j=g.length();for(var i=0;i<j;++i){var h=g.at(i);c.putByte(54^h),e.putByte(92^h)}if(j<b.blockLength)for(var h=b.blockLength-j,i=0;i<h;++i)c.putByte(54),e.putByte(92);a=g,c=c.bytes(),e=e.bytes()}b.start(),b.update(c)},f.update=function(a){b.update(a)},f.getMac=function(){var a=b.digest().bytes();return b.start(),b.update(e),b.update(a),b.digest()},f.digest=f.getMac,f}},77168:(a,b,c)=>{"use strict";c.a(a,async(a,b)=>{try{c(50969),c(38421),c(10793),c(82689),c(13161),c(68531),c(87350),c(22884),c(86538),c(1654),c(96997),c(98976);var d=c(69641);c(20830);var e=c(95695);c(80152),c(18762);var f=a([d,e]);[d,e]=f.then?(await f)():f,b()}catch(a){b(a)}})},77321:(a,b,c)=>{"use strict";c.d(b,{Z:()=>h});var d=c(38421);let e=[{match:a=>/^kimi-/i.test(a||""),scope:"toolCalls"},{match:a=>/deepseek/i.test(a||""),scope:"all"}],f="deepseek-v4-pro",g={[`${f}-max`]:{thinkingType:"enabled",reasoningEffort:"max"},[`${f}-none`]:{thinkingType:"disabled",reasoningEffort:null}};function h({provider:a,model:b,body:c}){let i=d.xq[a]?.reasoningInject,j=e.find(a=>a.match(b));var k=function({provider:a,model:b,body:c}){let d=g[b];if("deepseek"!==a||!d||!c)return c;let e={...c,model:f,thinking:{type:d.thinkingType}};if(e.extra_body?.thinking){let{thinking:a,...b}=e.extra_body;0===Object.keys(b).length?delete e.extra_body:e.extra_body=b}return d.reasoningEffort?e.reasoning_effort=d.reasoningEffort:delete e.reasoning_effort,e}({provider:a,model:b,body:c}),l=i||j;if(!l||!k?.messages||function(a){if("string"==typeof a.system||Array.isArray(a.system))return!0;if(!Array.isArray(a.messages))return!1;for(let b of a.messages)if(Array.isArray(b.content)){for(let a of b.content)if(a?.type==="tool_use"||a?.type==="tool_result"||a?.type==="thinking")return!0}return!1}(k))return k;let m=k.messages.map(a=>!function(a,b){if(a?.role!=="assistant")return!1;let c=a.reasoning_content;return("string"!=typeof c||!(c.length>0))&&("toolCalls"!==b||Array.isArray(a.tool_calls)&&a.tool_calls.length>0)}(a,l.scope)?a:{...a,reasoning_content:" "});return{...k,messages:m}}},77326:(a,b,c)=>{"use strict";c.d(b,{E5:()=>E,SB:()=>G,ui:()=>H.ui,bI:()=>e.cleanupProviderConnections,Iq:()=>g.createApiKey,jd:()=>l,iE:()=>e.createProviderConnection,eh:()=>I.eh,PX:()=>g.getApiKeys,Dj:()=>k,getProviderConnections:()=>e.getProviderConnections,mt:()=>f.getSettings,ox:()=>F.ox,sZ:()=>D,o5:()=>o.o5,uw:()=>C,oG:()=>n,updateProviderConnection:()=>e.updateProviderConnection,Xx:()=>f.Xx});var d=c(24081),e=c(92216);c(20639);var f=c(45874);c(7044);var g=c(57431),h=c(27137),i=c(50743);function j(a){return a?{id:a.id,name:a.name,kind:a.kind,models:(0,i.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt}:null}async function k(a){return j((await (0,d.c)()).get("SELECT * FROM combos WHERE name = ?",[a]))}async function l(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:(0,h.A)(),name:a.name,kind:a.kind||null,models:a.models||[],createdAt:c,updatedAt:c};return b.run("INSERT INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[e.id,e.name,e.kind,(0,i.s)(e.models),e.createdAt,e.updatedAt]),e}let m=["name","kind","models"];async function n(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM combos WHERE id = ?",[a]);if(!d)return;let f={...j(d),updatedAt:new Date().toISOString()};for(let a of m)b&&Object.prototype.hasOwnProperty.call(b,a)&&(f[a]=b[a]);c.run("UPDATE combos SET name = ?, kind = ?, models = ?, updatedAt = ? WHERE id = ?",[f.name,f.kind,(0,i.s)(f.models||[]),f.updatedAt,a]),e=f}),e}var o=c(37703);c(90181);var p=c(94735),q=c(15904),r=c(77397),s=c(15738);global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new p.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._statsEmitTimers||(global._statsEmitTimers={pending:null,update:null});let t=global._pendingRequests,u=global._lastErrorProvider,v=global._recentRing;global._connectionMapCache;let w=global._statsEmitTimers,x=global._statsEmitter;function y(a,b=150){let c="update"===a?"update":"pending";w[c]||(w[c]=setTimeout(()=>{w[c]=null,x.emit(a)},b),w[c]?.unref?.())}function z(a){if(!a||null!==Object.getPrototypeOf(a)){let b=Object.create(null);return a&&Object.assign(b,a),b}return a}function A(a,b,c){let d=function(a){if(null==a)return null;let b=String(a);return"__proto__"===b||"constructor"===b||"prototype"===b?`__safe_${b}`:b}(b);null!=d&&(a[d]||(a[d]={requests:0,promptTokens:0,completionTokens:0,cachedTokens:0,cost:0}),a[d].requests+=c.requests||1,a[d].promptTokens+=c.promptTokens||0,a[d].completionTokens+=c.completionTokens||0,a[d].cachedTokens+=c.cachedTokens||0,a[d].cost+=c.cost||0,c.meta&&Object.assign(a[d],c.meta))}async function B(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.resolve().then(c.bind(c,90181)),f=await e(a,b);if(!f)return 0;let{calculateCostFromTokens:g}=await Promise.resolve().then(c.bind(c,71253));return g(d,f)}catch(a){return console.error("Error calculating cost:",a),0}}function C(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a;t.byModel[f]||(t.byModel[f]=0),t.byModel[f]=Math.max(0,t.byModel[f]+(d?1:-1)),0===t.byModel[f]&&delete t.byModel[f],c&&(t.byAccount[c]||(t.byAccount[c]={}),t.byAccount[c][f]||(t.byAccount[c][f]=0),t.byAccount[c][f]=Math.max(0,t.byAccount[c][f]+(d?1:-1)),0===t.byAccount[c][f]&&(delete t.byAccount[c][f],0===Object.keys(t.byAccount[c]).length&&delete t.byAccount[c])),!d&&e&&b&&(u.provider=b.toLowerCase(),u.ts=Date.now());let g=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${g}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),y("pending")}async function D(a){try{let b=await (0,d.c)();a.timestamp||(a.timestamp=new Date().toISOString()),a.cost=await B(a.provider,a.model,a.tokens);let c=a.tokens||{},e=(0,r.T)(c.prompt_tokens||c.input_tokens||0,"usage.promptTokens",{integer:!0}),f=(0,r.T)(c.completion_tokens||c.output_tokens||0,"usage.completionTokens",{integer:!0}),g=(0,r.T)(c.cached_tokens||c.cache_read_input_tokens||0,"usage.cachedTokens",{integer:!0}),h=(0,r.T)(a.cost,"usage.cost"),j=!1;(b.transaction(()=>{var d;let k,l,m,n,o,p,r,t,u,v,w,x,y=a.requestId||null;if(y&&b.get("SELECT id FROM usageHistory WHERE requestId = ?",[y]))return;b.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, clientKeyId, endpoint, promptTokens, completionTokens, cost, status, tokens, meta, requestId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a.timestamp,a.provider||null,a.model||null,a.connectionId||null,a.clientKeyId||null,a.endpoint||null,e,f,a.cost||0,a.status||"ok",(0,i.s)(c),(0,i.s)({}),y]),a.clientKeyId&&b.run("UPDATE apiKeys SET spentUsd = spentUsd + ? WHERE id = ?",[Number(a.cost||0),a.clientKeyId]);let B=parseInt(process.env.USAGE_HISTORY_MAX||"50000",10),C=b.get("SELECT value FROM _meta WHERE key = 'usageHistoryCount'");if(k=C?.value!=null?parseInt(C.value,10)+1:b.get("SELECT COUNT(*) as c FROM usageHistory")?.c||0,Number.isFinite(B)&&B>0&&k>B){let a=k-B;b.run("DELETE FROM usageHistory WHERE id IN (SELECT id FROM usageHistory ORDER BY id ASC LIMIT ?)",[a]),k=B}b.run("INSERT INTO _meta(key, value) VALUES('usageHistoryCount', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[String(k)]);let D=(l=(d=a.timestamp)?new Date(d):new Date,`${l.getFullYear()}-${String(l.getMonth()+1).padStart(2,"0")}-${String(l.getDate()).padStart(2,"0")}`),E=b.get("SELECT data FROM usageDaily WHERE dateKey = ?",[D]),F=E?(0,i.q)(E.data,{}):{requests:0,promptTokens:0,completionTokens:0,cost:0,byProvider:{},byModel:{},byAccount:{},byClientKey:{},byEndpoint:{}};m=a.tokens?.prompt_tokens||a.tokens?.input_tokens||0,n=a.tokens?.completion_tokens||a.tokens?.output_tokens||0,o=a.tokens?.cached_tokens||a.tokens?.cache_read_input_tokens||0,p=a.cost||0,r={promptTokens:m,completionTokens:n,cachedTokens:o,cost:p},F.requests=(F.requests||0)+1,F.promptTokens=(F.promptTokens||0)+m,F.completionTokens=(F.completionTokens||0)+n,F.cachedTokens=(F.cachedTokens||0)+o,F.cost=(F.cost||0)+p,F.byProvider=z(F.byProvider||{}),F.byModel=z(F.byModel||{}),F.byAccount=z(F.byAccount||{}),F.byClientKey=z(F.byClientKey||{}),F.byEndpoint=z(F.byEndpoint||{}),a.provider&&A(F.byProvider,a.provider,r),t=a.provider?`${a.model}|${a.provider}`:a.model,A(F.byModel,t,{...r,meta:{rawModel:a.model,provider:a.provider}}),a.connectionId&&A(F.byAccount,a.connectionId,{...r,meta:{rawModel:a.model,provider:a.provider}}),u=a.clientKeyId&&"string"==typeof a.clientKeyId?a.clientKeyId:null,v=`${u||"local-no-key"}|${a.model}|${a.provider||"unknown"}`,A(F.byClientKey,v,{...r,meta:{rawModel:a.model,provider:a.provider,clientKeyId:u}}),w=a.endpoint||"Unknown",x=`${w}|${a.model}|${a.provider||"unknown"}`,A(F.byEndpoint,x,{...r,meta:{endpoint:w,rawModel:a.model,provider:a.provider}}),b.run("INSERT INTO usageDaily(dateKey, data) VALUES(?, ?) ON CONFLICT(dateKey) DO UPDATE SET data = excluded.data",[D,(0,i.s)(F)]),(0,q.Bq)(b,()=>{let c=(0,s.ry)(b,a.provider)?a.provider:"unknown",d=b.get(`SELECT provider, requests, promptTokens, completionTokens, cachedTokens, cost
395
398
  FROM prometheusUsageTotals WHERE provider = ?`,[c]);d&&(0,q.Kd)(d),d&&(0,q.Kd)({provider:c,requests:d.requests+1,promptTokens:d.promptTokens+e,completionTokens:d.completionTokens+f,cachedTokens:d.cachedTokens+g,cost:d.cost+h}),b.run(`INSERT INTO prometheusUsageTotals(provider, requests, promptTokens, completionTokens, cachedTokens, cost)
396
399
  VALUES(?, 1, ?, ?, ?, ?)
397
400
  ON CONFLICT(provider) DO UPDATE SET
@@ -485,7 +488,7 @@ ${b}`:b),"string"==typeof a.encrypted_content&&(m=a.encrypted_content);continue}
485
488
  fi
486
489
  fi
487
490
  done
488
- `;return new Promise(a=>{f(d,{shell:"/bin/bash"},()=>a())})}async function y(a,b){if(!h()){k(`🔐 Cert: cannot install to system store without sudo — trust this file on clients: ${b}`),await x(b,"add");return}let c=p(),d=`${c.dir}/switchboard-root-ca.crt`,e=`cp "${b}" "${d}" && (${c.cmd} 2>/dev/null || true)`;try{await g(e,a),await x(b,"add"),k(`🔐 Cert: ✅ installed to Linux trust store (${c.dir}) and user browser databases`)}catch(a){throw Error(`Certificate install failed: ${a.message}`)}}async function z(a){if(await x(null,"delete"),!h())return;let b=p(),c=`${b.dir}/switchboard-root-ca.crt`,d=`rm -f "${c}" && (${b.cmd} 2>/dev/null || true)`;try{await g(d,a),k("\uD83D\uDD10 Cert: ✅ uninstalled from Linux trust store and user browser databases")}catch(a){throw Error("Failed to uninstall certificate")}}a.exports={installCert:async function a(a,b){if(!d.existsSync(b))throw Error(`Certificate file not found: ${b}`);await s(b)?k("\uD83D\uDD10 Cert: already trusted ✅"):m?await u(b):n?await t(a,b):await y(a,b)},uninstallCert:async function a(a,b){await s(b)?m?await w():n?await v(a,b):await z(a):k("\uD83D\uDD10 Cert: not found in system store")},checkCertInstalled:s}},94463:(a,b,c)=>{var d=c(45654);c(63070),c(36105),c(20308),c(49345),c(70710),c(15873),c(87981),c(10401),c(33889),c(65737);var e=d.asn1,f=a.exports=d.pki=d.pki||{};f.pemToDer=function(a){var b=d.pem.decode(a)[0];if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert PEM to DER; PEM is encrypted.");return d.util.createBuffer(b.body)},f.privateKeyFromPem=function(a){var b=d.pem.decode(a)[0];if("PRIVATE KEY"!==b.type&&"RSA PRIVATE KEY"!==b.type){var c=Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert private key from PEM; PEM is encrypted.");var g=e.fromDer(b.body);return f.privateKeyFromAsn1(g)},f.privateKeyToPem=function(a,b){var c={type:"RSA PRIVATE KEY",body:e.toDer(f.privateKeyToAsn1(a)).getBytes()};return d.pem.encode(c,{maxline:b})},f.privateKeyInfoToPem=function(a,b){var c={type:"PRIVATE KEY",body:e.toDer(a).getBytes()};return d.pem.encode(c,{maxline:b})}},95095:(a,b,c)=>{"use strict";let d=c(7344),e=c(31825);class f extends d{#bR=null;#bS=null;constructor(a,b={}){super(b),this.#bR=a,this.#bS=b}dispatch(a,b){let c=new e({...a,retryOptions:this.#bS},{dispatch:this.#bR.dispatch.bind(this.#bR),handler:b});return this.#bR.dispatch(a,c)}close(){return this.#bR.close()}destroy(){return this.#bR.destroy()}}a.exports=f},95695:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>B});var e=c(65369),f=c(30322),g=c(59529),h=c(4620),i=c(16542),j=c(33113),k=c(62692),l=c(84263),m=c(37071),n=c(51171),o=c(41883),p=c(99120),q=c(67594),r=c(49209),s=c(37606),t=c(18205),u=c(94107),v=c(14071),w=c(76558),x=c(16276),y=c(46248),z=c(72285);c(67671);var A=a([n]);n=(A.then?(await A)():A)[0];let C={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,kimchi:new l.BL,codex:new m.T,cursor:new n.o,cu:new n.o,vertex:new o.w("vertex"),"vertex-partner":new o.w("vertex-partner"),qwen:new p.R,opencode:new q.j,"grok-web":new r.$,"perplexity-web":new s.Ay,"ollama-local":new t.D,commandcode:new u.A,"xiaomi-tokenplan":new v.F,"mimo-free":new w.Yh,mmf:new w.Yh,"codebuddy-cn":new x.v,"grok-cli":new z.h},D=new Map;function B(a){return C[a]?C[a]:(D.has(a)||D.set(a,new y.L(a)),D.get(a))}d()}catch(a){d(a)}})},96684:(a,b,c)=>{"use strict";c.d(b,{F:()=>e,Q:()=>f});var d=c(62457);function e(a,b){switch(b){case"claude":switch(a){case d.Ut.END_TURN:return d.bC.STOP;case d.Ut.MAX_TOKENS:return d.bC.LENGTH;case d.Ut.TOOL_USE:return d.bC.TOOL_CALLS;case d.Ut.STOP_SEQUENCE:default:return d.bC.STOP}case"commandcode":switch(a){case"stop":case"error":return d.bC.STOP;case"length":return d.bC.LENGTH;case"tool-calls":case"tool_use":return d.bC.TOOL_CALLS;case"content-filter":return d.bC.CONTENT_FILTER;default:return a||d.bC.STOP}case"gemini":{let b=String(a).toUpperCase();if(d.lW.has(b))return d.bC.ERROR;if(d.zh.has(b))return d.bC.CONTENT_FILTER;switch(b){case d.a_.STOP:return d.bC.STOP;case d.a_.MAX_TOKENS:return d.bC.LENGTH;default:return d.bC.STOP}}case"kiro":case"ollama":switch(a){case"tool_calls":case"tool_use":return d.bC.TOOL_CALLS;case"length":case"max_tokens":return d.bC.LENGTH;default:return d.bC.STOP}default:return a||d.bC.STOP}}function f(a,b){if("claude"!==b)return a;switch(a){case d.bC.STOP:return d.Ut.END_TURN;case d.bC.LENGTH:return d.Ut.MAX_TOKENS;case d.bC.TOOL_CALLS:return d.Ut.TOOL_USE;case d.bC.ERROR:default:return d.Ut.END_TURN}}},96997:(a,b,c)=>{"use strict";c.d(b,{oD:()=>z,Og:()=>B,jT:()=>A,Sc:()=>C,jR:()=>x,I9:()=>q,AH:()=>v,Ql:()=>u,$B:()=>H,pb:()=>E});var d=c(38421),e=c(10793),f=c(50969);let g=new Map;function h(a,b){g.get(a)===b&&(g.delete(a),b.cleanupTimer&&clearTimeout(b.cleanupTimer))}async function i(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;h(e,f)}let i={promise:null},j=(async()=>{try{let a=await c();if(a&&(a.accessToken||a.copilotToken||a.refreshToken)){let b;(b={result:a,expiresAt:Date.now()+1e4,cleanupTimer:null}).cleanupTimer=setTimeout(()=>{g.get(e)===b&&(g.delete(e),b.cleanupTimer=null)},1e4),b.cleanupTimer.unref?.(),g.set(e,b)}else h(e,i);return a}catch(a){throw h(e,i),a}})();return i.promise=j,g.set(e,i),j}var j=c(17438),k=c(85513);function l(a="",b=0){let c="";try{let b=a?JSON.parse(a):null;c=b?.error||b?.error_code||b?.code||""}catch{}return{status:b,errorCode:c||void 0,bodyLen:a?.length||0}}let m=null;async function n(a,b){return a?i("xai",a,async()=>{try{if(!m){let a=(0,j.oC)().createXaiService;if(!a)return b?.warn?.("TOKEN_REFRESH","xAI service not wired (setOpenSseDeps)"),null;m=await a()}let c=await m.refreshAccessToken(a);return{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,idToken:c.id_token}}catch(d){let a=String(d?.message||""),c=a.includes("invalid_grant")?"invalid_grant":a.includes("invalid_request")?"invalid_request":null;if(b?.warn?.("TOKEN_REFRESH","xai refresh failed",c?{errorCode:c}:void 0),c)return{error:c};return null}},b):null}async function o(a,b,c,e,g=null){let h=d.xq[a],j=h?.refreshUrl||d.sr[a]?.refreshUrl||d.sr[a]?.tokenUrl;return h&&j?b?i(a,b,async()=>{try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:h.clientId});h.clientSecret&&c.set("client_secret",h.clientSecret);let d=await (0,f.Fm)(j,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c,identity:h.identity,provider:a,format:h.format},g);if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:l(b,d.status)}),null}let i=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||b,expiresIn:i.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function p(a,b){return a?i("claude",a,async()=>{try{let c=await (0,f.Fm)(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId}),identity:d.xq.claude?.identity,provider:"claude",format:d.xq.claude?.format});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:l(a,c.status)}),null}let g=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,g,h=null,j=null){if(!a)return null;let k=h||(b===d.xq.antigravity?.clientId?"antigravity":"gemini-cli"),m=d.xq[k];return i(`google:${b}`,a,async()=>{try{let d=await (0,f.Fm)(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c}),identity:m?.identity,provider:k,format:m?.format},j);if(!d.ok){let a=await d.text();return g?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:d.status,error:l(a,d.status)}),null}let h=await d.json();return g?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!h.access_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}}catch(a){return g?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},g)}async function r(a,b){return a?i("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await (0,f.Fm)(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId}),identity:d.xq.qwen?.identity,provider:"qwen",format:d.xq.qwen?.format});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:l(a,e.status)})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?i("codex",a,async()=>{try{let c=await (0,f.Fm)(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a}),identity:d.xq.codex?.identity,provider:"codex",format:d.xq.codex?.format});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:l(a,c.status),code:d.code,permanent:d.permanent}),null}let g=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,hasIdToken:!!g.id_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,idToken:g.id_token,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,c){if(a?.profileArn)return{};let d=c?.trim?.()||null;if(!d){let c=(0,j.oC)().fetchKiroProfileArn;c&&(d=await c(b,a?.region))}return d?{providerSpecificData:{profileArn:d}}:{}}async function u(a,b,c,e=null){return a?i("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,m=b?.region;if("external_idp"===g){let g;try{let c=(0,j.oC)().buildExternalIdpRefreshParams;if(!c)throw Error("buildExternalIdpRefreshParams not wired");g=await c(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let h=await (0,f.Fm)(g.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:g.body,identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:h.status,error:l(a,h.status)}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||a,expiresIn:i.expires_in,providerSpecificData:g.providerSpecificData}}if(h&&i){let j="idc"===g&&(0,k.i7)(m)?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",n=await (0,f.Fm)(j,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"}),identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!n.ok){let a=await n.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:n.status,error:l(a,n.status)}),null}let o=await n.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn,...await t(b,o.accessToken,o.profileArn)}}let n=await (0,f.Fm)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a}),identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!n.ok){let a=await n.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:n.status,error:l(a,n.status)}),null}let o=await n.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn,...await t(b,o.accessToken,o.profileArn)}},c):null}async function v(a,b){return a?i("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),g=await (0,f.Fm)(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret}),identity:d.xq.iflow?.identity,provider:"iflow",format:d.xq.iflow?.format});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:g.status,error:l(a,g.status)}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}},b):null}async function w(a,b){return a?i("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let g=await (0,f.Fm)(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c),identity:d.xq.github?.identity,provider:"github",format:d.xq.github?.format});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:g.status,error:l(a,g.status)}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}},b):null}async function x(a,b){return a?i("copilot",a,async()=>{try{let c=await (0,f.Fm)(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,Accept:"application/json"},identity:d.xq.github?.identity,provider:"github",format:d.xq.github?.format});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:l(a,c.status)}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!e.token,expiresAt:e.expires_at}),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function y(a,b){return a?i("codebuddy-cn",a,async()=>{let c=d.sr["codebuddy-cn"]||{},e=await (0,f.Fm)(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a},body:JSON.stringify({refreshToken:a}),identity:d.xq["codebuddy-cn"]?.identity,provider:"codebuddy-cn",format:d.xq["codebuddy-cn"]?.format});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:e.status,error:l(a,e.status)}),null}let g=await e.json();return 0===g.code&&g.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!g.data.accessToken,hasNewRefreshToken:!!g.data.refreshToken,expiresIn:g.data.expiresIn}),{accessToken:g.data.accessToken,refreshToken:g.data.refreshToken||a,expiresIn:g.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:g.code,msg:g.msg}),null)},b):null}let z=3e5;function A(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function B(a){return e.Wu[a]||z}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b,g="vertex",h=null){let i=a.client_email,j=D.get(i);if(j&&j.expiresAt-Date.now()>3e5)return{accessToken:j.token,expiresAt:j.expiresAt};try{let{SignJWT:j,importPKCS8:k}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let l=await k(a.private_key.replace(/\\n/g,"\n"),"RS256"),m=Math.floor(Date.now()/1e3),n=await new j({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(m).setExpirationTime(m+3600).sign(l),o=d.xq[g]||d.xq.vertex,p=await (0,f.Fm)(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:n}),identity:o.identity,provider:g,format:o.format},h);if(!p.ok){let a=await p.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:q,expires_in:r}=await p.json(),s=Date.now()+(r??3600)*1e3;return D.set(i,{token:q,expiresAt:s}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:q,expiresAt:s}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function F(a,b,c="vertex"){let d=C(a.apiKey);if(d)return E(d,b,c);try{let d="string"==typeof a.apiKey?JSON.parse(a.apiKey):null;if(d?.type==="authorized_user"&&d.refresh_token&&d.client_id&&d.client_secret)return q(d.refresh_token,d.client_id,d.client_secret,b,c)}catch{}return null}let G={"gemini-cli":(a,b)=>q(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>q(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>p(a.refreshToken,b),codex:(a,b)=>s(a.refreshToken,b),qwen:(a,b)=>r(a.refreshToken,b),iflow:(a,b)=>v(a.refreshToken,b),github:(a,b)=>w(a.refreshToken,b),kiro:(a,b)=>u(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>n(a.refreshToken,b),"grok-cli":(a,b,c)=>o("grok-cli",a.refreshToken,a,b,c),"codebuddy-cn":(a,b)=>y(a.refreshToken,b),vertex:(a,b)=>F(a,b,"vertex"),"vertex-partner":(a,b)=>F(a,b,"vertex-partner")};async function H(a,b,c,d=null){let e="vertex"===a||"vertex-partner"===a;if(!b.refreshToken&&!(e&&b?.apiKey))return null;let f=G[a];return f?f(b,c,d):o(a,b.refreshToken,b,c,d)}},97137:(a,b,c)=>{"use strict";c.d(b,{v:()=>j});var d=c(82689);let e=["server_is_overloaded","service_unavailable_error"];function f(a){let b=Error(a?.reason?.message||"Request aborted");return b.name="AbortError",b}function g(a){let b="",c=[];for(let d of a.split(/\r?\n/))d.startsWith("event:")?b=d.slice(6).trim():d.startsWith("data:")&&c.push(d.slice(5).trimStart());let d=c.join("\n"),e=null;try{e=JSON.parse(d)}catch{}return{event:b,parsed:e,rawData:d}}function h({event:a,parsed:b,rawData:c}){let d=b?.type||a,f=b?.error||b?.response?.error;if(!("error"===a||"error"===d||"response.failed"===d||d?.endsWith?.(".error")||f))return null;let g=b?JSON.stringify(f||b):c;return e.find(a=>g.includes(a))||null}async function i(a){let b;if(!a?.ok||!a.body)return{matched:null,replacementBody:null};let c=a.body.getReader(),d=new TextDecoder,e=[],f=0,i="",j=!1,k=null;try{for(;f<4096&&!k&&!j;){let{done:a,value:b}=await c.read();if(a)break;e.push(b),f+=b.byteLength;let l=(i+=d.decode(b,{stream:!0})).split(/\r?\n\r?\n/);for(let a of(i=l.pop()||"",l)){let b=g(a);(function({event:a,parsed:b}){let c=b?.type||a;return!(!c||"error"===c||"response.failed"===c||c?.endsWith?.(".error")||b?.error||b?.response?.error)&&(c.startsWith("response.output_")||c.startsWith("response.content_part.")||c.startsWith("response.function_call")||c.startsWith("response.reasoning")||c.startsWith("response.refusal")||c.startsWith("response.image_generation_call."))})(b)&&(j=!0);let c=h(b);if(c&&!j){k=c;break}}}k||j||(k=h(g(i)))}catch{}return{matched:k,replacementBody:(b=0,new ReadableStream({async pull(a){if(b<e.length)return void a.enqueue(e[b++]);try{let{done:b,value:d}=await c.read();b?a.close():a.enqueue(d)}catch(b){a.error(b)}},cancel:a=>c.cancel(a)}))}}async function j({execute:a,retryConfig:b,signal:c,log:e,provider:g="UPSTREAM"}){let h={...d.cI,...b},{attempts:k,delayMs:l}=(0,d.DR)(h[503]);for(let b=0;;b++){var m;if(c?.aborted)throw f(c);let d=await a(),h=await i(d.response),j=(m=h.replacementBody)?{...d,response:new Response(m,{status:d.response.status,statusText:d.response.statusText,headers:d.response.headers})}:d;if(!h.matched)return j;if(b>=k)return e?.warn?.("RETRY",`${g.toUpperCase()} | SSE transient "${h.matched}" — retries exhausted (${b}/${k})`),j;e?.debug?.("RETRY",`${g.toUpperCase()} | SSE "${h.matched}" retry ${b+1}/${k} after ${l/1e3}s`);try{await j.response.body?.cancel?.("retrying transient SSE error")}catch{}await function(a,b){return b?.aborted?Promise.reject(f(b)):a<=0?Promise.resolve():new Promise((c,d)=>{let e=()=>{clearTimeout(g),b?.removeEventListener?.("abort",e),d(f(b))},g=setTimeout(()=>{clearTimeout(g),b?.removeEventListener?.("abort",e),c()},a);b?.addEventListener?.("abort",e,{once:!0})})}(l,c)}}},97210:(a,b,c)=>{"use strict";let{createInflateRaw:d,Z_DEFAULT_WINDOWBITS:e}=c(38522),{isValidClientWindowBits:f}=c(94050),{MessageSizeExceededError:g}=c(61448),h=Buffer.from([0,0,255,255]),i=Symbol("kBuffer"),j=Symbol("kLength");class k{#bT;#bS={};#br=0;constructor(a,b){this.#bS.serverNoContextTakeover=a.has("server_no_context_takeover"),this.#bS.serverMaxWindowBits=a.get("server_max_window_bits"),this.#br=b.maxPayloadSize}decompress(a,b,c){if(!this.#bT){let a=e;if(this.#bS.serverMaxWindowBits){if(!f(this.#bS.serverMaxWindowBits))return void c(Error("Invalid server_max_window_bits"));a=Number.parseInt(this.#bS.serverMaxWindowBits)}try{this.#bT=d({windowBits:a})}catch(a){c(a);return}this.#bT[i]=[],this.#bT[j]=0,this.#bT.on("data",a=>{if(this.#bT[j]+=a.length,this.#br>0&&this.#bT[j]>this.#br){c(new g),this.#bT.removeAllListeners(),this.#bT=null;return}this.#bT[i].push(a)}),this.#bT.on("error",a=>{this.#bT=null,c(a)})}this.#bT.write(a),b&&this.#bT.write(h),this.#bT.flush(()=>{if(!this.#bT)return;let a=Buffer.concat(this.#bT[i],this.#bT[j]);this.#bT[i].length=0,this.#bT[j]=0,c(null,a)})}}a.exports={PerMessageDeflate:k}},97356:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),{isASCIINumber:e,isValidLastEventId:f}=c(26376),g=Buffer.from("data"),h=Buffer.from("event"),i=Buffer.from("id"),j=Buffer.from("retry");function k(a,b,c){if(b!==c.length)return!1;for(let d=0;d<b;d++)if(a[d]!==c[d])return!1;return!0}class l extends d{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(a={}){a.readableObjectMode=!0,super(a),this.state=a.eventSourceSettings||{},a.push&&(this.push=a.push)}_transform(a,b,c){if(0===a.length||(this.chunks.push(a),this.checkBOM&&this.handleBOM()))return void c();for(;this.hasCurrentByte();){let a=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(10===a){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}c()}parseLine(a,b){if(0===a.length)return;let c=a.indexOf(58);if(0===c)return;let d=a.length,e=a.length;if(-1!==c&&(d=c,32===a[e=c+1]&&++e),k(a,d,g)){let c=a.toString("utf8",e);void 0===b.data?b.data=c:b.data+=`
491
+ `;return new Promise(a=>{f(d,{shell:"/bin/bash"},()=>a())})}async function y(a,b){if(!h()){k(`🔐 Cert: cannot install to system store without sudo — trust this file on clients: ${b}`),await x(b,"add");return}let c=p(),d=`${c.dir}/switchboard-root-ca.crt`,e=`cp "${b}" "${d}" && (${c.cmd} 2>/dev/null || true)`;try{await g(e,a),await x(b,"add"),k(`🔐 Cert: ✅ installed to Linux trust store (${c.dir}) and user browser databases`)}catch(a){throw Error(`Certificate install failed: ${a.message}`)}}async function z(a){if(await x(null,"delete"),!h())return;let b=p(),c=`${b.dir}/switchboard-root-ca.crt`,d=`rm -f "${c}" && (${b.cmd} 2>/dev/null || true)`;try{await g(d,a),k("\uD83D\uDD10 Cert: ✅ uninstalled from Linux trust store and user browser databases")}catch(a){throw Error("Failed to uninstall certificate")}}a.exports={installCert:async function a(a,b){if(!d.existsSync(b))throw Error(`Certificate file not found: ${b}`);await s(b)?k("\uD83D\uDD10 Cert: already trusted ✅"):m?await u(b):n?await t(a,b):await y(a,b)},uninstallCert:async function a(a,b){await s(b)?m?await w():n?await v(a,b):await z(a):k("\uD83D\uDD10 Cert: not found in system store")},checkCertInstalled:s}},94463:(a,b,c)=>{var d=c(45654);c(63070),c(36105),c(20308),c(49345),c(70710),c(15873),c(87981),c(10401),c(33889),c(65737);var e=d.asn1,f=a.exports=d.pki=d.pki||{};f.pemToDer=function(a){var b=d.pem.decode(a)[0];if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert PEM to DER; PEM is encrypted.");return d.util.createBuffer(b.body)},f.privateKeyFromPem=function(a){var b=d.pem.decode(a)[0];if("PRIVATE KEY"!==b.type&&"RSA PRIVATE KEY"!==b.type){var c=Error('Could not convert private key from PEM; PEM header type is not "PRIVATE KEY" or "RSA PRIVATE KEY".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert private key from PEM; PEM is encrypted.");var g=e.fromDer(b.body);return f.privateKeyFromAsn1(g)},f.privateKeyToPem=function(a,b){var c={type:"RSA PRIVATE KEY",body:e.toDer(f.privateKeyToAsn1(a)).getBytes()};return d.pem.encode(c,{maxline:b})},f.privateKeyInfoToPem=function(a,b){var c={type:"PRIVATE KEY",body:e.toDer(a).getBytes()};return d.pem.encode(c,{maxline:b})}},95095:(a,b,c)=>{"use strict";let d=c(7344),e=c(31825);class f extends d{#bR=null;#bS=null;constructor(a,b={}){super(b),this.#bR=a,this.#bS=b}dispatch(a,b){let c=new e({...a,retryOptions:this.#bS},{dispatch:this.#bR.dispatch.bind(this.#bR),handler:b});return this.#bR.dispatch(a,c)}close(){return this.#bR.close()}destroy(){return this.#bR.destroy()}}a.exports=f},95695:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{SB:()=>B});var e=c(65369),f=c(30322),g=c(59529),h=c(4620),i=c(16542),j=c(33113),k=c(62692),l=c(84263),m=c(40404),n=c(51171),o=c(41883),p=c(99120),q=c(67594),r=c(49209),s=c(37606),t=c(18205),u=c(94107),v=c(14071),w=c(76558),x=c(16276),y=c(46248),z=c(72285);c(67671);var A=a([n]);n=(A.then?(await A)():A)[0];let C={antigravity:new e.c,azure:new f.P,"gemini-cli":new g.V,github:new h.x,iflow:new i.r,qoder:new j.DH,kiro:new k.B,kimchi:new l.BL,codex:new m.T,cursor:new n.o,cu:new n.o,vertex:new o.w("vertex"),"vertex-partner":new o.w("vertex-partner"),qwen:new p.R,opencode:new q.j,"grok-web":new r.$,"perplexity-web":new s.Ay,"ollama-local":new t.D,commandcode:new u.A,"xiaomi-tokenplan":new v.F,"mimo-free":new w.Yh,mmf:new w.Yh,"codebuddy-cn":new x.v,"grok-cli":new z.h},D=new Map;function B(a){return C[a]?C[a]:(D.has(a)||D.set(a,new y.L(a)),D.get(a))}d()}catch(a){d(a)}})},96684:(a,b,c)=>{"use strict";c.d(b,{F:()=>e,Q:()=>f});var d=c(62457);function e(a,b){switch(b){case"claude":switch(a){case d.Ut.END_TURN:return d.bC.STOP;case d.Ut.MAX_TOKENS:return d.bC.LENGTH;case d.Ut.TOOL_USE:return d.bC.TOOL_CALLS;case d.Ut.STOP_SEQUENCE:default:return d.bC.STOP}case"commandcode":switch(a){case"stop":case"error":return d.bC.STOP;case"length":return d.bC.LENGTH;case"tool-calls":case"tool_use":return d.bC.TOOL_CALLS;case"content-filter":return d.bC.CONTENT_FILTER;default:return a||d.bC.STOP}case"gemini":{let b=String(a).toUpperCase();if(d.lW.has(b))return d.bC.ERROR;if(d.zh.has(b))return d.bC.CONTENT_FILTER;switch(b){case d.a_.STOP:return d.bC.STOP;case d.a_.MAX_TOKENS:return d.bC.LENGTH;default:return d.bC.STOP}}case"kiro":case"ollama":switch(a){case"tool_calls":case"tool_use":return d.bC.TOOL_CALLS;case"length":case"max_tokens":return d.bC.LENGTH;default:return d.bC.STOP}default:return a||d.bC.STOP}}function f(a,b){if("claude"!==b)return a;switch(a){case d.bC.STOP:return d.Ut.END_TURN;case d.bC.LENGTH:return d.Ut.MAX_TOKENS;case d.bC.TOOL_CALLS:return d.Ut.TOOL_USE;case d.bC.ERROR:default:return d.Ut.END_TURN}}},96997:(a,b,c)=>{"use strict";c.d(b,{oD:()=>z,Og:()=>B,jT:()=>A,Sc:()=>C,jR:()=>x,I9:()=>q,AH:()=>v,Ql:()=>u,$B:()=>H,pb:()=>E});var d=c(38421),e=c(10793),f=c(50969);let g=new Map;function h(a,b){g.get(a)===b&&(g.delete(a),b.cleanupTimer&&clearTimeout(b.cleanupTimer))}async function i(a,b,c,d){if(!b)return c();let e=`${a}:${b}`,f=g.get(e);if(f){if(f.promise)return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),f.promise;if(f.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),f.result;h(e,f)}let i={promise:null},j=(async()=>{try{let a=await c();if(a&&(a.accessToken||a.copilotToken||a.refreshToken)){let b;(b={result:a,expiresAt:Date.now()+1e4,cleanupTimer:null}).cleanupTimer=setTimeout(()=>{g.get(e)===b&&(g.delete(e),b.cleanupTimer=null)},1e4),b.cleanupTimer.unref?.(),g.set(e,b)}else h(e,i);return a}catch(a){throw h(e,i),a}})();return i.promise=j,g.set(e,i),j}var j=c(17438),k=c(85513);function l(a="",b=0){let c="";try{let b=a?JSON.parse(a):null;c=b?.error||b?.error_code||b?.code||""}catch{}return{status:b,errorCode:c||void 0,bodyLen:a?.length||0}}let m=null;async function n(a,b){return a?i("xai",a,async()=>{try{if(!m){let a=(0,j.oC)().createXaiService;if(!a)return b?.warn?.("TOKEN_REFRESH","xAI service not wired (setOpenSseDeps)"),null;m=await a()}let c=await m.refreshAccessToken(a);return{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,idToken:c.id_token}}catch(d){let a=String(d?.message||""),c=a.includes("invalid_grant")?"invalid_grant":a.includes("invalid_request")?"invalid_request":null;if(b?.warn?.("TOKEN_REFRESH","xai refresh failed",c?{errorCode:c}:void 0),c)return{error:c};return null}},b):null}async function o(a,b,c,e,g=null){let h=d.xq[a],j=h?.refreshUrl||d.sr[a]?.refreshUrl||d.sr[a]?.tokenUrl;return h&&j?b?i(a,b,async()=>{try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:h.clientId});h.clientSecret&&c.set("client_secret",h.clientSecret);let d=await (0,f.Fm)(j,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c,identity:h.identity,provider:a,format:h.format},g);if(!d.ok){let b=await d.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:d.status,error:l(b,d.status)}),null}let i=await d.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||b,expiresIn:i.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function p(a,b){return a?i("claude",a,async()=>{try{let c=await (0,f.Fm)(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId}),identity:d.xq.claude?.identity,provider:"claude",format:d.xq.claude?.format});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:l(a,c.status)}),null}let g=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function q(a,b,c,g,h=null,j=null){if(!a)return null;let k=h||(b===d.xq.antigravity?.clientId?"antigravity":"gemini-cli"),m=d.xq[k];return i(`google:${b}`,a,async()=>{try{let d=await (0,f.Fm)(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c}),identity:m?.identity,provider:k,format:m?.format},j);if(!d.ok){let a=await d.text();return g?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:d.status,error:l(a,d.status)}),null}let h=await d.json();return g?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!h.access_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}}catch(a){return g?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},g)}async function r(a,b){return a?i("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await (0,f.Fm)(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId}),identity:d.xq.qwen?.identity,provider:"qwen",format:d.xq.qwen?.format});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:l(a,e.status)})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function s(a,b){return a?i("codex",a,async()=>{try{let c=await (0,f.Fm)(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a}),identity:d.xq.codex?.identity,provider:"codex",format:d.xq.codex?.format});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:l(a,c.status),code:d.code,permanent:d.permanent}),null}let g=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,hasIdToken:!!g.id_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,idToken:g.id_token,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function t(a,b,c){if(a?.profileArn)return{};let d=c?.trim?.()||null;if(!d){let c=(0,j.oC)().fetchKiroProfileArn;c&&(d=await c(b,a?.region))}return d?{providerSpecificData:{profileArn:d}}:{}}async function u(a,b,c,e=null){return a?i("kiro",a,async()=>{let g=b?.authMethod,h=b?.clientId,i=b?.clientSecret,m=b?.region;if("external_idp"===g){let g;try{let c=(0,j.oC)().buildExternalIdpRefreshParams;if(!c)throw Error("buildExternalIdpRefreshParams not wired");g=await c(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Invalid Kiro external_idp refresh config: ${a.message}`),null}let h=await (0,f.Fm)(g.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:g.body,identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro external_idp token",{status:h.status,error:l(a,h.status)}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro external_idp token",{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||a,expiresIn:i.expires_in,providerSpecificData:g.providerSpecificData}}if(h&&i){let j="idc"===g&&(0,k.i7)(m)?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",n=await (0,f.Fm)(j,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:h,clientSecret:i,refreshToken:a,grantType:"refresh_token"}),identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!n.ok){let a=await n.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:n.status,error:l(a,n.status)}),null}let o=await n.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn,...await t(b,o.accessToken,o.profileArn)}}let n=await (0,f.Fm)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:a}),identity:d.xq.kiro?.identity,provider:"kiro",format:d.xq.kiro?.format},e);if(!n.ok){let a=await n.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:n.status,error:l(a,n.status)}),null}let o=await n.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn,...await t(b,o.accessToken,o.profileArn)}},c):null}async function v(a,b){return a?i("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),g=await (0,f.Fm)(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret}),identity:d.xq.iflow?.identity,provider:"iflow",format:d.xq.iflow?.format});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:g.status,error:l(a,g.status)}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}},b):null}async function w(a,b){return a?i("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let g=await (0,f.Fm)(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c),identity:d.xq.github?.identity,provider:"github",format:d.xq.github?.format});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:g.status,error:l(a,g.status)}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in}},b):null}async function x(a,b){return a?i("copilot",a,async()=>{try{let c=await (0,f.Fm)(d.sr.github?.copilotTokenUrl,{headers:{Authorization:`token ${a}`,Accept:"application/json"},identity:d.xq.github?.identity,provider:"github",format:d.xq.github?.format});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:c.status,error:l(a,c.status)}),null}let e=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!e.token,expiresAt:e.expires_at}),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}},b):null}async function y(a,b){return a?i("codebuddy-cn",a,async()=>{let c=d.sr["codebuddy-cn"]||{},e=await (0,f.Fm)(c.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":c.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a},body:JSON.stringify({refreshToken:a}),identity:d.xq["codebuddy-cn"]?.identity,provider:"codebuddy-cn",format:d.xq["codebuddy-cn"]?.format});if(!e.ok){let a=await e.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy token",{status:e.status,error:l(a,e.status)}),null}let g=await e.json();return 0===g.code&&g.data?.accessToken?(b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy token",{hasNewAccessToken:!!g.data.accessToken,hasNewRefreshToken:!!g.data.refreshToken,expiresIn:g.data.expiresIn}),{accessToken:g.data.accessToken,refreshToken:g.data.refreshToken||a,expiresIn:g.data.expiresIn}):(b?.error?.("TOKEN_REFRESH","CodeBuddy token refresh returned no token",{code:g.code,msg:g.msg}),null)},b):null}let z=3e5;function A(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function B(a){return e.Wu[a]||z}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b,g="vertex",h=null){let i=a.client_email,j=D.get(i);if(j&&j.expiresAt-Date.now()>3e5)return{accessToken:j.token,expiresAt:j.expiresAt};try{let{SignJWT:j,importPKCS8:k}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let l=await k(a.private_key.replace(/\\n/g,"\n"),"RS256"),m=Math.floor(Date.now()/1e3),n=await new j({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience(e.NA.google.token).setIssuedAt(m).setExpirationTime(m+3600).sign(l),o=d.xq[g]||d.xq.vertex,p=await (0,f.Fm)(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:n}),identity:o.identity,provider:g,format:o.format},h);if(!p.ok){let a=await p.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:q,expires_in:r}=await p.json(),s=Date.now()+(r??3600)*1e3;return D.set(i,{token:q,expiresAt:s}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:q,expiresAt:s}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}function F(a,b,c="vertex"){let d=C(a.apiKey);if(d)return E(d,b,c);try{let d="string"==typeof a.apiKey?JSON.parse(a.apiKey):null;if(d?.type==="authorized_user"&&d.refresh_token&&d.client_id&&d.client_secret)return q(d.refresh_token,d.client_id,d.client_secret,b,c)}catch{}return null}let G={"gemini-cli":(a,b)=>q(a.refreshToken,d.xq["gemini-cli"].clientId,d.xq["gemini-cli"].clientSecret,b),antigravity:(a,b)=>q(a.refreshToken,d.xq.antigravity.clientId,d.xq.antigravity.clientSecret,b),claude:(a,b)=>p(a.refreshToken,b),codex:(a,b)=>s(a.refreshToken,b),qwen:(a,b)=>r(a.refreshToken,b),iflow:(a,b)=>v(a.refreshToken,b),github:(a,b)=>w(a.refreshToken,b),kiro:(a,b)=>u(a.refreshToken,a.providerSpecificData,b),xai:(a,b)=>n(a.refreshToken,b),"grok-cli":(a,b,c)=>o("grok-cli",a.refreshToken,a,b,c),"codebuddy-cn":(a,b)=>y(a.refreshToken,b),vertex:(a,b)=>F(a,b,"vertex"),"vertex-partner":(a,b)=>F(a,b,"vertex-partner")};async function H(a,b,c,d=null){let e="vertex"===a||"vertex-partner"===a;if(!b.refreshToken&&!(e&&b?.apiKey))return null;let f=G[a];return f?f(b,c,d):o(a,b.refreshToken,b,c,d)}},97137:(a,b,c)=>{"use strict";c.d(b,{v:()=>j});var d=c(82689);let e=["server_is_overloaded","service_unavailable_error"];function f(a){let b=Error(a?.reason?.message||"Request aborted");return b.name="AbortError",b}function g(a){let b="",c=[];for(let d of a.split(/\r?\n/))d.startsWith("event:")?b=d.slice(6).trim():d.startsWith("data:")&&c.push(d.slice(5).trimStart());let d=c.join("\n"),e=null;try{e=JSON.parse(d)}catch{}return{event:b,parsed:e,rawData:d}}function h({event:a,parsed:b,rawData:c}){let d=b?.type||a,f=b?.error||b?.response?.error;if(!("error"===a||"error"===d||"response.failed"===d||d?.endsWith?.(".error")||f))return null;let g=b?JSON.stringify(f||b):c;return e.find(a=>g.includes(a))||null}async function i(a){let b;if(!a?.ok||!a.body)return{matched:null,replacementBody:null};let c=a.body.getReader(),d=new TextDecoder,e=[],f=0,i="",j=!1,k=null;try{for(;f<4096&&!k&&!j;){let{done:a,value:b}=await c.read();if(a)break;e.push(b),f+=b.byteLength;let l=(i+=d.decode(b,{stream:!0})).split(/\r?\n\r?\n/);for(let a of(i=l.pop()||"",l)){let b=g(a);(function({event:a,parsed:b}){let c=b?.type||a;return!(!c||"error"===c||"response.failed"===c||c?.endsWith?.(".error")||b?.error||b?.response?.error)&&(c.startsWith("response.output_")||c.startsWith("response.content_part.")||c.startsWith("response.function_call")||c.startsWith("response.reasoning")||c.startsWith("response.refusal")||c.startsWith("response.image_generation_call."))})(b)&&(j=!0);let c=h(b);if(c&&!j){k=c;break}}}k||j||(k=h(g(i)))}catch{}return{matched:k,replacementBody:(b=0,new ReadableStream({async pull(a){if(b<e.length)return void a.enqueue(e[b++]);try{let{done:b,value:d}=await c.read();b?a.close():a.enqueue(d)}catch(b){a.error(b)}},cancel:a=>c.cancel(a)}))}}async function j({execute:a,retryConfig:b,signal:c,log:e,provider:g="UPSTREAM"}){let h={...d.cI,...b},{attempts:k,delayMs:l}=(0,d.DR)(h[503]);for(let b=0;;b++){var m;if(c?.aborted)throw f(c);let d=await a(),h=await i(d.response),j=(m=h.replacementBody)?{...d,response:new Response(m,{status:d.response.status,statusText:d.response.statusText,headers:d.response.headers})}:d;if(!h.matched)return j;if(b>=k)return e?.warn?.("RETRY",`${g.toUpperCase()} | SSE transient "${h.matched}" — retries exhausted (${b}/${k})`),j;e?.debug?.("RETRY",`${g.toUpperCase()} | SSE "${h.matched}" retry ${b+1}/${k} after ${l/1e3}s`);try{await j.response.body?.cancel?.("retrying transient SSE error")}catch{}await function(a,b){return b?.aborted?Promise.reject(f(b)):a<=0?Promise.resolve():new Promise((c,d)=>{let e=()=>{clearTimeout(g),b?.removeEventListener?.("abort",e),d(f(b))},g=setTimeout(()=>{clearTimeout(g),b?.removeEventListener?.("abort",e),c()},a);b?.addEventListener?.("abort",e,{once:!0})})}(l,c)}}},97210:(a,b,c)=>{"use strict";let{createInflateRaw:d,Z_DEFAULT_WINDOWBITS:e}=c(38522),{isValidClientWindowBits:f}=c(94050),{MessageSizeExceededError:g}=c(61448),h=Buffer.from([0,0,255,255]),i=Symbol("kBuffer"),j=Symbol("kLength");class k{#bT;#bS={};#br=0;constructor(a,b){this.#bS.serverNoContextTakeover=a.has("server_no_context_takeover"),this.#bS.serverMaxWindowBits=a.get("server_max_window_bits"),this.#br=b.maxPayloadSize}decompress(a,b,c){if(!this.#bT){let a=e;if(this.#bS.serverMaxWindowBits){if(!f(this.#bS.serverMaxWindowBits))return void c(Error("Invalid server_max_window_bits"));a=Number.parseInt(this.#bS.serverMaxWindowBits)}try{this.#bT=d({windowBits:a})}catch(a){c(a);return}this.#bT[i]=[],this.#bT[j]=0,this.#bT.on("data",a=>{if(this.#bT[j]+=a.length,this.#br>0&&this.#bT[j]>this.#br){c(new g),this.#bT.removeAllListeners(),this.#bT=null;return}this.#bT[i].push(a)}),this.#bT.on("error",a=>{this.#bT=null,c(a)})}this.#bT.write(a),b&&this.#bT.write(h),this.#bT.flush(()=>{if(!this.#bT)return;let a=Buffer.concat(this.#bT[i],this.#bT[j]);this.#bT[i].length=0,this.#bT[j]=0,c(null,a)})}}a.exports={PerMessageDeflate:k}},97356:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),{isASCIINumber:e,isValidLastEventId:f}=c(26376),g=Buffer.from("data"),h=Buffer.from("event"),i=Buffer.from("id"),j=Buffer.from("retry");function k(a,b,c){if(b!==c.length)return!1;for(let d=0;d<b;d++)if(a[d]!==c[d])return!1;return!0}class l extends d{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(a={}){a.readableObjectMode=!0,super(a),this.state=a.eventSourceSettings||{},a.push&&(this.push=a.push)}_transform(a,b,c){if(0===a.length||(this.chunks.push(a),this.checkBOM&&this.handleBOM()))return void c();for(;this.hasCurrentByte();){let a=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(10===a){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(10===a||13===a){13===a&&(this.crlfCheck=!0),this.parseLine(this.readLine(),this.event),this.consumeCurrentByte(),this.eventEndCheck=!0;continue}this.advanceCursor()}c()}parseLine(a,b){if(0===a.length)return;let c=a.indexOf(58);if(0===c)return;let d=a.length,e=a.length;if(-1!==c&&(d=c,32===a[e=c+1]&&++e),k(a,d,g)){let c=a.toString("utf8",e);void 0===b.data?b.data=c:b.data+=`
489
492
  ${c}`;return}if(k(a,d,j)){(function(a,b){if(b>=a.length)return!1;for(let c=b;c<a.length;c++)if(a[c]<48||a[c]>57)return!1;return!0})(a,e)&&(b.retry=a.toString("utf8",e));return}if(k(a,d,i)){(function(a,b){for(let c=b;c<a.length;c++)if(0===a[c])return!1;return!0})(a,e)&&(b.id=a.toString("utf8",e));return}if(k(a,d,h)){let c=a.toString("utf8",e);c.length>0&&(b.event=c)}}processEvent(a){a.retry&&e(a.retry)&&(this.state.reconnectionTime=parseInt(a.retry,10)),void 0!==a.id&&f(a.id)&&(this.state.lastEventId=a.id),void 0!==a.data&&this.push({type:a.event||"message",options:{data:a.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return void 0!==this.event.data||void 0!==this.event.event||void 0!==this.event.id||void 0!==this.event.retry}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let a=[],b=0;for(let c=this.lineChunkIndex;c<=this.chunkIndex;c++){let d=this.chunks[c],e=c===this.lineChunkIndex?this.linePos:0,f=c===this.chunkIndex?this.pos:d.length,g=d.subarray(e,f);b+=g.length,a.push(g)}return Buffer.concat(a,b)}peekBufferedByte(a){let b=this.lineChunkIndex,c=this.linePos;for(;b<this.chunks.length;){let d=this.chunks[b],e=d.length-c;if(a<e)return d[c+a];a-=e,b++,c=0}}discardLeadingBytes(a){for(;a>0&&this.lineChunkIndex<this.chunks.length;){let b=this.chunks[this.lineChunkIndex].length-this.linePos;a<b?(this.linePos+=a,a=0):(a-=b,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let a=this.peekBufferedByte(0),b=this.peekBufferedByte(1),c=this.peekBufferedByte(2);return void 0===b?239===a||(this.checkBOM=!1,!0):void 0===c?239===a&&187===b||(this.checkBOM=!1,!1):(239===a&&187===b&&191===c&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}}a.exports={EventSourceStream:l}},97465:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,SocketError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);class k extends e{constructor(a,b){if(!a||"object"!=typeof a)throw new f("invalid opts");if("function"!=typeof b)throw new f("invalid callback");const{signal:c,opaque:d,responseHeaders:e}=a;if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=d||null,this.responseHeaders=e||null,this.callback=b,this.abort=null,i(this,c)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.abort=b=>a.abort(b),this.context=b)}onResponseStart(){throw new g("bad connect",null)}onRequestUpgrade(a,b,c,d){let{callback:e,opaque:f,context:g}=this;j(this),this.callback=null;let i=c,k=a?.rawHeaders;null!=i&&(i="raw"===this.responseHeaders?h.parseRawHeaders(k):c),this.runInAsyncScope(e,null,null,{statusCode:b,headers:i,socket:d,opaque:f,context:g})}onResponseError(a,b){let{callback:c,opaque:d}=this;j(this),c&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(c,null,b,{opaque:d})}))}}a.exports=function a(b,c){if(void 0===c)return new Promise((c,d)=>{a.call(this,b,(a,b)=>a?d(a):c(b))});try{let a=new k(b,c),d={...b,method:"CONNECT"};this.dispatch(d,a)}catch(d){if("function"!=typeof c)throw d;let a=b?.opaque;queueMicrotask(()=>c(d,{opaque:a}))}}},97678:(a,b,c)=>{"use strict";let d,e=c(34589),f=c(84285),{channels:g}=c(62571),h=c(64704),{RequestContentLengthMismatchError:i,ResponseContentLengthMismatchError:j,RequestAbortedError:k,InvalidArgumentError:l,HeadersTimeoutError:m,HeadersOverflowError:n,SocketError:o,InformationalError:p,BodyTimeoutError:q,HTTPParserError:r,ResponseExceededMaxSizeError:s}=c(61448),{kUrl:t,kReset:u,kClient:v,kParser:w,kBlocking:x,kRunning:y,kPending:z,kSize:A,kWriting:B,kQueue:C,kNoRef:D,kKeepAliveDefaultTimeout:E,kHostHeader:F,kPendingIdx:G,kRunningIdx:H,kError:I,kPipelining:J,kSocket:K,kKeepAliveTimeoutValue:L,kMaxHeadersSize:M,kKeepAliveMaxTimeout:N,kKeepAliveTimeoutThreshold:O,kHeadersTimeout:P,kBodyTimeout:Q,kStrictContentLength:R,kMaxRequests:S,kCounter:T,kMaxResponseSize:U,kOnError:V,kResume:W,kHTTPContext:X,kClosed:Y}=c(49176),Z=c(65429),$=Buffer.alloc(0),_=Buffer[Symbol.species],aa=f.removeAllListeners,ab=Symbol("kIdleSocketValidation"),ac=Symbol("kIdleSocketValidationTimeout"),ad=Symbol("kSocketUsed"),ae=Symbol("kTypeOfService"),af=null,ag=null,ah=null,ai=0,aj=null,ak=null;class al{constructor(a,b,{exports:c}){this.llhttp=c,this.ptr=this.llhttp.llhttp_alloc(Z.TYPE.RESPONSE),this.client=a,this.socket=b,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=a[M],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength=-1,this.connectionKeepAlive=!1,this.maxResponseSize=a[U]}setTimeout(a,b){a!==this.timeoutValue||1&b^1&this.timeoutType?(this.timeout&&(h.clearTimeout(this.timeout),this.timeout=null),a&&(1&b?this.timeout=h.setFastTimeout(am,a,this.timeoutWeakRef):(this.timeout=setTimeout(am,a,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=a):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=b}resume(){!this.socket.destroyed&&this.paused&&(e(null!=this.ptr),e(null===ag),this.llhttp.llhttp_resume(this.ptr),e(5===this.timeoutType),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||$),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let a=this.socket.read();if(null===a)break;this.execute(a)}}execute(a){e(null===ag),e(null!=this.ptr),e(!this.paused);let{socket:b,llhttp:c}=this;a.length>ai&&(aj&&c.free(aj),ai=4096*Math.ceil(a.length/4096),aj=c.malloc(ai)),(null===ak||ak.buffer!==c.memory.buffer||ak.byteOffset!==aj||ak.byteLength!==ai)&&(ak=new Uint8Array(c.memory.buffer,aj,ai)),ak.set(a);try{let d;try{ah=a,ag=this,d=c.llhttp_execute(this.ptr,aj,a.length)}finally{ag=null,ah=null}if(d!==Z.ERROR.OK){let e=a.subarray(c.llhttp_get_error_pos(this.ptr)-aj);if(d===Z.ERROR.PAUSED_UPGRADE)this.onUpgrade(e);else if(d===Z.ERROR.PAUSED)this.paused=!0,b.unshift(e);else throw this.createError(d,e)}}catch(a){f.destroy(b,a)}}finish(){let a;e(null===ag),e(null!=this.ptr);let{llhttp:b}=this;if(this.paused){let a;do b.llhttp_resume(this.ptr),this.paused=!1,a=this.socket.read()||$,this.execute(a);while(this.paused&&a.length>0);this.paused&&(b.llhttp_resume(this.ptr),this.paused=!1)}try{ag=this,a=b.llhttp_finish(this.ptr)}finally{ag=null}return a===Z.ERROR.OK?null:a===Z.ERROR.PAUSED||a===Z.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(a,$)}createError(a,b){let{llhttp:c,contentLength:d,bytesRead:e}=this;if(-1!==d&&e!==d)return new j;let f=c.llhttp_get_error_reason(this.ptr),g="";if(f){let a=new Uint8Array(c.memory.buffer,f).indexOf(0);g="Response does not match the HTTP/1.1 protocol ("+Buffer.from(c.memory.buffer,f,a).toString()+")"}return new r(g,Z.ERROR[a],b)}destroy(){e(null===ag),e(null!=this.ptr),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&h.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(a){return this.statusText=a.toString(),0}onMessageBegin(){let{socket:a,client:b}=this;if(a.destroyed)return -1;if(0===b[y])return f.destroy(a,new o("bad response",f.getSocketInfo(a))),-1;let c=b[C][b[H]];return c?(c.onResponseStarted(),0):-1}onHeaderField(a){let b=this.headers.length;return(1&b)==0?this.headers.push(a):this.headers[b-1]=Buffer.concat([this.headers[b-1],a]),this.trackHeader(a.length),0}onHeaderValue(a){let b=this.headers.length;(1&b)==1?(this.headers.push(a),b+=1):this.headers[b-1]=Buffer.concat([this.headers[b-1],a]);let c=this.headers[b-2];if(10===c.length){let d=f.bufferToLowerCasedHeaderName(c);"keep-alive"===d?this.keepAlive+=a.toString():"connection"===d&&(this.connectionKeepAlive=10===this.headers[b-1].length&&"keep-alive"===f.bufferToLowerCasedHeaderName(this.headers[b-1]))}else if(14===c.length&&"content-length"===f.bufferToLowerCasedHeaderName(c)){-1===this.contentLength&&(this.contentLength=0);for(let b=0;b<a.length;b++)this.contentLength=10*this.contentLength+(a[b]-48)}return this.trackHeader(a.length),0}trackHeader(a){this.headersSize+=a,this.headersSize>=this.headersMaxSize&&f.destroy(this.socket,new n)}onUpgrade(a){let{upgrade:b,client:c,socket:d,headers:g,statusCode:h}=this;e(b),e(c[K]===d),e(!d.destroyed),e(!this.paused),e((1&g.length)==0);let i=c[C][c[H]];e(i),e(i.upgrade||"CONNECT"===i.method),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,d.unshift(a),d[w].destroy(),d[w]=null,d[v]=null,d[I]=null,aa(d),c[K]=null,c[X]=null,c[C][c[H]++]=null,c.emit("disconnect",c[t],[c],new p("upgrade"));try{i.onRequestUpgrade(h,g,d)}catch(a){f.destroy(d,a)}c[W]()}onHeadersComplete(a,b,c){let{client:d,socket:g,headers:h,statusText:i}=this;if(g.destroyed)return -1;if(0===d[y])return f.destroy(g,new o("bad response",f.getSocketInfo(g))),-1;let j=d[C][d[H]];if(!j)return -1;if(e(!this.upgrade),e(this.statusCode<200),100===a)return f.destroy(g,new o("bad response",f.getSocketInfo(g))),-1;if(b&&!j.upgrade)return f.destroy(g,new o("bad upgrade",f.getSocketInfo(g))),-1;if(e(3===this.timeoutType),this.statusCode=a,this.shouldKeepAlive=c||"HEAD"===j.method&&!g[u]&&this.connectionKeepAlive,this.statusCode>=200){let a=null!=j.bodyTimeout?j.bodyTimeout:d[Q];this.setTimeout(a,5)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if("CONNECT"===j.method||b)return e(1===d[y]),this.upgrade=!0,2;if(e((1&this.headers.length)==0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&d[J]){let a=this.keepAlive?f.parseKeepAliveTimeout(this.keepAlive):null;if(null!=a){let b=Math.min(a-d[O],d[N]);b<=0?g[u]=!0:d[L]=b}else d[L]=d[E]}else g[u]=!0;let k=!1===j.onResponseStart(a,h,this.resume,i);return j.aborted?-1:"HEAD"===j.method||a<200?1:(g[x]&&(g[x]=!1,d[W]()),k?Z.ERROR.PAUSED:0)}onBody(a){let{client:b,socket:c,statusCode:d,maxResponseSize:g}=this;if(c.destroyed)return -1;let h=b[C][b[H]];return(e(h),e(5===this.timeoutType),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),e(d>=200),g>-1&&this.bytesRead+a.length>g)?(f.destroy(c,new s),-1):(this.bytesRead+=a.length,!1===h.onResponseData(a))?Z.ERROR.PAUSED:0}onMessageComplete(){let{client:a,socket:b,statusCode:c,upgrade:d,headers:g,contentLength:h,bytesRead:i,shouldKeepAlive:k}=this;if(b.destroyed&&(!c||k))return -1;if(d)return 0;e(c>=100),e((1&this.headers.length)==0);let l=a[C][a[H]];return(e(l),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength=-1,this.keepAlive="",this.connectionKeepAlive=!1,this.headers=[],this.headersSize=0,c<200)?0:"HEAD"!==l.method&&-1!==h&&i!==h?(f.destroy(b,new j),-1):(l.onResponseEnd(g),a[C][a[H]++]=null,b[ad]=0===a[z],b[B])?(e(0===a[y]),f.destroy(b,new p("reset")),Z.ERROR.PAUSED):k?b[u]&&0===a[y]?(f.destroy(b,new p("reset")),Z.ERROR.PAUSED):(null==a[J]||1===a[J]?setImmediate(a[W]):a[W](),0):(f.destroy(b,new p("reset")),Z.ERROR.PAUSED)}}function am(a){let b=a.deref();if(!b)return;let{socket:c,timeoutType:d,client:g,paused:h}=b;3===d?(!c[B]||c.writableNeedDrain||g[y]>1)&&(e(!h,"cannot be paused while waiting for headers"),f.destroy(c,new m)):5===d?h||f.destroy(c,new q):8===d&&(e(0===g[y]&&g[L]),f.destroy(c,new p("socket idle timeout")))}function an(a){e("ERR_TLS_CERT_ALTNAME_INVALID"!==a.code);let b=this[w];if("ECONNRESET"===a.code&&b.statusCode&&!b.shouldKeepAlive){let a=b.finish();a&&(this[I]=a,this[v][V](a));return}this[I]=a,this[v][V](a)}function ao(){this[w]?.readMore()}function ap(){let a=this[w];if(a.statusCode&&!a.shouldKeepAlive){let b=a.finish();b&&f.destroy(this,b);return}f.destroy(this,new o("other side closed",f.getSocketInfo(this)))}function aq(){let a=this[w];as(this),a&&(this[I]||!a.statusCode||a.shouldKeepAlive||(this[I]=a.finish()||this[I]),this[w].destroy(),this[w]=null);let b=this[I]||new o("closed",f.getSocketInfo(this)),c=this[v];if(c[K]=null,c[X]=null,c.destroyed){e(0===c[z]);let a=c[C].splice(c[H]);for(let d=0;d<a.length;d++){let e=a[d];f.errorRequest(c,e,b)}}else if(c[y]>0&&"UND_ERR_INFO"!==b.code){let a=c[C][c[H]];c[C][c[H]++]=null,f.errorRequest(c,a,b)}c[G]=c[H],e(0===c[y]),c.emit("disconnect",c[t],[c],b),c[W]()}function ar(){this[Y]=!0}function as(a){a[ac]&&(clearTimeout(a[ac]),a[ac]=null),a[ab]=0}function at(a,b,c,d,g,h,i,j){try{b?f.isBuffer(b)&&(e(h===b.byteLength,"buffer body must have content length"),g.cork(),g.write(`${i}content-length: ${h}\r
490
493
  \r
491
494
  `,"latin1"),g.write(b),g.uncork(),d.onBodySent(b),j||!1===d.reset||(g[u]=!0)):0===h?g.write(`${i}content-length: 0\r