coding-tool-x 3.6.1 → 3.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{Analytics-DvWZOZ13.js → Analytics-D0BDj7bo.js} +1 -1
- package/dist/web/assets/{ConfigTemplates-DiuKu3LA.js → ConfigTemplates-BnwWmyV7.js} +1 -1
- package/dist/web/assets/{Home-DeGTc9uf.js → Home-Yw5bTgrH.js} +1 -1
- package/dist/web/assets/{PluginManager-CljkN0Rb.js → PluginManager-CRdRLKsS.js} +1 -1
- package/dist/web/assets/{ProjectList-CFQJaSQ8.js → ProjectList-CDIYAOyV.js} +1 -1
- package/dist/web/assets/SessionList-BJ2kbl-3.js +1 -0
- package/dist/web/assets/{SkillManager-DLhg11LF.js → SkillManager-DaM0Ob6l.js} +1 -1
- package/dist/web/assets/{WorkspaceManager-DXB4kE9p.js → WorkspaceManager-Y-EZ7NxE.js} +1 -1
- package/dist/web/assets/{icons-QFXzEgqM.js → icons-U50_Cfbe.js} +1 -1
- package/dist/web/assets/index-BkLQex1R.css +1 -0
- package/dist/web/assets/index-QeTxUv96.js +2 -0
- package/dist/web/assets/{naive-ui-DM897mIP.js → naive-ui-Cjh6GLto.js} +1 -1
- package/dist/web/assets/{vendors-DQA4Hw9v.js → vendors--KP7Ux0s.js} +1 -1
- package/dist/web/assets/{vue-vendor-B5RqjEjQ.js → vue-vendor-C5aMkRmm.js} +1 -1
- package/dist/web/index.html +6 -6
- package/package.json +1 -1
- package/src/config/default.js +3 -0
- package/src/config/model-metadata.json +77 -34
- package/src/server/api/channel-balances.js +36 -0
- package/src/server/codex-proxy-server.js +4 -10
- package/src/server/gemini-proxy-server.js +9 -12
- package/src/server/index.js +1 -0
- package/src/server/opencode-proxy-server.js +4 -10
- package/src/server/services/channel-balance.js +562 -0
- package/src/server/services/gemini-sessions.js +5 -2
- package/src/server/services/model-detector.js +7 -0
- package/src/server/services/ui-config.js +4 -0
- package/src/server/utils/pricing.js +26 -1
- package/dist/web/assets/SessionList-Fq4uQSQp.js +0 -1
- package/dist/web/assets/index-CLra7uzu.js +0 -2
- package/dist/web/assets/index-dzKgnRhx.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as t,a as e,c as n}from"./markdown-BNJfEgCA.js";import{S as r}from"./vue-vendor-B5RqjEjQ.js";function o(t,e){return function(){return t.apply(e,arguments)}}const{toString:i}=Object.prototype,{getPrototypeOf:a}=Object,{iterator:s,toStringTag:c}=Symbol,l=(t=>e=>{const n=i.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),u=t=>(t=t.toLowerCase(),e=>l(e)===t),f=t=>e=>typeof e===t,{isArray:d}=Array,p=f("undefined");function h(t){return null!==t&&!p(t)&&null!==t.constructor&&!p(t.constructor)&&v(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const g=u("ArrayBuffer");const m=f("string"),v=f("function"),b=f("number"),y=t=>null!==t&&"object"==typeof t,w=t=>{if("object"!==l(t))return!1;const e=a(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||c in t||s in t)},E=u("Date"),S=u("File"),x=u("Blob"),O=u("FileList");const _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},T=void 0!==_.FormData?_.FormData:void 0,A=u("URLSearchParams"),[C,D,R,P]=["ReadableStream","Request","Response","Headers"].map(u);function j(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),d(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{if(h(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let a;for(r=0;r<i;r++)a=o[r],e.call(null,t[a],a,t)}}function N(t,e){if(h(t))return null;e=e.toLowerCase();const n=Object.keys(t);let r,o=n.length;for(;o-- >0;)if(r=n[o],e===r.toLowerCase())return r;return null}const I="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,M=t=>!p(t)&&t!==I;const k=(t=>e=>t&&e instanceof t)("undefined"!=typeof Uint8Array&&a(Uint8Array)),L=u("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),U=u("RegExp"),B=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};j(n,(n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)}),Object.defineProperties(t,r)};const q=u("AsyncFunction"),$=(H="function"==typeof setImmediate,X=v(I.postMessage),H?setImmediate:X?(V=`axios@${Math.random()}`,W=[],I.addEventListener("message",({source:t,data:e})=>{t===I&&e===V&&W.length&&W.shift()()},!1),t=>{W.push(t),I.postMessage(V,"*")}):t=>setTimeout(t));var H,X,V,W;const z="undefined"!=typeof queueMicrotask?queueMicrotask.bind(I):"undefined"!=typeof process&&process.nextTick||$,K={isArray:d,isArrayBuffer:g,isBuffer:h,isFormData:t=>{let e;return t&&(T&&t instanceof T||v(t.append)&&("formdata"===(e=l(t))||"object"===e&&v(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&g(t.buffer),e},isString:m,isNumber:b,isBoolean:t=>!0===t||!1===t,isObject:y,isPlainObject:w,isEmptyObject:t=>{if(!y(t)||h(t))return!1;try{return 0===Object.keys(t).length&&Object.getPrototypeOf(t)===Object.prototype}catch(e){return!1}},isReadableStream:C,isRequest:D,isResponse:R,isHeaders:P,isUndefined:p,isDate:E,isFile:S,isReactNativeBlob:t=>!(!t||void 0===t.uri),isReactNative:t=>t&&void 0!==t.getParts,isBlob:x,isRegExp:U,isFunction:v,isStream:t=>y(t)&&v(t.pipe),isURLSearchParams:A,isTypedArray:k,isFileList:O,forEach:j,merge:function t(){const{caseless:e,skipUndefined:n}=M(this)&&this||{},r={},o=(o,i)=>{if("__proto__"===i||"constructor"===i||"prototype"===i)return;const a=e&&N(r,i)||i;w(r[a])&&w(o)?r[a]=t(r[a],o):w(o)?r[a]=t({},o):d(o)?r[a]=o.slice():n&&p(o)||(r[a]=o)};for(let i=0,a=arguments.length;i<a;i++)arguments[i]&&j(arguments[i],o);return r},extend:(t,e,n,{allOwnKeys:r}={})=>(j(e,(e,r)=>{n&&v(e)?Object.defineProperty(t,r,{value:o(e,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,r,{value:e,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,s;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],r&&!r(s,t,e)||c[s]||(e[s]=t[s],c[s]=!0);t=!1!==n&&a(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:l,kindOfTest:u,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(d(t))return t;let e=t.length;if(!b(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[s]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:L,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:B,freezeMethods:t=>{B(t,(e,n)=>{if(v(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];v(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach(t=>{n[t]=!0})};return d(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,e,n){return e.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,findKey:N,global:I,isContextDefined:M,isSpecCompliantForm:function(t){return!!(t&&v(t.append)&&"FormData"===t[c]&&t[s])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(y(t)){if(e.indexOf(t)>=0)return;if(h(t))return t;if(!("toJSON"in t)){e[r]=t;const o=d(t)?[]:{};return j(t,(t,e)=>{const i=n(t,r+1);!p(i)&&(o[e]=i)}),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:q,isThenable:t=>t&&(y(t)||v(t))&&v(t.then)&&v(t.catch),setImmediate:$,asap:z,isIterable:t=>null!=t&&v(t[s])};let Y=class t extends Error{static from(e,n,r,o,i,a){const s=new t(e.message,n||e.code,r,o,i);return s.cause=e,s.name=e.name,null!=e.status&&null==s.status&&(s.status=e.status),a&&Object.assign(s,a),s}constructor(t,e,n,r,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.status}}};Y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",Y.ERR_BAD_OPTION="ERR_BAD_OPTION",Y.ECONNABORTED="ECONNABORTED",Y.ETIMEDOUT="ETIMEDOUT",Y.ERR_NETWORK="ERR_NETWORK",Y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",Y.ERR_DEPRECATED="ERR_DEPRECATED",Y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",Y.ERR_BAD_REQUEST="ERR_BAD_REQUEST",Y.ERR_CANCELED="ERR_CANCELED",Y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",Y.ERR_INVALID_URL="ERR_INVALID_URL";function G(t){return K.isPlainObject(t)||K.isArray(t)}function J(t){return K.endsWith(t,"[]")?t.slice(0,-2):t}function Q(t,e,n){return t?t.concat(e).map(function(t,e){return t=J(t),!n&&e?"["+t+"]":t}).join(n?".":""):e}const Z=K.toFlatObject(K,{},null,function(t){return/^is[A-Z]/.test(t)});function tt(t,e,n){if(!K.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=K.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!K.isUndefined(e[t])})).metaTokens,o=n.visitor||l,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&K.isSpecCompliantForm(e);if(!K.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(K.isDate(t))return t.toISOString();if(K.isBoolean(t))return t.toString();if(!s&&K.isBlob(t))throw new Y("Blob is not supported. Use a Buffer instead.");return K.isArrayBuffer(t)||K.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,n,o){let s=t;if(K.isReactNative(e)&&K.isReactNativeBlob(t))return e.append(Q(o,n,i),c(t)),!1;if(t&&!o&&"object"==typeof t)if(K.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(K.isArray(t)&&function(t){return K.isArray(t)&&!t.some(G)}(t)||(K.isFileList(t)||K.endsWith(n,"[]"))&&(s=K.toArray(t)))return n=J(n),s.forEach(function(t,r){!K.isUndefined(t)&&null!==t&&e.append(!0===a?Q([n],r,i):null===a?n:n+"[]",c(t))}),!1;return!!G(t)||(e.append(Q(o,n,i),c(t)),!1)}const u=[],f=Object.assign(Z,{defaultVisitor:l,convertValue:c,isVisitable:G});if(!K.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!K.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),K.forEach(n,function(n,i){!0===(!(K.isUndefined(n)||null===n)&&o.call(e,n,K.isString(i)?i.trim():i,r,f))&&t(n,r?r.concat(i):[i])}),u.pop()}}(t),e}function et(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function nt(t,e){this._pairs=[],t&&tt(t,this,e)}const rt=nt.prototype;function ot(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function it(t,e,n){if(!e)return t;const r=n&&n.encode||ot,o=K.isFunction(n)?{serialize:n}:n,i=o&&o.serialize;let a;if(a=i?i(e,o):K.isURLSearchParams(e)?e.toString():new nt(e,o).toString(r),a){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+a}return t}rt.append=function(t,e){this._pairs.push([t,e])},rt.toString=function(t){const e=t?function(e){return t.call(this,e,et)}:et;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};class at{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){K.forEach(this.handlers,function(e){null!==e&&t(e)})}}const st={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},ct={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:nt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},lt="undefined"!=typeof window&&"undefined"!=typeof document,ut="object"==typeof navigator&&navigator||void 0,ft=lt&&(!ut||["ReactNative","NativeScript","NS"].indexOf(ut.product)<0),dt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,pt=lt&&window.location.href||"http://localhost",ht={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:lt,hasStandardBrowserEnv:ft,hasStandardBrowserWebWorkerEnv:dt,navigator:ut,origin:pt},Symbol.toStringTag,{value:"Module"})),...ct};function gt(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&K.isArray(r)?r.length:i,s)return K.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a;r[i]&&K.isObject(r[i])||(r[i]=[]);return e(t,n,r[i],o)&&K.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}(r[i])),!a}if(K.isFormData(t)&&K.isFunction(t.entries)){const n={};return K.forEachEntry(t,(t,r)=>{e(function(t){return K.matchAll(/\w+|\[(\w*)]/g,t).map(t=>"[]"===t[0]?"":t[1]||t[0])}(t),r,n,0)}),n}return null}const mt={transitional:st,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=K.isObject(t);o&&K.isHTMLForm(t)&&(t=new FormData(t));if(K.isFormData(t))return r?JSON.stringify(gt(t)):t;if(K.isArrayBuffer(t)||K.isBuffer(t)||K.isStream(t)||K.isFile(t)||K.isBlob(t)||K.isReadableStream(t))return t;if(K.isArrayBufferView(t))return t.buffer;if(K.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return tt(t,new ht.classes.URLSearchParams,{visitor:function(t,e,n,r){return ht.isNode&&K.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}(t,this.formSerializer).toString();if((i=K.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return tt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(K.isString(t))try{return(e||JSON.parse)(t),K.trim(t)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||mt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(K.isResponse(t)||K.isReadableStream(t))return t;if(t&&K.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(o){if(n){if("SyntaxError"===o.name)throw Y.from(o,Y.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ht.classes.FormData,Blob:ht.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};K.forEach(["delete","get","head","post","put","patch"],t=>{mt.headers[t]={}});const vt=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),bt=Symbol("internals");function yt(t){return t&&String(t).trim().toLowerCase()}function wt(t){return!1===t||null==t?t:K.isArray(t)?t.map(wt):String(t)}function Et(t,e,n,r,o){return K.isFunction(r)?r.call(this,e,n):(o&&(e=n),K.isString(e)?K.isString(r)?-1!==e.indexOf(r):K.isRegExp(r)?r.test(e):void 0:void 0)}let St=class{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=yt(e);if(!o)throw new Error("header name must be a non-empty string");const i=K.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=wt(t))}const i=(t,e)=>K.forEach(t,(t,n)=>o(t,n,e));if(K.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(K.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach(function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&vt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e})(t),e);else if(K.isObject(t)&&K.isIterable(t)){let n,r,o={};for(const e of t){if(!K.isArray(e))throw TypeError("Object iterator must return a key-value pair");o[r=e[0]]=(n=o[r])?K.isArray(n)?[...n,e[1]]:[n,e[1]]:e[1]}i(o,e)}else null!=t&&o(e,t,n);return this}get(t,e){if(t=yt(t)){const n=K.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(K.isFunction(e))return e.call(this,t,n);if(K.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=yt(t)){const n=K.findKey(this,t);return!(!n||void 0===this[n]||e&&!Et(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=yt(t)){const o=K.findKey(n,t);!o||e&&!Et(0,n[o],o,e)||(delete n[o],r=!0)}}return K.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Et(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return K.forEach(this,(r,o)=>{const i=K.findKey(n,o);if(i)return e[i]=wt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,n)=>e.toUpperCase()+n)}(o):String(o).trim();a!==o&&delete e[o],e[a]=wt(r),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return K.forEach(this,(n,r)=>{null!=n&&!1!==n&&(e[r]=t&&K.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach(t=>n.set(t)),n}static accessor(t){const e=(this[bt]=this[bt]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=yt(t);e[r]||(!function(t,e){const n=K.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})})}(n,t),e[r]=!0)}return K.isArray(t)?t.forEach(r):r(t),this}};function xt(t,e){const n=this||mt,r=e||n,o=St.from(r.headers);let i=r.data;return K.forEach(t,function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function Ot(t){return!(!t||!t.__CANCEL__)}St.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),K.reduceDescriptors(St.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}}),K.freezeMethods(St);let _t=class extends Y{constructor(t,e,n){super(null==t?"canceled":t,Y.ERR_CANCELED,e,n),this.name="CanceledError",this.__CANCEL__=!0}};function Tt(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new Y("Request failed with status code "+n.status,[Y.ERR_BAD_REQUEST,Y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}const At=(t,e,n=3)=>{let r=0;const o=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),l=r[a];o||(o=c),n[i]=s,r[i]=c;let u=a,f=0;for(;u!==i;)f+=n[u++],u%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o<e)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(t,e){let n,r,o=0,i=1e3/e;const a=(e,i=Date.now())=>{o=i,n=null,r&&(clearTimeout(r),r=null),t(...e)};return[(...t)=>{const e=Date.now(),s=e-o;s>=i?a(t,e):(n=t,r||(r=setTimeout(()=>{r=null,a(n)},i-s)))},()=>n&&a(n)]}(n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i;t({loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a,[e?"download":"upload"]:!0})},n)},Ct=(t,e)=>{const n=null!=t;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Dt=t=>(...e)=>K.asap(()=>t(...e)),Rt=ht.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,ht.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(ht.origin),ht.navigator&&/(msie|trident)/i.test(ht.navigator.userAgent)):()=>!0,Pt=ht.hasStandardBrowserEnv?{write(t,e,n,r,o,i,a){if("undefined"==typeof document)return;const s=[`${t}=${encodeURIComponent(e)}`];K.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),K.isString(r)&&s.push(`path=${r}`),K.isString(o)&&s.push(`domain=${o}`),!0===i&&s.push("secure"),K.isString(a)&&s.push(`SameSite=${a}`),document.cookie=s.join("; ")},read(t){if("undefined"==typeof document)return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read:()=>null,remove(){}};function jt(t,e,n){let r=!("string"==typeof(o=e)&&/^([a-z][a-z\d+\-.]*:)?\/\//i.test(o));var o;return t&&(r||0==n)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Nt=t=>t instanceof St?{...t}:t;function It(t,e){e=e||{};const n={};function r(t,e,n,r){return K.isPlainObject(t)&&K.isPlainObject(e)?K.merge.call({caseless:r},t,e):K.isPlainObject(e)?K.merge({},e):K.isArray(e)?e.slice():e}function o(t,e,n,o){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t,0,o):r(t,e,0,o)}function i(t,e){if(!K.isUndefined(e))return r(void 0,e)}function a(t,e){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e,n)=>o(Nt(t),Nt(e),0,!0)};return K.forEach(Object.keys({...t,...e}),function(r){if("__proto__"===r||"constructor"===r||"prototype"===r)return;const i=K.hasOwnProp(c,r)?c[r]:o,a=i(t[r],e[r],r);K.isUndefined(a)&&i!==s||(n[r]=a)}),n}const Mt=t=>{const e=It({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=e;if(e.headers=a=St.from(a),e.url=it(jt(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),K.isFormData(n))if(ht.hasStandardBrowserEnv||ht.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(K.isFunction(n.getHeaders)){const t=n.getHeaders(),e=["content-type","content-length"];Object.entries(t).forEach(([t,n])=>{e.includes(t.toLowerCase())&&a.set(t,n)})}if(ht.hasStandardBrowserEnv&&(r&&K.isFunction(r)&&(r=r(e)),r||!1!==r&&Rt(e.url))){const t=o&&i&&Pt.read(i);t&&a.set(o,t)}return e},kt="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise(function(e,n){const r=Mt(t);let o=r.data;const i=St.from(r.headers).normalize();let a,s,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let g=new XMLHttpRequest;function m(){if(!g)return;const r=St.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());Tt(function(t){e(t),h()},function(t){n(t),h()},{data:f&&"text"!==f&&"json"!==f?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:r,config:t,request:g}),g=null}g.open(r.method.toUpperCase(),r.url,!0),g.timeout=r.timeout,"onloadend"in g?g.onloadend=m:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(m)},g.onabort=function(){g&&(n(new Y("Request aborted",Y.ECONNABORTED,t,g)),g=null)},g.onerror=function(e){const r=e&&e.message?e.message:"Network Error",o=new Y(r,Y.ERR_NETWORK,t,g);o.event=e||null,n(o),g=null},g.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||st;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new Y(e,o.clarifyTimeoutError?Y.ETIMEDOUT:Y.ECONNABORTED,t,g)),g=null},void 0===o&&i.setContentType(null),"setRequestHeader"in g&&K.forEach(i.toJSON(),function(t,e){g.setRequestHeader(e,t)}),K.isUndefined(r.withCredentials)||(g.withCredentials=!!r.withCredentials),f&&"json"!==f&&(g.responseType=r.responseType),p&&([c,u]=At(p,!0),g.addEventListener("progress",c)),d&&g.upload&&([s,l]=At(d),g.upload.addEventListener("progress",s),g.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(a=e=>{g&&(n(!e||e.type?new _t(null,t,g):e),g.abort(),g=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const v=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(r.url);v&&-1===ht.protocols.indexOf(v)?n(new Y("Unsupported protocol "+v+":",Y.ERR_BAD_REQUEST,t)):g.send(o||null)})},Lt=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let n,r=new AbortController;const o=function(t){if(!n){n=!0,a();const e=t instanceof Error?t:this.reason;r.abort(e instanceof Y?e:new _t(e instanceof Error?e.message:e))}};let i=e&&setTimeout(()=>{i=null,o(new Y(`timeout of ${e}ms exceeded`,Y.ETIMEDOUT))},e);const a=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(t=>{t.unsubscribe?t.unsubscribe(o):t.removeEventListener("abort",o)}),t=null)};t.forEach(t=>t.addEventListener("abort",o));const{signal:s}=r;return s.unsubscribe=()=>K.asap(a),s}},Ft=function*(t,e){let n=t.byteLength;if(n<e)return void(yield t);let r,o=0;for(;o<n;)r=o+e,yield t.slice(o,r),o=r},Ut=async function*(t){if(t[Symbol.asyncIterator])return void(yield*t);const e=t.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t)break;yield n}}finally{await e.cancel()}},Bt=(t,e,n,r)=>{const o=async function*(t,e){for await(const n of Ut(t))yield*Ft(n,e)}(t,e);let i,a=0,s=t=>{i||(i=!0,r&&r(t))};return new ReadableStream({async pull(t){try{const{done:e,value:r}=await o.next();if(e)return s(),void t.close();let i=r.byteLength;if(n){let t=a+=i;n(t)}t.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel:t=>(s(t),o.return())},{highWaterMark:2})},{isFunction:qt}=K,$t=(({Request:t,Response:e})=>({Request:t,Response:e}))(K.global),{ReadableStream:Ht,TextEncoder:Xt}=K.global,Vt=(t,...e)=>{try{return!!t(...e)}catch(n){return!1}},Wt=t=>{t=K.merge.call({skipUndefined:!0},$t,t);const{fetch:e,Request:n,Response:r}=t,o=e?qt(e):"function"==typeof fetch,i=qt(n),a=qt(r);if(!o)return!1;const s=o&&qt(Ht),c=o&&("function"==typeof Xt?(t=>e=>t.encode(e))(new Xt):async t=>new Uint8Array(await new n(t).arrayBuffer())),l=i&&s&&Vt(()=>{let t=!1;const e=new n(ht.origin,{body:new Ht,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),u=a&&s&&Vt(()=>K.isReadableStream(new r("").body)),f={stream:u&&(t=>t.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!f[t]&&(f[t]=(e,n)=>{let r=e&&e[t];if(r)return r.call(e);throw new Y(`Response type '${t}' is not supported`,Y.ERR_NOT_SUPPORT,n)})});const d=async(t,e)=>{const r=K.toFiniteNumber(t.getContentLength());return null==r?(async t=>{if(null==t)return 0;if(K.isBlob(t))return t.size;if(K.isSpecCompliantForm(t)){const e=new n(ht.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}return K.isArrayBufferView(t)||K.isArrayBuffer(t)?t.byteLength:(K.isURLSearchParams(t)&&(t+=""),K.isString(t)?(await c(t)).byteLength:void 0)})(e):r};return async t=>{let{url:o,method:a,data:s,signal:c,cancelToken:p,timeout:h,onDownloadProgress:g,onUploadProgress:m,responseType:v,headers:b,withCredentials:y="same-origin",fetchOptions:w}=Mt(t),E=e||fetch;v=v?(v+"").toLowerCase():"text";let S=Lt([c,p&&p.toAbortSignal()],h),x=null;const O=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let _;try{if(m&&l&&"get"!==a&&"head"!==a&&0!==(_=await d(b,s))){let t,e=new n(o,{method:"POST",body:s,duplex:"half"});if(K.isFormData(s)&&(t=e.headers.get("content-type"))&&b.setContentType(t),e.body){const[t,n]=Ct(_,At(Dt(m)));s=Bt(e.body,65536,t,n)}}K.isString(y)||(y=y?"include":"omit");const e=i&&"credentials"in n.prototype,c={...w,signal:S,method:a.toUpperCase(),headers:b.normalize().toJSON(),body:s,duplex:"half",credentials:e?y:void 0};x=i&&new n(o,c);let p=await(i?E(x,w):E(o,c));const h=u&&("stream"===v||"response"===v);if(u&&(g||h&&O)){const t={};["status","statusText","headers"].forEach(e=>{t[e]=p[e]});const e=K.toFiniteNumber(p.headers.get("content-length")),[n,o]=g&&Ct(e,At(Dt(g),!0))||[];p=new r(Bt(p.body,65536,n,()=>{o&&o(),O&&O()}),t)}v=v||"text";let T=await f[K.findKey(f,v)||"text"](p,t);return!h&&O&&O(),await new Promise((e,n)=>{Tt(e,n,{data:T,headers:St.from(p.headers),status:p.status,statusText:p.statusText,config:t,request:x})})}catch(T){if(O&&O(),T&&"TypeError"===T.name&&/Load failed|fetch/i.test(T.message))throw Object.assign(new Y("Network Error",Y.ERR_NETWORK,t,x,T&&T.response),{cause:T.cause||T});throw Y.from(T,T&&T.code,t,x,T&&T.response)}}},zt=new Map,Kt=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:o}=e,i=[r,o,n];let a,s,c=i.length,l=zt;for(;c--;)a=i[c],s=l.get(a),void 0===s&&l.set(a,s=c?new Map:Wt(e)),l=s;return s};Kt();const Yt={http:null,xhr:kt,fetch:{get:Kt}};K.forEach(Yt,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}});const Gt=t=>`- ${t}`,Jt=t=>K.isFunction(t)||null===t||!1===t;const Qt={getAdapter:function(t,e){t=K.isArray(t)?t:[t];const{length:n}=t;let r,o;const i={};for(let a=0;a<n;a++){let n;if(r=t[a],o=r,!Jt(r)&&(o=Yt[(n=String(r)).toLowerCase()],void 0===o))throw new Y(`Unknown adapter '${n}'`);if(o&&(K.isFunction(o)||(o=o.get(e))))break;i[n||"#"+a]=o}if(!o){const t=Object.entries(i).map(([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build"));let e=n?t.length>1?"since :\n"+t.map(Gt).join("\n"):" "+Gt(t[0]):"as no adapter specified";throw new Y("There is no suitable adapter to dispatch the request "+e,"ERR_NOT_SUPPORT")}return o},adapters:Yt};function Zt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new _t(null,t)}function te(t){Zt(t),t.headers=St.from(t.headers),t.data=xt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1);return Qt.getAdapter(t.adapter||mt.adapter,t)(t).then(function(e){return Zt(t),e.data=xt.call(t,t.transformResponse,e),e.headers=St.from(e.headers),e},function(e){return Ot(e)||(Zt(t),e&&e.response&&(e.response.data=xt.call(t,t.transformResponse,e.response),e.response.headers=St.from(e.response.headers))),Promise.reject(e)})}const ee="1.13.6",ne={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{ne[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const re={};ne.transitional=function(t,e,n){return(r,o,i)=>{if(!1===t)throw new Y(function(t,e){return"[Axios v"+ee+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}(o," has been removed"+(e?" in "+e:"")),Y.ERR_DEPRECATED);return e&&!re[o]&&(re[o]=!0),!t||t(r,o,i)}},ne.spelling=function(t){return(t,e)=>!0};const oe={assertOptions:function(t,e,n){if("object"!=typeof t)throw new Y("options must be an object",Y.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new Y("option "+i+" must be "+n,Y.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new Y("Unknown option "+i,Y.ERR_BAD_OPTION)}},validators:ne},ie=oe.validators;let ae=class{constructor(t){this.defaults=t||{},this.interceptors={request:new at,response:new at}}async request(t,e){try{return await this._request(t,e)}catch(n){if(n instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const e=t.stack?t.stack.replace(/^.+\n/,""):"";try{n.stack?e&&!String(n.stack).endsWith(e.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+e):n.stack=e}catch(r){}}throw n}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=It(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&oe.assertOptions(n,{silentJSONParsing:ie.transitional(ie.boolean),forcedJSONParsing:ie.transitional(ie.boolean),clarifyTimeoutError:ie.transitional(ie.boolean),legacyInterceptorReqResOrdering:ie.transitional(ie.boolean)},!1),null!=r&&(K.isFunction(r)?e.paramsSerializer={serialize:r}:oe.assertOptions(r,{encode:ie.function,serialize:ie.function},!0)),void 0!==e.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),oe.assertOptions(e,{baseUrl:ie.spelling("baseURL"),withXsrfToken:ie.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&K.merge(o.common,o[e.method]);o&&K.forEach(["delete","get","head","post","put","patch","common"],t=>{delete o[t]}),e.headers=St.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach(function(t){if("function"==typeof t.runWhen&&!1===t.runWhen(e))return;s=s&&t.synchronous;const n=e.transitional||st;n&&n.legacyInterceptorReqResOrdering?a.unshift(t.fulfilled,t.rejected):a.push(t.fulfilled,t.rejected)});const c=[];let l;this.interceptors.response.forEach(function(t){c.push(t.fulfilled,t.rejected)});let u,f=0;if(!s){const t=[te.bind(this),void 0];for(t.unshift(...a),t.push(...c),u=t.length,l=Promise.resolve(e);f<u;)l=l.then(t[f++],t[f++]);return l}u=a.length;let d=e;for(;f<u;){const t=a[f++],e=a[f++];try{d=t(d)}catch(p){e.call(this,p);break}}try{l=te.call(this,d)}catch(p){return Promise.reject(p)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(t){return it(jt((t=It(this.defaults,t)).baseURL,t.url,t.allowAbsoluteUrls),t.params,t.paramsSerializer)}};K.forEach(["delete","get","head","options"],function(t){ae.prototype[t]=function(e,n){return this.request(It(n||{},{method:t,url:e,data:(n||{}).data}))}}),K.forEach(["post","put","patch"],function(t){function e(e){return function(n,r,o){return this.request(It(o||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}ae.prototype[t]=e(),ae.prototype[t+"Form"]=e(!0)});const se={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(se).forEach(([t,e])=>{se[e]=t});const ce=function t(e){const n=new ae(e),r=o(ae.prototype.request,n);return K.extend(r,ae.prototype,n,{allOwnKeys:!0}),K.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(It(e,n))},r}(mt);ce.Axios=ae,ce.CanceledError=_t,ce.CancelToken=class t{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(t){e=t});const n=this;this.promise.then(t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null}),this.promise.then=t=>{let e;const r=new Promise(t=>{n.subscribe(t),e=t}).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t(function(t,r,o){n.reason||(n.reason=new _t(t,r,o),e(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}toAbortSignal(){const t=new AbortController,e=e=>{t.abort(e)};return this.subscribe(e),t.signal.unsubscribe=()=>this.unsubscribe(e),t.signal}static source(){let e;return{token:new t(function(t){e=t}),cancel:e}}},ce.isCancel=Ot,ce.VERSION=ee,ce.toFormData=tt,ce.AxiosError=Y,ce.Cancel=ce.CanceledError,ce.all=function(t){return Promise.all(t)},ce.spread=function(t){return function(e){return t.apply(null,e)}},ce.isAxiosError=function(t){return K.isObject(t)&&!0===t.isAxiosError},ce.mergeConfig=It,ce.AxiosHeaders=St,ce.formToJSON=t=>gt(K.isHTMLForm(t)?new FormData(t):t),ce.getAdapter=Qt.getAdapter,ce.HttpStatusCode=se,ce.default=ce;const{Axios:le,AxiosError:ue,CanceledError:fe,isCancel:de,CancelToken:pe,VERSION:he,all:ge,Cancel:me,isAxiosError:ve,spread:be,toFormData:ye,AxiosHeaders:we,HttpStatusCode:Ee,formToJSON:Se,getAdapter:xe,mergeConfig:Oe}=ce;var _e={exports:{}};
|
|
1
|
+
import{g as t,a as e,c as n}from"./markdown-BNJfEgCA.js";import{S as r}from"./vue-vendor-C5aMkRmm.js";function o(t,e){return function(){return t.apply(e,arguments)}}const{toString:i}=Object.prototype,{getPrototypeOf:a}=Object,{iterator:s,toStringTag:c}=Symbol,l=(t=>e=>{const n=i.call(e);return t[n]||(t[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),u=t=>(t=t.toLowerCase(),e=>l(e)===t),f=t=>e=>typeof e===t,{isArray:d}=Array,p=f("undefined");function h(t){return null!==t&&!p(t)&&null!==t.constructor&&!p(t.constructor)&&v(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const g=u("ArrayBuffer");const m=f("string"),v=f("function"),b=f("number"),y=t=>null!==t&&"object"==typeof t,w=t=>{if("object"!==l(t))return!1;const e=a(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||c in t||s in t)},E=u("Date"),S=u("File"),x=u("Blob"),O=u("FileList");const _="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},T=void 0!==_.FormData?_.FormData:void 0,A=u("URLSearchParams"),[C,D,R,P]=["ReadableStream","Request","Response","Headers"].map(u);function j(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),d(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{if(h(t))return;const o=n?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let a;for(r=0;r<i;r++)a=o[r],e.call(null,t[a],a,t)}}function N(t,e){if(h(t))return null;e=e.toLowerCase();const n=Object.keys(t);let r,o=n.length;for(;o-- >0;)if(r=n[o],e===r.toLowerCase())return r;return null}const I="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,M=t=>!p(t)&&t!==I;const k=(t=>e=>t&&e instanceof t)("undefined"!=typeof Uint8Array&&a(Uint8Array)),L=u("HTMLFormElement"),F=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),U=u("RegExp"),B=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};j(n,(n,o)=>{let i;!1!==(i=e(n,o,t))&&(r[o]=i||n)}),Object.defineProperties(t,r)};const q=u("AsyncFunction"),$=(H="function"==typeof setImmediate,X=v(I.postMessage),H?setImmediate:X?(V=`axios@${Math.random()}`,W=[],I.addEventListener("message",({source:t,data:e})=>{t===I&&e===V&&W.length&&W.shift()()},!1),t=>{W.push(t),I.postMessage(V,"*")}):t=>setTimeout(t));var H,X,V,W;const z="undefined"!=typeof queueMicrotask?queueMicrotask.bind(I):"undefined"!=typeof process&&process.nextTick||$,K={isArray:d,isArrayBuffer:g,isBuffer:h,isFormData:t=>{let e;return t&&(T&&t instanceof T||v(t.append)&&("formdata"===(e=l(t))||"object"===e&&v(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&g(t.buffer),e},isString:m,isNumber:b,isBoolean:t=>!0===t||!1===t,isObject:y,isPlainObject:w,isEmptyObject:t=>{if(!y(t)||h(t))return!1;try{return 0===Object.keys(t).length&&Object.getPrototypeOf(t)===Object.prototype}catch(e){return!1}},isReadableStream:C,isRequest:D,isResponse:R,isHeaders:P,isUndefined:p,isDate:E,isFile:S,isReactNativeBlob:t=>!(!t||void 0===t.uri),isReactNative:t=>t&&void 0!==t.getParts,isBlob:x,isRegExp:U,isFunction:v,isStream:t=>y(t)&&v(t.pipe),isURLSearchParams:A,isTypedArray:k,isFileList:O,forEach:j,merge:function t(){const{caseless:e,skipUndefined:n}=M(this)&&this||{},r={},o=(o,i)=>{if("__proto__"===i||"constructor"===i||"prototype"===i)return;const a=e&&N(r,i)||i;w(r[a])&&w(o)?r[a]=t(r[a],o):w(o)?r[a]=t({},o):d(o)?r[a]=o.slice():n&&p(o)||(r[a]=o)};for(let i=0,a=arguments.length;i<a;i++)arguments[i]&&j(arguments[i],o);return r},extend:(t,e,n,{allOwnKeys:r}={})=>(j(e,(e,r)=>{n&&v(e)?Object.defineProperty(t,r,{value:o(e,n),writable:!0,enumerable:!0,configurable:!0}):Object.defineProperty(t,r,{value:e,writable:!0,enumerable:!0,configurable:!0})},{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),Object.defineProperty(t.prototype,"constructor",{value:t,writable:!0,enumerable:!1,configurable:!0}),Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,s;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],r&&!r(s,t,e)||c[s]||(e[s]=t[s],c[s]=!0);t=!1!==n&&a(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:l,kindOfTest:u,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length),n-=e.length;const r=t.indexOf(e,n);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(d(t))return t;let e=t.length;if(!b(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[s]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:L,hasOwnProperty:F,hasOwnProp:F,reduceDescriptors:B,freezeMethods:t=>{B(t,(e,n)=>{if(v(t)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=t[n];v(r)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))})},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach(t=>{n[t]=!0})};return d(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,e,n){return e.toUpperCase()+n}),noop:()=>{},toFiniteNumber:(t,e)=>null!=t&&Number.isFinite(t=+t)?t:e,findKey:N,global:I,isContextDefined:M,isSpecCompliantForm:function(t){return!!(t&&v(t.append)&&"FormData"===t[c]&&t[s])},toJSONObject:t=>{const e=new Array(10),n=(t,r)=>{if(y(t)){if(e.indexOf(t)>=0)return;if(h(t))return t;if(!("toJSON"in t)){e[r]=t;const o=d(t)?[]:{};return j(t,(t,e)=>{const i=n(t,r+1);!p(i)&&(o[e]=i)}),e[r]=void 0,o}}return t};return n(t,0)},isAsyncFn:q,isThenable:t=>t&&(y(t)||v(t))&&v(t.then)&&v(t.catch),setImmediate:$,asap:z,isIterable:t=>null!=t&&v(t[s])};let Y=class t extends Error{static from(e,n,r,o,i,a){const s=new t(e.message,n||e.code,r,o,i);return s.cause=e,s.name=e.name,null!=e.status&&null==s.status&&(s.status=e.status),a&&Object.assign(s,a),s}constructor(t,e,n,r,o){super(t),Object.defineProperty(this,"message",{value:t,enumerable:!0,writable:!0,configurable:!0}),this.name="AxiosError",this.isAxiosError=!0,e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status)}toJSON(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:K.toJSONObject(this.config),code:this.code,status:this.status}}};Y.ERR_BAD_OPTION_VALUE="ERR_BAD_OPTION_VALUE",Y.ERR_BAD_OPTION="ERR_BAD_OPTION",Y.ECONNABORTED="ECONNABORTED",Y.ETIMEDOUT="ETIMEDOUT",Y.ERR_NETWORK="ERR_NETWORK",Y.ERR_FR_TOO_MANY_REDIRECTS="ERR_FR_TOO_MANY_REDIRECTS",Y.ERR_DEPRECATED="ERR_DEPRECATED",Y.ERR_BAD_RESPONSE="ERR_BAD_RESPONSE",Y.ERR_BAD_REQUEST="ERR_BAD_REQUEST",Y.ERR_CANCELED="ERR_CANCELED",Y.ERR_NOT_SUPPORT="ERR_NOT_SUPPORT",Y.ERR_INVALID_URL="ERR_INVALID_URL";function G(t){return K.isPlainObject(t)||K.isArray(t)}function J(t){return K.endsWith(t,"[]")?t.slice(0,-2):t}function Q(t,e,n){return t?t.concat(e).map(function(t,e){return t=J(t),!n&&e?"["+t+"]":t}).join(n?".":""):e}const Z=K.toFlatObject(K,{},null,function(t){return/^is[A-Z]/.test(t)});function tt(t,e,n){if(!K.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const r=(n=K.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(t,e){return!K.isUndefined(e[t])})).metaTokens,o=n.visitor||l,i=n.dots,a=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&K.isSpecCompliantForm(e);if(!K.isFunction(o))throw new TypeError("visitor must be a function");function c(t){if(null===t)return"";if(K.isDate(t))return t.toISOString();if(K.isBoolean(t))return t.toString();if(!s&&K.isBlob(t))throw new Y("Blob is not supported. Use a Buffer instead.");return K.isArrayBuffer(t)||K.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function l(t,n,o){let s=t;if(K.isReactNative(e)&&K.isReactNativeBlob(t))return e.append(Q(o,n,i),c(t)),!1;if(t&&!o&&"object"==typeof t)if(K.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if(K.isArray(t)&&function(t){return K.isArray(t)&&!t.some(G)}(t)||(K.isFileList(t)||K.endsWith(n,"[]"))&&(s=K.toArray(t)))return n=J(n),s.forEach(function(t,r){!K.isUndefined(t)&&null!==t&&e.append(!0===a?Q([n],r,i):null===a?n:n+"[]",c(t))}),!1;return!!G(t)||(e.append(Q(o,n,i),c(t)),!1)}const u=[],f=Object.assign(Z,{defaultVisitor:l,convertValue:c,isVisitable:G});if(!K.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!K.isUndefined(n)){if(-1!==u.indexOf(n))throw Error("Circular reference detected in "+r.join("."));u.push(n),K.forEach(n,function(n,i){!0===(!(K.isUndefined(n)||null===n)&&o.call(e,n,K.isString(i)?i.trim():i,r,f))&&t(n,r?r.concat(i):[i])}),u.pop()}}(t),e}function et(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(t){return e[t]})}function nt(t,e){this._pairs=[],t&&tt(t,this,e)}const rt=nt.prototype;function ot(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function it(t,e,n){if(!e)return t;const r=n&&n.encode||ot,o=K.isFunction(n)?{serialize:n}:n,i=o&&o.serialize;let a;if(a=i?i(e,o):K.isURLSearchParams(e)?e.toString():new nt(e,o).toString(r),a){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+a}return t}rt.append=function(t,e){this._pairs.push([t,e])},rt.toString=function(t){const e=t?function(e){return t.call(this,e,et)}:et;return this._pairs.map(function(t){return e(t[0])+"="+e(t[1])},"").join("&")};class at{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){K.forEach(this.handlers,function(e){null!==e&&t(e)})}}const st={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1,legacyInterceptorReqResOrdering:!0},ct={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:nt,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},lt="undefined"!=typeof window&&"undefined"!=typeof document,ut="object"==typeof navigator&&navigator||void 0,ft=lt&&(!ut||["ReactNative","NativeScript","NS"].indexOf(ut.product)<0),dt="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,pt=lt&&window.location.href||"http://localhost",ht={...Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:lt,hasStandardBrowserEnv:ft,hasStandardBrowserWebWorkerEnv:dt,navigator:ut,origin:pt},Symbol.toStringTag,{value:"Module"})),...ct};function gt(t){function e(t,n,r,o){let i=t[o++];if("__proto__"===i)return!0;const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&K.isArray(r)?r.length:i,s)return K.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!a;r[i]&&K.isObject(r[i])||(r[i]=[]);return e(t,n,r[i],o)&&K.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}(r[i])),!a}if(K.isFormData(t)&&K.isFunction(t.entries)){const n={};return K.forEachEntry(t,(t,r)=>{e(function(t){return K.matchAll(/\w+|\[(\w*)]/g,t).map(t=>"[]"===t[0]?"":t[1]||t[0])}(t),r,n,0)}),n}return null}const mt={transitional:st,adapter:["xhr","http","fetch"],transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=K.isObject(t);o&&K.isHTMLForm(t)&&(t=new FormData(t));if(K.isFormData(t))return r?JSON.stringify(gt(t)):t;if(K.isArrayBuffer(t)||K.isBuffer(t)||K.isStream(t)||K.isFile(t)||K.isBlob(t)||K.isReadableStream(t))return t;if(K.isArrayBufferView(t))return t.buffer;if(K.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return tt(t,new ht.classes.URLSearchParams,{visitor:function(t,e,n,r){return ht.isNode&&K.isBuffer(t)?(this.append(e,t.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)},...e})}(t,this.formSerializer).toString();if((i=K.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return tt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t,e,n){if(K.isString(t))try{return(e||JSON.parse)(t),K.trim(t)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||mt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(K.isResponse(t)||K.isReadableStream(t))return t;if(t&&K.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t,this.parseReviver)}catch(o){if(n){if("SyntaxError"===o.name)throw Y.from(o,Y.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ht.classes.FormData,Blob:ht.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};K.forEach(["delete","get","head","post","put","patch"],t=>{mt.headers[t]={}});const vt=K.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),bt=Symbol("internals");function yt(t){return t&&String(t).trim().toLowerCase()}function wt(t){return!1===t||null==t?t:K.isArray(t)?t.map(wt):String(t)}function Et(t,e,n,r,o){return K.isFunction(r)?r.call(this,e,n):(o&&(e=n),K.isString(e)?K.isString(r)?-1!==e.indexOf(r):K.isRegExp(r)?r.test(e):void 0:void 0)}let St=class{constructor(t){t&&this.set(t)}set(t,e,n){const r=this;function o(t,e,n){const o=yt(e);if(!o)throw new Error("header name must be a non-empty string");const i=K.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||e]=wt(t))}const i=(t,e)=>K.forEach(t,(t,n)=>o(t,n,e));if(K.isPlainObject(t)||t instanceof this.constructor)i(t,e);else if(K.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim()))i((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach(function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&vt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)}),e})(t),e);else if(K.isObject(t)&&K.isIterable(t)){let n,r,o={};for(const e of t){if(!K.isArray(e))throw TypeError("Object iterator must return a key-value pair");o[r=e[0]]=(n=o[r])?K.isArray(n)?[...n,e[1]]:[n,e[1]]:e[1]}i(o,e)}else null!=t&&o(e,t,n);return this}get(t,e){if(t=yt(t)){const n=K.findKey(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if(K.isFunction(e))return e.call(this,t,n);if(K.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=yt(t)){const n=K.findKey(this,t);return!(!n||void 0===this[n]||e&&!Et(0,this[n],n,e))}return!1}delete(t,e){const n=this;let r=!1;function o(t){if(t=yt(t)){const o=K.findKey(n,t);!o||e&&!Et(0,n[o],o,e)||(delete n[o],r=!0)}}return K.isArray(t)?t.forEach(o):o(t),r}clear(t){const e=Object.keys(this);let n=e.length,r=!1;for(;n--;){const o=e[n];t&&!Et(0,this[o],o,t,!0)||(delete this[o],r=!0)}return r}normalize(t){const e=this,n={};return K.forEach(this,(r,o)=>{const i=K.findKey(n,o);if(i)return e[i]=wt(r),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,e,n)=>e.toUpperCase()+n)}(o):String(o).trim();a!==o&&delete e[o],e[a]=wt(r),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return K.forEach(this,(n,r)=>{null!=n&&!1!==n&&(e[r]=t&&K.isArray(n)?n.join(", "):n)}),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,e])=>t+": "+e).join("\n")}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const n=new this(t);return e.forEach(t=>n.set(t)),n}static accessor(t){const e=(this[bt]=this[bt]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=yt(t);e[r]||(!function(t,e){const n=K.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})})}(n,t),e[r]=!0)}return K.isArray(t)?t.forEach(r):r(t),this}};function xt(t,e){const n=this||mt,r=e||n,o=St.from(r.headers);let i=r.data;return K.forEach(t,function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)}),o.normalize(),i}function Ot(t){return!(!t||!t.__CANCEL__)}St.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),K.reduceDescriptors(St.prototype,({value:t},e)=>{let n=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[n]=t}}}),K.freezeMethods(St);let _t=class extends Y{constructor(t,e,n){super(null==t?"canceled":t,Y.ERR_CANCELED,e,n),this.name="CanceledError",this.__CANCEL__=!0}};function Tt(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new Y("Request failed with status code "+n.status,[Y.ERR_BAD_REQUEST,Y.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}const At=(t,e,n=3)=>{let r=0;const o=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const c=Date.now(),l=r[a];o||(o=c),n[i]=s,r[i]=c;let u=a,f=0;for(;u!==i;)f+=n[u++],u%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),c-o<e)return;const d=l&&c-l;return d?Math.round(1e3*f/d):void 0}}(50,250);return function(t,e){let n,r,o=0,i=1e3/e;const a=(e,i=Date.now())=>{o=i,n=null,r&&(clearTimeout(r),r=null),t(...e)};return[(...t)=>{const e=Date.now(),s=e-o;s>=i?a(t,e):(n=t,r||(r=setTimeout(()=>{r=null,a(n)},i-s)))},()=>n&&a(n)]}(n=>{const i=n.loaded,a=n.lengthComputable?n.total:void 0,s=i-r,c=o(s);r=i;t({loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:c||void 0,estimated:c&&a&&i<=a?(a-i)/c:void 0,event:n,lengthComputable:null!=a,[e?"download":"upload"]:!0})},n)},Ct=(t,e)=>{const n=null!=t;return[r=>e[0]({lengthComputable:n,total:t,loaded:r}),e[1]]},Dt=t=>(...e)=>K.asap(()=>t(...e)),Rt=ht.hasStandardBrowserEnv?((t,e)=>n=>(n=new URL(n,ht.origin),t.protocol===n.protocol&&t.host===n.host&&(e||t.port===n.port)))(new URL(ht.origin),ht.navigator&&/(msie|trident)/i.test(ht.navigator.userAgent)):()=>!0,Pt=ht.hasStandardBrowserEnv?{write(t,e,n,r,o,i,a){if("undefined"==typeof document)return;const s=[`${t}=${encodeURIComponent(e)}`];K.isNumber(n)&&s.push(`expires=${new Date(n).toUTCString()}`),K.isString(r)&&s.push(`path=${r}`),K.isString(o)&&s.push(`domain=${o}`),!0===i&&s.push("secure"),K.isString(a)&&s.push(`SameSite=${a}`),document.cookie=s.join("; ")},read(t){if("undefined"==typeof document)return null;const e=document.cookie.match(new RegExp("(?:^|; )"+t+"=([^;]*)"));return e?decodeURIComponent(e[1]):null},remove(t){this.write(t,"",Date.now()-864e5,"/")}}:{write(){},read:()=>null,remove(){}};function jt(t,e,n){let r=!("string"==typeof(o=e)&&/^([a-z][a-z\d+\-.]*:)?\/\//i.test(o));var o;return t&&(r||0==n)?function(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Nt=t=>t instanceof St?{...t}:t;function It(t,e){e=e||{};const n={};function r(t,e,n,r){return K.isPlainObject(t)&&K.isPlainObject(e)?K.merge.call({caseless:r},t,e):K.isPlainObject(e)?K.merge({},e):K.isArray(e)?e.slice():e}function o(t,e,n,o){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t,0,o):r(t,e,0,o)}function i(t,e){if(!K.isUndefined(e))return r(void 0,e)}function a(t,e){return K.isUndefined(e)?K.isUndefined(t)?void 0:r(void 0,t):r(void 0,e)}function s(n,o,i){return i in e?r(n,o):i in t?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e,n)=>o(Nt(t),Nt(e),0,!0)};return K.forEach(Object.keys({...t,...e}),function(r){if("__proto__"===r||"constructor"===r||"prototype"===r)return;const i=K.hasOwnProp(c,r)?c[r]:o,a=i(t[r],e[r],r);K.isUndefined(a)&&i!==s||(n[r]=a)}),n}const Mt=t=>{const e=It({},t);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=e;if(e.headers=a=St.from(a),e.url=it(jt(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):""))),K.isFormData(n))if(ht.hasStandardBrowserEnv||ht.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if(K.isFunction(n.getHeaders)){const t=n.getHeaders(),e=["content-type","content-length"];Object.entries(t).forEach(([t,n])=>{e.includes(t.toLowerCase())&&a.set(t,n)})}if(ht.hasStandardBrowserEnv&&(r&&K.isFunction(r)&&(r=r(e)),r||!1!==r&&Rt(e.url))){const t=o&&i&&Pt.read(i);t&&a.set(o,t)}return e},kt="undefined"!=typeof XMLHttpRequest&&function(t){return new Promise(function(e,n){const r=Mt(t);let o=r.data;const i=St.from(r.headers).normalize();let a,s,c,l,u,{responseType:f,onUploadProgress:d,onDownloadProgress:p}=r;function h(){l&&l(),u&&u(),r.cancelToken&&r.cancelToken.unsubscribe(a),r.signal&&r.signal.removeEventListener("abort",a)}let g=new XMLHttpRequest;function m(){if(!g)return;const r=St.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders());Tt(function(t){e(t),h()},function(t){n(t),h()},{data:f&&"text"!==f&&"json"!==f?g.response:g.responseText,status:g.status,statusText:g.statusText,headers:r,config:t,request:g}),g=null}g.open(r.method.toUpperCase(),r.url,!0),g.timeout=r.timeout,"onloadend"in g?g.onloadend=m:g.onreadystatechange=function(){g&&4===g.readyState&&(0!==g.status||g.responseURL&&0===g.responseURL.indexOf("file:"))&&setTimeout(m)},g.onabort=function(){g&&(n(new Y("Request aborted",Y.ECONNABORTED,t,g)),g=null)},g.onerror=function(e){const r=e&&e.message?e.message:"Network Error",o=new Y(r,Y.ERR_NETWORK,t,g);o.event=e||null,n(o),g=null},g.ontimeout=function(){let e=r.timeout?"timeout of "+r.timeout+"ms exceeded":"timeout exceeded";const o=r.transitional||st;r.timeoutErrorMessage&&(e=r.timeoutErrorMessage),n(new Y(e,o.clarifyTimeoutError?Y.ETIMEDOUT:Y.ECONNABORTED,t,g)),g=null},void 0===o&&i.setContentType(null),"setRequestHeader"in g&&K.forEach(i.toJSON(),function(t,e){g.setRequestHeader(e,t)}),K.isUndefined(r.withCredentials)||(g.withCredentials=!!r.withCredentials),f&&"json"!==f&&(g.responseType=r.responseType),p&&([c,u]=At(p,!0),g.addEventListener("progress",c)),d&&g.upload&&([s,l]=At(d),g.upload.addEventListener("progress",s),g.upload.addEventListener("loadend",l)),(r.cancelToken||r.signal)&&(a=e=>{g&&(n(!e||e.type?new _t(null,t,g):e),g.abort(),g=null)},r.cancelToken&&r.cancelToken.subscribe(a),r.signal&&(r.signal.aborted?a():r.signal.addEventListener("abort",a)));const v=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(r.url);v&&-1===ht.protocols.indexOf(v)?n(new Y("Unsupported protocol "+v+":",Y.ERR_BAD_REQUEST,t)):g.send(o||null)})},Lt=(t,e)=>{const{length:n}=t=t?t.filter(Boolean):[];if(e||n){let n,r=new AbortController;const o=function(t){if(!n){n=!0,a();const e=t instanceof Error?t:this.reason;r.abort(e instanceof Y?e:new _t(e instanceof Error?e.message:e))}};let i=e&&setTimeout(()=>{i=null,o(new Y(`timeout of ${e}ms exceeded`,Y.ETIMEDOUT))},e);const a=()=>{t&&(i&&clearTimeout(i),i=null,t.forEach(t=>{t.unsubscribe?t.unsubscribe(o):t.removeEventListener("abort",o)}),t=null)};t.forEach(t=>t.addEventListener("abort",o));const{signal:s}=r;return s.unsubscribe=()=>K.asap(a),s}},Ft=function*(t,e){let n=t.byteLength;if(n<e)return void(yield t);let r,o=0;for(;o<n;)r=o+e,yield t.slice(o,r),o=r},Ut=async function*(t){if(t[Symbol.asyncIterator])return void(yield*t);const e=t.getReader();try{for(;;){const{done:t,value:n}=await e.read();if(t)break;yield n}}finally{await e.cancel()}},Bt=(t,e,n,r)=>{const o=async function*(t,e){for await(const n of Ut(t))yield*Ft(n,e)}(t,e);let i,a=0,s=t=>{i||(i=!0,r&&r(t))};return new ReadableStream({async pull(t){try{const{done:e,value:r}=await o.next();if(e)return s(),void t.close();let i=r.byteLength;if(n){let t=a+=i;n(t)}t.enqueue(new Uint8Array(r))}catch(e){throw s(e),e}},cancel:t=>(s(t),o.return())},{highWaterMark:2})},{isFunction:qt}=K,$t=(({Request:t,Response:e})=>({Request:t,Response:e}))(K.global),{ReadableStream:Ht,TextEncoder:Xt}=K.global,Vt=(t,...e)=>{try{return!!t(...e)}catch(n){return!1}},Wt=t=>{t=K.merge.call({skipUndefined:!0},$t,t);const{fetch:e,Request:n,Response:r}=t,o=e?qt(e):"function"==typeof fetch,i=qt(n),a=qt(r);if(!o)return!1;const s=o&&qt(Ht),c=o&&("function"==typeof Xt?(t=>e=>t.encode(e))(new Xt):async t=>new Uint8Array(await new n(t).arrayBuffer())),l=i&&s&&Vt(()=>{let t=!1;const e=new n(ht.origin,{body:new Ht,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),u=a&&s&&Vt(()=>K.isReadableStream(new r("").body)),f={stream:u&&(t=>t.body)};o&&["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!f[t]&&(f[t]=(e,n)=>{let r=e&&e[t];if(r)return r.call(e);throw new Y(`Response type '${t}' is not supported`,Y.ERR_NOT_SUPPORT,n)})});const d=async(t,e)=>{const r=K.toFiniteNumber(t.getContentLength());return null==r?(async t=>{if(null==t)return 0;if(K.isBlob(t))return t.size;if(K.isSpecCompliantForm(t)){const e=new n(ht.origin,{method:"POST",body:t});return(await e.arrayBuffer()).byteLength}return K.isArrayBufferView(t)||K.isArrayBuffer(t)?t.byteLength:(K.isURLSearchParams(t)&&(t+=""),K.isString(t)?(await c(t)).byteLength:void 0)})(e):r};return async t=>{let{url:o,method:a,data:s,signal:c,cancelToken:p,timeout:h,onDownloadProgress:g,onUploadProgress:m,responseType:v,headers:b,withCredentials:y="same-origin",fetchOptions:w}=Mt(t),E=e||fetch;v=v?(v+"").toLowerCase():"text";let S=Lt([c,p&&p.toAbortSignal()],h),x=null;const O=S&&S.unsubscribe&&(()=>{S.unsubscribe()});let _;try{if(m&&l&&"get"!==a&&"head"!==a&&0!==(_=await d(b,s))){let t,e=new n(o,{method:"POST",body:s,duplex:"half"});if(K.isFormData(s)&&(t=e.headers.get("content-type"))&&b.setContentType(t),e.body){const[t,n]=Ct(_,At(Dt(m)));s=Bt(e.body,65536,t,n)}}K.isString(y)||(y=y?"include":"omit");const e=i&&"credentials"in n.prototype,c={...w,signal:S,method:a.toUpperCase(),headers:b.normalize().toJSON(),body:s,duplex:"half",credentials:e?y:void 0};x=i&&new n(o,c);let p=await(i?E(x,w):E(o,c));const h=u&&("stream"===v||"response"===v);if(u&&(g||h&&O)){const t={};["status","statusText","headers"].forEach(e=>{t[e]=p[e]});const e=K.toFiniteNumber(p.headers.get("content-length")),[n,o]=g&&Ct(e,At(Dt(g),!0))||[];p=new r(Bt(p.body,65536,n,()=>{o&&o(),O&&O()}),t)}v=v||"text";let T=await f[K.findKey(f,v)||"text"](p,t);return!h&&O&&O(),await new Promise((e,n)=>{Tt(e,n,{data:T,headers:St.from(p.headers),status:p.status,statusText:p.statusText,config:t,request:x})})}catch(T){if(O&&O(),T&&"TypeError"===T.name&&/Load failed|fetch/i.test(T.message))throw Object.assign(new Y("Network Error",Y.ERR_NETWORK,t,x,T&&T.response),{cause:T.cause||T});throw Y.from(T,T&&T.code,t,x,T&&T.response)}}},zt=new Map,Kt=t=>{let e=t&&t.env||{};const{fetch:n,Request:r,Response:o}=e,i=[r,o,n];let a,s,c=i.length,l=zt;for(;c--;)a=i[c],s=l.get(a),void 0===s&&l.set(a,s=c?new Map:Wt(e)),l=s;return s};Kt();const Yt={http:null,xhr:kt,fetch:{get:Kt}};K.forEach(Yt,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(n){}Object.defineProperty(t,"adapterName",{value:e})}});const Gt=t=>`- ${t}`,Jt=t=>K.isFunction(t)||null===t||!1===t;const Qt={getAdapter:function(t,e){t=K.isArray(t)?t:[t];const{length:n}=t;let r,o;const i={};for(let a=0;a<n;a++){let n;if(r=t[a],o=r,!Jt(r)&&(o=Yt[(n=String(r)).toLowerCase()],void 0===o))throw new Y(`Unknown adapter '${n}'`);if(o&&(K.isFunction(o)||(o=o.get(e))))break;i[n||"#"+a]=o}if(!o){const t=Object.entries(i).map(([t,e])=>`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build"));let e=n?t.length>1?"since :\n"+t.map(Gt).join("\n"):" "+Gt(t[0]):"as no adapter specified";throw new Y("There is no suitable adapter to dispatch the request "+e,"ERR_NOT_SUPPORT")}return o},adapters:Yt};function Zt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new _t(null,t)}function te(t){Zt(t),t.headers=St.from(t.headers),t.data=xt.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1);return Qt.getAdapter(t.adapter||mt.adapter,t)(t).then(function(e){return Zt(t),e.data=xt.call(t,t.transformResponse,e),e.headers=St.from(e.headers),e},function(e){return Ot(e)||(Zt(t),e&&e.response&&(e.response.data=xt.call(t,t.transformResponse,e.response),e.response.headers=St.from(e.response.headers))),Promise.reject(e)})}const ee="1.13.6",ne={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{ne[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});const re={};ne.transitional=function(t,e,n){return(r,o,i)=>{if(!1===t)throw new Y(function(t,e){return"[Axios v"+ee+"] Transitional option '"+t+"'"+e+(n?". "+n:"")}(o," has been removed"+(e?" in "+e:"")),Y.ERR_DEPRECATED);return e&&!re[o]&&(re[o]=!0),!t||t(r,o,i)}},ne.spelling=function(t){return(t,e)=>!0};const oe={assertOptions:function(t,e,n){if("object"!=typeof t)throw new Y("options must be an object",Y.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],a=e[i];if(a){const e=t[i],n=void 0===e||a(e,i,t);if(!0!==n)throw new Y("option "+i+" must be "+n,Y.ERR_BAD_OPTION_VALUE);continue}if(!0!==n)throw new Y("Unknown option "+i,Y.ERR_BAD_OPTION)}},validators:ne},ie=oe.validators;let ae=class{constructor(t){this.defaults=t||{},this.interceptors={request:new at,response:new at}}async request(t,e){try{return await this._request(t,e)}catch(n){if(n instanceof Error){let t={};Error.captureStackTrace?Error.captureStackTrace(t):t=new Error;const e=t.stack?t.stack.replace(/^.+\n/,""):"";try{n.stack?e&&!String(n.stack).endsWith(e.replace(/^.+\n.+\n/,""))&&(n.stack+="\n"+e):n.stack=e}catch(r){}}throw n}}_request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=It(this.defaults,e);const{transitional:n,paramsSerializer:r,headers:o}=e;void 0!==n&&oe.assertOptions(n,{silentJSONParsing:ie.transitional(ie.boolean),forcedJSONParsing:ie.transitional(ie.boolean),clarifyTimeoutError:ie.transitional(ie.boolean),legacyInterceptorReqResOrdering:ie.transitional(ie.boolean)},!1),null!=r&&(K.isFunction(r)?e.paramsSerializer={serialize:r}:oe.assertOptions(r,{encode:ie.function,serialize:ie.function},!0)),void 0!==e.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?e.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:e.allowAbsoluteUrls=!0),oe.assertOptions(e,{baseUrl:ie.spelling("baseURL"),withXsrfToken:ie.spelling("withXSRFToken")},!0),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&K.merge(o.common,o[e.method]);o&&K.forEach(["delete","get","head","post","put","patch","common"],t=>{delete o[t]}),e.headers=St.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach(function(t){if("function"==typeof t.runWhen&&!1===t.runWhen(e))return;s=s&&t.synchronous;const n=e.transitional||st;n&&n.legacyInterceptorReqResOrdering?a.unshift(t.fulfilled,t.rejected):a.push(t.fulfilled,t.rejected)});const c=[];let l;this.interceptors.response.forEach(function(t){c.push(t.fulfilled,t.rejected)});let u,f=0;if(!s){const t=[te.bind(this),void 0];for(t.unshift(...a),t.push(...c),u=t.length,l=Promise.resolve(e);f<u;)l=l.then(t[f++],t[f++]);return l}u=a.length;let d=e;for(;f<u;){const t=a[f++],e=a[f++];try{d=t(d)}catch(p){e.call(this,p);break}}try{l=te.call(this,d)}catch(p){return Promise.reject(p)}for(f=0,u=c.length;f<u;)l=l.then(c[f++],c[f++]);return l}getUri(t){return it(jt((t=It(this.defaults,t)).baseURL,t.url,t.allowAbsoluteUrls),t.params,t.paramsSerializer)}};K.forEach(["delete","get","head","options"],function(t){ae.prototype[t]=function(e,n){return this.request(It(n||{},{method:t,url:e,data:(n||{}).data}))}}),K.forEach(["post","put","patch"],function(t){function e(e){return function(n,r,o){return this.request(It(o||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}ae.prototype[t]=e(),ae.prototype[t+"Form"]=e(!0)});const se={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(se).forEach(([t,e])=>{se[e]=t});const ce=function t(e){const n=new ae(e),r=o(ae.prototype.request,n);return K.extend(r,ae.prototype,n,{allOwnKeys:!0}),K.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(It(e,n))},r}(mt);ce.Axios=ae,ce.CanceledError=_t,ce.CancelToken=class t{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise(function(t){e=t});const n=this;this.promise.then(t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null}),this.promise.then=t=>{let e;const r=new Promise(t=>{n.subscribe(t),e=t}).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t(function(t,r,o){n.reason||(n.reason=new _t(t,r,o),e(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}toAbortSignal(){const t=new AbortController,e=e=>{t.abort(e)};return this.subscribe(e),t.signal.unsubscribe=()=>this.unsubscribe(e),t.signal}static source(){let e;return{token:new t(function(t){e=t}),cancel:e}}},ce.isCancel=Ot,ce.VERSION=ee,ce.toFormData=tt,ce.AxiosError=Y,ce.Cancel=ce.CanceledError,ce.all=function(t){return Promise.all(t)},ce.spread=function(t){return function(e){return t.apply(null,e)}},ce.isAxiosError=function(t){return K.isObject(t)&&!0===t.isAxiosError},ce.mergeConfig=It,ce.AxiosHeaders=St,ce.formToJSON=t=>gt(K.isHTMLForm(t)?new FormData(t):t),ce.getAdapter=Qt.getAdapter,ce.HttpStatusCode=se,ce.default=ce;const{Axios:le,AxiosError:ue,CanceledError:fe,isCancel:de,CancelToken:pe,VERSION:he,all:ge,Cancel:me,isAxiosError:ve,spread:be,toFormData:ye,AxiosHeaders:we,HttpStatusCode:Ee,formToJSON:Se,getAdapter:xe,mergeConfig:Oe}=ce;var _e={exports:{}};
|
|
2
2
|
/**!
|
|
3
3
|
* Sortable 1.14.0
|
|
4
4
|
* @author RubaXa <trash@rubaxa.org>
|
|
@@ -42,4 +42,4 @@ let rc;const sc=e=>rc=e,ic=Symbol();function lc(e){return e&&"object"==typeof e&
|
|
|
42
42
|
* vue-router v4.6.3
|
|
43
43
|
* (c) 2025 Eduardo San Martin Morote
|
|
44
44
|
* @license MIT
|
|
45
|
-
*/(e,t);n=Oa(o.reverse(),"beforeRouteLeave",e,t);for(const s of o)s.leaveGuards.forEach(o=>{n.push(ka(o,e,t))});const c=y.bind(null,e,t);return n.push(c),M(n).then(()=>{n=[];for(const o of s.list())n.push(ka(o,e,t));return n.push(c),M(n)}).then(()=>{n=Oa(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach(o=>{n.push(ka(o,e,t))});return n.push(c),M(n)}).then(()=>{n=[];for(const o of l)if(o.beforeEnter)if(Rc(o.beforeEnter))for(const r of o.beforeEnter)n.push(ka(r,e,t));else n.push(ka(o.beforeEnter,e,t));return n.push(c),M(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Oa(l,"beforeRouteEnter",e,t,b),n.push(c),M(n))).then(()=>{n=[];for(const o of i.list())n.push(ka(o,e,t));return n.push(c),M(n)}).catch(e=>_a(e,ga.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function S(e,t,n){l.list().forEach(o=>b(()=>o(e,t,n)))}function C(e,t,n,o,s){const i=g(e,t);if(i)return i;const l=t===ra,a=wc?history.state:{};n&&(o||l?r.replace(e.fullPath,Tc({scroll:l&&a&&a.scroll},s)):r.push(e.fullPath,s)),c.value=e,N(e,t,n,l),R()}let x;function w(){x||(x=r.listen((e,t,n)=>{if(!L.listening)return;const o=d(e),s=v(o,L.currentRoute.value);if(s)return void _(Tc(s,{replace:!0,force:!0}),o).catch(Oc);a=o;const i=c.value;var l,u;wc&&(l=pa(i.fullPath,n.delta),u=ua(),da.set(l,u)),E(o,i).catch(e=>_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_CANCELLED)?e:_a(e,ga.NAVIGATION_GUARD_REDIRECT)?(_(Tc(h(e.to),{force:!0}),o).then(e=>{_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===sa.pop&&r.go(-1,!1)}).catch(Oc),Promise.reject()):(n.delta&&r.go(-n.delta,!1),O(e,o,i))).then(e=>{(e=e||C(o,i,!1))&&(n.delta&&!_a(e,ga.NAVIGATION_CANCELLED)?r.go(-n.delta,!1):n.type===sa.pop&&_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),S(o,i,e)}).catch(Oc)}))}let A,T=Ta(),k=Ta();function O(e,t,n){R(e);const o=k.list();return o.length&&o.forEach(o=>o(e,t,n)),Promise.reject(e)}function R(e){return A||(A=!e,w(),T.list().forEach(([t,n])=>e?n(e):t()),T.reset()),e}function N(t,n,o,r){const{scrollBehavior:s}=e;if(!wc||!s)return Promise.resolve();const i=!o&&function(e){const t=da.get(e);return da.delete(e),t}(pa(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return an().then(()=>s(t,n,i)).then(e=>e&&fa(e)).catch(e=>O(e,t,n))}const P=e=>r.go(e);let I;const D=new Set,L={currentRoute:c,listening:!0,addRoute:function(e,n){let o,r;return ha(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map(e=>e.record)},resolve:d,options:e,push:m,replace:function(e){return m(Tc(h(e),{replace:!0}))},go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:k.add,isReady:function(){return A&&c.value!==ra?Promise.resolve():new Promise((e,t)=>{T.add([e,t])})},install(e){e.component("RouterLink",tu),e.component("RouterView",su),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>Dt(c)}),wc&&!I&&c.value===ra&&(I=!0,m(r.location).catch(e=>{}));const t={};for(const o in ra)Object.defineProperty(t,o,{get:()=>c.value[o],enumerable:!0});e.provide(xa,L),e.provide(wa,vt(t)),e.provide(Aa,c);const n=e.unmount;D.add(e),e.unmount=function(){D.delete(e),D.size<1&&(a=ra,x&&x(),x=null,c.value=ra,I=!1,A=!1),n()}}};function M(e){return e.reduce((e,t)=>e.then(()=>b(t)),Promise.resolve())}return L}function lu(){return mr(xa)}function cu(e){return mr(wa)}const au=e(oc);export{
|
|
45
|
+
*/(e,t);n=Oa(o.reverse(),"beforeRouteLeave",e,t);for(const s of o)s.leaveGuards.forEach(o=>{n.push(ka(o,e,t))});const c=y.bind(null,e,t);return n.push(c),M(n).then(()=>{n=[];for(const o of s.list())n.push(ka(o,e,t));return n.push(c),M(n)}).then(()=>{n=Oa(r,"beforeRouteUpdate",e,t);for(const o of r)o.updateGuards.forEach(o=>{n.push(ka(o,e,t))});return n.push(c),M(n)}).then(()=>{n=[];for(const o of l)if(o.beforeEnter)if(Rc(o.beforeEnter))for(const r of o.beforeEnter)n.push(ka(r,e,t));else n.push(ka(o.beforeEnter,e,t));return n.push(c),M(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Oa(l,"beforeRouteEnter",e,t,b),n.push(c),M(n))).then(()=>{n=[];for(const o of i.list())n.push(ka(o,e,t));return n.push(c),M(n)}).catch(e=>_a(e,ga.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function S(e,t,n){l.list().forEach(o=>b(()=>o(e,t,n)))}function C(e,t,n,o,s){const i=g(e,t);if(i)return i;const l=t===ra,a=wc?history.state:{};n&&(o||l?r.replace(e.fullPath,Tc({scroll:l&&a&&a.scroll},s)):r.push(e.fullPath,s)),c.value=e,N(e,t,n,l),R()}let x;function w(){x||(x=r.listen((e,t,n)=>{if(!L.listening)return;const o=d(e),s=v(o,L.currentRoute.value);if(s)return void _(Tc(s,{replace:!0,force:!0}),o).catch(Oc);a=o;const i=c.value;var l,u;wc&&(l=pa(i.fullPath,n.delta),u=ua(),da.set(l,u)),E(o,i).catch(e=>_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_CANCELLED)?e:_a(e,ga.NAVIGATION_GUARD_REDIRECT)?(_(Tc(h(e.to),{force:!0}),o).then(e=>{_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===sa.pop&&r.go(-1,!1)}).catch(Oc),Promise.reject()):(n.delta&&r.go(-n.delta,!1),O(e,o,i))).then(e=>{(e=e||C(o,i,!1))&&(n.delta&&!_a(e,ga.NAVIGATION_CANCELLED)?r.go(-n.delta,!1):n.type===sa.pop&&_a(e,ga.NAVIGATION_ABORTED|ga.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),S(o,i,e)}).catch(Oc)}))}let A,T=Ta(),k=Ta();function O(e,t,n){R(e);const o=k.list();return o.length&&o.forEach(o=>o(e,t,n)),Promise.reject(e)}function R(e){return A||(A=!e,w(),T.list().forEach(([t,n])=>e?n(e):t()),T.reset()),e}function N(t,n,o,r){const{scrollBehavior:s}=e;if(!wc||!s)return Promise.resolve();const i=!o&&function(e){const t=da.get(e);return da.delete(e),t}(pa(t.fullPath,0))||(r||!o)&&history.state&&history.state.scroll||null;return an().then(()=>s(t,n,i)).then(e=>e&&fa(e)).catch(e=>O(e,t,n))}const P=e=>r.go(e);let I;const D=new Set,L={currentRoute:c,listening:!0,addRoute:function(e,n){let o,r;return ha(e)?(o=t.getRecordMatcher(e),r=n):r=e,t.addRoute(r,o)},removeRoute:function(e){const n=t.getRecordMatcher(e);n&&t.removeRoute(n)},clearRoutes:t.clearRoutes,hasRoute:function(e){return!!t.getRecordMatcher(e)},getRoutes:function(){return t.getRoutes().map(e=>e.record)},resolve:d,options:e,push:m,replace:function(e){return m(Tc(h(e),{replace:!0}))},go:P,back:()=>P(-1),forward:()=>P(1),beforeEach:s.add,beforeResolve:i.add,afterEach:l.add,onError:k.add,isReady:function(){return A&&c.value!==ra?Promise.resolve():new Promise((e,t)=>{T.add([e,t])})},install(e){e.component("RouterLink",tu),e.component("RouterView",su),e.config.globalProperties.$router=L,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>Dt(c)}),wc&&!I&&c.value===ra&&(I=!0,m(r.location).catch(e=>{}));const t={};for(const o in ra)Object.defineProperty(t,o,{get:()=>c.value[o],enumerable:!0});e.provide(xa,L),e.provide(wa,vt(t)),e.provide(Aa,c);const n=e.unmount;D.add(e),e.unmount=function(){D.delete(e),D.size<1&&(a=ra,x&&x(),x=null,c.value=ra,I=!1,A=!1),n()}}};function M(e){return e.reduce((e,t)=>e.then(()=>b(t)),Promise.resolve())}return L}function lu(){return mr(xa)}function cu(e){return mr(wa)}const au=e(oc);export{Z as $,Nt as A,Gr as B,ms as C,Oi as D,El as E,hs as F,Wi as G,Ds as H,gs as I,At as J,No as K,K as L,Zl as M,Dt as N,xt as O,wt as P,jt as Q,B as R,au as S,Dn as T,iu as U,Ia as V,Fs as W,Ps as X,As as Y,Sn as Z,Hl as _,Ns as a,$o as a0,Cc as a1,Ho as a2,jo as a3,xc as a4,cu as a5,Wl as a6,Fo as a7,lu as a8,uc as a9,Ot as aa,Ms as b,ws as c,Xn as d,_t as e,ai as f,qs as g,To as h,Ro as i,Ao as j,mt as k,mr as l,_o as m,yo as n,bs as o,Ls as p,gr as q,Rt as r,Cn as s,ui as t,$t as u,an as v,Kr as w,Go as x,Bs as y,Ts as z};
|
package/dist/web/index.html
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
<link rel="icon" href="/favicon.ico">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<title>coding-tool-x · AI 编程工作台</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-QeTxUv96.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/markdown-BNJfEgCA.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/vue-vendor-
|
|
11
|
-
<link rel="modulepreload" crossorigin href="/assets/naive-ui-
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/icons-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/vendors
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/assets/vue-vendor-C5aMkRmm.js">
|
|
11
|
+
<link rel="modulepreload" crossorigin href="/assets/naive-ui-Cjh6GLto.js">
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/icons-U50_Cfbe.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/vendors--KP7Ux0s.js">
|
|
14
14
|
<link rel="stylesheet" crossorigin href="/assets/markdown-BfC0goYb.css">
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/assets/index-BkLQex1R.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="app"></div>
|
package/package.json
CHANGED
package/src/config/default.js
CHANGED
|
@@ -46,6 +46,7 @@ const DEFAULT_CONFIG = {
|
|
|
46
46
|
mode: 'auto',
|
|
47
47
|
input: 2.5,
|
|
48
48
|
output: 15,
|
|
49
|
+
cacheRead: 0.25,
|
|
49
50
|
models: {
|
|
50
51
|
'gpt-5-codex': { mode: 'auto' },
|
|
51
52
|
'gpt-4o-mini': { mode: 'auto' }
|
|
@@ -55,6 +56,7 @@ const DEFAULT_CONFIG = {
|
|
|
55
56
|
mode: 'auto',
|
|
56
57
|
input: 1.25,
|
|
57
58
|
output: 10,
|
|
59
|
+
cacheRead: 0.125,
|
|
58
60
|
models: {
|
|
59
61
|
'gemini-2.5-pro': { mode: 'auto' },
|
|
60
62
|
'gemini-2.5-flash': { mode: 'auto' }
|
|
@@ -64,6 +66,7 @@ const DEFAULT_CONFIG = {
|
|
|
64
66
|
mode: 'auto',
|
|
65
67
|
input: 2.5,
|
|
66
68
|
output: 15,
|
|
69
|
+
cacheRead: 0.25,
|
|
67
70
|
models: {}
|
|
68
71
|
}
|
|
69
72
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"lastUpdated": "2026-
|
|
2
|
+
"lastUpdated": "2026-05-10",
|
|
3
3
|
"defaultModels": {
|
|
4
4
|
"claude": [
|
|
5
|
+
"claude-opus-4-7",
|
|
5
6
|
"claude-opus-4-6",
|
|
6
7
|
"claude-sonnet-4-6",
|
|
7
8
|
"claude-opus-4-5-20251101",
|
|
@@ -9,8 +10,11 @@
|
|
|
9
10
|
"claude-haiku-4-5-20251001"
|
|
10
11
|
],
|
|
11
12
|
"codex": [
|
|
13
|
+
"gpt-5.5",
|
|
12
14
|
"gpt-5.4",
|
|
15
|
+
"gpt-5.4-mini",
|
|
13
16
|
"gpt-5.3-codex",
|
|
17
|
+
"gpt-5.3-codex-spark",
|
|
14
18
|
"gpt-5.2-codex",
|
|
15
19
|
"gpt-5.1-codex-max",
|
|
16
20
|
"gpt-5.1-codex",
|
|
@@ -21,6 +25,8 @@
|
|
|
21
25
|
"gpt-5"
|
|
22
26
|
],
|
|
23
27
|
"gemini": [
|
|
28
|
+
"gemini-3.1-pro-preview",
|
|
29
|
+
"gemini-3.1-flash-preview",
|
|
24
30
|
"gemini-3-pro-preview",
|
|
25
31
|
"gemini-3-flash-preview",
|
|
26
32
|
"gemini-2.5-pro",
|
|
@@ -34,17 +40,26 @@
|
|
|
34
40
|
"gemini": "gemini-2.5-pro"
|
|
35
41
|
},
|
|
36
42
|
"aliases": {
|
|
43
|
+
"claude-opus-4-7": "claude-opus-4-7",
|
|
44
|
+
"claude-opus-4.7": "claude-opus-4-7",
|
|
37
45
|
"claude-opus-4-6": "claude-opus-4-6",
|
|
38
46
|
"claude-sonnet-4-6": "claude-sonnet-4-6",
|
|
39
47
|
"claude-opus-4-5": "claude-opus-4-5-20251101",
|
|
40
48
|
"claude-sonnet-4-5": "claude-sonnet-4-5-20250929",
|
|
41
49
|
"claude-haiku-4-5": "claude-haiku-4-5-20251001",
|
|
42
|
-
"gemini-3.1-pro": "gemini-3-pro-preview"
|
|
50
|
+
"gemini-3.1-pro": "gemini-3.1-pro-preview",
|
|
51
|
+
"gemini-3.1-pro-high": "gemini-3.1-pro-high",
|
|
52
|
+
"gemini-3.1-pro-low": "gemini-3.1-pro-low",
|
|
53
|
+
"gemini-3.1-flash": "gemini-3.1-flash-preview"
|
|
43
54
|
},
|
|
44
55
|
"models": {
|
|
56
|
+
"claude-opus-4-7": {
|
|
57
|
+
"limit": { "context": 1000000, "output": 128000 },
|
|
58
|
+
"pricing": { "input": 5, "output": 25, "cacheCreation": 6.25, "cacheRead": 0.5 }
|
|
59
|
+
},
|
|
45
60
|
"claude-opus-4-6": {
|
|
46
|
-
"limit": { "context":
|
|
47
|
-
"pricing": { "input":
|
|
61
|
+
"limit": { "context": 1000000, "output": 128000 },
|
|
62
|
+
"pricing": { "input": 5, "output": 25, "cacheCreation": 6.25, "cacheRead": 0.5 }
|
|
48
63
|
},
|
|
49
64
|
"claude-sonnet-4-6": {
|
|
50
65
|
"limit": { "context": 200000, "output": 64000 },
|
|
@@ -63,64 +78,92 @@
|
|
|
63
78
|
"pricing": { "input": 1, "output": 5, "cacheCreation": 1.25, "cacheRead": 0.1 }
|
|
64
79
|
},
|
|
65
80
|
"gpt-5": {
|
|
66
|
-
"limit": { "context":
|
|
67
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
81
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
82
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
68
83
|
},
|
|
69
84
|
"gpt-5.1": {
|
|
70
|
-
"limit": { "context":
|
|
71
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
85
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
86
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
72
87
|
},
|
|
73
88
|
"gpt-5.2": {
|
|
74
|
-
"limit": { "context":
|
|
75
|
-
"pricing": { "input": 1.75, "output": 14 }
|
|
89
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
90
|
+
"pricing": { "input": 1.75, "output": 14, "cacheRead": 0.175 }
|
|
91
|
+
},
|
|
92
|
+
"gpt-5.5": {
|
|
93
|
+
"limit": { "context": 1050000, "output": 128000 },
|
|
94
|
+
"pricing": { "input": 5, "output": 30, "cacheRead": 0.5 }
|
|
76
95
|
},
|
|
77
96
|
"gpt-5.4": {
|
|
78
|
-
"limit": { "context":
|
|
79
|
-
"pricing": { "input": 2.5, "output": 15 }
|
|
97
|
+
"limit": { "context": 1050000, "output": 128000 },
|
|
98
|
+
"pricing": { "input": 2.5, "output": 15, "cacheRead": 0.25 }
|
|
99
|
+
},
|
|
100
|
+
"gpt-5.4-mini": {
|
|
101
|
+
"limit": { "context": 400000, "output": 128000 },
|
|
102
|
+
"pricing": { "input": 0.75, "output": 4.5, "cacheRead": 0.075 }
|
|
80
103
|
},
|
|
81
104
|
"gpt-5-codex": {
|
|
82
|
-
"limit": { "context":
|
|
83
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
105
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
106
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
84
107
|
},
|
|
85
108
|
"gpt-5.1-codex": {
|
|
86
|
-
"limit": { "context":
|
|
87
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
109
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
110
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
88
111
|
},
|
|
89
112
|
"gpt-5.1-codex-mini": {
|
|
90
|
-
"limit": { "context":
|
|
91
|
-
"pricing": { "input": 0.25, "output": 2 }
|
|
113
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
114
|
+
"pricing": { "input": 0.25, "output": 2, "cacheRead": 0.025 }
|
|
92
115
|
},
|
|
93
116
|
"gpt-5.1-codex-max": {
|
|
94
|
-
"limit": { "context":
|
|
95
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
117
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
118
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
96
119
|
},
|
|
97
120
|
"gpt-5.2-codex": {
|
|
98
|
-
"limit": { "context":
|
|
99
|
-
"pricing": { "input": 1.75, "output": 14 }
|
|
121
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
122
|
+
"pricing": { "input": 1.75, "output": 14, "cacheRead": 0.175 }
|
|
100
123
|
},
|
|
101
124
|
"gpt-5.3-codex": {
|
|
102
|
-
"limit": { "context":
|
|
103
|
-
"pricing": { "input": 1.75, "output": 14 }
|
|
125
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
126
|
+
"pricing": { "input": 1.75, "output": 14, "cacheRead": 0.175 }
|
|
127
|
+
},
|
|
128
|
+
"gpt-5.3-codex-spark": {
|
|
129
|
+
"limit": { "context": 272000, "output": 128000 },
|
|
130
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
131
|
+
},
|
|
132
|
+
"gemini-3.1-pro-preview": {
|
|
133
|
+
"limit": { "context": 1048576, "output": 65536 },
|
|
134
|
+
"pricing": { "input": 2, "output": 12, "cacheRead": 0.2 }
|
|
135
|
+
},
|
|
136
|
+
"gemini-3.1-pro-high": {
|
|
137
|
+
"limit": { "context": 1048576, "output": 65536 },
|
|
138
|
+
"pricing": { "input": 2, "output": 12, "cacheRead": 0.2 }
|
|
139
|
+
},
|
|
140
|
+
"gemini-3.1-pro-low": {
|
|
141
|
+
"limit": { "context": 1048576, "output": 65536 },
|
|
142
|
+
"pricing": { "input": 2, "output": 12, "cacheRead": 0.2 }
|
|
143
|
+
},
|
|
144
|
+
"gemini-3.1-flash-preview": {
|
|
145
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
146
|
+
"pricing": { "input": 0.5, "output": 3, "cacheRead": 0.05 }
|
|
104
147
|
},
|
|
105
148
|
"gemini-3-pro-preview": {
|
|
106
|
-
"limit": { "context":
|
|
107
|
-
"pricing": { "input": 2, "output": 12 }
|
|
149
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
150
|
+
"pricing": { "input": 2, "output": 12, "cacheRead": 0.2 }
|
|
108
151
|
},
|
|
109
152
|
"gemini-3-flash-preview": {
|
|
110
|
-
"limit": { "context": 1048576, "output":
|
|
111
|
-
"pricing": { "input": 0.5, "output": 3 }
|
|
153
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
154
|
+
"pricing": { "input": 0.5, "output": 3, "cacheRead": 0.05 }
|
|
112
155
|
},
|
|
113
156
|
"gemini-2.5-pro": {
|
|
114
|
-
"limit": { "context": 1048576, "output":
|
|
115
|
-
"pricing": { "input": 1.25, "output": 10 }
|
|
157
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
158
|
+
"pricing": { "input": 1.25, "output": 10, "cacheRead": 0.125 }
|
|
116
159
|
},
|
|
117
160
|
"gemini-2.5-flash": {
|
|
118
|
-
"limit": { "context": 1048576, "output":
|
|
119
|
-
"pricing": { "input": 0.3, "output": 2.5 }
|
|
161
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
162
|
+
"pricing": { "input": 0.3, "output": 2.5, "cacheRead": 0.03 }
|
|
120
163
|
},
|
|
121
164
|
"gemini-2.5-flash-lite": {
|
|
122
|
-
"limit": { "context": 1048576, "output":
|
|
123
|
-
"pricing": { "input": 0.1, "output": 0.4 }
|
|
165
|
+
"limit": { "context": 1048576, "output": 65535 },
|
|
166
|
+
"pricing": { "input": 0.1, "output": 0.4, "cacheRead": 0.01 }
|
|
124
167
|
}
|
|
125
168
|
}
|
|
126
169
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const express = require('express');
|
|
2
|
+
const router = express.Router();
|
|
3
|
+
const { createSameOriginGuard } = require('../services/network-access');
|
|
4
|
+
const {
|
|
5
|
+
getChannelBalances,
|
|
6
|
+
refreshChannelBalance
|
|
7
|
+
} = require('../services/channel-balance');
|
|
8
|
+
|
|
9
|
+
router.use(createSameOriginGuard({
|
|
10
|
+
message: '禁止跨站访问渠道余额接口'
|
|
11
|
+
}));
|
|
12
|
+
|
|
13
|
+
router.get('/', async (req, res) => {
|
|
14
|
+
try {
|
|
15
|
+
const result = await getChannelBalances(req.query.source);
|
|
16
|
+
res.json(result);
|
|
17
|
+
} catch (error) {
|
|
18
|
+
const status = error?.message === 'Invalid channel balance source' ? 400 : 500;
|
|
19
|
+
res.status(status).json({ error: status === 400 ? 'Invalid source' : 'Failed to load channel balances' });
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
router.post('/:source/:id/refresh', async (req, res) => {
|
|
24
|
+
try {
|
|
25
|
+
const result = await refreshChannelBalance(req.params.source, req.params.id);
|
|
26
|
+
res.json(result);
|
|
27
|
+
} catch (error) {
|
|
28
|
+
if (error?.statusCode === 404) {
|
|
29
|
+
return res.status(404).json({ error: 'Channel not found' });
|
|
30
|
+
}
|
|
31
|
+
const status = error?.message === 'Invalid channel balance source' ? 400 : 500;
|
|
32
|
+
res.status(status).json({ error: status === 400 ? 'Invalid source' : 'Failed to refresh channel balance' });
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
module.exports = router;
|
|
@@ -7,7 +7,7 @@ const { allocateChannel, releaseChannel, getSchedulerState } = require('./servic
|
|
|
7
7
|
const { recordSuccess, recordFailure } = require('./services/channel-health');
|
|
8
8
|
const { loadConfig } = require('../config/loader');
|
|
9
9
|
const DEFAULT_CONFIG = require('../config/default');
|
|
10
|
-
const { resolveModelPricing } = require('./utils/pricing');
|
|
10
|
+
const { resolveModelPricing, calculateTokenCost } = require('./utils/pricing');
|
|
11
11
|
const { recordRequest: recordCodexRequest } = require('./services/codex-statistics-service');
|
|
12
12
|
const { saveProxyStartTime, clearProxyStartTime, getProxyStartTime, getProxyRuntime } = require('./services/proxy-runtime');
|
|
13
13
|
const { createDecodedStream } = require('./services/response-decoder');
|
|
@@ -52,7 +52,6 @@ const PRICING = {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
const CODEX_BASE_PRICING = DEFAULT_CONFIG.pricing.codex;
|
|
55
|
-
const ONE_MILLION = 1000000;
|
|
56
55
|
|
|
57
56
|
// detectModelTier, redirectModel, resolveTargetUrl imported from services/base/proxy-utils
|
|
58
57
|
|
|
@@ -90,13 +89,7 @@ function calculateCost(model, tokens) {
|
|
|
90
89
|
}
|
|
91
90
|
|
|
92
91
|
const pricing = resolveModelPricing('codex', model, fallbackPricing, CODEX_BASE_PRICING);
|
|
93
|
-
|
|
94
|
-
const outputRate = typeof pricing.output === 'number' ? pricing.output : CODEX_BASE_PRICING.output;
|
|
95
|
-
|
|
96
|
-
return (
|
|
97
|
-
(tokens.input || 0) * inputRate / ONE_MILLION +
|
|
98
|
-
(tokens.output || 0) * outputRate / ONE_MILLION
|
|
99
|
-
);
|
|
92
|
+
return calculateTokenCost(pricing, tokens, CODEX_BASE_PRICING);
|
|
100
93
|
}
|
|
101
94
|
|
|
102
95
|
const jsonBodyParser = express.json({
|
|
@@ -598,5 +591,6 @@ module.exports = {
|
|
|
598
591
|
startCodexProxyServer,
|
|
599
592
|
stopCodexProxyServer,
|
|
600
593
|
getCodexProxyStatus,
|
|
601
|
-
clearCodexRedirectCache
|
|
594
|
+
clearCodexRedirectCache,
|
|
595
|
+
calculateCost
|
|
602
596
|
};
|
|
@@ -7,7 +7,7 @@ const { allocateChannel, releaseChannel, getSchedulerState } = require('./servic
|
|
|
7
7
|
const { recordSuccess, recordFailure } = require('./services/channel-health');
|
|
8
8
|
const { loadConfig } = require('../config/loader');
|
|
9
9
|
const DEFAULT_CONFIG = require('../config/default');
|
|
10
|
-
const { resolveModelPricing } = require('./utils/pricing');
|
|
10
|
+
const { resolveModelPricing, calculateTokenCost } = require('./utils/pricing');
|
|
11
11
|
const { recordRequest: recordGeminiRequest } = require('./services/gemini-statistics-service');
|
|
12
12
|
const { saveProxyStartTime, clearProxyStartTime, getProxyStartTime, getProxyRuntime } = require('./services/proxy-runtime');
|
|
13
13
|
const { createDecodedStream } = require('./services/response-decoder');
|
|
@@ -32,8 +32,9 @@ const printedGeminiRedirectCache = new Map();
|
|
|
32
32
|
// Gemini 模型定价(每百万 tokens 的价格,单位:美元)
|
|
33
33
|
// 作为 model-metadata 未覆盖时的兜底值
|
|
34
34
|
const PRICING = {
|
|
35
|
-
'gemini-2.5-pro': { input: 1.25, output:
|
|
36
|
-
'gemini-2.5-flash': { input: 0.
|
|
35
|
+
'gemini-2.5-pro': { input: 1.25, output: 10, cacheRead: 0.125 },
|
|
36
|
+
'gemini-2.5-flash': { input: 0.3, output: 2.5, cacheRead: 0.03 },
|
|
37
|
+
'gemini-2.5-flash-lite': { input: 0.1, output: 0.4, cacheRead: 0.01 },
|
|
37
38
|
'gemini-2.0-flash-exp': { input: 0, output: 0 }, // 实验性免费
|
|
38
39
|
'gemini-2.0-flash-thinking-exp-1219': { input: 0, output: 0 }, // 实验性免费
|
|
39
40
|
'gemini-1.5-pro': { input: 1.25, output: 5 },
|
|
@@ -46,7 +47,6 @@ const PRICING = {
|
|
|
46
47
|
};
|
|
47
48
|
|
|
48
49
|
const GEMINI_BASE_PRICING = DEFAULT_CONFIG.pricing.gemini;
|
|
49
|
-
const ONE_MILLION = 1000000;
|
|
50
50
|
|
|
51
51
|
// resolveGeminiTarget replaced by resolveTargetUrl from proxy-utils
|
|
52
52
|
const resolveGeminiTarget = resolveTargetUrl;
|
|
@@ -68,6 +68,8 @@ function calculateCost(model, tokens) {
|
|
|
68
68
|
const modelLower = String(model || '').toLowerCase();
|
|
69
69
|
if (modelLower.includes('gemini-2.5-pro')) {
|
|
70
70
|
fallbackPricing = PRICING['gemini-2.5-pro'];
|
|
71
|
+
} else if (modelLower.includes('gemini-2.5-flash-lite')) {
|
|
72
|
+
fallbackPricing = PRICING['gemini-2.5-flash-lite'];
|
|
71
73
|
} else if (modelLower.includes('gemini-2.5-flash')) {
|
|
72
74
|
fallbackPricing = PRICING['gemini-2.5-flash'];
|
|
73
75
|
} else if (modelLower.includes('gemini-2.0-flash-thinking')) {
|
|
@@ -88,13 +90,7 @@ function calculateCost(model, tokens) {
|
|
|
88
90
|
}
|
|
89
91
|
|
|
90
92
|
const pricing = resolveModelPricing('gemini', model, fallbackPricing, GEMINI_BASE_PRICING);
|
|
91
|
-
|
|
92
|
-
const outputRate = typeof pricing.output === 'number' ? pricing.output : GEMINI_BASE_PRICING.output;
|
|
93
|
-
|
|
94
|
-
return (
|
|
95
|
-
(tokens.input || 0) * inputRate / ONE_MILLION +
|
|
96
|
-
(tokens.output || 0) * outputRate / ONE_MILLION
|
|
97
|
-
);
|
|
93
|
+
return calculateTokenCost(pricing, tokens, GEMINI_BASE_PRICING);
|
|
98
94
|
}
|
|
99
95
|
|
|
100
96
|
// 启动 Gemini 代理服务器
|
|
@@ -571,5 +567,6 @@ module.exports = {
|
|
|
571
567
|
startGeminiProxyServer,
|
|
572
568
|
stopGeminiProxyServer,
|
|
573
569
|
getGeminiProxyStatus,
|
|
574
|
-
clearGeminiRedirectCache
|
|
570
|
+
clearGeminiRedirectCache,
|
|
571
|
+
calculateCost
|
|
575
572
|
};
|
package/src/server/index.js
CHANGED
|
@@ -204,6 +204,7 @@ async function startServer(port, host = '127.0.0.1', options = {}) {
|
|
|
204
204
|
app.use('/api/aliases', require('./api/aliases')());
|
|
205
205
|
app.use('/api/favorites', require('./api/favorites'));
|
|
206
206
|
app.use('/api/ui-config', require('./api/ui-config'));
|
|
207
|
+
app.use('/api/channel-balances', require('./api/channel-balances'));
|
|
207
208
|
app.use('/api/security', require('./api/security'));
|
|
208
209
|
app.use('/api/channels', require('./api/channels'));
|
|
209
210
|
app.use('/api/proxy', require('./api/proxy'));
|