k2-im 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ import {na as na$1,z as z$1,C,f,g,i,P,Q as Q$1,T,U,N as N$1,O,D,E as E$1,y,B as B$1,k,e,A,F as F$1,H as H$1,J as J$1,I,K as K$1,L as L$1,M,$,aa as aa$1,ya as ya$1,xa as xa$1,wa as wa$1,Z as Z$1,ba as ba$1,X as X$1,va as va$1,R,S,ta as ta$1,sa as sa$1,V,W as W$1}from'./chunk-RKZTPXBQ.js';import*as z from'node-forge';import {deleteDB,openDB}from'idb';function Eo(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-BKCNJDKR.js');return r(t)}){let t=null;function r(){if(t!==null)return t;let o=n(e);return t=o,o.catch(()=>{t===o&&(t=null);}),o}return async(o,i)=>(await r())(o,i)}var j=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function To(e){return e instanceof j?e.code:void 0}var Ro=3600*1e3,Do=300*1e3;function ue(...e){for(let n of e){if(typeof n!="string"&&typeof n!="number")continue;let t=String(n).trim();if(t!=="")return t}return ""}function Uo(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Bo(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Dt(e){if(e===null||typeof e!="object")throw new j("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=ue(n.access_key_id,n.accessKeyId),r=ue(n.secret_key,n.secretKey,n.secretAccessKey),o=ue(n.session_token,n.sessionToken).replace(/\s+/g,""),i=ue(n.bucket),s=ue(n.region),c=Bo(ue(n.dns_point,n.dnsPoint)),a=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",s===""?"region":"",c===""?"dns_point":""].filter(f=>f!=="");if(a.length>0)throw new j("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${a.join("\u3001")}`);let p=Uo(n.expiration??n.expiresAtSeconds),y=ue(n.key_prefix,n.keyPrefix),S=ue(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:s,dnsPoint:c,...p===void 0?{}:{expiresAtSeconds:p},...y===""?{}:{keyPrefix:y},...S===""?{}:{identityId:S}}}function Oo(e,n){if(n-e.fetchedAtMs>=Ro)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-Do>n}function Ut(e){let n=new Map,t=new Map;async function r(o,i){let s;try{s=await e({bucket:o,forceRefresh:i});}catch(a){throw new j("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}`,{cause:a})}let c=Dt(s);return n.set(o,{credential:c,fetchedAtMs:Date.now()}),c}return {resolve(o,i){if(e===void 0)return Promise.reject(new j("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let s=i?.forceRefresh===true,c=s?void 0:n.get(o);if(c!==void 0&&Oo(c,Date.now()))return Promise.resolve(c.credential);n.delete(o);let a=t.get(o);if(a!==void 0)return a;let p=r(o,s).finally(()=>{t.get(o)===p&&t.delete(o);});return t.set(o,p),p}}}function No(){if(typeof window>"u"||typeof document>"u")return {recordingSupported:false,recordingBlockers:["no-media-devices"],playbackSupported:false};let e=[];window.isSecureContext===false&&e.push("insecure-context"),(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)&&e.push("no-media-devices"),typeof MediaRecorder>"u"&&e.push("no-media-recorder");let n=window,t=window.AudioContext!==void 0||n.webkitAudioContext!==void 0,r=window.OfflineAudioContext!==void 0||n.webkitOfflineAudioContext!==void 0;return (!t||!r)&&e.push("audio-context-blocked"),{recordingSupported:e.length===0,recordingBlockers:e,playbackSupported:typeof Audio<"u"}}var N=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function Xe(e){return e instanceof N?e.code:void 0}function Bt(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new N("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new N("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new N("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new N("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var ne=16e3,Ko=new URL("./speex-runtime.txt",import.meta.url).href,vn=null;async function Go(){if(document.querySelector('script[data-speex-runtime="true"]')!==null)return;let n=await fetch(Ko);if(!n.ok)throw new Error(`Speex runtime fetch failed: ${n.status}`);let t=await n.text(),r=document.createElement("script");r.dataset.speexRuntime="true",r.text=t,document.head.appendChild(r);}async function _n(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(vn??=(async()=>{if(e===void 0||typeof document>"u")throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await Go(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw vn=null,n instanceof N?n:new N("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),vn)}function Ot(){_n().catch(()=>{});}function le(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Lo(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let s=0;s<e.length;s+=1){let c=Math.max(-1,Math.min(1,e[s]??0));o.setInt16(i,c<0?c*32768:c*32767,true),i+=2;}return r}function Mn(e){if(e instanceof Int16Array)return e;let n=new Int16Array(e.length);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0));n[t]=r<0?r*32768:r*32767;}return n}var Ho=40,An=120,$o=40,xn=80;function Fo(e,n){let t=Math.min(Math.floor(n*Ho/1e3),Math.floor(e.length/2));for(let r=0;r<t;r+=1){let o=r/t;e[r]=Math.round((e[r]??0)*o);let i=e.length-1-r;e[i]=Math.round((e[i]??0)*o);}return e}function kn(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*An/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*$o/1e3),Math.floor(o.length/2));for(let s=0;s<i;s+=1){let c=s/i;o[s]=(o[s]??0)*c;let a=o.length-1-s;o[a]=(o[a]??0)*c;}return o}function Ze(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return le(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),le(o,8,"WAVE"),le(o,12,"fmt "),o.setUint32(16,16,true),o.setUint16(20,1,true),o.setUint16(22,1,true),o.setUint32(24,n,true),o.setUint32(28,n*2,true),o.setUint16(32,2,true),o.setUint16(34,16,true),le(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function Jo(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t+=1)n[t]=e.charCodeAt(t)&255;return n}function Vo(e){let t="";for(let r=0;r<e.length;r+=32768)t+=String.fromCharCode(...e.subarray(r,Math.min(r+32768,e.length)));return t}async function Nt(e,n){let t=await _n(),r=Math.floor(n*xn/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=Lo(o,n);try{return Jo(t.encodeFile(i))}catch(s){throw new N("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:s})}}async function Kt(e){let n=await _n();try{let[t,r]=n.decodeFile(Vo(e));if(t.length===0)throw new Error("decoded empty pcm");let o=Fo(Mn(t),r.rate>0?r.rate:ne),i=r.rate>0?r.rate:ne;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof N?t:new N("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Gt(e){let n=await Kt(e);return {wavData:Ze(n.samples,n.sampleRate),durationMs:n.durationMs}}var jo=.5,qo=2;function Lt(e){if(typeof e!="number"||!Number.isFinite(e))throw new N("invalid-playback-rate",`\u64AD\u653E\u901F\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u5B57\uFF0C\u6536\u5230 ${String(e)}`);return Math.min(Math.max(e,jo),qo)}function zo(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:Lt(e.playbackRate)},r=new Set;function o(){for(let l of r)l(t);}let i=null,s=new Map,c=0,a=false,p=false;function y(l){let I=s.get(l);return I!==void 0&&(s.delete(l),s.set(l,I)),I}function S(l,I){if(a)return URL.revokeObjectURL(I.url),I;let _=s.get(l);if(_!==void 0)return URL.revokeObjectURL(I.url),s.delete(l),s.set(l,_),_;for(s.set(l,I);s.size>n;){let k;for(let D of s.keys())if(D!==t.activeId){k=D;break}if(k===void 0)break;let T=s.get(k);s.delete(k),T!==void 0&&URL.revokeObjectURL(T.url);}return I}function f(l){l.paused||l.pause(),l.removeAttribute("src");try{l.load();}catch{}}function u(l,I){return !a&&l===c&&t.activeId===I}function P(l){l.defaultPlaybackRate=t.playbackRate,l.playbackRate=t.playbackRate;}function v(){if(i!==null)return i;let l=new Audio;return l.preload="auto",P(l),l.addEventListener("timeupdate",()=>{t.activeId!==""&&(t.currentTimeMs=l.currentTime*1e3,t.progress=l.duration>0?Math.min(1,l.currentTime/l.duration):0,o());}),l.addEventListener("ended",()=>{M(),f(l),o();}),l.addEventListener("pause",()=>{t.activeId!==""&&(t.isPlaying=false,o());}),i=l,l}function M(){t.activeId="",t.isPlaying=false,t.progress=0,t.currentTimeMs=0;}function d(){c+=1,p=false,t.loadingId="",M(),i!==null&&f(i),o();}function g(l){t.errorIds=new Set([...t.errorIds,l]);}function C(l){if(!t.errorIds.has(l))return;let I=new Set(t.errorIds);I.delete(l),t.errorIds=I;}async function m(l,I){let _=y(l);if(_!==void 0)return {entry:_};let k;try{k=await I();}catch(T){return {entry:null,error:{code:Xe(T),cause:T}}}if(k===null)return {entry:null};try{let{wavData:T,durationMs:D}=await Gt(k),U={url:URL.createObjectURL(new Blob([T],{type:"audio/wav"})),durationMs:D};return {entry:S(l,U)}}catch(T){return {entry:null,error:{code:Xe(T),cause:T}}}}async function h(l,I){if(a)return;let _=v();if(C(l),t.activeId===l){if(t.isPlaying){_.pause();return}let D=++c;try{await _.play();}catch{if(!u(D,l))return;g(l),o();return}if(!u(D,l))return;t.isPlaying=true,o(),I.onPlayStart?.();return}if(t.loadingId===l)return;d();let k=++c;t.loadingId=l,o();let T=await m(l,I.load);if(k===c){if(t.loadingId="",T.entry===null){g(l),o(),T.error!==void 0&&I.onDecodeError?.(T.error.code,T.error.cause);return}_.src=T.entry.url,P(_),t.activeId=l,t.progress=0,t.currentTimeMs=0,o();try{await _.play();}catch(D){if(!u(k,l))return;M(),f(_),g(l),o(),I.onDecodeError?.(void 0,D);return}u(k,l)&&(t.isPlaying=true,o(),I.onPlayStart?.());}}function x(l,I){i===null||t.activeId!==l||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(I,0),.999)*i.duration);}function R(l){i===null||t.activeId!==l||t.isPlaying&&(p=true,i.pause());}function b(l){if(i===null||t.activeId!==l||!p)return;p=false;let I=++c;i.play().then(()=>{u(I,l)&&(t.isPlaying=true,o());}).catch(()=>{u(I,l)&&(g(l),o());});}function w(l){let I=Lt(l);I!==t.playbackRate&&(t.playbackRate=I,i!==null&&P(i),o());}function A(){if(!a){a=true,d();for(let l of s.values())URL.revokeObjectURL(l.url);s.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:l=>(r.add(l),()=>r.delete(l)),toggle:h,seek:x,beginScrub:R,endScrub:b,setPlaybackRate:w,stop:d,dispose:A}}function Wo(e){if(e.length===0)return 0;let n=0;for(let t=0;t<e.length;t+=1){let r=((e[t]??128)-128)/128;n+=r*r;}return Math.min(1,Math.sqrt(n/e.length)*Math.SQRT2)}function Yo(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let s=0;s<e.length;s+=1){let c=s*r,a=.2;c<200?a=.15:c<300?a=.4:c<=3400?a=1:c<=6e3&&(a=.45),o+=(e[s]??0)/255*a,i+=a;}return i>0?o/i:0}function Ht(e){let n=Wo(e.timeDomain),t=Yo(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var en=class{constructor(n=.45,t=.18){this.attack=n;this.release=t;}attack;release;value=0;next(n){let t=Math.min(1,Math.max(0,n));return t>this.value?this.value+=(t-this.value)*this.attack:this.value+=(t-this.value)*this.release,this.value}};function Qo(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var Xo=50,Zo=.12,ei=2.6,ni=.06,ti=256;function ri(){return typeof MediaRecorder>"u"?"":["audio/webm","audio/webm;codecs=opus","audio/mp4","audio/aac","audio/ogg;codecs=opus"].find(n=>MediaRecorder.isTypeSupported(n))??""}async function oi(e,n,t){let r=window.AudioContext??window.webkitAudioContext,o=window.OfflineAudioContext??window.webkitOfflineAudioContext;if(o===void 0||t==null&&r===void 0)throw new N("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,s=t==null;try{i.state==="suspended"&&await i.resume().catch(()=>{});let c=await i.decodeAudioData(await e.arrayBuffer()),a=Math.max(1,Math.ceil(c.duration*n)),p=new o(1,a,n),y=p.createBufferSource();return y.buffer=c,y.connect(p.destination),y.start(0),(await p.startRendering()).getChannelData(0).slice()}catch(c){throw c instanceof N?c:new N("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:c})}finally{s&&await i.close().catch(()=>{});}}function $t(e){let n=0;for(let o of e)n+=o.length;let t=new Float32Array(n),r=0;for(let o of e)t.set(o,r),r+=o.length;return t}async function ii(e={}){if(typeof MediaRecorder>"u")throw new N("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;if(e.stream!==void 0)n=e.stream;else {if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new N("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");try{n=await navigator.mediaDevices.getUserMedia({audio:Qo()});}catch(l){throw Bt(l)}}Ot();let t=ri(),r=e.maxDurationMs??6e4,o="recording",i=[],s=0,c=[],a=null,p=null,y=null,S=[],f=0,u=false;function P(){try{let l;try{l=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{l=new MediaRecorder(n);}return S=[],l.ondataavailable=I=>{I.data.size>0&&S.push(I.data);},l.start(250),f=Date.now(),l}catch(l){throw l instanceof N?l:new N("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:l})}}let v=e.amplitude?.intervalMs??Xo,M=e.amplitude?.boost??ei,d=e.amplitude?.smoothing??Zo,g=e.amplitude?.minVolume??ni;function C(){let l=Math.floor(r/1e3*ne),I=0;for(let k of i)I+=k.length;if(I>l){let k=l,T=[];for(let D of i){if(k<=0)break;D.length<=k?(T.push(D),k-=D.length):(T.push(D.slice(0,k)),k=0);}i.length=0,i.push(...T);}s=Math.min(s,r);let _=Math.max(0,Math.ceil(r/v));c.length>_&&(c.length=_);}async function m(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let l=A().then(()=>C());y=l;try{await l;}catch(I){console.warn("[im-browser] pauseAtMaxDuration settle failed",I);}}let h=setInterval(()=>{!u&&o==="recording"&&b()>=r&&(u=true,m());},250),x=null,R=null;try{let l=window.AudioContext??window.webkitAudioContext;if(l!==void 0){x=new l,x.state==="suspended"&&x.resume().catch(()=>{});let I=x.createMediaStreamSource(n),_=x.createAnalyser();_.fftSize=ti,_.smoothingTimeConstant=d,I.connect(_);let k=new Uint8Array(_.frequencyBinCount),T=new Uint8Array(_.fftSize),D=new en;R=setInterval(()=>{if(o!=="recording"||a===null)return;_.getByteFrequencyData(k),_.getByteTimeDomainData(T);let U=Ht({timeDomain:T,frequency:k,sampleRate:x.sampleRate,fftSize:_.fftSize,boost:M}),O=D.next(U),$=O<g?0:O;c.push(Math.round($*255)),e.onAmplitude?.($);},v);}}catch(l){console.warn("[im-browser] amplitude analyser setup failed",l);}function b(){let l=o==="recording"&&a!==null?Date.now()-f:0;return s+l}function w(){h!==null&&(clearInterval(h),h=null),R!==null&&(clearInterval(R),R=null),x?.close().catch(()=>{}),x=null;for(let l of n.getTracks())l.stop();}function A(){if(p!==null)return p;let l=a;return l===null?Promise.resolve():(a=null,p=(async()=>{await new Promise(k=>{if(l.state==="inactive"){k();return}l.onstop=()=>k(),l.stop();});let I=new Blob(S,{type:l.mimeType||t||"audio/webm"});if(S=[],I.size===0)return;let _=await oi(I,ne,x);_.length!==0&&(i.push(_),s+=_.length/ne*1e3);})().finally(()=>{p=null;}),p)}try{a=P();}catch(l){throw o="closed",w(),l}return {getState:()=>o,recordedMs:b,async pause(){o==="recording"&&(o="paused",await A(),(u||s>=r)&&C());},async resume(){o!=="paused"||u||(a=P(),o="recording");},async finish(){if(o==="closed")throw new N("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";try{y!==null?await y:await A(),C();}finally{w();}let l=$t(i);if(l.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let I=kn(l,ne);if(I.length===0)throw new N("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let _=Math.min(c.length,Math.ceil(An/v));return {data:await Nt(I,ne),durationMs:Math.round(I.length/ne*1e3)+xn,waveform:c.slice(_),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}},cancel(){if(o==="closed")return;o="closed";let l=a;if(a=null,l!==null&&(l.ondataavailable=null,l.onstop=null,l.state!=="inactive"))try{l.stop();}catch{}i.length=0,w();},async previewWav(){y!==null?await y:p!==null&&await p,C();let l=$t(i),I=kn(l,ne);if(I.length===0)throw new N("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:Ze(Mn(I),ne),durationMs:Math.round(I.length/ne*1e3)}}}}function Ie(e){let n=new Map;return {shouldRenegotiate(t,r,o){if(r===void 0)return true;if(o!==void 0&&!e(o,r))return false;let i=n.get(t);return i!==void 0&&e(i,r)?false:(n.set(t,r),true)},reset(t){n.delete(t);}}}function Ft(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var te=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function Jt(e){let n=e.trim(),t=n.replace(/-/g,"+").replace(/_/g,"/");if(t===""||!/^[A-Z0-9+/]*={0,2}$/i.test(t)||t.length%4===1)throw new te("channel secret_key \u4E0D\u662F\u5408\u6CD5 Base64");let r=t.replace(/=+$/,""),o=r+"=".repeat((4-r.length%4)%4),i;try{i=atob(o);}catch(p){throw new te("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:p})}let s=Uint8Array.from(i,p=>p.charCodeAt(0)&255);if(s.length===0)throw new te("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let c=new Uint8Array(16);c.set(s.subarray(0,c.length));let a=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,p=>p.charCodeAt(0)):void 0;return {canonical:c,...a===void 0?{}:{legacyAscii:a},metadata:{channelKeyCharLength:n.length,decodedByteLength:s.length,padByteCount:Math.max(0,16-s.length),legacyAsciiCandidate:a!==void 0}}}function ai(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=Ie(Ft);function s(m){return {canonical:m.canonical.slice(),...m.legacyAscii===void 0?{}:{legacyAscii:m.legacyAscii.slice()},metadata:{...m.metadata}}}function c(m){return [{strategy:"canonical-base64-pad",key:m.canonical.slice()},...m.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:m.legacyAscii.slice()}]]}function a(m){n.delete(m),t.delete(m),r.delete(m),o.set(m,(o.get(m)??0)+1);}function p(m){let h=o.get(m)??0,x=(async()=>{try{let R=await e.loadSecretKey(m);if(R===null||R.trim()==="")throw new te(`channel secret_key \u7F3A\u5931\uFF08channelId=${m}\uFF09`);let b=Jt(R);return (o.get(m)??0)===h&&n.set(m,s(b)),b}catch(R){let b=R instanceof te?R:new te(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${m}\uFF09`,{cause:R});throw e.onError?.(b.message,R),b}})().finally(()=>{t.get(m)===x&&t.delete(m);});return t.set(m,x),x}function y(m,h){let x=t.get(m);if(x!==void 0)return x;i.shouldRenegotiate(m,h.staleKey,n.get(m)?.canonical)&&a(m);}function S(m,h){let x=m.trim();if(x===""){let b=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(b.message),Promise.reject(b)}if(h!==void 0){let b=y(x,h);if(b!==void 0)return b.then(s)}let R=n.get(x);return R!==void 0?Promise.resolve(s(R)):t.get(x)??p(x)}function f(m,h){let x=m.trim();if(x===""){let A=new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(A.message),Promise.reject(A)}if(h!==void 0){let A=y(x,h);if(A!==void 0)return A.then(l=>l.canonical.slice())}let R=n.get(x);if(R!==void 0)return Promise.resolve(R.canonical.slice());let b=r.get(x);if(b!==void 0)return b;let w=(t.get(x)??p(x)).then(A=>A.canonical.slice()).finally(()=>{r.get(x)===w&&r.delete(x);});return r.set(x,w),w}function u(m){return n.get(m.trim())?.canonical.slice()??null}async function P(m,h){let x=await S(m,h);return c(x)}function v(m){let h=n.get(m.trim());return h===void 0?[]:c(h)}function M(m){let h=n.get(m.trim());return h===void 0?null:{...h.metadata}}function d(m,h){let x=m.trim();if(x==="")throw new te("channel id \u4E0D\u80FD\u4E3A\u7A7A");let R=Jt(h);a(x),i.reset(x),n.set(x,s(R));}function g(m){let h=m.trim();h!==""&&(a(h),i.reset(h));}function C(){let m=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let h of m)o.set(h,(o.get(h)??0)+1),i.reset(h);n.clear(),t.clear(),r.clear();}return {getChannelKey:f,getCachedChannelKey:u,getChannelKeyCandidates:P,getCachedChannelKeyCandidates:v,getCachedChannelKeyMetadata:M,primeChannelKey:d,clearChannelKey:g,clearAll:C}}function si(e){if(e.length<16)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 16 \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,16);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function Vt([e,n],[t,r,o,i]){let s=e>>>0,c=n>>>0,a=Math.imul(2654435769,16)>>>0;for(let p=0;p<16;p++)c=c-(Math.imul(s,16)+o^s+a^(s>>>5)+i)>>>0,s=s-(Math.imul(c,16)+t^c+a^(c>>>5)+r)>>>0,a=a-2654435769>>>0;return [s,c]}function jt([e,n],[t,r,o,i]){let s=e>>>0,c=n>>>0,a=0;for(let p=0;p<16;p++)a=a+2654435769>>>0,s=s+(Math.imul(c,16)+t^c+a^(c>>>5)+r)>>>0,c=c+(Math.imul(s,16)+o^s+a^(s>>>5)+i)>>>0;return [s,c]}function nn(e,n,t,r){let o=si(n),i=new Uint8Array(e.length),s=Math.floor(e.length/8),c=r===void 0?s:Math.min(s,Math.floor(r/8)),a=new DataView(e.buffer,e.byteOffset,e.byteLength),p=new DataView(i.buffer);for(let S=0;S<c;S++){let f=S*8,[u,P]=t([a.getUint32(f,true),a.getUint32(f+4,true)],o);p.setUint32(f,u,true),p.setUint32(f+4,P,true);}let y=c*8;return y<e.length&&i.set(e.subarray(y),y),i}function De(e,n){return nn(n,e,Vt)}function Ue(e,n){return nn(n,e,jt)}function qt(e,n){return nn(n,e,jt,32)}function zt(e,n){return nn(n,e,Vt,32)}var Wt=8,tn=16;function ci(e){let n=z.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function Qt(e){return new TextEncoder().encode(e)}function di(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function ui(e){let n=atob(e),t=new Uint8Array(n.length);for(let r=0;r<n.length;r++)t[r]=n.charCodeAt(r);return t}function li(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function pi(e){let n=Math.ceil(e.length/Wt)*Wt;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function Xt(e,n=ci){let t=e.trim();if(t==="")throw new Error("collect TEA key: userId \u4E3A\u7A7A");let r=n(t).replace(/[^0-9a-f]/gi,"");if(r.length<tn)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=Qt(r.slice(0,tn).toUpperCase());if(o.length<tn)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,tn)}function Zt(e,n,t){return li(Ue(Xt(n,t),pi(Qt(e))))}function fi(e,n,t){return di(De(Xt(n,t),ui(e)))}function mi(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function En(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return mi(JSON.parse(n))}catch{return null}}function gi(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function er(e,n,t){let r=En(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=fi(e,n,t);return En(o)??En(gi(o))}catch{return null}}var yi="core";var Be=class extends Error{code=502;constructor(n,t){super(`core JSON \u4F20\u8F93\u5931\u8D25\uFF1A${n||"unknown transport error"}`,t===void 0?void 0:{cause:t}),this.name="CoreJsonTransportError";}},q=class extends Error{businessCode;operation;constructor(n,t,r){super(`${n}\u5931\u8D25\uFF1Acode=${t}${r?` ${r}`:""}`),this.name="CoreJsonBusinessError",this.businessCode=t,this.operation=n;}};async function E(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:yi,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(s){throw o?new Be(s instanceof Error?s.message:String(s),s):s}if(o){let s=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Be(s);return i.code!==200?{ok:false,code:i.code,message:s,data:i.data}:{ok:true,code:200,message:s,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function nr(e,n){let t=n.clientType===void 0?{public_key:n.publicKey}:{public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return E(e,"/user/encrypt_info/info",t,r)}function hi(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Ci(e){let n=e.clientType,t=new Map,r=new Map,o=Ie((f,u)=>f===u),i=null,s=null;function c(f,u){e.onError?.(f,u);}function a(){if(i!==null)return Promise.resolve(i);if(s!==null)return s;let f=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(u=>(i=u,u)).finally(()=>{s===f&&(s=null);});return s=f,f}async function p(f){let u;try{u=await a();}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${f}\uFF09`,d),null}let P;try{P=await nr(e.client,{publicKey:u.publicKeyBase64,clientType:n});}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${f}\uFF09`,d),null}if(P.data===null)return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${f}\uFF0Ccode=${P.code}\uFF09`),null;let v=P.data.prv_key??P.data.prvKey??"",M=String(P.data.version??"").trim();if(v==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${f}\uFF09`),null;try{let d=e.crypto.rsaDecryptPkcs1({data:hi(v),privateKey:u.privateKey}),g=new TextDecoder().decode(d).trim();if(g==="")return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${f}\uFF09`),null;let C={privateKey:g,version:M};return t.set(f,C),C}catch(d){return c(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${f}\uFF09`,d),null}}function y(f,u){let P=f.trim();if(P==="")return Promise.resolve(null);if(u!==void 0){let g=r.get(P);if(g!==void 0)return g;o.shouldRenegotiate(P,u.staleKey,t.get(P)?.privateKey)&&t.delete(P);}let v=t.get(P);if(v!==void 0)return Promise.resolve(v);let M=r.get(P);if(M!==void 0)return M;let d=p(P).finally(()=>{r.get(P)===d&&r.delete(P);});return r.set(P,d),d}function S(f){return t.get(f.trim())??null}return {getUserPrivateKey:y,getCachedPrivateKey:S}}function tr(e,n){let t=n.clientType===void 0?{group_id:n.groupId,public_key:n.publicKey}:{group_id:n.groupId,public_key:n.publicKey,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return E(e,"/user_group/encrypt_info",t,r)}function bi(e){let n=e.trim().replace(/-/g,"+").replace(/_/g,"/"),t=n+"=".repeat((4-n.length%4)%4),r=atob(t),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i)&255;return o}function Pi(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=Ie((u,P)=>u===P),s=null,c=null;function a(){if(s!==null)return Promise.resolve(s);if(c!==null)return c;let u=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(P=>(s=P,P)).finally(()=>{c===u&&(c=null);});return c=u,u}async function p(u){let P=o.get(u)??0,v;try{v=await a();}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${u}\uFF09`,h),null}let M;try{M=await tr(e.client,{groupId:u,publicKey:v.publicKeyBase64,clientType:n});}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${u}\uFF09`,h),null}if(M.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${u}\uFF0Ccode=${M.code}\uFF09`),null;let d=M.data,g=String(d.prv_key??d.prvKey??d.private_key??"").trim(),C=String(d.pub_key??d.pubKey??d.public_key??"").trim(),m=String(d.version??"").trim();if(g==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${u}\uFF09`),null;try{let h=e.crypto.rsaDecryptPkcs1({data:bi(g),privateKey:v.privateKey}),x=new TextDecoder().decode(h).trim();if(x==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${u}\uFF09`),null;let R={privateKey:x,publicKey:C,version:m};return (o.get(u)??0)===P&&t.set(u,R),R}catch(h){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${u}\uFF09`,h),null}}function y(u,P){let v=u.trim();if(v==="")return Promise.resolve(null);if(P!==void 0){let C=r.get(v);if(C!==void 0)return C;i.shouldRenegotiate(v,P.staleKey,t.get(v)?.privateKey)&&t.delete(v);}let M=t.get(v);if(M!==void 0)return Promise.resolve(M);let d=r.get(v);if(d!==void 0)return d;let g=p(v).finally(()=>{r.get(v)===g&&r.delete(v);});return r.set(v,g),g}function S(u){return t.get(u.trim())??null}function f(u){let P=u.trim();t.delete(P),r.delete(P),o.set(P,(o.get(P)??0)+1),i.reset(P);}return {getGroupKeys:y,getCachedGroupKeys:S,getCachedGroupKeyVersion:u=>t.get(u.trim())?.version??null,clearGroupKeys:f}}async function Oe(e,n){let t=n.clientType===void 0?{other_user_openid:n.userId}:{other_user_openid:n.userId,clientType:n.clientType},r=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await E(e,"/user/info/other",t,r)).data}function wi(e){let n=e.clientType,t=new Map,r=new Map;async function o(s){try{let a=((await Oe(e.client,{userId:s,clientType:n}))?.public_key??"").trim();return a===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${s}\uFF09`),null):(t.set(s,a),a)}catch(c){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${s}\uFF09`,c),null}}function i(s,c){let a=s.trim();if(a==="")return Promise.resolve(null);c?.force===true&&t.delete(a);let p=t.get(a);if(p!==void 0)return Promise.resolve(p);let y=r.get(a);if(y!==void 0)return y;let S=o(a).finally(()=>{r.get(a)===S&&r.delete(a);});return r.set(a,S),S}return {getPeerPublicKey:i}}var me=16;function rr(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function or(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function ir(e){return e.replace(/(.{64})/g,`$1
2
+ `).trim()}function Ii(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Si(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return z.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return z.pki.privateKeyFromAsn1(z.asn1.fromDer(z.util.decode64(t)))}catch(i){r.push(i);}let o=ir(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return z.pki.privateKeyFromPem(`-----BEGIN ${i}-----
3
+ ${o}
4
+ -----END ${i}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u79C1\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 PKCS1-DER / PKCS8-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function ar(e){let n=Si(e.privateKey),t=Math.ceil(n.n.bitLength()/8),{data:r}=e;if(r.length===0)throw new Error("RSA \u89E3\u5BC6\uFF1A\u5BC6\u6587\u4E3A\u7A7A");let o=[];for(let a=0;a<r.length;a+=t){let p=Math.min(a+t,r.length);try{let y=n.decrypt(rr(r.subarray(a,p)),"RSAES-PKCS1-V1_5");o.push(or(y));}catch(y){let S=y instanceof Error?y.message:String(y);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${a}..${p}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${S}`)}}let i=o.reduce((a,p)=>a+p.length,0),s=new Uint8Array(i),c=0;for(let a of o)s.set(a,c),c+=a.length;return s}function vi(e){let n=ar({data:e.secretKey,privateKey:e.privateKey});if(n.length<me)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${me}`);return De(n,e.cipherData)}function _i(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return z.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return z.pki.publicKeyFromAsn1(z.asn1.fromDer(z.util.decode64(t)))}catch(i){r.push(i);}let o=ir(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return z.pki.publicKeyFromPem(`-----BEGIN ${i}-----
5
+ ${o}
6
+ -----END ${i}-----`)}catch(s){r.push(s);}throw new Error(`RSA \u516C\u94A5\u89E3\u6790\u5931\u8D25\uFF08\u5DF2\u8BD5 SPKI-DER / SPKI-PEM / PKCS1-PEM\uFF09\uFF1A${r[0]instanceof Error?r[0].message:String(r[0])}`)}function sr(){let e=new Uint8Array(me),n=new Uint8Array(1);for(let t=0;t<me;t++){let r=0;do globalThis.crypto.getRandomValues(n),r=n[0]??0;while(r===0);e[t]=r;}return e}function Mi(e,n){if(n.length===0)throw new Error("RSA \u52A0\u5BC6\uFF1A\u660E\u6587\u4E3A\u7A7A");let t=_i(e),r=Math.ceil(t.n.bitLength()/8)-11;if(r<=0)throw new Error(`RSA \u52A0\u5BC6\uFF1A\u516C\u94A5\u4F4D\u6570\u8FC7\u5C0F\uFF08${t.n.bitLength()}bit\uFF09`);let o=[];for(let a=0;a<n.length;a+=r){let p=Math.min(a+r,n.length),y=t.encrypt(rr(n.subarray(a,p)),"RSAES-PKCS1-V1_5");o.push(or(y));}let i=o.reduce((a,p)=>a+p.length,0),s=new Uint8Array(i),c=0;for(let a of o)s.set(a,c),c+=a.length;return s}function Ai(e){let n=e.teaKey??sr();if(n.length<me)throw new Error(`\u7AEF\u5230\u7AEF\u52A0\u5BC6\u5931\u8D25\uFF1AteaKey \u957F\u5EA6 ${n.length} < ${me}`);let t=n.subarray(0,me),r=Ue(t,e.plain);return {secretKey:Mi(e.publicKey,t),cipherData:r}}function xi(e){return De(e.teaKey,e.cipherData)}function ki(e){return Ue(e.teaKey,e.plain)}function Ei(e){return qt(e.teaKey,e.plain)}function Ti(e){return zt(e.teaKey,e.cipherData)}function Ri(){return new Promise((e,n)=>{z.pki.rsa.generateKeyPair({bits:2048,e:65537,workers:-1},(t,r)=>{if(t){n(t);return}e({publicKeyBase64:Ii(z.pki.publicKeyToPem(r.publicKey)),privateKey:z.pki.privateKeyToPem(r.privateKey)});});})}function Di(){return {decryptEndToEnd:vi,encryptEndToEnd:Ai,decryptSymmetric:xi,encryptSymmetric:ki,encryptFileSimple:Ei,decryptFileSimple:Ti,randomTeaKey:sr,generateTempKeyPair:Ri,rsaDecryptPkcs1:ar}}function Tn(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Ne(e,n){return E(e,"/friend/apply/list_paginated",{type:n.listType,page:n.page,page_size:n.pageSize},Tn(n.clientType,"GET"))}function Ke(e,n){return E(e,"/friend/apply/agree",{id:n.applicationId},Tn(n.clientType,"POST"))}function Ge(e,n){return E(e,"/friend/apply/del",{id:n.applicationId},Tn(n.clientType,"POST"))}var cr=50,dr=20,ur=1,Rn=2,Dn=3,Ui=4,Bi=5,lr=0,Oi=1,Ni=2;function Ki(e){switch(e){case lr:case Oi:case Ni:return e;default:return}}var Se=class extends Error{constructor(t,r){super(`application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ApplicationHttpError";}code},W=class extends Error{constructor(n){super(`application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ApplicationMappingError";}};function K(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function pr(e){let n=K(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function fr(e){let n=K(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=Ki(t);if(r===void 0)throw new W(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===lr}function Gi(e){let n=K(e.type);if(n==="")return true;if(Number(n)!==ur)throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${n}`);return true}function Li(e){let n=Number(K(e.type));if(n!==Rn&&n!==Dn&&n!==Ui&&n!==Bi)throw new W(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${K(e.type)||"<empty>"}`);return n}function rn(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>cr)throw new W(`limit \u5FC5\u987B\u4E3A 1-${cr}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new W("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new W("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function mr(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new W("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function Un(e){let n=e.trim();if(n==="")throw new W("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function Hi(e){let n=Un(K(e.id)||K(e.aid)),t=K(e.user_id)||K(e.user_info?.user_id),r=K(e.nick_name??e.nickname??e.name)||K(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(t===""||r==="")throw new W(`\u8054\u7CFB\u4EBA\u7533\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let o=K(e.head_img_url??e.avatar)||K(e.user_info?.head_img_url??e.user_info?.avatar),i=K(e.user_info?.mid),s=pr(e.create_time??e.createTime??e.update_version);return {applicationId:n,applicantId:t,applicantName:r,...o===""?{}:{applicantAvatar:o},...i===""?{}:{applicantDisplayId:i},message:K(e.remarks??e.introduce_self),...s===void 0?{}:{createdAt:s}}}function $i(e){let n=Un(K(e.id)||K(e.aid)),t=K(e.group_id)||K(e.group_info?.group_id);if(t==="")throw new W(`GROUP id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let r=K(e.user_id)||K(e.user_info?.user_id),o=K(e.nick_name??e.nickname??e.name)||K(e.user_info?.nick_name??e.user_info?.nickname??e.user_info?.name);if(r===""||o==="")throw new W(`GROUP \u7533\u8BF7\u4EBA\u6216\u9080\u8BF7\u4EBA\u8EAB\u4EFD\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=K(e.head_img_url??e.avatar)||K(e.user_info?.head_img_url??e.user_info?.avatar),s=K(e.user_info?.mid),c=K(e.group_info?.name??e.group_info?.group_name);if(c==="")throw new W(`GROUP \u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let a=K(e.group_info?.head_img_url??e.group_info?.avatar),p=pr(e.create_time??e.createTime??e.update_version);return {applicationId:n,groupId:t,kind:Number(e.type)===Dn?"invite":"request",actor:{id:r,name:o,...i===""?{}:{avatarUrl:i},...s===""?{}:{displayId:s}},target:{id:t,name:c,...a===""?{}:{avatarUrl:a}},message:K(e.remarks??e.introduce_self),...p===void 0?{}:{createdAt:p}}}async function on(e,n,t){let r=await t(e.client,{applicationId:Un(n),clientType:e.clientType});if(!r.ok)throw new Se(r.code,r.message)}function Fi(e){async function n(t){let{pageSize:r}=rn(t),{page:o}=rn(t);for(let i=0;i<dr;i+=1){let s=await Ne(e.client,{listType:ur,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Se(s.code,s.message);let c=mr(s.data),a=c.filter(S=>Gi(S)&&fr(S)).map(Hi),p=c.length<r,y=o+1;if(a.length>0||p)return {items:a,exhausted:p,...p?{}:{nextCursor:String(y)}};o=y;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>on(e,t,Ke),ignoreApplication:t=>on(e,t,Ge)}}function Ji(e){async function n(t){let{pageSize:r}=rn(t),{page:o}=rn(t);for(let i=0;i<dr;i+=1){let s=await Ne(e.client,{listType:Rn,page:o,pageSize:r,clientType:e.clientType});if(!s.ok)throw new Se(s.code,s.message);let c=mr(s.data),a=c.filter(S=>{let f=Li(S);return (f===Rn||f===Dn)&&fr(S)}).map($i),p=c.length<r,y=o+1;if(a.length>0||p)return {items:a,exhausted:p,...p?{}:{nextCursor:String(y)}};o=y;}return {items:[],exhausted:false,nextCursor:String(o)}}return {listPendingApplications:n,acceptApplication:t=>on(e,t,Ke),ignoreApplication:t=>on(e,t,Ge)}}function B(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function Vi(e){if(typeof e=="boolean")return e;if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0"||n.toLowerCase()==="false")return false;if(n==="1"||n.toLowerCase()==="true")return true}}function ji(e){let n=Number(e);return n===1?{configType:"pinned-game"}:n===2?{configType:"float-link"}:n===3?{configType:"float-game"}:Number.isInteger(n)&&n>=0?{configType:"unknown",rawConfigType:n}:{configType:"unknown"}}function qi(e){let n=Number(e.product_id),t=Vi(e.is_dynamic);return {...ji(e.config_type),...B(e.appid)===void 0?{}:{appId:B(e.appid)},...Number.isInteger(n)?{productId:n}:{},...B(e.domain)===void 0?{}:{domain:B(e.domain)},...B(e.suffix_address)===void 0?{}:{suffixAddress:B(e.suffix_address)},...B(e.developer_id)===void 0?{}:{developerId:B(e.developer_id)},...B(e.introduction)===void 0?{}:{introduction:B(e.introduction)},...B(e.icon)===void 0?{}:{icon:B(e.icon)},...B(e.icon_small)===void 0?{}:{iconSmall:B(e.icon_small)},...B(e.icon_medium)===void 0?{}:{iconMedium:B(e.icon_medium)},...B(e.icon_large)===void 0?{}:{iconLarge:B(e.icon_large)},...t===void 0?{}:{isDynamic:t},...B(e.lang_types)===void 0?{}:{langTypes:B(e.lang_types)},...B(e.currency_types)===void 0?{}:{currencyTypes:B(e.currency_types)},...B(e.simple_chinese_name)===void 0?{}:{nameZhHans:B(e.simple_chinese_name)},...B(e.unsimplified_chinese_name)===void 0?{}:{nameZhHant:B(e.unsimplified_chinese_name)},...B(e.english_name)===void 0?{}:{nameEn:B(e.english_name)},...B(e.vietnamese_name)===void 0?{}:{nameVi:B(e.vietnamese_name)},...B(e.thai_name)===void 0?{}:{nameTh:B(e.thai_name)},...B(e.h5_url)===void 0?{}:{h5Url:B(e.h5_url)}}}function gr(e,n){return Array.isArray(e.mini_program_rel_list)?e.mini_program_rel_list.filter(t=>t!==null&&typeof t=="object").map(t=>qi(t)):n.source==="info"?[]:void 0}function yr(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function hr(e,n){return E(e,"/user_radio/list",{user_id:n.userId,update_version:n.updateVersion,page:n.page,page_size:n.pageSize},yr(n.clientType,"GET"))}function Cr(e,n){return E(e,"/user_radio/info",{radio_id:n.channelId},yr(n.clientType,"POST"))}var br=500,Le=class extends Error{constructor(t,r){super(`CHANNEL HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelHttpError";}code},ie=class extends Error{constructor(n){super(`CHANNEL profile \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelProfileMappingError";}};function Pr(e,n){let t=typeof e=="string"||typeof e=="number"?String(e).trim():"";if(t==="")throw new ie(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function ge(e){let n=typeof e=="string"||typeof e=="number"?String(e).trim():"";return n===""?void 0:n}function ve(e){return Number(e)===1}function zi(e){if(typeof e=="number")return e===0?false:e===1?true:void 0;if(typeof e=="string"){let n=e.trim();if(n==="0")return false;if(n==="1")return true}}function Wi(e,n){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":n===false?"guest":"unknown"}function Yi(e){let n=e.is_in===void 0?void 0:ve(e.is_in),t=ve(e.radio_user?.is_del),r=ve(e.radio_user?.is_black);return Number(e.status)===3?"dismissed":t&&r?"removed":r?"blacklisted":t?"left":n===false?"guest":e.status!==void 0&&Number(e.status)!==2?"unknown_restricted":"active"}function Qi(e,n,t){let r=ge(e.radio_user?.user_id),o=e.radio_setting?.un_speaking_user_ids,i=ge(e.radio_setting?.un_speaking_period);return {role:n,baseState:t,resolvedState:t,allMembersMuted:ve(e.radio_setting?.is_unspeeking_all),currentUserMuted:r!==void 0&&Array.isArray(o)&&o.map(String).includes(r),...i===void 0?{}:{mutePeriod:i}}}function Xi(e){if(e!=null)return Number(e)===1?"standard":Number(e)===2?"competition":"unknown"}function Zi(e){let n=ge(e);return n!==void 0&&/^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function ea(e,n){let t=e.replace(/^0+(?=\d)/,""),r=n.replace(/^0+(?=\d)/,"");return t.length!==r.length?t.length>r.length?t:r:t>=r?t:r}function wr(e,n,t){let r=Pr(e.radio_id??e.id,"id"),o=Pr(e.name,"name"),i=e.is_in===void 0?void 0:ve(e.is_in),s=Wi(e.radio_user?.role_id,i),c=Yi(e),a=Qi(e,s,c),p=ta$1({channelState:c,snapshot:a,nowMs:n}),y={...a,resolvedState:p.channelState},S=Zi(e.update_version),f=ge(e.head_img_url),u=ge(e.desc),P=ge(e.user_id),v=Number(e.total_users),M=Xi(e.type),d=zi(e.radio_setting?.is_unvisit_other),g=e.verify_way===void 0?void 0:Number(e.verify_way),C=g!==void 0&&Number.isSafeInteger(g)?g:void 0,m=ge(e.invite_code),h=gr(e,{source:t});return {id:r,name:o,...f===void 0?{}:{avatar:f},...u===void 0?{}:{description:u},...P===void 0?{}:{ownerId:P},...Number.isFinite(v)&&v>=0?{memberCount:v}:{},...C===void 0?{}:{verifyType:C},...m===void 0?{}:{inviteCode:m},role:s,permissions:p.permissions,channelState:p.channelState,allMembersMuted:y.allMembersMuted,...d===void 0?{}:{memberPrivateChatDisabled:d},accessSnapshot:y,...e.radio_user?.is_undisturb===void 0?{}:{muted:ve(e.radio_user.is_undisturb)},...M===void 0?{}:{channelKind:M},...S===void 0?{}:{updateVersion:S},...h===void 0?{}:{miniProgramRels:h}}}function Ir(e){return {...e,updatedAt:Date.now()}}function Sr(e,n){if(e.accessSnapshot===void 0)return {...e,permissions:sa$1(e.role,e.channelState)};let t=ta$1({channelState:e.channelState,snapshot:e.accessSnapshot,permissions:e.permissions,nowMs:n});return {...e,channelState:t.channelState,permissions:t.permissions,allMembersMuted:e.allMembersMuted??e.accessSnapshot.allMembersMuted,accessSnapshot:{...e.accessSnapshot,resolvedState:t.channelState}}}function Bn(e,n){let{updatedAt:t,...r}=Sr(e,n);return r}function na(e){let n=new Map,t=new Map,r=new Map,o="0",i=false,s=null,c=0,a=null,p=0;function y(){if(i)return Promise.resolve();if(s!==null)return s;let u=c;return s=(async()=>{if(e.storage!==void 0){let[P,v]=await Promise.all([e.storage.getChannelProfiles(),e.storage.getChannelListVersion()]);if(u!==c)return;for(let M of P)n.set(M.id,Sr(M,e.now?.()??Date.now()));o=/^\d+$/.test(v)?v:"0";}i=true;})().finally(()=>{s=null;}),s}function S(u){if(u?.forceRefresh!==true&&a!==null)return a;let P=++p,v=(async()=>{await y();let M=(await e.getUserId()).trim();if(M==="")throw new ie("user_id \u4E0D\u80FD\u4E3A\u7A7A");let d=u?.forceRefresh===true?"0":o,g=[];for(let m=1;;m+=1){let h=await hr(e.client,{userId:M,updateVersion:d,page:m,pageSize:br,clientType:e.clientType});if(!h.ok)throw new Le(h.code,h.message);if(h.data===null)break;if(!Array.isArray(h.data))throw new ie("list data \u5FC5\u987B\u662F\u6570\u7EC4");let x=e.now?.()??Date.now(),R=h.data.map(b=>wr(b,x,"list"));if(g.push(...R),R.length<br)break}if(P!==p)return [...n.values()].map(m=>Bn(m,e.now?.()??Date.now()));let C=o;for(let m of g)n.set(m.id,Ir(m)),m.updateVersion!==void 0&&(C=ea(C,m.updateVersion));return o=C,e.storage!==void 0&&(await e.storage.saveChannelProfiles([...n.values()]),await e.storage.saveChannelListVersion(o)),[...n.values()].map(m=>Bn(m,e.now?.()??Date.now()))})();return a=v,v.finally(()=>{a===v&&(a=null);}).catch(()=>{}),v}function f(u,P){let v=u.trim();if(v==="")return Promise.reject(new ie("channel id \u4E0D\u80FD\u4E3A\u7A7A"));let M=P?.forceRefresh===true;if(!M){let C=t.get(v);if(C!==void 0)return C}let d=(r.get(v)??0)+1;M&&r.set(v,d);let g=(async()=>{await y();let C=n.get(v);if(!M&&C!==void 0&&C.miniProgramRels!==void 0)return Bn(C,e.now?.()??Date.now());let m=await Cr(e.client,{channelId:v,clientType:e.clientType});if(!m.ok)throw new Le(m.code,m.message);if(m.data===null||m.data===void 0)throw new ie("info data \u4E0D\u80FD\u4E3A\u7A7A");let h=wr(m.data,e.now?.()??Date.now(),"info");if(h.id!==v)throw new ie(`info id \u4E0D\u5339\u914D\uFF1A\u8BF7\u6C42 ${v}\uFF0C\u54CD\u5E94 ${h.id}`);if((r.get(v)??d)===d){let x=Ir(h);n.set(v,x),await e.storage?.saveChannelProfiles([x]);}return h})().finally(()=>{t.get(v)===g&&t.delete(v);});return r.set(v,d),t.set(v,g),g}return {listProfiles:S,getProfile:f,clearCache(){c+=1,p+=1;for(let u of new Set([...n.keys(),...t.keys(),...r.keys()]))r.set(u,(r.get(u)??0)+1);n.clear(),t.clear(),a=null,o="0",i=true,s=null;}}}function vr(e,n){return Ne(e,{listType:2,page:n.page,pageSize:n.pageSize,clientType:n.clientType})}function _r(e,n){return Ke(e,n)}function Mr(e,n){return Ge(e,n)}var ta=20,Ar=50,ra=20,oa=2,ia=3,kr=4,aa=5,Er=0,sa=1,ca=2;function da(e){switch(e){case Er:case sa:case ca:return e;default:return}}var He=class extends Error{constructor(t,r){super(`CHANNEL join application HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelJoinApplicationHttpError";}code},Q=class extends Error{constructor(n){super(`CHANNEL join application \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelJoinApplicationMappingError";}};function L(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function ua(e){let n=L(e);if(n==="")return;if(/^\d+$/.test(n)){let r=Number(n);return !Number.isSafeInteger(r)||r<=0?void 0:n.length>=13?r:r*1e3}let t=Date.parse(n);return Number.isFinite(t)?t:void 0}function la(e){let n=L(e.status);if(e.status===void 0||n==="")return true;let t=Number(n),r=da(t);if(r===void 0)throw new Q(`\u672A\u77E5\u7533\u8BF7\u72B6\u6001\uFF1A${n}`);return r===Er}function pa(e){let n=Number(L(e.type));if(n!==oa&&n!==ia&&n!==kr&&n!==aa)throw new Q(`GROUP/CHANNEL \u6DF7\u5408\u9875\u51FA\u73B0\u672A\u77E5 type\uFF1A${L(e.type)||"<empty>"}`);return n}function fa(e){let n=L(e.id)||L(e.aid),t=L(e.user_id)||L(e.user_info?.user_id),r=e.radio_info??e.channel_info,o=L(e.radio_id)||L(e.channel_id)||L(r?.radio_id)||L(r?.channel_id);if(n==="")throw new Q("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");if(t==="")throw new Q(`\u7533\u8BF7\u4EBA id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);if(o==="")throw new Q(`CHANNEL id \u4E0D\u80FD\u4E3A\u7A7A\uFF08applicationId=${n}\uFF09`);let i=L(e.user_info?.nick_name)||L(e.user_info?.nickname)||L(e.user_info?.name)||t,s=L(e.user_info?.head_img_url)||L(e.user_info?.avatar),c=L(e.user_info?.mid),a=L(r?.name)||L(r?.radio_name)||L(r?.channel_name)||o,p=L(r?.head_img_url)||L(r?.avatar),y=ua(e.create_time??e.createTime);return {applicationId:n,applicantId:t,applicantName:i,...s===""?{}:{applicantAvatar:s},...c===""?{}:{applicantDisplayId:c},channelId:o,channelName:a,...p===""?{}:{channelAvatar:p},message:L(e.remarks)||L(e.introduce_self),...y===void 0?{}:{createdAt:y}}}function xr(e){if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Ar)throw new Q(`limit \u5FC5\u987B\u4E3A 1-${Ar}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit||ta};if(!/^[1-9]\d*$/.test(e.cursor))throw new Q("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let n=Number(e.cursor);if(!Number.isSafeInteger(n))throw new Q("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:n,pageSize:e.limit}}function ma(e){if(e!=null&&Array.isArray(e.list))return e.list;let n=e?.count??e?.total,t=n===0||typeof n=="string"&&/^0+$/.test(n.trim());if(e?.list===null&&t)return [];throw new Q("data.list \u5FC5\u987B\u662F\u6570\u7EC4\uFF0C\u6216\u5728 count=0 \u65F6\u4E3A null")}function ga(e){let n=e.trim();if(n==="")throw new Q("\u7533\u8BF7\u8BB0\u5F55 id \u4E0D\u80FD\u4E3A\u7A7A");return n}function ya(e){async function n(r){let{pageSize:o}=xr(r),{page:i}=xr(r);for(let s=0;s<ra;s+=1){let c=await vr(e.client,{page:i,pageSize:o,clientType:e.clientType});if(!c.ok)throw new He(c.code,c.message);let a=ma(c.data),p=a.filter(f=>pa(f)===kr&&la(f)).map(fa),y=a.length<o,S=i+1;if(p.length>0||y)return {items:p,exhausted:y,...y?{}:{nextCursor:String(S)}};i=S;}return {items:[],exhausted:false,nextCursor:String(i)}}async function t(r,o){let i=await o(e.client,{applicationId:ga(r),clientType:e.clientType});if(!i.ok)throw new He(i.code,i.message)}return {listJoinApplications:n,acceptJoinApplication:r=>t(r,_r),ignoreJoinApplication:r=>t(r,Mr)}}function an(e,n){return {responseMode:"strict",method:n,...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function On(e,n){return E(e,"/user_radio/users",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},an(n.clientType,"GET"))}function Nn(e,n){return E(e,"/user_radio/search_user",{radio_id:n.channelId,nick_name:n.query,page:n.page,page_size:n.pageSize,update_version:n.updateVersion??"0"},an(n.clientType,"POST"))}function Tr(e,n){return E(e,"/user_radio/admins",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},an(n.clientType,"GET"))}function Rr(e,n){return E(e,"/user_radio/user/infos",{radio_id:n.channelId,user_ids:n.userIds.join(",")},an(n.clientType,"POST"))}var sn=18,ha=12,Ca=300*1e3,ba=32,$e=class extends Error{constructor(t,r){super(`CHANNEL member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMemberHttpError";}code},F=class extends Error{constructor(n){super(`CHANNEL member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMemberMappingError";}};function ae(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Pa(e){return Number(e)===1?"member":Number(e)===9?"admin":Number(e)===10?"owner":"unknown"}function wa(e){let n=ae(e);return /^\d+$/.test(n)?n.replace(/^0+(?=\d)/,""):void 0}function Kn(e,n){return e===void 0?n===void 0?0:-1:n===void 0?1:e.length!==n.length?e.length>n.length?1:-1:e===n?0:e>n?1:-1}function Dr(e,n){let t=ae(e.radio_id);if(t==="")throw new F("radio_id \u4E0D\u80FD\u4E3A\u7A7A");if(t!==n)throw new F(`\u6210\u5458\u9891\u9053 ${t} \u4E0E\u8BF7\u6C42\u9891\u9053 ${n} \u4E0D\u4E00\u81F4`);let r=ae(e.user_id)||ae(e.user_info?.user_id);if(r==="")throw new F("user_id \u4E0D\u80FD\u4E3A\u7A7A");if(e.is_master!==void 0){let p=Number(e.is_master);if(p!==0&&p!==1)throw new F(`is_master \u975E\u6CD5\uFF1A${ae(e.is_master)}`)}let o=ae(e.nick_name),i=ae(e.user_info?.nick_name)||ae(e.user_info?.name),s=ae(e.user_info?.head_img_url),c=wa(e.update_version),a=Number(e.join_type);return {userId:r,...o===""?{}:{nickname:o},displayName:o||i||r,...s===""?{}:{avatar:s},role:Pa(e.role_id),...Number.isInteger(a)?{joinType:a}:{},...c===void 0?{}:{updateVersion:c}}}function Ia(e){if(e.channelId.trim()==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>sn)throw new F(`limit \u5FC5\u987B\u4E3A 1-${sn}`);if(e.cursor===void 0)return {page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new F("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new F("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {page:t,pageSize:e.limit}}function Ur(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Sa(e){let n=e.now??(()=>Date.now()),t=e.isActive??(()=>true),r=e.cacheTtlMs??Ca,o=new Map,i=new Map,s=new Map,c=new Map,a=new Map,p=new Set,y=new Set,S=(b,w)=>`${b}:${w}`;function f(b){let w=a.get(b);return w!==void 0?w:(a.set(b,0),0)}function u(b){let w=b.trim();if(w==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");return w}function P(b){for(i.delete(b.channelId),i.set(b.channelId,b);i.size>ba;){let w=i.keys().next().value;if(w===void 0)break;i.delete(w);}}function v(b){let w=i.get(b);if(w!==void 0)return P(w),Promise.resolve(w);if(y.has(b)||e.storage?.getChannelMemberSnapshot===void 0)return Promise.resolve(null);let A=s.get(b);if(A!==void 0)return A;let l=f(b),I=e.storage.getChannelMemberSnapshot(b).then(_=>!t()||_===null||_.channelId!==b||l!==f(b)||y.has(b)?null:(P(_),_)).finally(()=>{s.get(b)===I&&s.delete(b);});return s.set(b,I),I}function M(b,w){let A=b.map(I=>I.userId),l=new Map(b.map(I=>[I.userId,I]));for(let I of w){l.has(I.userId)||A.push(I.userId);let _=l.get(I.userId);(_===void 0||Kn(I.updateVersion,_.updateVersion)>=0)&&l.set(I.userId,I);}return A.map(I=>l.get(I))}async function d(b,w){let A=await Z$1(w);return b.filter(l=>A.match(l.displayName)!==null||A.match(l.userId,{pinyin:false})!==null)}async function g(b,w,A={}){if(!t()||w!==f(b.channelId))return;let l=b.channelId,I=y.has(l),_=A.allowPersistentRebuild===true&&I&&e.storage?.deleteChannelMemberSnapshot===void 0&&e.storage?.saveChannelMemberSnapshot!==void 0;(!I||_)&&await e.storage?.saveChannelMemberSnapshot?.(b),t()&&w===f(l)&&(P(b),A.allowPersistentRebuild===true&&(!I||e.storage?.deleteChannelMemberSnapshot===void 0)&&y.delete(l));}async function C(b,w,A,l,I=false,_){let k=await v(b);if(!t()||A!==f(b))return;let T=n(),D=_!==void 0&&k?.nextCursor===_,U=I&&k!==null&&!D,O=l!==void 0&&!U?l.nextCursor:k?.nextCursor,$={channelId:b,items:M(k?.items??[],w),...O===void 0?{}:{nextCursor:O},exhausted:U?k.exhausted:l?.exhausted??k?.exhausted??false,updatedAt:T};await g($,A);}async function m(b,w,A){if(!t()||A!==f(b))return [...w];let l=n(),I=l+r,_=[],k=[],T=new Map;for(let D of w){let U=S(b,D.userId),O=o.get(U)?.member;if(O!==void 0&&Kn(D.updateVersion,O.updateVersion)<0){k.push(O);continue}_.push({channelId:b,...D,updatedAt:l}),k.push(D),T.set(U,{member:D,expiresAt:I});}if(_.length>0&&t()&&A===f(b)&&!p.has(b)&&(await e.storage?.saveChannelMembers?.(_),e.storage?.getChannelMembers!==void 0&&t()&&A===f(b))){let D=await e.storage.getChannelMembers(b,_.map(O=>O.userId)),U=new Map(D.map(O=>{let{channelId:$,updatedAt:V,...ce}=O;return [ce.userId,{member:ce,updatedAt:V}]}));for(let O=0;O<k.length;O+=1){let $=k[O];if($===void 0)continue;let V=U.get($.userId);V===void 0||Kn(V.member.updateVersion,$.updateVersion)<=0||(k[O]=V.member,T.set(S(b,$.userId),{member:V.member,expiresAt:V.updatedAt+r}));}}if(t()&&A===f(b))for(let[D,U]of T)o.set(D,U);return k}async function h(b,w){let A=u(b.channelId),{page:l,pageSize:I}=Ia({...b,channelId:A}),_=f(A),k=await w(A,l,I);if(!k.ok)throw new $e(k.code,k.message);if(k.data!==null&&!Array.isArray(k.data))throw new F("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let T=Ur((k.data??[]).map(O=>Dr(O,A))),D=await m(A,T,_),U=(k.data??[]).length<I;return {items:D,exhausted:U,...U?{}:{nextCursor:String(l+1)}}}function x(b){let w=u(b),A=c.get(w);if(A!==void 0)return A;let l=f(w),I=(async()=>{let _,k=false,T=[];for(let U=0;U<ha&&!k;U+=1){let O=await h({channelId:w,limit:sn,..._===void 0?{}:{cursor:_}},($,V,ce)=>On(e.client,{channelId:$,page:V,pageSize:ce,clientType:e.clientType}));if(!t()||l!==f(w))throw new F("\u6210\u5458\u5FEB\u7167\u9884\u53D6\u5DF2\u56E0\u6210\u5458\u53D8\u5316\u5931\u6548");T=M(T,O.items),_=O.nextCursor,k=O.exhausted;}let D={channelId:w,items:T,..._===void 0?{}:{nextCursor:_},exhausted:k,updatedAt:n()};return await g(D,l,{allowPersistentRebuild:true}),{items:D.items,...D.nextCursor===void 0?{}:{nextCursor:D.nextCursor},exhausted:D.exhausted}})().finally(()=>{c.get(w)===I&&c.delete(w);});return c.set(w,I),I}async function R(b){let w=u(b),A=f(w)+1;a.set(w,A),p.add(w),y.add(w),i.delete(w),s.delete(w),c.delete(w);let l=`${w}:`;for(let I of o.keys())I.startsWith(l)&&o.delete(I);e.storage?.deleteChannelMembers===void 0&&e.storage?.deleteChannelMemberSnapshot===void 0||(await Promise.all([e.storage.deleteChannelMembers?.(w),e.storage.deleteChannelMemberSnapshot?.(w)]),A===f(w)&&(e.storage?.deleteChannelMembers!==void 0&&p.delete(w),e.storage?.deleteChannelMemberSnapshot!==void 0&&y.delete(w)));}return {async prefetchMembers(b){let w=u(b),A=await v(w),l=y.has(w);A!==null&&!l&&A.updatedAt+r>n()||await x(w);},async getCachedMembers(b){let w=u(b.channelId),A=await v(w);if(A===null)return null;let l=b.query?.trim()??"";return l===""&&y.has(w)?null:l===""?{items:[...A.items],...A.nextCursor===void 0?{}:{nextCursor:A.nextCursor},exhausted:A.exhausted}:{items:await d(A.items,l),exhausted:true}},async refreshMembers(b){let w=u(b.channelId),A=b.query?.trim()??"";if(A==="")return x(w);let l=f(w),[I,_]=await Promise.all([h({channelId:w,query:A,limit:sn},(T,D,U)=>Nn(e.client,{channelId:T,query:A,page:D,pageSize:U,updateVersion:"0",clientType:e.clientType})),v(w)]),k=_===null?[]:await d(_.items,A);return await C(w,I.items,l),{...I,items:M(I.items,k)}},async listMembers(b){let w=u(b.channelId),A={...b,channelId:w},l=f(w),I=await h(A,(_,k,T)=>On(e.client,{channelId:_,page:k,pageSize:T,clientType:e.clientType}));return await C(w,I.items,l,I,A.cursor!==void 0,A.cursor),I},async searchMembers(b){let w=b.query.trim();if(w==="")return Promise.reject(new F("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A"));let A=u(b.channelId),l={...b,channelId:A},I=f(A),_=await h(l,(k,T,D)=>Nn(e.client,{channelId:k,query:w,page:T,pageSize:D,updateVersion:"0",clientType:e.clientType}));return await C(A,_.items,I),_},listAdmins:b=>h(b,(w,A,l)=>Tr(e.client,{channelId:w,page:A,pageSize:l,clientType:e.clientType})),async getMembersByIds(b,w,A){let l=b.trim();if(l==="")throw new F("channelId \u4E0D\u80FD\u4E3A\u7A7A");let I=[...new Set(w.map(D=>D.trim()).filter(Boolean))];if(I.length===0)return [];let _=A?.forceRefresh===true,k=new Map,T=[];for(let D of I){let U=o.get(S(l,D));!_&&U!==void 0&&U.expiresAt>n()?k.set(D,U.member):T.push(D);}if(!_&&T.length>0&&!p.has(l)&&e.storage?.getChannelMembers!==void 0){let D=f(l),U=await e.storage.getChannelMembers(l,T);if(t()&&D===f(l))for(let{channelId:O,updatedAt:$,...V}of U)O===l&&(o.set(S(l,V.userId),{member:V,expiresAt:$+r}),$+r>n()&&k.set(V.userId,V));T=T.filter(O=>!k.has(O));}if(!t())return I.flatMap(D=>k.has(D)?[k.get(D)]:[]);if(T.length>0){let D=f(l),U=await Rr(e.client,{channelId:l,userIds:T,clientType:e.clientType});if(!U.ok)throw new $e(U.code,U.message);if(U.data!==null&&!Array.isArray(U.data))throw new F("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let O=Ur((U.data??[]).map(we=>Dr(we,l))),$=T.filter(we=>!O.some(ko=>ko.userId===we)),V=_&&$.length>0&&D===f(l),ce;V?(await R(l),ce=O):ce=await m(l,O,D);for(let we of ce)k.set(we.userId,we);}return I.flatMap(D=>k.has(D)?[k.get(D)]:[])},invalidateChannelMembers:R,clearCache(){let b=new Set(a.keys());for(let w of o.keys())b.add(w.slice(0,w.indexOf(":")));for(let w of i.keys())b.add(w);for(let w of s.keys())b.add(w);for(let w of c.keys())b.add(w);for(let w of p)b.add(w);for(let w of y)b.add(w);for(let w of b)a.set(w,f(w)+1);o.clear(),i.clear(),s.clear(),c.clear(),p.clear(),y.clear();}}}function Br(e){return {responseMode:"strict",method:"POST",...e===void 0?{}:{headers:{"Client-type":String(e)}}}}function Or(e,n){return E(e,"/user_radio/member/list",{radio_id:n.channelId,page:n.page,page_size:n.pageSize},Br(n.clientType))}function Nr(e,n){return E(e,"/user_radio/member/search",{radio_id:n.channelId,search_name:n.query,page:n.page,page_size:n.pageSize},Br(n.clientType))}var Kr=18,cn=class extends Error{constructor(t,r){super(`CHANNEL @ member HTTP \u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`);this.code=t;this.name="ChannelMentionMemberHttpError";}code},re=class extends Error{constructor(n){super(`CHANNEL @ member \u6620\u5C04\u5931\u8D25\uFF1A${n}`),this.name="ChannelMentionMemberMappingError";}};function _e(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function va(e){let n=_e(e.user_id);if(n==="")throw new re("user_id \u4E0D\u80FD\u4E3A\u7A7A");let t=_e(e.radio_user_nickname)||_e(e.nick_name)||_e(e.name)||_e(e.mid)||n,r=_e(e.head_img_url);return {userId:n,displayName:t,...r===""?{}:{avatar:r}}}function _a(e){let n=e.channelId.trim();if(n==="")throw new re("channelId \u4E0D\u80FD\u4E3A\u7A7A");if(!Number.isInteger(e.limit)||e.limit<=0||e.limit>Kr)throw new re(`limit \u5FC5\u987B\u4E3A 1-${Kr}`);if(e.cursor===void 0)return {channelId:n,page:1,pageSize:e.limit};if(!/^[1-9]\d*$/.test(e.cursor))throw new re("page cursor \u5FC5\u987B\u4E3A\u6B63\u5341\u8FDB\u5236\u6574\u6570");let t=Number(e.cursor);if(!Number.isSafeInteger(t))throw new re("page cursor \u8D85\u51FA\u5B89\u5168\u6574\u6570\u8303\u56F4");return {channelId:n,page:t,pageSize:e.limit}}function Ma(e){let n=[],t=new Map;for(let r of e)t.has(r.userId)||n.push(r.userId),t.set(r.userId,r);return n.map(r=>t.get(r))}function Aa(e){async function n(t,r){let{channelId:o,page:i,pageSize:s}=_a(t),c=await r({channelId:o,page:i,pageSize:s,clientType:e.clientType});if(!c.ok)throw new cn(c.code,c.message);if(c.data!==null&&!Array.isArray(c.data))throw new re("data \u5FC5\u987B\u4E3A\u6570\u7EC4\u6216 null");let a=c.data??[],p=Ma(a.map(va)),y=a.length<s;return {items:p,exhausted:y,...y?{}:{nextCursor:String(i+1)}}}return {listMentionMembers:t=>n(t,r=>Or(e.client,r)),searchMentionMembers:t=>{let r=t.query.trim();return r===""?Promise.reject(new re("\u641C\u7D22\u5173\u952E\u8BCD\u4E0D\u80FD\u4E3A\u7A7A")):n(t,o=>Nr(e.client,{...o,query:r}))}}}function xa(e){let n=e.fetch??((t,r)=>globalThis.fetch(t,r));return {async postProtobuf({path:t,body:r,headers:o,signal:i}){let s=await e.getBaseUrl();if(!s)throw new Error("CmHttp.postProtobuf\uFF1A\u7F3A\u5C11 CM HTTP \u57FA\u5740\uFF08getCmHttpBaseUrl \u4E3A\u7A7A\uFF09");let c={"Content-Type":"application/octet-stream"},a=e.getClientType?.();a!==void 0&&(c["Client-type"]=String(a)),Object.assign(c,o);let p=await e.getAuth();p!==null&&p.token!==""&&p.userId!==""&&(c.Authorization=`${p.token}:${p.userId}`);let y=await n(`${s}${t}`,{method:"POST",body:r,headers:c,signal:i});if(!y.ok)throw new na$1({path:t,status:y.status,statusText:y.statusText});let S=await y.arrayBuffer();return new Uint8Array(S)}}}var oe=class extends Error{constructor(n){super(n),this.name="DirectoryMappingError";}};function dn(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new oe(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function Y(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function Fe(e){let n=Y(e);return n===""?void 0:n}function ka(e){let n=dn(e,"\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879"),t=n.user_info===void 0?n:dn(n.user_info,"\u8054\u7CFB\u4EBA user_info"),r=Y(t.user_id??n.friend_user_id??n.user_id);if(r==="")throw new oe("\u8054\u7CFB\u4EBA\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A user_id");let o=Y(n.remark_name)||Y(n.contact_name)||Y(t.nick_name)||Y(t.username)||Y(t.mid)||r,i=Y(t.nick_name)||Y(t.username)||Y(t.mid)||r,s=Fe(t.head_img_url),c=Fe(t.username)??Fe(t.mid);return {id:r,kind:"individual",displayName:o,cardDisplayName:i,...s===void 0?{}:{avatarUrl:s},...c===void 0?{}:{username:c}}}function Ea(e){let n=dn(e,"\u7FA4\u7EC4\u76EE\u5F55\u9879"),t=Y(n.group_id);if(t==="")throw new oe("\u7FA4\u7EC4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A group_id");let r=Fe(n.head_img_url),o=Y(n.name)||t;return {id:t,kind:"group",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Ta(e){let n=dn(e,"\u793E\u7FA4\u76EE\u5F55\u9879"),t=Y(n.radio_id??n.id);if(t==="")throw new oe("\u793E\u7FA4\u76EE\u5F55\u9879\u7F3A\u5C11\u7A33\u5B9A radio_id/id");let r=Fe(n.head_img_url),o=Y(n.name)||t;return {id:t,kind:"channel",displayName:o,cardDisplayName:o,...r===void 0?{}:{avatarUrl:r}}}function Ra(e,n){if(!Number.isSafeInteger(e)||e<1)throw new oe("\u76EE\u5F55 page \u5FC5\u987B\u662F\u6B63\u6574\u6570");if(!Number.isSafeInteger(n)||n<1||n>100)throw new oe("\u76EE\u5F55 pageSize \u5FC5\u987B\u662F 1-100 \u7684\u6574\u6570")}function Da(e){return {async list(n){Ra(n.page,n.pageSize);let t=n.kind==="individual"?"/friend/list":n.kind==="group"?"/user_group/list":"/user_radio/list",r=n.kind==="channel"&&e.getUserId!==void 0?String(await e.getUserId()).trim():"",i=(await E(e.client,t,{...r===""?{}:{user_id:r},update_version:0,page:n.page,page_size:n.pageSize},{responseMode:"strict",method:"GET",...e.clientType===void 0?{}:{headers:{"Client-type":String(e.clientType)}}})).data??[];if(!Array.isArray(i))throw new oe(`${n.kind} \u76EE\u5F55 data \u5FC5\u987B\u662F\u6570\u7EC4`);let s=n.kind==="individual"?ka:n.kind==="group"?Ea:Ta,c=new Map;for(let p of i){let y=s(p);c.set(y.id,y);}let a=i.length<n.pageSize;return {items:[...c.values()],...a?{}:{nextPage:n.page+1},exhausted:a}}}}var Ua="https://api.giphy.com/v1/gifs",Me=class extends Error{constructor(t){super(t==="core"?"\u8868\u60C5 Core API \u672A\u914D\u7F6E":"Giphy API key \u672A\u914D\u7F6E");this.provider=t;this.name="ExpressionProviderUnavailableError";}provider},H=class extends Error{constructor(n){super(n),this.name="ExpressionMappingError";}},ye=class extends Error{constructor(t,r){super(`Giphy \u8BF7\u6C42\u5931\u8D25\uFF1AHTTP ${t}${r?` ${r}`:""}`);this.status=t;this.name="GiphyHttpError";}status};function Z(e,n){if(e===null||typeof e!="object"||Array.isArray(e))throw new H(`${n} \u5FC5\u987B\u662F\u5BF9\u8C61`);return e}function X(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function pe(e,n){let t=X(e);if(t==="")throw new H(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function xe(e){let n=X(e);return n===""?void 0:n}function Ae(e,n){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw new H(`${n} \u5FC5\u987B\u662F\u975E\u8D1F\u6574\u6570`);return t}function Ba(e,n){let t=Number(e);if(!Number.isSafeInteger(t))throw new H(`${n} \u5FC5\u987B\u662F\u5B89\u5168\u6574\u6570`);return t}function Gr(e,n){let t=Number(e);if(!Number.isFinite(t)||t<=0)throw new H(`${n} \u5FC5\u987B\u662F\u6709\u9650\u6B63\u6570`);return t}function he(e,n){let t=pe(e,n),r;try{r=new URL(t);}catch(o){throw new H(`${n} \u4E0D\u662F\u5408\u6CD5 URL\uFF1A${o instanceof Error?o.message:String(o)}`)}if(r.protocol!=="https:"&&r.protocol!=="http:")throw new H(`${n} \u53EA\u652F\u6301 HTTP(S)`);if(r.username!==""||r.password!=="")throw new H(`${n} \u4E0D\u5141\u8BB8\u5305\u542B URL \u51ED\u636E`);return t}function Gn(e,n){if(e==null)return [];if(Array.isArray(e))return e;let r=Z(e,n).list;if(r==null)return [];if(!Array.isArray(r))throw new H(`${n}.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null`);return r}function Je(e){return e==="sticker"?1:e==="gif"?2:3}function Lr(e){let n=Z(e,"\u8D34\u56FE\u5305"),t=xe(n.onlineTime??n.online_time),r=n.isPlatformIssued??n.is_platform_issued;return {id:pe(n.packId??n.pack_id,"\u8D34\u56FE\u5305 packId"),nameZh:X(n.nameZh??n.name_zh),nameEn:X(n.nameEn??n.name_en),nameTh:X(n.nameTh??n.name_th),nameTw:X(n.nameTw??n.name_tw),nameVi:X(n.nameVi??n.name_vi),publisher:X(n.publisher),trayIconUrl:he(n.trayIcon??n.tray_icon,"\u8D34\u56FE\u5305 trayIcon"),sortWeight:Ba(n.sortWeight??n.sort_weight??0,"\u8D34\u56FE\u5305 sortWeight"),isPlatformIssued:r===true||Number(r)===1,...t===void 0?{}:{onlineTime:t},stickerCount:Ae(n.stickerCount??n.sticker_count??0,"\u8D34\u56FE\u5305 stickerCount")}}function Ln(e,n,t,r){let o=Z(e,t),i=xe(o.id),s={...i===void 0?{}:{recordId:i},url:he(o.imgUrl??o.img_url,`${t} imgUrl`),width:Ae(o.width??0,`${t} width`),height:Ae(o.height??0,`${t} height`)};if(n==="sticker")return {kind:n,...s,packageId:pe(r??o.packId??o.pack_id,`${t} packageId`),resourceId:pe(o.fileName??o.file_name,`${t} resourceId`)};let c=xe(o.fileName??o.file_name);return {kind:n,...s,...c===void 0?{}:{resourceId:c}}}function Oa(e,n){if(n!=="emoji")return Ln(e,n,"\u6700\u8FD1\u4F7F\u7528\u9879");let t=Z(e,"\u6700\u8FD1 emoji"),r=xe(t.id);return {kind:"emoji",...r===void 0?{}:{recordId:r},token:pe(t.imgUrl??t.img_url,"\u6700\u8FD1 emoji token"),resourceId:pe(t.fileName??t.file_name,"\u6700\u8FD1 emoji resourceId")}}function Hr(e,n,t){let r=Je(n);return Gn(e,t).filter(o=>{let i=Z(o,`${t} item`),s=i.favType??i.fav_type;if(s==null)return true;let c=Number(s);if(c!==1&&c!==2&&c!==3)throw new H(`${t} item.favType \u5FC5\u987B\u662F 1\u30012 \u6216 3`);return c===r})}function Fr(e){return {fav_type:Je(e.kind),pack_id:e.kind==="sticker"?e.packageId:"",img_url:he(e.url,"\u8868\u60C5\u5199\u5165 imgUrl"),file_name:e.resourceId??"",width:e.width,height:e.height}}function Na(e){return e.kind!=="emoji"?Fr(e):{fav_type:Je(e.kind),pack_id:"",img_url:e.token,file_name:e.resourceId,width:0,height:0}}function $r(e){let n=[...new Set(e.map(t=>t.trim()).filter(Boolean))];if(n.length===0||n.length>30||n.some(t=>t.includes("|")))throw new H("\u6279\u91CF\u5220\u9664 recordIds \u5FC5\u987B\u5305\u542B 1-30 \u4E2A\u4E0D\u542B\u7AD6\u7EBF\u7684\u552F\u4E00\u975E\u7A7A id");return n.join("|")}function Ka(e){let n=Z(e,"Giphy item"),t=Z(n.images,"Giphy item.images"),r=Z(t.original,"Giphy item.images.original"),o=t.fixed_width,i=o==null?void 0:Z(o,"Giphy item.images.fixed_width"),s=he(r.url,"Giphy original.url"),c=i===void 0?void 0:xe(i.url),a=i===void 0?void 0:xe(i.webp),p=a===void 0?c===void 0?s:he(c,"Giphy fixed_width.url"):he(a,"Giphy fixed_width.webp"),y=a!==void 0&&c!==void 0&&c!==a?he(c,"Giphy fixed_width.url"):void 0;return {kind:"gif",resourceId:pe(n.id,"Giphy item.id"),title:X(n.title)||"GIF",url:s,previewUrl:p,...y===void 0?{}:{fallbackPreviewUrl:y},width:Gr(r.width,"Giphy original.width"),height:Gr(r.height,"Giphy original.height")}}function Ga(e,n){let t=Z(e,"Giphy response");if(!Array.isArray(t.data))throw new H("Giphy response.data \u5FC5\u987B\u662F\u6570\u7EC4");let r=Z(t.pagination,"Giphy response.pagination"),o=Ae(r.offset??n,"Giphy pagination.offset");if(o!==n)throw new H("Giphy pagination.offset \u4E0E\u8BF7\u6C42 offset \u4E0D\u4E00\u81F4");let i=Ae(r.count??t.data.length,"Giphy pagination.count"),s=Ae(r.total_count??r.totalCount??0,"Giphy pagination.total_count"),c=new Map;for(let p of t.data){let y=Ka(p);c.set(y.resourceId,y);}let a=o+i;return {items:[...c.values()],offset:o,totalCount:s,...i>0&&a<s?{nextOffset:a}:{}}}function La(e){async function n(r,o,i){if(e.coreClient===void 0)throw new Me("core");let s=await E(e.coreClient,r,o,{method:"POST",responseMode:"strict"});if(!s.ok)throw new q(i,s.code,s.message);return s.data}async function t(r,o){let i=e.giphyApiKey?.trim()??"";if(i==="")throw new Me("giphy");let s=e.fetcher??globalThis.fetch;if(typeof s!="function")throw new Me("giphy");let c=new URLSearchParams({api_key:i,limit:String(o.limit),offset:String(o.offset),...o.query===void 0?{}:{q:o.query,lang:"en"}}),a;try{a=await s(`${Ua}/${r}?${c.toString()}`);}catch{throw new ye(0,"network failure")}let p;try{p=await a.json();}catch(S){throw a.ok?new H(`Giphy response \u4E0D\u662F JSON\uFF1A${S instanceof Error?S.message:String(S)}`):new ye(a.status,"")}if(!a.ok){let S=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0,f=S!==null&&typeof S=="object"&&!Array.isArray(S)?X(S.msg):"";throw new ye(a.status,f)}let y=p!==null&&typeof p=="object"&&!Array.isArray(p)?p.meta:void 0;if(y!==null&&typeof y=="object"&&!Array.isArray(y)){let S=y,f=Number(S.status);if(Number.isFinite(f)&&f!==200)throw new ye(f,X(S.msg))}return Ga(p,o.offset)}return {async listStickerPacks(r){let o=await n("/user/sticker/pack_list",r===void 0?{}:{version:r},"\u8D34\u56FE\u5305\u5217\u8868");if(Array.isArray(o))return {version:"",items:o.map(Lr)};if(o==null)return {version:"",items:[]};let i=Z(o,"\u8D34\u56FE\u5305\u5217\u8868 data"),s=i.list??i.packs;if(s==null)return {version:X(i.version),items:[]};if(!Array.isArray(s))throw new H("\u8D34\u56FE\u5305\u5217\u8868 data.list \u5FC5\u987B\u662F\u6570\u7EC4\u6216 null");return {version:X(i.version),items:s.map(Lr)}},async listStickerItems(r){let o=await n("/user/sticker/item_list",{pack_id:r},"\u8D34\u56FE\u660E\u7EC6\u5217\u8868");return Gn(o,"\u8D34\u56FE\u660E\u7EC6\u5217\u8868 data").map(i=>Ln(i,"sticker","\u8D34\u56FE\u660E\u7EC6",r))},async listFavorites(r){let o=await n("/user/sticker/my_fav/list",{fav_type:Je(r)},"\u8868\u60C5\u6536\u85CF\u5217\u8868");return Hr(o,r,"\u8868\u60C5\u6536\u85CF\u5217\u8868 data").map(i=>Ln(i,r,"\u8868\u60C5\u6536\u85CF\u9879"))},async addFavorite(r){await n("/user/sticker/my_fav/add",Fr(r),"\u6DFB\u52A0\u8868\u60C5\u6536\u85CF");},async deleteFavorites(r){await n("/user/sticker/my_fav/del",{ids:$r(r)},"\u5220\u9664\u8868\u60C5\u6536\u85CF");},async listRecent(r){let o=await n("/user/sticker/recent/list",{fav_type:Je(r)},"\u6700\u8FD1\u4F7F\u7528\u5217\u8868");return Hr(o,r,"\u6700\u8FD1\u4F7F\u7528\u5217\u8868 data").map(i=>Oa(i,r))},async reportRecent(r){await n("/user/sticker/recent/report",Na(r),"\u4E0A\u62A5\u6700\u8FD1\u4F7F\u7528");},async deleteRecent(r){await n("/user/sticker/recent/del",{ids:$r(r)},"\u5220\u9664\u6700\u8FD1\u4F7F\u7528");},async listReactionTop(r){let o=await n("/user/reaction/emoji/top",r===void 0?{}:{limit:r},"\u5FEB\u6377\u56DE\u5E94 Top \u5217\u8868");return Gn(o,"\u5FEB\u6377\u56DE\u5E94 Top data").map(i=>{let s=Z(i,"\u5FEB\u6377\u56DE\u5E94 Top \u9879");return pe(s.emoji,"\u5FEB\u6377\u56DE\u5E94 emoji")})},async reportReaction(r){await n("/user/reaction/emoji/report",{emoji:r},"\u4E0A\u62A5\u5FEB\u6377\u56DE\u5E94");},listGiphyTrending:r=>t("trending",r),searchGiphy:r=>t("search",r)}}async function Jr(e,n){let t=n.clientType===void 0?void 0:{headers:{"Client-type":String(n.clientType)}};return (await E(e,"/user_group/info",{group_id:n.groupId},t)).data}function Ha(e){if(Array.isArray(e))return e;if(typeof e!="object"||e===null)return [];let n=e,t=["list","users","user_list","members","member_list","members_list"];for(let r of t)if(Array.isArray(n[r]))return n[r];if(Array.isArray(n.data))return n.data;if(typeof n.data=="object"&&n.data!==null){let r=n.data;for(let o of t)if(Array.isArray(r[o]))return r[o]}return []}function $a(e){if(typeof e=="number")return e;if(typeof e=="string"&&e.trim()!==""){let n=Number(e);return Number.isNaN(n)?void 0:n}}var Vr=200,Fa=50;async function jr(e,n){let t=String(n.updateVersion??0).trim()||"0",r=[],o;for(let i=1;i<=Fa;i++){let s={group_id:n.groupId,update_version:t,page:String(i),page_size:String(Vr)},{data:c}=await E(e,"/user_group/user/list",s,{method:"GET",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(c===null)break;let a=Ha(c);if(a.length===0)break;for(let y of a){let S=String(y.user_id??y.userId??"").trim();if(S==="")continue;let f={userId:S,nickName:String(y.nick_name??y.nickName??"").trim()},u=$a(y.join_type??y.joinType);u!==void 0&&(f.joinType=u),r.push(f);}let p=c.update_version;if(typeof p=="number"&&(o=p),a.length<Vr)break}return {members:r,updateVersion:o}}async function qr(e,n){return (await E(e,"/user/info/friend",{friend_user_id:n.userId})).data}var Ja=1440*60*1e3;function Hn(e,n,t=Ja){let r=new Map,o=new Map,i=new Map;function s(y){let S=(i.get(y)??0)+1;i.set(y,S);let f=e(y).then(u=>(u!==null&&i.get(y)===S&&(r.set(y,u),n?.save(y,u).catch(()=>{})),u)).finally(()=>{o.get(y)===f&&o.delete(y);});return o.set(y,f),f}return {get:async(y,S)=>{if(S?.forceRefresh===true)return s(y);let f=r.get(y);if(f!==void 0)return f;let u=o.get(y);if(u!==void 0)return u;if(n!==void 0)try{let P=i.get(y)??0,v=await n.get(y);if(v!==null)return (i.get(y)??0)===P&&(r.set(y,v.value),Date.now()-v.updatedAt>t&&s(y)),v.value}catch{}return s(y)},peek:async y=>{let S=r.get(y);if(S!==void 0)return {value:S,stale:false};if(n===void 0)return null;try{let f=i.get(y)??0,u=await n.get(y);if(u!==null)return (i.get(y)??0)===f&&r.set(y,u.value),{value:u.value,stale:Date.now()-u.updatedAt>t}}catch{}return null},clear:()=>{for(let y of new Set([...r.keys(),...o.keys(),...i.keys()]))i.set(y,(i.get(y)??0)+1);r.clear(),o.clear();}}}function Va(e){async function n(f){let u=await qr(e.client,{userId:f})??await Oe(e.client,{userId:f});return u===null?null:V(u)}async function t(f){let u=await Jr(e.client,{groupId:f,clientType:e.clientType});return u===null?null:W$1(u)}async function r(f){let{members:u}=await jr(e.client,{groupId:f,clientType:e.clientType});return u.length===0?null:u}function o(f){let u={};for(let P of f)P.nickName!==""&&(u[P.userId]=P.nickName);return u}let{storage:i}=e,s=i===void 0?void 0:{get:async f=>{let u=await i.getUserProfile(f);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(f,u)=>{await i.saveUserProfile({...u,updatedAt:Date.now()});}},c=i===void 0?void 0:{get:async f=>{let u=await i.getGroupMembers(f);return u===null?null:{value:u.members.map(P=>({userId:P.userId,nickName:P.groupNick,...P.joinType===void 0?{}:{joinType:P.joinType}})),updatedAt:u.updatedAt}},save:async(f,u)=>{let P=u.map(v=>({userId:v.userId,groupNick:v.nickName,...v.joinType===void 0?{}:{joinType:v.joinType}}));await i.saveGroupMembers({groupId:f,members:P,updatedAt:Date.now()});}},a=i===void 0?void 0:{get:async f=>{let u=await i.getGroupProfile(f);return u===null?null:{value:u,updatedAt:u.updatedAt}},save:async(f,u)=>{await i.saveGroupProfile({...u,updatedAt:Date.now()});}},p=Hn(n,s),y=Hn(t,a),S=Hn(r,c);return {getUserProfile:(f,u)=>p.get(f,u),getGroupProfile:(f,u)=>y.get(f,u),getGroupMemberNames:async(f,u)=>{let P=await S.get(f,u);return P===null?null:o(P)},listGroupMembers:(f,u)=>S.get(f,u),peekUserProfile:f=>p.peek(f),peekGroupMemberNames:async f=>{let u=await S.peek(f);return u===null?null:{value:o(u.value),stale:u.stale}},peekGroupMembers:f=>S.peek(f),peekGroupProfile:f=>y.peek(f),clearCache:()=>{p.clear(),y.clear(),S.clear();}}}function ja(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function ee(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function qa(e){return ee(e.client,"/user_radio/edit",{radio_id:e.channelId,...e.name===void 0?{}:{name:e.name},...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl},...e.description===void 0?{}:{desc:e.description}},"\u4FEE\u6539\u793E\u7FA4\u8D44\u6599")}function za(e){return ee(e.client,"/user_radio/user/setting",{radio_id:e.channelId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Wa(e){return ee(e.client,"/user_radio/member/edit",{radio_id:e.channelId,radio_user_id:e.userId,nick_name:e.nickname},"\u4FEE\u6539\u793E\u7FA4\u6635\u79F0")}function Ya(e){let n=e.userIds.map(t=>({user_id:ja(t)}));return ee(e.client,"/user_radio/invited_users",{radio_id:e.channelId,members:JSON.stringify(n)},"\u9080\u8BF7\u793E\u7FA4\u6210\u5458")}function Qa(e){return ee(e.client,"/user_radio/kick_user",{radio_id:e.channelId,user_id:e.userId},"\u79FB\u9664\u793E\u7FA4\u6210\u5458")}function Xa(e){return ee(e.client,"/user_radio/add_admin",{radio_id:e.channelId,user_id:e.userId},"\u8BBE\u4E3A\u793E\u7FA4\u7BA1\u7406\u5458")}function Za(e){return ee(e.client,"/user_radio/del_admin",{radio_id:e.channelId,user_id:e.userId},"\u53D6\u6D88\u793E\u7FA4\u7BA1\u7406\u5458")}function es(e){return ee(e.client,"/user_radio/transfer",{radio_id:e.channelId,user_id:e.userId},"\u8F6C\u8BA9\u793E\u7FA4")}function ns(e){return ee(e.client,"/user_radio/user/quit",{radio_id:e.channelId,...e.newOwnerId===void 0?{}:{user_id:e.newOwnerId}},"\u9000\u51FA\u793E\u7FA4")}function ts(e){return ee(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,verify_way:e.verifyType,...e.verifyType===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u793E\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}function rs(e){return ee(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unspeeking_all:e.muted?"1":"0"},e.muted?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u8A00":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u8A00")}function os(e){return ee(e.client,"/user_radio/edit_setting",{radio_id:e.channelId,is_unvisit_other:e.disabled?"1":"0"},e.disabled?"\u5F00\u542F\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A":"\u5173\u95ED\u793E\u7FA4\u5168\u5458\u7981\u79C1\u804A")}function is(e){return ee(e.client,"/user_radio/closed",{radio_id:e.channelId},"\u89E3\u6563\u793E\u7FA4")}async function as(e){ss(e.channelId,"channel");let n=e.index.trim();if(n==="")throw new Error("CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 index \u7F3A\u5931");e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=e.containAnchor??true,r=z$1({userId:e.userId,clientType:e.clientType,pulls:[{channelId:e.channelId,baseIndex:n,direction:0,count:20,contain:t?1:0}]}),o=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:r}),i=C(o,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);if(t){let c=i.messages.filter(a=>a.extensions?.historyCursor===n);if(c.length!==1)throw new Error(`CHANNEL \u5386\u53F2\u4E0A\u4E0B\u6587 anchor \u5FC5\u987B\u4E00\u4E00\u5BF9\u5E94\uFF08channelId=${e.channelId}, index=${n}, count=${c.length}\uFF09`)}let s=i.nextBaseIndexes[e.channelId];return {messages:i.messages,hasNewer:(i.messageCounts[e.channelId]??0)===20&&s!==void 0&&s!==n,...s===void 0?{}:{nextCursor:s}}}function ss(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function cs(e){let n=ds(e.indexes),t=f.encode(f.create({sUserId:$n(e.userId,"user"),lsIndex:n.map(i=>({sChnnId:$n(i.channelId,"channel"),sIndex:i.readCursor}))})),r=await e.http.postProtobuf({path:"/channel/v1/readIndexes/edit",body:t}),o=g.decode(r);if(o.errcode!==0)throw new Error(`CHANNEL readIndexes/edit \u5931\u8D25\uFF1Aerrcode=${o.errcode}`)}function ds(e){if(e.length===0)throw new Error("CHANNEL readIndexes/edit \u81F3\u5C11\u9700\u8981\u4E00\u4E2A index");let n=new Set;return e.map(t=>{$n(t.channelId,"channel");let r=t.readCursor.trim();if(r==="")throw new Error(`CHANNEL readIndexes/edit cursor \u7F3A\u5931\uFF08channelId=${t.channelId}\uFF09`);if(n.has(t.channelId))throw new Error(`CHANNEL readIndexes/edit \u9891\u9053\u91CD\u590D\uFF08channelId=${t.channelId}\uFF09`);return n.add(t.channelId),{channelId:t.channelId,readCursor:r}})}function $n(e,n){if(!/^\d+$/.test(e))throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);let t=BigInt(e);if(t<=0n)throw new Error(`CHANNEL readIndexes ${n} id \u975E\u6CD5\uFF1A${e}`);return t}async function us(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u8BBE\u7F6E\u9ED1\u540D\u5355\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await E(e,"/user/black/set",{friend_user_id:t,status:n.blocked?2:1},{responseMode:"strict",method:"POST"});if(!r.ok)throw new Error(`${n.blocked?"\u52A0\u5165":"\u79FB\u51FA"}\u9ED1\u540D\u5355\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}var un=class extends Error{responseCode;constructor(n,t){super(`\u641C\u7D22\u7528\u6237\u5931\u8D25\uFF08${n}\uFF09\uFF1A${t||"unknown error"}`),this.name="ContactUserSearchError",this.responseCode=n;}},ln=class extends Error{kind;responseCode;constructor(n,t,r){super(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\u5931\u8D25\uFF08${t}\uFF09\uFF1A${r||"unknown error"}`),this.name="ContactFriendshipRequestError",this.kind=n,this.responseCode=t;}},Fn={HIDDEN_CONTACT:40112,OWN_FRIEND_LIMIT_REACHED:40121,TARGET_FRIEND_LIMIT_REACHED:40122},ls=36875,ps=40113;function Jn(e){return typeof e=="string"||typeof e=="number"?String(e).trim():""}function se(e){let n=Jn(e);return n===""?void 0:n}function zr(e){let n=Array.isArray(e)?e[0]:e;return n!==null&&typeof n=="object"?n:void 0}function fs(e){switch(e){case Fn.HIDDEN_CONTACT:return "hidden-contact";case Fn.OWN_FRIEND_LIMIT_REACHED:return "own-friend-limit";case Fn.TARGET_FRIEND_LIMIT_REACHED:return "target-friend-limit";default:return "remote"}}async function ms(e,n){let t=n.query.trim();if(t==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1Aquery \u4E0D\u80FD\u4E3A\u7A7A");let r=await E(e,"/user/info/search",{username:t},{responseMode:"strict",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok)throw new un(r.code,r.message);let o=zr(r.data);if(o===void 0)return null;let i=Jn(o.user_id??o.userId);if(i==="")throw new Error("\u641C\u7D22\u7528\u6237\uFF1A\u54CD\u5E94\u7F3A\u5C11 user_id");let s=Jn(o.nick_name??o.nickname??o.name)||i,c=o.friend_status??o.friendStatus,a=c===void 0?void 0:Number(c);if(a!==void 0&&!Number.isInteger(a))throw new Error("\u641C\u7D22\u7528\u6237\uFF1Afriend_status \u975E\u6CD5");return {userId:i,nickname:s,...se(o.username)===void 0?{}:{username:se(o.username)},...se(o.mid)===void 0?{}:{miCallId:se(o.mid)},...se(o.head_img_url??o.avatar)===void 0?{}:{avatarUrl:se(o.head_img_url??o.avatar)},...se(o.per_signature??o.signature)===void 0?{}:{signature:se(o.per_signature??o.signature)},...a===void 0?{}:{friendStatus:a}}}async function gs(e,n){let t=n.userId.trim(),r=n.message.trim(),o=n.remark?.trim();if(t===""||r==="")throw new Error("\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1AuserId \u548C message \u4E0D\u80FD\u4E3A\u7A7A");let i=await E(e,"/friend/apply/do",{to_user_id:t,remarks:r,...o===void 0||o===""?{}:{remark_nick_name:o}},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!i.ok)throw new ln(fs(i.code),i.code,i.message);let s=zr(i.data),c=Number(s?.status??0);if(c!==0&&c!==1&&c!==2)throw new Error(`\u53D1\u9001\u597D\u53CB\u7533\u8BF7\uFF1A\u672A\u77E5\u7ED3\u679C\u72B6\u6001 ${c}`);let a=se(s?.message??s?.msg??i.message);return {status:c,...a===void 0?{}:{message:a}}}async function ys(e,n){let t=n.userId.trim();if(t==="")throw new Error("\u5220\u9664\u597D\u53CB\uFF1AuserId \u4E0D\u80FD\u4E3A\u7A7A");let r=await E(e,"/friend/del",{friend_user_id:t},{responseMode:"strict",method:"POST",...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}});if(!r.ok&&r.code!==ps)throw new Error(`\u5220\u9664\u597D\u53CB\u5931\u8D25\uFF08${r.code}\uFF09\uFF1A${r.message||"unknown error"}`)}async function hs(e,n){let t=n.reporterUserId.trim(),r=n.targetUserId.trim(),o=n.problem.trim();if(t===""||r===""||o==="")throw new Error("\u4E3E\u62A5\u8054\u7CFB\u4EBA\uFF1AreporterUserId\u3001targetUserId \u548C problem \u4E0D\u80FD\u4E3A\u7A7A");let i=await E(e,"/user/report_user/add",{user_id:t,to_user_id:r,problem:o,images:"1"},{responseMode:"strict",method:"POST"});if(!i.ok)throw new q("\u4E3E\u62A5\u8054\u7CFB\u4EBA",i.code,i.message)}function Cs(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function bs(e){let n=e.memberIds.map(t=>({user_id:Cs(t)}));return E(e.client,"/user_radio/create",{name:e.name,secret_key:e.secretKey,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function Ps(e){return E(e.client,"/user_group/create_face",{is_hidden:"0"},{method:"POST",responseMode:"strict"})}function ws(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}function Is(e){let n=e.memberIds.map(t=>({user_id:ws(t)}));return E(e.client,"/user_group/create",{name:e.name,is_hidden:"0",members:JSON.stringify(n),...e.avatarUrl===void 0?{}:{head_img_url:e.avatarUrl}},{method:"POST",responseMode:"strict"})}function ke(e){if(e.trim()==="")throw new Error("board pinned message groupId \u4E0D\u80FD\u4E3A\u7A7A")}function Ee(e){if(e.trim()==="")throw new Error("channel board pinned message channelId \u4E0D\u80FD\u4E3A\u7A7A")}function Wr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function Ss(e){ke(e.groupId);let n=await E(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Wr(n.data))throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.groupId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u7FA4\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 groupId");if(!Wr(t)||t.group_id!==e.groupId||t.group_type!==2||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==2)throw new Error("board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(o.envelope.receiverId!==e.groupId)throw new Error("board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 groupId \u4E0D\u4E00\u81F4");return {...n,data:{groupId:r.group_id,groupType:2,messageContent:r.msg_content}}}function Yr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}async function vs(e){Ee(e.channelId);let n=await E(e.client,"/api/v1/board/get_board_msg_top",{group_ids:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(!Yr(n.data))throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u5BF9\u8C61");let t=n.data[e.channelId];if(t===void 0&&Object.keys(n.data).length===0)return {...n,data:null};if(t===void 0)throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u5355\u9891\u9053\u54CD\u5E94\u5305\u542B\u975E\u76EE\u6807 channelId");if(!Yr(t)||t.group_id!==e.channelId||t.group_type!==1||typeof t.msg_content!="string"||t.msg_content==="")throw new Error("channel board get \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u7F6E\u9876\u8BB0\u5F55\u5B57\u6BB5\u4E0D\u5339\u914D");let r=t,o=i(r.msg_content);if(o.envelope.convType!==3)throw new Error("channel board get \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(o.envelope.receiverId!==e.channelId)throw new Error("channel board get \u5FEB\u7167 receiverId \u4E0E\u54CD\u5E94 channelId \u4E0D\u4E00\u81F4");return {...n,data:{channelId:r.group_id,groupType:1,messageContent:r.msg_content}}}async function _s(e,n){let r=(await E(e,"/user_radio/info",{radio_id:n.channelId},{...n.clientType===void 0?{}:{headers:{"Client-type":String(n.clientType)}}})).data?.secret_key;return typeof r=="string"&&r.trim()!==""?r:null}function Ms(e){if(typeof e!="string"||e.length===0)return false;try{let n=new URL(e);return n.protocol==="http:"||n.protocol==="https:"}catch{return false}}async function As(e){let n=await e("/system/background/list",{target:"core",method:"POST",data:{}});if(n.code!==200)throw new Error(`\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u8BF7\u6C42\u5931\u8D25\uFF1A${n.code}${n.msg?` ${n.msg}`:""}`);if(!Array.isArray(n.data?.lists))throw new Error("\u4F1A\u8BDD\u80CC\u666F\u9884\u7F6E\u5217\u8868\u54CD\u5E94\u7F3A\u5C11 lists");let t=[],r=new Set;for(let o of n.data.lists){let i=typeof o.id=="string"||typeof o.id=="number"?String(o.id):"";i.length===0||o.is_enabled!==1||!Ms(o.img_url)||r.has(i)||(r.add(i),t.push({id:i,url:o.img_url,...typeof o.name=="string"&&o.name.length>0?{name:o.name}:{}}));}return t}function xs(e){let n=Number(e);return Number.isSafeInteger(n)&&String(n)===e?n:e}async function Ve(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message)}function ks(e){let n=e.userIds.map(t=>({user_id:xs(t)}));return Ve(e.client,"/user_group/invited",{group_id:e.groupId,members:JSON.stringify(n)},"\u9080\u8BF7\u7FA4\u6210\u5458")}function Es(e){return Ve(e.client,"/user_group/kick",{group_id:e.groupId,out_user_id:e.userId},"\u79FB\u9664\u7FA4\u6210\u5458")}function Ts(e){return Ve(e.client,"/user_group/transfer",{group_id:e.groupId,new_user_id:e.userId},"\u8F6C\u8BA9\u7FA4\u7EC4")}function Rs(e){return Ve(e.client,"/user_group/user/quit",{group_id:e.groupId,...e.newOwnerId===void 0?{}:{new_user_id:e.newOwnerId}},"\u9000\u51FA\u7FA4\u7EC4")}function Ds(e){return Ve(e.client,"/user_group/edit",{group_id:e.groupId,verify_way:e.verifyWay,...e.verifyWay===4&&e.inviteCode!==void 0?{invite_code:e.inviteCode}:{}},"\u4FEE\u6539\u666E\u901A\u7FA4\u5165\u7FA4\u9A8C\u8BC1\u65B9\u5F0F")}var Us=new Set([200,32768]);async function Bs(e){let n=P({userId:e.userId,groupId:e.groupId}),t=await e.http.postProtobuf({path:"/offline/v1/group/read_all",body:n}),{code:r}=Q$1(t);if(!Us.has(r))throw new Error(`\u7FA4 read_all \u4E1A\u52A1\u5931\u8D25\uFF1Acode=${r}\uFF08groupId=${e.groupId}\uFF09`)}var je=class extends Error{constructor(n){super(`${n}\u54CD\u5E94\u5305\u542B\u65E0\u6CD5\u8BC6\u522B\u7684 is_waitting`),this.name="MembershipJoinMappingError";}};function Os(e,n){if(e===true||e===1||e==="1")return Object.freeze({outcome:"waiting"});if(e==null||e===false||e===0||e==="0")return Object.freeze({outcome:"joined"});throw new je(n)}async function Qr(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);if(o.data===null||o.data===void 0)throw new je(r);return Os(o.data.is_waitting,r)}async function Xr(e,n,t,r){let o=await E(e,n,t,{method:"POST",responseMode:"strict"});if(!o.ok)throw new q(r,o.code,o.message);return Object.freeze({outcome:"joined"})}function Ns(e){return Qr(e.client,"/user_group/apply",{group_id:e.groupId,qrcode_type:2,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u666E\u901A\u7FA4")}function Ks(e){return Xr(e.client,"/user_group/enter_by_invite_code",{group_id:e.groupId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u666E\u901A\u7FA4")}function Gs(e){return Qr(e.client,"/user_radio/add/apply",{radio_id:e.channelId,remarks:e.remarks??""},"\u7533\u8BF7\u52A0\u5165\u793E\u7FA4")}function Ls(e){return Xr(e.client,"/user_radio/enter_by_invite_code",{radio_id:e.channelId,invite_code:e.inviteCode},"\u4F7F\u7528\u9080\u8BF7\u7801\u52A0\u5165\u793E\u7FA4")}async function Hs(e){if(ke(e.groupId),e.messageContent.trim()==="")throw new Error("board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==2)throw new Error("board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 2");if(n.envelope.receiverId!==e.groupId)throw new Error("board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 groupId \u4E0D\u4E00\u81F4");let t=await E(e.client,"/api/v1/board/board_msg_top",{group_id:e.groupId,group_type:2,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function $s(e){if(Ee(e.channelId),e.messageContent.trim()==="")throw new Error("channel board pinned message messageContent \u4E0D\u80FD\u4E3A\u7A7A");let n=i(e.messageContent);if(n.envelope.convType!==3)throw new Error("channel board pin \u5FEB\u7167 convType \u5FC5\u987B\u4E3A 3");if(n.envelope.receiverId!==e.channelId)throw new Error("channel board pin \u5FEB\u7167 receiverId \u4E0E\u76EE\u6807 channelId \u4E0D\u4E00\u81F4");let t=await E(e.client,"/api/v1/board/board_msg_top",{group_id:e.channelId,group_type:1,msg_content:e.messageContent},{method:"POST",prefix:"",responseMode:"strict"});if(!t.ok)return t;if(t.data!==null)throw new Error("channel board pin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...t,data:null}}async function Fs(e){let n=T({userId:e.userId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/chat/msg/by_id",body:n});return U(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function Js(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=N$1({userId:e.userId,groupId:e.groupId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/msg/by_id",body:n});return O(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function Vs(e){e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let n=D({userId:e.userId,channelId:e.channelId,messageIds:e.messageIds,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/channel/v1/msg/by_id",body:n});return E$1(t,{selfId:e.userId,keepRaw:true,expectedChannelIds:[e.channelId],diagnostic:{endpoint:"msgById",surface:"msg-by-id",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}var js=20,Zr=10,Vn=30,qs=100;async function zs(e){let n=[];for(let t of no(e.channels,js)){let r=y({userId:e.userId,clientType:e.clientType,channels:t}),o=await e.http.postProtobuf({path:"/channel/v1/sessions",body:r}),i={selfId:e.userId,keepRaw:true,expectedChannelIds:t.map(c=>c.channelId),diagnostic:{endpoint:"sessions",surface:"session-last",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType}},s=B$1(o,i);await eo(e,s.sessions.filter(c=>c.channelState==="active"||c.raw?.status===0).map(c=>c.channelId)),n.push(...B$1(o,{...i,onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps).sessions);}return n}async function Ws(e){let n=Xs(e.channelBatchSize),t=e.messageCount??Vn,r=Zs(e.maxPagesPerBatch),o=new Map;for(let i of no(e.pulls,n)){let s=i.map(p=>({...p})),c=new Map(s.map(p=>[p.channelId,new Set([p.baseIndex])])),a=0;for(;s.length>0;){if(a>=r){let u=s.map(({channelId:P,baseIndex:v})=>`${P}@${v}`).join(",");throw new Error(`channel offline \u5206\u9875\u8D85\u8FC7 maxPagesPerBatch=${r}\uFF08active=${u}\uFF09`)}a+=1;let p=z$1({userId:e.userId,clientType:e.clientType,pulls:s.map(u=>({channelId:u.channelId,baseIndex:u.baseIndex,direction:0,count:t,contain:0}))}),y=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:p});await eo(e,s.map(u=>u.channelId));let S=C(y,{selfId:e.userId,keepRaw:true,expectedChannelIds:s.map(u=>u.channelId),diagnostic:{endpoint:"offlineMessages",surface:"offline-batch",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps);for(let u of S.messages)o.has(u.id)||o.set(u.id,u);let f=[];for(let u of s){let P=S.nextBaseIndexes[u.channelId],v=S.messageCounts[u.channelId]??0;if(P===void 0)continue;let M=c.get(u.channelId);if(M.has(P))throw new Error(`channel offline cursor \u5FAA\u73AF\uFF08channelId=${u.channelId}, baseIndex=${P}\uFF09`);v<t||(M.add(P),f.push({channelId:u.channelId,baseIndex:P}));}s=f;}}return [...o.values()].sort(k)}async function Ys(e$1){let n=e$1.count??Vn;if(!Number.isInteger(n)||n<=0)throw new Error("channel latest: count \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");e$1.decryptDeps!==void 0&&e$1.prepareKey!==void 0&&await e$1.prepareKey(e$1.channelId);let t=z$1({userId:e$1.userId,clientType:e$1.clientType,pulls:[{channelId:e$1.channelId,baseIndex:"",direction:1,count:n,contain:0}]}),r=await e$1.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t}),o=C(r,{selfId:e$1.userId,keepRaw:true,expectedChannelIds:[e$1.channelId],diagnostic:{endpoint:"offlineMessages",surface:"history-page",...e$1.operationId===void 0?{}:{operationId:e$1.operationId},clientTypeHeader:e$1.clientType,clientTypeBody:e$1.clientType},onContentDecodeError:e$1.onContentDecodeError,onReaction:e$1.onReaction},e$1.decryptDeps),i=e.decode(r),s=o.batchSize===n,c=i.lsMessage[0]?.sIndex;if(s&&(typeof c!="string"||c.trim()===""))throw new Error(`channel latest: \u6EE1\u9875\u7F3A\u5C11\u5411\u65E7 cursor\uFF08channelId=${e$1.channelId}\uFF09`);return {messages:o.messages,hasOlder:s,...s?{nextCursor:c}:{}}}async function Qs(e){let n=e.count??Vn;e.decryptDeps!==void 0&&e.prepareKey!==void 0&&await e.prepareKey(e.channelId);let t=A({userId:e.userId,clientType:e.clientType,channelId:e.channelId,baseIndex:e.baseIndex,count:n,contain:e.contain??0}),r=await e.http.postProtobuf({path:"/channel/v1/offlineMessages",body:t});return F$1(r,{selfId:e.userId,channelId:e.channelId,requestedBaseIndex:e.baseIndex,requestedCount:n,keepRaw:true,diagnostic:{endpoint:"history",surface:"history-page",...e.operationId===void 0?{}:{operationId:e.operationId},clientTypeHeader:e.clientType,clientTypeBody:e.clientType},onContentDecodeError:e.onContentDecodeError,onReaction:e.onReaction},e.decryptDeps)}async function eo(e,n){if(e.decryptDeps===void 0||e.prepareKeys===void 0)return;let t=[...new Set(n.filter(Boolean))];t.length>0&&await e.prepareKeys(t);}function Xs(e){if(e===void 0)return Zr;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: channelBatchSize \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return Math.min(e,Zr)}function Zs(e){if(e===void 0)return qs;if(!Number.isInteger(e)||e<=0)throw new Error("channel offline: maxPagesPerBatch \u5FC5\u987B\u4E3A\u6B63\u6574\u6570");return e}function no(e,n){let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}async function to(e,n){let t=R({userId:n.userId,clientType:n.clientType,limit:n.limit,deliveredMsgInfos:n.deliveredMsgInfos}),r=await n.http.postProtobuf({path:e,body:t});return S(r,{selfId:n.userId,keepRaw:true,onReaction:n.onReaction},n.decryptDeps)}function ro(e){return to("/offline/v1/chat",e)}function oo(e){return to("/offline/v1/owner_chat",e)}function ec(e){return ro(e).then(n=>n.messages)}function nc(e){return oo(e).then(n=>n.messages)}function io(e){return [...new Set(e.filter(n=>n!==void 0&&n!==""))]}async function tc(e){let n=H$1({userId:e.userId,clientType:e.clientType,limit:e.limit,deliveredMsgIds:e.deliveredMsgInfos?.map(r=>r.msgId)}),t=await e.http.postProtobuf({path:"/offline/v1/group",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=J$1(t,{selfId:e.userId}),o=io(r.messages.map(i=>i.conversationId));o.length>0&&await e.prepareKeys(o);}return J$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function rc(e){let n=I({userId:e.userId,clientType:e.clientType,size:e.size}),t=await e.http.postProtobuf({path:"/offline/v1/group/session",body:n});if(e.prepareKeys!==void 0&&e.decryptDeps!==void 0){let r=K$1(t,{selfId:e.userId}),o=io([...r.unreads.map(i=>i.groupId),...r.messages.map(i=>i.conversationId)]);o.length>0&&await e.prepareKeys(o);}return K$1(t,{selfId:e.userId,keepRaw:true,onReaction:e.onReaction},e.decryptDeps)}async function oc(e){e.prepareKeys!==void 0&&e.decryptDeps!==void 0&&e.groupId!==""&&await e.prepareKeys([e.groupId]);let n=L$1({userId:e.userId,groupId:e.groupId,baseTime:e.baseTime,direct:e.direct,limit:e.limit,clientType:e.clientType}),t=await e.http.postProtobuf({path:"/offline/v1/group/history_msg",body:n});return M(t,{selfId:e.userId,keepRaw:true,source:"history",onReaction:e.onReaction},e.decryptDeps)}async function ic(e){let n=$({userId:e.userId,clientType:e.clientType,limit:e.limit??100,msgId:String(Date.now()),deliveredMsgIds:e.deliveredMsgIds}),t=await e.http.postProtobuf({path:"/offline/v1/signal",body:n});return aa$1(t)}var ac={direct:"/friend/undisturb/set",group:"/user_group/user/edit",channel:"/user_radio/user/setting"},sc={direct:"friend_user_id",group:"group_id",channel:"radio_id"};async function cc(e){let n=ac[e.conversationType],t=sc[e.conversationType];if(n===void 0||t===void 0)throw new Error(`\u514D\u6253\u6270\u672A\u652F\u6301\u4F1A\u8BDD\u7C7B\u578B\uFF1A${e.conversationType}`);let{code:r}=await E(e.client,n,{[t]:e.targetId,is_undisturb:e.muted?"1":"0"},{method:"POST"});if(r!==200)throw new Error(`\u514D\u6253\u6270\u8BBE\u7F6E\u5931\u8D25\uFF1Acode=${r}\uFF08${e.conversationType} ${e.targetId}\uFF09`)}async function dc(e){let n={friend_user_id:e.userId};e.name!==void 0&&(n.nick_name=e.name),e.email!==void 0&&(n.ext_email=JSON.stringify(e.email)),e.phones!==void 0&&(n.ext_mobile=JSON.stringify(e.phones.map(r=>({country_code:r.countryCode,mobile:r.mobile}))));let{code:t}=await E(e.client,"/friend/remarks/update",n,{method:"POST"});if(t!==200)throw new Error(`\u8BBE\u7F6E\u597D\u53CB\u5907\u6CE8\u5931\u8D25\uFF1Acode=${t}\uFF08userId=${e.userId}\uFF09`)}async function uc(e){let{code:n}=await E(e.client,"/user_group/user/edit",{group_id:e.groupId,nick_name:e.nickname},{method:"POST"});if(n!==200)throw new Error(`\u4FEE\u6539\u7FA4\u5185\u6635\u79F0\u5931\u8D25\uFF1Acode=${n}\uFF08groupId=${e.groupId}\uFF09`)}async function lc(e){ke(e.groupId);let n=await E(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.groupId,group_type:2},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function pc(e){Ee(e.channelId);let n=await E(e.client,"/api/v1/board/board_msg_top_cancel",{group_id:e.channelId,group_type:1},{method:"POST",prefix:"",responseMode:"strict"});if(!n.ok)return n;if(n.data!==null)throw new Error("channel board unpin \u54CD\u5E94\u7ED3\u6784\u975E\u6CD5\uFF1A\u6210\u529F data \u5FC5\u987B\u4E3A\u7A7A");return {...n,data:null}}async function fc(e){let n={group_id:e.groupId};e.name!==void 0&&(n.name=e.name),e.avatarUrl!==void 0&&(n.head_img_url=e.avatarUrl);let{code:t}=await E(e.client,"/user_group/edit",n,{method:"POST"});if(t!==200)throw new Error(`\u4FEE\u6539\u7FA4\u8D44\u6599\u5931\u8D25\uFF1Acode=${t}\uFF08groupId=${e.groupId}\uFF09`)}var mc="1970-01-01 08:00:00",gc="2000",yc="",pn=class extends Error{constructor(){super("\u4F1A\u8BDD\u6536\u85CF Core API \u672A\u914D\u7F6E"),this.name="SessionFavoriteProviderUnavailableError";}},fe=class extends Error{constructor(n){super(n),this.name="SessionFavoriteMappingError";}};function J(e){return typeof e=="string"?e:e==null?"":String(e)}function qe(e,n){let t=J(e).trim();if(t==="")throw new fe(`${n} \u4E0D\u80FD\u4E3A\u7A7A`);return t}function hc(...e){for(let n of e){let t=J(n).trim();if(/^https?:\/\//i.test(t))return t}return ""}function Cc(e){let n=typeof e=="number"?e:Number(String(e??"").trim());return n===1?"text":n===2?"image":n===3?"video":n===4?"voice":n===5?"location":n===11?"file":null}function bc(e){return e==="text"?1:e==="image"?2:e==="video"?3:e==="voice"?4:e==="location"?5:11}function Pc(e){if(e==="direct")return 0;if(e==="group")return 1;if(e==="channel")return 2;throw new fe(`favorite conversation type ${e}`)}function wc(e){let n=e.thumbData??e.thumb_data??e.thumbBase64;if(typeof n!="string")return "";let t=n.trim();return t.startsWith("data:image/")?t:t.includes("://")||t.length<32?"":`data:image/jpeg;base64,${t}`}function Ic(e){return hc(e.imageURL,e.imageUrl,e.videoURL,e.videoUrl,e.url)}function ao(e){let n=wc(e);if(n!=="")return n;let t=J(e.thumbUrl||e.thumb_url).trim();if(t.startsWith("data:image/"))return t;let r=Ic(e);return /^https?:\/\//i.test(t)&&t!==r?t:""}function fn(e,n){return n==="text"||n==="location"?J(e.content).trim():n==="file"?J(e.fileName||e.file_name||e.name).trim():""}function Sc(e,n){let t=J(e.group_id).trim(),r=J(e.radio_id).trim(),o=Number(J(e.msg_type).trim());if(o===1&&t!=="")return {conversationType:"group",conversationId:t};if(o===2&&r!=="")return {conversationType:"channel",conversationId:r};if(t!=="")return {conversationType:"group",conversationId:t};if(r!=="")return {conversationType:"channel",conversationId:r};if(o===0){let i=J(e.from_id).trim(),s=J(e.to_id).trim(),c=i===n.trim()?s:i;if(c!=="")return {conversationType:"direct",conversationId:c}}return null}function vc(e,n){let t=e.from_user,r=J(t?.nick_name||t?.nickname||t?.name).trim();return r===""?n:r}function _c(e,n){let t=J(e.uu_id).trim(),r=Cc(e.content_type),o=er(J(e.msg_body),n);if(t===""||r===null||o===null)return null;let i=J(e.from_id).trim();return Object.freeze({collectId:t,msgId:J(e.msg_id).trim(),kind:r,senderId:i,senderName:vc(e,i),avatarUrl:J(e.from_user?.avatar).trim(),createdAt:J(e.create_time||e.update_time||e.msg_time).trim(),text:fn(o,r),imageUrl:r==="image"||r==="video"?ao(o):"",fileName:r==="file"?fn(o,"file"):"",body:Object.freeze({...o}),conversation:Sc(e,n)})}function Mc(e){if(e==null)return [];if(Array.isArray(e))return e;if(typeof e=="object"&&e!==null&&"list"in e){let n=e.list;if(n==null)return [];if(Array.isArray(n))return n}throw new fe("favorite list data \u5FC5\u987B\u662F\u6570\u7EC4\u6216 { list }")}function Ac(){if(typeof crypto>"u"||typeof crypto.randomUUID!="function")throw new fe("collect uuid \u4E0D\u53EF\u7528");return crypto.randomUUID()}function xc(e){return Object.freeze({...e,body:Object.freeze({...e.body}),conversation:e.conversation===null?null:Object.freeze({...e.conversation})})}function kc(e){async function n(t,r,o){if(e.coreClient===void 0)throw new pn;let i=await E(e.coreClient,t,r,{method:"POST",responseMode:"strict",prefix:yc});if(!i.ok)throw new q(o,i.code,i.message);return i.data}return {async list(){let t=qe(e.getUserId(),"favorite userId"),r=await n("/api/v1/user/favorite/list",{start_time:mc,page_size:gc},"\u4F1A\u8BDD\u6536\u85CF\u5217\u8868");return Object.freeze(Mc(r).flatMap(o=>{let i=_c(o,t);return i===null?[]:[i]}))},async add(t){let r=qe(e.getUserId(),"favorite userId"),o=(e.createCollectId??Ac)(),i={msg_id:qe(t.messageId,"favorite msgId"),content_type:bc(t.kind),msg_type:Pc(t.conversation.conversationType),msg_time:String(t.createdAt),from_id:qe(t.senderId,"favorite fromId"),to_id:qe(t.peerId,"favorite toId"),is_hide:t.hide===true?"1":"0",uu_id:o,msg_body:Zt(JSON.stringify(t.plainBody),r)};return t.conversation.conversationType==="group"&&(i.group_id=t.conversation.conversationId),t.conversation.conversationType==="channel"&&(i.radio_id=t.conversation.conversationId),await n("/api/v1/user/favorite/add",i,"\u6DFB\u52A0\u4F1A\u8BDD\u6536\u85CF"),xc({collectId:o,msgId:t.messageId.trim(),kind:t.kind,senderId:t.senderId.trim(),senderName:t.senderId.trim(),avatarUrl:"",createdAt:String(t.createdAt),text:fn(t.plainBody,t.kind),imageUrl:t.kind==="image"||t.kind==="video"?ao(t.plainBody):"",fileName:t.kind==="file"?fn(t.plainBody,"file"):"",body:t.plainBody,conversation:t.conversation})},async delete(t){let r=[...new Set(t.map(o=>o.trim()).filter(o=>o!==""))];if(r.length===0)throw new fe("favorite ids \u4E0D\u80FD\u4E3A\u7A7A");await n("/api/v1/user/favorite/del",{ids:r.join("|")},"\u5220\u9664\u4F1A\u8BDD\u6536\u85CF");}}}function Ec(){let e=typeof navigator>"u"?void 0:navigator,n=e?.hardwareConcurrency??4;return (e?.deviceMemory??4)<=2?2:Math.min(4,Math.max(2,Math.floor(n/4)))}function Tc(e){let n={active:0,disposed:false},t=[];function r(){for(;!n.disposed&&n.active<e&&t.length>0;){let o=t.shift();if(o.signal?.aborted){o.reject(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));continue}o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),n.active+=1;let i=false;o.resolve(()=>{i||(i=true,n.active-=1,r());});}}return {acquire(o){return n.disposed?Promise.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E")):new Promise((i,s)=>{let c={resolve:i,reject:s,...o===void 0?{}:{signal:o}};o!==void 0&&(c.onAbort=()=>{let a=t.indexOf(c);a>=0&&t.splice(a,1),s(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.addEventListener("abort",c.onAbort,{once:true})),t.push(c),r();})},dispose(){n.disposed=true;for(let o of t.splice(0))o.onAbort!==void 0&&o.signal?.removeEventListener("abort",o.onAbort),o.reject(new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E"));}}}function mn(e){if(e?.aborted)throw new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError")}function so(e,n,t){let r=Math.min(1,t/Math.max(e,n));return {width:Math.max(1,Math.round(e*r)),height:Math.max(1,Math.round(n*r))}}async function co(e,n,t,r,o){mn(o);let i=document.createElement("canvas");i.width=n,i.height=t;let s=i.getContext("2d");if(s===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u65E0\u6CD5\u521B\u5EFA Canvas 2D \u4E0A\u4E0B\u6587");s.drawImage(e,0,0,n,t);let c=await new Promise(a=>i.toBlob(a,"image/jpeg",r));if(mn(o),c===null)throw new Error("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1ACanvas \u7F16\u7801\u8FD4\u56DE\u7A7A\u7ED3\u679C");return await c.arrayBuffer()}function jn(e,n){if(!Number.isInteger(e)||e<=0)throw new RangeError(`${n}\u5FC5\u987B\u662F\u6B63\u6574\u6570`)}function uo(e,n){if(!Number.isFinite(e)||e<=0||e>1)throw new RangeError(`${n}\u5FC5\u987B\u5927\u4E8E 0 \u4E14\u4E0D\u8D85\u8FC7 1`)}async function qn(e,n,t,r,o){let i=r.kind==="video",s=i?"\u89C6\u9891\u5C01\u9762":"\u56FE\u7247\u7F29\u7565\u56FE",c=r.maxSize??320,a=r.targetBytes??(i?10240:12288),p=r.maxBytes??(i?16384:20480),y=r.quality??(i?.84:.9),S=r.minQuality??(i?.68:.72);if(jn(c,`${s}\u6700\u5927\u8FB9\u957F`),jn(a,`${s}\u76EE\u6807\u5B57\u8282\u6570`),jn(p,`${s}\u6700\u5927\u5B57\u8282\u6570`),uo(y,`${s}\u521D\u59CB\u8D28\u91CF`),uo(S,`${s}\u6700\u4F4E\u8D28\u91CF`),a>p)throw new RangeError(`${s}\u76EE\u6807\u5B57\u8282\u6570\u4E0D\u80FD\u8D85\u8FC7\u6700\u5927\u5B57\u8282\u6570`);if(S>y)throw new RangeError(`${s}\u6700\u4F4E\u8D28\u91CF\u4E0D\u80FD\u9AD8\u4E8E\u521D\u59CB\u8D28\u91CF`);let f=so(n,t,c),u=Math.min(200,Math.max(f.width,f.height)),P,v=[...new Set([y,Math.max(S,y-.12),S])];for(let d of v){let g=await co(e,f.width,f.height,d,o);if((P===void 0||g.byteLength<P.byteLength)&&(P=g),g.byteLength<=a)return g}let M=Math.max(f.width,f.height);if(M>u&&P!==void 0){let d=Math.sqrt(a/P.byteLength),g=Math.max(u,Math.floor(M*Math.min(.9,Math.max(.5,d))));f=so(n,t,g);for(let C of [y,S]){let m=await co(e,f.width,f.height,C,o);if(m.byteLength<P.byteLength&&(P=m),m.byteLength<=a)return m}}if(P!==void 0&&P.byteLength<=p)return P;throw new Error(`${s}\u751F\u6210\u5931\u8D25\uFF1A\u7F16\u7801\u7ED3\u679C\u8D85\u8FC7 ${p} \u5B57\u8282\u786C\u4E0A\u9650`)}function lo(e,n,t){return new Promise((r,o)=>{let i,s,c,a,p=()=>{i!==void 0&&clearTimeout(i),e.removeEventListener(n,s),e.removeEventListener("error",c),t?.removeEventListener("abort",a);};s=()=>{p(),r();},c=()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u524D\u89E3\u7801\u9519\u8BEF`));},a=()=>{p(),o(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},i=setTimeout(()=>{p(),o(new Error(`\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A${n} \u8D85\u65F6`));},15e3),e.addEventListener(n,s,{once:true}),e.addEventListener("error",c,{once:true}),t?.addEventListener("abort",a,{once:true});})}async function Rc(e,n){mn(n);let t;try{t=await createImageBitmap(e.file);}catch(i){if(n?.aborted)throw i}if(t!==void 0)try{if(mn(n),e.includePoster===!1)return {width:t.width,height:t.height};let i=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=i&&Math.max(t.width,t.height)<=(e.maxSize??320)?{width:t.width,height:t.height,posterData:await e.file.arrayBuffer()}:{width:t.width,height:t.height,posterData:await qn(t,t.width,t.height,e,n)}}finally{t.close();}let r=URL.createObjectURL(e.file),o=new Image;try{if(await new Promise((s,c)=>{let a,p,y=()=>{a!==void 0&&clearTimeout(a),o.onload=null,o.onerror=null,n?.removeEventListener("abort",p);};p=()=>{y(),c(new DOMException("\u5A92\u4F53\u9884\u89C8\u51C6\u5907\u5DF2\u53D6\u6D88","AbortError"));},o.onload=()=>{y(),s();},o.onerror=()=>{y(),c(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u9519\u8BEF"));},a=setTimeout(()=>{y(),c(new Error("\u56FE\u7247\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1AImage \u89E3\u7801\u8D85\u65F6"));},15e3),n?.addEventListener("abort",p,{once:!0}),o.src=r;}),e.includePoster===!1)return {width:o.naturalWidth,height:o.naturalHeight};let i=e.maxBytes??20480;return e.file.type==="image/jpeg"&&e.file.size<=i&&Math.max(o.naturalWidth,o.naturalHeight)<=(e.maxSize??320)?{width:o.naturalWidth,height:o.naturalHeight,posterData:await e.file.arrayBuffer()}:{width:o.naturalWidth,height:o.naturalHeight,posterData:await qn(o,o.naturalWidth,o.naturalHeight,e,n)}}finally{o.removeAttribute("src"),URL.revokeObjectURL(r);}}async function Dc(e,n){let t=URL.createObjectURL(e.file),r=document.createElement("video");r.muted=true,r.preload="metadata",r.playsInline=true;try{r.src=t,r.load(),await lo(r,"loadeddata",n);let o=r.videoWidth,i=r.videoHeight;if(o<=0||i<=0)throw new Error("\u89C6\u9891\u9884\u89C8\u51C6\u5907\u5931\u8D25\uFF1A\u89C6\u9891\u5C3A\u5BF8\u65E0\u6548");let s=Number.isFinite(r.duration)&&r.duration>0?r.duration:void 0,c=e.atTime===void 0?s===void 0?0:Math.min(1,s/2):Math.max(0,Math.min(e.atTime,s??e.atTime));c>0&&(r.currentTime=c,await lo(r,"seeked",n));let a=s===void 0?void 0:s,p;try{p=await qn(r,o,i,e,n);}catch(y){if(n?.aborted||y instanceof RangeError)throw y}return {width:o,height:i,...a===void 0?{}:{duration:a},...p===void 0?{}:{posterData:p}}}finally{r.pause(),r.removeAttribute("src"),r.load(),URL.revokeObjectURL(t);}}function zn(e={}){let n=e.maxConcurrency??Ec();if(!Number.isInteger(n)||n<1||n>4)throw new RangeError("\u5A92\u4F53\u9884\u89C8\u5E76\u53D1\u6570\u5FC5\u987B\u662F 1-4 \u7684\u6574\u6570");let t=Tc(n),r=false;return {async prepare(o,i){if(r)throw new Error("\u5A92\u4F53\u9884\u89C8\u6267\u884C\u5668\u5DF2\u91CA\u653E");let s=await t.acquire(i);try{return o.kind==="video"?await Dc(o,i):await Rc(o,i)}finally{s();}},dispose(){r||(r=true,t.dispose());}}}var po="image/jpeg";function Wn(e,n){return new Blob([e],n===void 0||n===""?{}:{type:n})}function Uc(){let e=zn(),n=0;return {async imageDimensions(t,r){let o=await e.prepare({operationId:`core-image-dimensions-${++n}`,generation:0,kind:"image",file:Wn(t,r),includePoster:false});return {width:o.width,height:o.height}},async imageThumbnail(t,r){let o=await e.prepare({operationId:`core-image-thumbnail-${++n}`,generation:0,kind:"image",file:Wn(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality}});if(o.posterData===void 0)throw new Error("\u56FE\u7247\u7F29\u7565\u56FE\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,mimeType:po}},async videoPoster(t,r){let o=await e.prepare({operationId:`core-video-poster-${++n}`,generation:0,kind:"video",file:Wn(t,r?.mimeType),...r?.maxSize===void 0?{}:{maxSize:r.maxSize},...r?.targetBytes===void 0?{}:{targetBytes:r.targetBytes},...r?.maxBytes===void 0?{}:{maxBytes:r.maxBytes},...r?.quality===void 0?{}:{quality:r.quality},...r?.minQuality===void 0?{}:{minQuality:r.minQuality},...r?.atTime===void 0?{}:{atTime:r.atTime}});if(o.posterData===void 0)throw new Error("\u89C6\u9891\u5C01\u9762\u751F\u6210\u5931\u8D25\uFF1A\u6267\u884C\u5668\u672A\u8FD4\u56DE poster");return {data:new Uint8Array(o.posterData),width:o.width,height:o.height,duration:Math.round(o.duration??0),mimeType:po}}}}var Yn="is missing ETag in UploadPart response";function fo(e){if(typeof e!="object"||e===null)return false;let n=e;return n.name==="NoSuchUpload"||n.Code==="NoSuchUpload"}function Bc(e,n,t){return e instanceof Uint8Array?e.subarray(n,t):e.slice(n,t)}function mo(e,n){let t=new Map,r=n,o=n;function i(){if(e.onProgress===void 0)return;let s=r;for(let p of t.values())s+=p;o=Math.max(o,s);let c=e.sourceBytes,a=c>0?Math.min(99,Math.round(o/c*100)):0;e.onProgress({percent:a,bytesTransferred:o,bytesTotal:c,phase:c>0&&o>=c?"finalizing":"transferring"});}return {trackPart(s,c){t.set(s,c),i();},completePart(s,c){t.delete(s),r+=c,i();},report:i}}function go(e,n){let t=(o,i)=>{let s=i.query?.partNumber,c=s===void 0?0:Number(s);Number.isFinite(c)&&n.trackPart(c,o.loaded);},r=e;return r.on("xhr.upload.progress",t),()=>{r.off?.("xhr.upload.progress",t),r.removeListener?.("xhr.upload.progress",t);}}async function yo(e,n){let t=mo(n,0),r=go(e.handler,t);try{await e.client.send(new e.commands.PutObjectCommand({Bucket:e.bucket,Key:e.key,Body:n.data,...e.mimeType!==void 0&&e.mimeType!==""?{ContentType:e.mimeType}:{}}),n.signal===void 0?{}:{abortSignal:n.signal});}finally{r();}}function Oc(e,n,t,r){if(e!==void 0&&!(e.bucket!==n.bucket||e.key!==n.key)&&!(e.partSize!==r||e.sourceBytes!==t)&&e.uploadId!=="")return e.parts}async function Qn(e){let{target:n,content:t,partSize:r,queueSize:o}=e,i=Math.max(1,Math.ceil(t.sourceBytes/r));if(i>1e4)throw new Error(`media upload: \u5206\u7247\u6570 ${i} \u8D85\u8FC7 S3 \u4E0A\u9650 10000\uFF0C\u9700\u8981\u653E\u5927\u5206\u7247\u5927\u5C0F`);let s=Oc(e.resume,n,t.sourceBytes,r),c=new Map;if(s!==void 0)for(let M of s)c.set(M.partNumber,M);let a=s===void 0?"":e.resume.uploadId;if(a===""){let M=await n.client.send(new n.commands.CreateMultipartUploadCommand({Bucket:n.bucket,Key:n.key,...n.mimeType!==void 0&&n.mimeType!==""?{ContentType:n.mimeType}:{}}));if(M.UploadId===void 0||M.UploadId==="")throw new Error("media upload: CreateMultipartUpload \u672A\u8FD4\u56DE UploadId");a=M.UploadId,c.clear();}let p=M=>Math.min(r,t.sourceBytes-(M-1)*r),y=0;for(let M of c.keys())y+=p(M);let S=mo(t,y),f=go(n.handler,S),u=()=>({bucket:n.bucket,key:n.key,uploadId:a,partSize:r,sourceBytes:t.sourceBytes,parts:[...c.values()].sort((M,d)=>M.partNumber-d.partNumber)});e.onResumable?.(u()),S.report();let P=1;async function v(){for(;;){if(t.signal?.aborted===true)return;let M=P;if(P+=1,M>i)return;if(c.has(M))continue;let d=(M-1)*r,g=Math.min(d+r,t.sourceBytes),C=await n.client.send(new n.commands.UploadPartCommand({Bucket:n.bucket,Key:n.key,UploadId:a,PartNumber:M,Body:Bc(t.data,d,g)}),t.signal===void 0?{}:{abortSignal:t.signal});if(C.ETag===void 0||C.ETag==="")throw new Error(`media upload: Part ${M} ${Yn}`);c.set(M,{partNumber:M,etag:C.ETag}),S.completePart(M,g-d),e.onResumable?.(u());}}try{if(await Promise.all(Array.from({length:Math.max(1,o)},()=>v())),t.signal?.aborted===!0)throw new DOMException("media upload canceled","AbortError");await n.client.send(new n.commands.CompleteMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:a,MultipartUpload:{Parts:[...c.values()].sort((M,d)=>M.partNumber-d.partNumber).map(M=>({PartNumber:M.partNumber,ETag:M.etag}))}}));}finally{f();}}async function Xn(e,n){await e.client.send(new e.commands.AbortMultipartUploadCommand({Bucket:n.bucket,Key:n.key,UploadId:n.uploadId}));}var Nc=16*1024*1024,Kc=3,Gc=6,ho=8;function Lc(e){return Math.ceil(e/ho)*ho}function Hc(e){if(e instanceof Uint8Array)return e.byteLength;if(typeof Blob<"u"&&e instanceof Blob)return e.size}var Co="\u5206\u7247\u4E0A\u4F20\u8981\u6C42\u8BE5 bucket \u7684 CORS \u653E\u884C POST\uFF08Create/CompleteMultipartUpload\uFF09\u3001DELETE\uFF08AbortMultipartUpload\uFF09\u5E76 ExposeHeaders: ETag";function $c(e){return e instanceof Error&&e.message.includes(Yn)}function Fc(e,n,t){return t!==void 0?new j("multipart-abort-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\u540E\u7684 AbortMultipartUpload \u6E05\u7406\u672A\u6210\u529F\uFF0C\u5DF2\u4E0A\u4F20\u5206\u7247\u53EF\u80FD\u6B8B\u7559\u5728 bucket \u4E2D\u5E76\u7EE7\u7EED\u8BA1\u8D39\uFF08\u5EFA\u8BAE\u6876\u4FA7\u914D\u7F6E AbortIncompleteMultipartUpload \u751F\u547D\u5468\u671F\u89C4\u5219\uFF09\uFF1B${Co}`,{cause:t}):$c(e)?new j("multipart-etag-missing","media upload: \u5206\u7247\u54CD\u5E94\u8BFB\u4E0D\u5230 ETag\uFF0C\u8FD9\u662F bucket CORS \u7F3A\u5C11 ExposeHeaders: ETag \u7684\u914D\u7F6E\u95EE\u9898\uFF0C\u4E0D\u662F\u7F51\u7EDC\u95EE\u9898",{cause:e}):n&&!(e instanceof Error&&e.name==="AbortError")?new j("multipart-upload-failed",`media upload: \u5206\u7247\u4E0A\u4F20\u5931\u8D25\uFF1B${Co}`,{cause:e}):e}var Jc=new Set(["upload-source-invalid","multipart-etag-missing","multipart-abort-failed"]);function bo(e,n){let t=e?.transport;if(!(t?.session===void 0||t.logicalBucket!==n))return t}var ze;function Po(){if(ze!==void 0)return ze;let n=Promise.all([import('@aws-sdk/client-s3'),import('@aws-sdk/xhr-http-handler')]).then(([t,r])=>({S3Client:t.S3Client,commands:{PutObjectCommand:t.PutObjectCommand,CreateMultipartUploadCommand:t.CreateMultipartUploadCommand,UploadPartCommand:t.UploadPartCommand,CompleteMultipartUploadCommand:t.CompleteMultipartUploadCommand,AbortMultipartUploadCommand:t.AbortMultipartUploadCommand},XhrHttpHandler:r.XhrHttpHandler})).catch(t=>{throw ze===n&&(ze=void 0),t});return ze=n,n}function Vc(e){if(e===void 0)return "";let n=e.lastIndexOf(".");return n>=0?e.slice(n):""}function jc(e){return globalThis.crypto.randomUUID()+Vc(e)}function wo(e,n){let t=e.keyPrefix??"";return t===""||n.startsWith(t)?n:`${t}${n}`}function qc(e){let n=Ut(e.getUploadCredentials),t=0;function r(){let f=Math.min(Kc,Math.max(1,Gc-t));t+=f;let u=false;return {queueSize:f,release(){u||(u=true,t-=f);}}}function o(f,u){if(f==="avatar")return e.avatarBucket??"";if(u==="channel"){let P=e.channelBuckets?.[f]??"";if(P!=="")return P}return e.buckets[f]??""}function i(f,u,P){let{region:v}=u;return new f.S3Client({region:v,credentials:{accessKeyId:u.accessKeyId,secretAccessKey:u.secretAccessKey,sessionToken:u.sessionToken,...u.expiresAtSeconds===void 0?{}:{expiration:new Date(u.expiresAtSeconds*1e3)}},useAccelerateEndpoint:(e.useAccelerateEndpoint??true)&&!v.toLowerCase().startsWith("cn-"),requestChecksumCalculation:"WHEN_REQUIRED",requestHandler:P})}async function s(f,u,P,v,M,d,g){let C=Lc(Nc),m=e.multipartUpload!==false&&g>C,h=m?r():{queueSize:1,release:()=>{}},x=new f.XhrHttpHandler({}),R=i(f,M,x),b={client:R,handler:x,commands:f.commands,bucket:M.bucket,key:d,...u.mimeType!==void 0&&u.mimeType!==""?{mimeType:u.mimeType}:{}},w={data:u.data,sourceBytes:g,...u.onProgress===void 0?{}:{onProgress:u.onProgress},...u.signal===void 0?{}:{signal:u.signal}},A,l=_=>{A=_;let k=0;for(let T of _.parts)k+=Math.min(_.partSize,_.sourceBytes-(T.partNumber-1)*_.partSize);u.onResumable?.({bytesUploaded:k,transport:{logicalBucket:P,objectName:v,session:_}});},I;try{if(!m){await yo(b,w);return}let _=bo(u.resume,P)?.session;try{await Qn({target:b,content:w,partSize:C,queueSize:h.queueSize,..._===void 0?{}:{resume:_},onResumable:l});}catch(k){if(!fo(k)||_===void 0)throw k;A=void 0,await Qn({target:b,content:w,partSize:C,queueSize:h.queueSize,onResumable:l});}}catch(_){if(u.signal?.aborted===true&&A!==void 0)try{await Xn(b,A);}catch(k){I=k;}throw Fc(_,m,I)}finally{h.release(),R.destroy();}}async function c(f,u,P){let v=o(u,P);if(v==="")throw new j("bucket-unconfigured",`media upload: kind=${u} \u7684\u903B\u8F91\u6876\u540D\u672A\u914D\u7F6E\uFF08\u5BBF\u4E3B IM \u5BF9\u8C61\u5B58\u50A8\u914D\u7F6E\u7F3A\u8BE5\u8D44\u6E90\u7C7B\u578B\uFF09`);let M=Hc(f.data);if(M===void 0)throw new j("upload-source-invalid","media upload: \u4E0A\u4F20\u5185\u5BB9\u5FC5\u987B\u662F Uint8Array \u6216 Blob");let d=await Po(),g=bo(f.resume,v)?.objectName??jc(f.filename),C=await n.resolve(v),m=wo(C,g);try{await s(d,f,v,g,C,m,M);}catch(h){if(f.signal?.aborted||h instanceof j&&Jc.has(h.code))throw h;C=await n.resolve(v,{forceRefresh:true}),m=wo(C,g),await s(d,f,v,g,C,m,M);}return f.onProgress?.({percent:100,bytesTransferred:M,bytesTotal:M,phase:"finalizing"}),{url:`${C.dnsPoint}/${m}`}}function a(f){return c(f,f.kind,f.conversationType)}function p(f){return c(f,"avatar")}async function y(f){let u=f.transport;if(u?.session===void 0||u.session.uploadId==="")return;let P=await Po(),v=await n.resolve(u.logicalBucket),M=new P.XhrHttpHandler({}),d=i(P,v,M);try{await Xn({client:d,commands:P.commands},u.session);}finally{d.destroy();}}async function S(f){if(f.onProgress!==void 0&&typeof XMLHttpRequest<"u")return zc(f);let u=await fetch(f.url,f.signal!==void 0?{signal:f.signal}:{});if(!u.ok)throw new Error(`media download \u5931\u8D25\uFF1AHTTP ${u.status} ${f.url}`);return f.onProgress===void 0||u.body===null?f.preferBlob===true?await u.blob():new Uint8Array(await u.arrayBuffer()):Wc(u,f.onProgress,f.expectedBytes,f.preferBlob===true)}return {upload:a,uploadAvatar:p,download:S,abandonUpload:y}}function zc(e){let n=e.preferBlob===true;return new Promise((t,r)=>{let o=new XMLHttpRequest,i=false,s=()=>{},c=()=>{e.signal?.removeEventListener("abort",s),o.onprogress=null,o.onload=null,o.onerror=null,o.onabort=null;},a=p=>{i||(i=true,c(),p());};if(s=()=>{o.abort(),a(()=>r(new DOMException("media download canceled","AbortError")));},o.open("GET",e.url,true),o.responseType=n?"blob":"arraybuffer",o.onprogress=p=>{let y=e.expectedBytes!==void 0&&Number.isFinite(e.expectedBytes)&&e.expectedBytes>0?Math.floor(e.expectedBytes):0,S=p.lengthComputable&&p.total>0?p.total:y,f=S>0?Math.min(99,Math.round(p.loaded/S*100)):0;e.onProgress?.({percent:f,bytesTransferred:p.loaded,bytesTotal:S});},o.onload=()=>{if(o.status<200||o.status>=300){a(()=>r(new Error(`media download \u5931\u8D25\uFF1AHTTP ${o.status} ${e.url}`)));return}let p=o.response;if(n){if(!(typeof Blob<"u"&&p instanceof Blob)){a(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE Blob")));return}a(()=>t(p));return}if(!(p instanceof ArrayBuffer)){a(()=>r(new Error("media download \u5931\u8D25\uFF1AXHR \u672A\u8FD4\u56DE ArrayBuffer")));return}a(()=>t(new Uint8Array(p)));},o.onerror=()=>a(()=>r(new Error(`media download \u5931\u8D25\uFF1Anetwork ${e.url}`))),o.onabort=()=>a(()=>r(new DOMException("media download canceled","AbortError"))),e.signal?.aborted){s();return}e.signal?.addEventListener("abort",s,{once:true}),o.send();})}async function Wc(e,n,t,r=false){let o=Number(e.headers.get("content-length")??0),i=t!==void 0&&Number.isFinite(t)&&t>0?Math.floor(t):0,s=o>0?o:i,c=e.body.getReader(),a=[],p=0;for(;;){let{done:f,value:u}=await c.read();if(f)break;a.push(u),p+=u.byteLength;let P=s>0?Math.min(99,Math.round(p/s*100)):0;n({percent:P,bytesTransferred:p,bytesTotal:s});}if(r)return new Blob(a,{type:e.headers.get("content-type")??""});let y=new Uint8Array(p),S=0;for(let f of a)y.set(f,S),S+=f.byteLength;return y}function Yc(){let e=globalThis;return typeof e.addEventListener=="function"&&typeof e.removeEventListener=="function"?e:void 0}function Qc(e,n={}){let t=n.target!==void 0?n.target:Yc(),r=n.visibilitySource!==void 0?n.visibilitySource:globalThis.document,o=n.pageLifecycleSource!==void 0?n.pageLifecycleSource:t,i=false,s=()=>e.onOnline?.(),c=()=>e.onOffline?.(),a=()=>{r!=null&&r.visibilityState==="visible"&&e.onVisible?.();},p=()=>e.onPageHide?.(),y=()=>e.onPageShow?.();return {start(){i||(i=true,t!=null&&(t.addEventListener("online",s),t.addEventListener("offline",c)),r?.addEventListener("visibilitychange",a),o!=null&&(o.addEventListener("pagehide",p),o.addEventListener("pageshow",y)));},stop(){i&&(i=false,t!=null&&(t.removeEventListener("online",s),t.removeEventListener("offline",c)),r?.removeEventListener("visibilitychange",a),o!=null&&(o.removeEventListener("pagehide",p),o.removeEventListener("pageshow",y)));},get running(){return i}}}var ed=12,nd=2*1024*1024*1024,Io=1024*1024*1024,td=512*1024*1024,rd=256*1024*1024,od=64*1024,Zn="channel:list-version",So="schema:conversation-key-v1",et="default",be="\uFFFF";function vo(e){if(!(e===void 0||!/^\d+$/.test(e)))return e.replace(/^0+(?=\d)/,"")}function id(e,n){let t=vo(e),r=vo(n);return t===void 0?r===void 0?0:-1:r===void 0?1:t.length!==r.length?t.length>r.length?1:-1:t===r?0:t>r?1:-1}function We(e){return `conversation:${ya$1(e)}`}function nt(e,n){return `${ya$1(e)}\0${n}`}function ad(e){let n=ya$1(e.conversation);return {...e,key:nt(e.conversation,e.messageId),conversationKey:n,conversation:{...e.conversation},sContent:e.sContent.slice()}}function sd(e){let{key:n,conversationKey:t,...r}=e;return {...r,conversation:{...r.conversation},sContent:r.sContent.slice()}}function Ao(e){return {...e,conversationKey:ya$1(va$1(e))}}function Pe(e){let{conversationKey:n,...t}=e;return t}function gn(e){return {...e,id:ya$1(wa$1(e)),conversationId:e.id}}function tt(e){if(e.conversationId===void 0)return e;let{conversationId:n,...t}=e;return {...t,id:n}}function rt(e){return e.conversationType===void 0?e:{...e,conversationId:ya$1(e),storageConversationId:e.conversationId}}function _o(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function xo(e){return {...e,conversationId:ya$1(xa$1(e)),storageConversationId:e.conversationId}}function ot(e){if(e.storageConversationId===void 0)return e;let{storageConversationId:n,...t}=e;return {...t,conversationId:n}}function cd(e){return {...e,conversationKey:ya$1(e.ref)}}function dd(e){let{conversationKey:n,...t}=e;return t}function ud(e){return typeof e=="string"?e:e.conversationId}function Ye(e,n){if(new Set(n.map(t=>t.conversationType)).size>1)throw new Error(`\u88F8 conversationId \u5B58\u5728\u591A\u7C7B\u578B\u6B67\u4E49\uFF1A${e}`)}async function ld(e){let n=e.transaction(["messages","sessions","readStates","pinnedMessages","meta"],"readwrite");try{let t=n.objectStore("meta");if((await t.get(So))?.value===!0){await n.done;return}let r=n.objectStore("messages");for(let a of await r.getAll())a.conversationKey===void 0&&await r.put(Ao(a));let o=n.objectStore("sessions"),i=new Map;for(let a of await o.getAll()){if(a.conversationId!==void 0)continue;let p=tt(a);i.set(p.id,p.type),await o.put(gn(p)),await o.delete(a.id);}let s=n.objectStore("readStates");for(let a of await s.getAll()){if(a.storageConversationId!==void 0)continue;let p=a.conversationType??i.get(a.conversationId);if(p===void 0)continue;let y={...a,conversationType:p};await s.put(rt(y)),await s.delete(a.conversationId);}let c=n.objectStore("pinnedMessages");for(let a of await c.getAll()){if(a.storageConversationId!==void 0)continue;let p=ot(a);await c.put(xo(p)),await c.delete(a.conversationId);}await t.put({key:So,value:!0}),await n.done;}catch(t){try{n.abort();}catch{}try{await n.done;}catch{}throw t}}function Mo(e){return `${e.kind}:${encodeURIComponent(e.messageId)}:${e.resourceVersion}`}async function pd(e,n){let t=n.namespaceFactory.forAccount(e).name("durable","storage","indexed-db");typeof indexedDB>"u"||await deleteDB(t);}function fd(e){let{namespaceFactory:n}=e,t=null,r=null,o=0,i=Promise.resolve(),s=0,c=e.mediaAssetCache?.maxPendingWriteBytes??rd;if(!Number.isSafeInteger(c)||c<=0)throw new RangeError("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u5F85\u5199\u5185\u5B58\u9884\u7B97\u5FC5\u987B\u662F\u6B63\u6574\u6570");function a(){if(t===null)throw new Error("ImStoragePort \u672A open\uFF1A\u8BF7\u5148 open({ namespace }) \u518D\u8BFB\u5199");return t}async function p(d){if(typeof d!="string")return;let g=IDBKeyRange.bound([d,""],[d,be]),C=(await a().transaction("messages").store.index("by_conv_sort").getAll(g)).map(Pe);Ye(d,C);}function y(d){let g=i.then(d,d);return i=g.then(()=>{},()=>{}),g}function S(d,g){if(d!==o||g===null||g!==r)throw new Error("\u5A92\u4F53\u8D44\u4EA7\u7F13\u5B58\u8D26\u53F7\u4EE3\u9645\u5DF2\u5931\u6548")}function f(){return Math.max(0,Math.floor(e.mediaAssetCache?.now?.()??Date.now()))}async function u(d){let g=e.mediaAssetCache?.estimateStorage??(async()=>typeof navigator>"u"||navigator.storage?.estimate===void 0?{}:await navigator.storage.estimate());try{let{quota:C,usage:m}=await g();if(C===void 0||!Number.isFinite(C)||C<=0)return Io;let h=d.reduce((b,w)=>b+w.byteLength,0),x=Math.max(0,(m??0)-h),R=Math.max(td,Math.floor(C*.2));return Math.max(0,Math.min(nd,Math.floor(C-x-R)))}catch{return Io}}async function P(d,g,C){if(d.length===0)return;S(g,C);let m=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all(d.flatMap(h=>[m.objectStore("mediaAssets").delete(h),m.objectStore("mediaAssetMeta").delete(h)])),await m.done;}async function v(d,g,C,m){S(d,g);let h=a(),x=e.mediaAssetCache?.strategies;if(x===void 0)return;let R=m??await h.getAll("mediaAssetMeta");S(d,g);let b=new Set;for(let I of x.list()){let _=R.filter(D=>D.kind===I.kind).sort((D,U)=>D.lastAccessedAt-U.lastAccessedAt),k=_.reduce((D,U)=>D+U.byteLength,0),T=_.length;for(let D of _){if(k<=I.softMaxBytes&&T<=I.maxEntries)break;b.add(D.key),k-=D.byteLength,T-=1;}}let w=R.filter(I=>!b.has(I.key)).sort((I,_)=>I.lastAccessedAt-_.lastAccessedAt),A=Math.max(0,Math.min(await u(R),C??Number.POSITIVE_INFINITY)),l=w.reduce((I,_)=>I+_.byteLength,0);for(let I of w){if(l<=A)break;b.add(I.key),l-=I.byteLength;}await P([...b],d,g);}async function M(d,g,C){S(g,C);let m=e.mediaAssetCache?.strategies.resolve(d.kind);if(m===void 0)return "skipped";let h=d.bytes,x=await a().getAll("mediaAssetMeta"),R=await u(x);if(S(g,C),h.byteLength===0||h.byteLength>m.maxEntryBytes||R<=0||h.byteLength>Math.floor(R/2))return "skipped";let b=Mo(d),w=f(),A=x.find(T=>T.key===b),l={key:b,kind:d.kind,messageId:d.messageId,resourceVersion:d.resourceVersion,byteLength:h.byteLength,...d.mimeType===void 0?{}:{mimeType:d.mimeType},createdAt:A?.createdAt??w,lastAccessedAt:w},I=async()=>{S(g,C);let T=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([T.objectStore("mediaAssets").put({key:b,bytes:h}),T.objectStore("mediaAssetMeta").put(l)]),await T.done;},_=false;try{await I();}catch(T){if(!(T instanceof DOMException)||T.name!=="QuotaExceededError")throw T;_=true,await v(g,C,Math.max(0,R-h.byteLength)),await I();}let k=A===void 0?[...x,l]:x.map(T=>T.key===b?l:T);return await v(g,C,void 0,_?void 0:k),S(g,C),await a().get("mediaAssets",b)===void 0?"skipped":"stored"}return {async open({namespace:d}){if(t!==null&&r===d)return;t!==null&&(t.close(),t=null),r=d;let g=++o,C=n.forAccount(d).name("durable","storage","indexed-db"),m=await openDB(C,ed,{upgrade(h,x,R,b){if(h.objectStoreNames.contains("messages"))b.objectStore("messages").indexNames.contains("by_conversation_key_sort")||b.objectStore("messages").createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);else {let w=h.createObjectStore("messages",{keyPath:"id"});w.createIndex("by_conv_sort",["conversationId","sortKey"]),w.createIndex("by_conversation_key_sort",["conversationKey","sortKey"]);}if(h.objectStoreNames.contains("sessions")||h.createObjectStore("sessions",{keyPath:"id"}),h.objectStoreNames.contains("readStates")||h.createObjectStore("readStates",{keyPath:"conversationId"}),h.objectStoreNames.contains("drafts")||h.createObjectStore("drafts",{keyPath:"conversationKey"}),h.objectStoreNames.contains("outbox")||h.createObjectStore("outbox",{keyPath:"id"}),h.objectStoreNames.contains("meta")||h.createObjectStore("meta",{keyPath:"key"}),h.objectStoreNames.contains("userProfiles")||h.createObjectStore("userProfiles",{keyPath:"id"}),h.objectStoreNames.contains("groupMembers")||h.createObjectStore("groupMembers",{keyPath:"groupId"}),h.objectStoreNames.contains("groupProfiles")||h.createObjectStore("groupProfiles",{keyPath:"id"}),h.objectStoreNames.contains("pinnedMessages")||h.createObjectStore("pinnedMessages",{keyPath:"conversationId"}),h.objectStoreNames.contains("channelProfiles")||h.createObjectStore("channelProfiles",{keyPath:"id"}),h.objectStoreNames.contains("channelMembers")||h.createObjectStore("channelMembers",{keyPath:["channelId","userId"]}),h.objectStoreNames.contains("channelMemberSnapshots")||h.createObjectStore("channelMemberSnapshots",{keyPath:"channelId"}),h.objectStoreNames.contains("channelMentionCandidateSnapshots")||h.createObjectStore("channelMentionCandidateSnapshots",{keyPath:"channelId"}),h.objectStoreNames.contains("conversationBackgrounds")||h.createObjectStore("conversationBackgrounds",{keyPath:"key"}),h.objectStoreNames.contains("mediaAssets")||h.createObjectStore("mediaAssets",{keyPath:"key"}),!h.objectStoreNames.contains("mediaAssetMeta")){let w=h.createObjectStore("mediaAssetMeta",{keyPath:"key"});w.createIndex("by_kind_access",["kind","lastAccessedAt"]),w.createIndex("by_access","lastAccessedAt");}h.objectStoreNames.contains("decryptRecoveries")||h.createObjectStore("decryptRecoveries",{keyPath:"key"}).createIndex("by_conversation","conversationKey");}});if(g!==o){m.close();return}try{await ld(m);}catch(h){throw m.close(),h}if(g!==o){m.close();return}t=m;},async close(){o+=1,r=null,t!==null&&(t.close(),t=null);},async clearRebuildableCaches(){let d=o,g=r;await y(async()=>{S(d,g);let m=a().transaction(["userProfiles","groupMembers","groupProfiles","channelProfiles","channelMembers","channelMemberSnapshots","channelMentionCandidateSnapshots","mediaAssets","mediaAssetMeta","meta"],"readwrite");await Promise.all([m.objectStore("userProfiles").clear(),m.objectStore("groupMembers").clear(),m.objectStore("groupProfiles").clear(),m.objectStore("channelProfiles").clear(),m.objectStore("channelMembers").clear(),m.objectStore("channelMemberSnapshots").clear(),m.objectStore("channelMentionCandidateSnapshots").clear(),m.objectStore("mediaAssets").clear(),m.objectStore("mediaAssetMeta").clear(),m.objectStore("meta").delete(Zn),m.done]);});},async get(d){let g=o,C=r;return await y(async()=>{if(S(g,C),e.mediaAssetCache?.strategies.resolve(d.kind)===void 0)return null;let m=Mo(d),h=a(),[x,R]=await Promise.all([h.get("mediaAssets",m),h.get("mediaAssetMeta",m)]);return S(g,C),x===void 0||R===void 0?(await P([m],g,C),null):(await h.put("mediaAssetMeta",{...R,lastAccessedAt:f()}),{kind:R.kind,messageId:R.messageId,resourceVersion:R.resourceVersion,bytes:x.bytes,...R.mimeType===void 0?{}:{mimeType:R.mimeType}})})},async put(d){let g=o,C=r;S(g,C);let m=d.bytes.byteLength;if(m>c||s+m>c)return "skipped";s+=m;try{return await y(()=>M(d,g,C))}finally{s=Math.max(0,s-m);}},async clear(){let d=o,g=r;await y(async()=>{S(d,g);let C=a().transaction(["mediaAssets","mediaAssetMeta"],"readwrite");await Promise.all([C.objectStore("mediaAssets").clear(),C.objectStore("mediaAssetMeta").clear(),C.done]);});},async getMessage(d,g){let C=await a().get("messages",g);if(C===void 0)return null;let m=Pe(C);return ya$1(va$1(m))===ya$1(d)?m:null},async getMessages(d,g){let C=typeof d=="string"?"by_conv_sort":"by_conversation_key_sort",m=typeof d=="string"?d:ya$1(d);if(await p(d),g.beforeSortKey===void 0&&g.afterSortKey!==void 0){let b=IDBKeyRange.bound([m,g.afterSortKey],[m,be]),w=[],A=await a().transaction("messages").store.index(C).openCursor(b,"next");for(;A!==null&&w.length<g.limit;)w.push(A.value),A=await A.continue();return w.map(Pe)}let h=g.beforeSortKey===void 0?IDBKeyRange.bound([m,""],[m,be]):IDBKeyRange.bound([m,""],[m,g.beforeSortKey],false,true),x=[],R=await a().transaction("messages").store.index(C).openCursor(h,"prev");for(;R!==null&&x.length<g.limit;)x.push(R.value),R=await R.continue();return x.reverse().map(Pe)},async saveMessages(d){if(d.length===0)return;let g=a().transaction("messages","readwrite");await Promise.all([...d.map(C=>g.store.put(Ao(C))),g.done]);},async searchMessages(d,g){let C=ya$1(d),m=g.keyword?.trim()??"",h=g.contentTypes;if(m===""&&(h===void 0||h.length===0))return {items:[],exhausted:true};let x=m===""?void 0:await Z$1(m),R=g.beforeSortKey===void 0?IDBKeyRange.bound([C,""],[C,be]):IDBKeyRange.bound([C,""],[C,g.beforeSortKey],false,true),b=2e3,w=[],A=0,l,I=await a().transaction("messages").store.index("by_conversation_key_sort").openCursor(R,"prev");for(;I!==null&&w.length<g.limit&&A<b;){let k=ba$1(Pe(I.value));A+=1,l=k.sortKey;let T=h===void 0||h.includes(k.contentType),D=x===void 0||x.match(X$1(k))!==null;T&&D&&w.push(k),I=await I.continue();}let _=I===null;return {items:w,exhausted:_,..._?{}:{nextBeforeSortKey:l}}},async getDecryptRecoveries(d){let g=ya$1(d);return (await a().getAllFromIndex("decryptRecoveries","by_conversation",g)).map(sd)},async saveDecryptRecovery(d){if(d.sContent.byteLength===0||d.sContent.byteLength>od)throw new Error(`\u89E3\u5BC6\u6062\u590D\u5BC6\u6587\u5B57\u8282\u957F\u5EA6\u975E\u6CD5\uFF1A${d.sContent.byteLength}`);await a().put("decryptRecoveries",ad(d));},async deleteDecryptRecovery(d,g){await a().delete("decryptRecoveries",nt(d,g));},async deleteConversationDecryptRecoveries(d){let g=ya$1(d),C=a().transaction("decryptRecoveries","readwrite"),m=await C.store.index("by_conversation").openCursor(IDBKeyRange.only(g));for(;m!==null;)await m.delete(),m=await m.continue();await C.done;},async getSessions(){return (await a().getAll("sessions")).map(tt)},async saveSessions(d){if(d.length===0)return;let g=a().transaction("sessions","readwrite");for(let C of d)await g.store.put(gn(C)),await g.store.delete(C.id);await g.done;},async deleteSession(d){if(typeof d!="string"){let m=a().transaction(["sessions","conversationBackgrounds"],"readwrite");await m.objectStore("sessions").delete(ya$1(d)),await m.objectStore("conversationBackgrounds").delete(We(d)),await m.done;return}let g=(await a().getAll("sessions")).map(tt).filter(m=>m.id===d);Ye(d,g.map(m=>({conversationType:m.type})));let C=a().transaction(["sessions","conversationBackgrounds"],"readwrite");if(g[0]!==void 0){let m=wa$1(g[0]);await C.objectStore("sessions").delete(ya$1(m)),await C.objectStore("conversationBackgrounds").delete(We(m));}await C.objectStore("sessions").delete(d),await C.done;},async deleteReadState(d){if(typeof d!="string"){await a().delete("readStates",ya$1(d));return}let C=(await a().getAll("readStates")).map(_o).filter(m=>m.conversationId===d).filter(m=>m.conversationType!==void 0);Ye(d,C),C[0]!==void 0&&await a().delete("readStates",ya$1(C[0])),await a().delete("readStates",d);},async deleteMessage(d,g,C){let m=a().transaction(["messages","sessions","decryptRecoveries"],"readwrite"),h=await m.objectStore("messages").get(g);if(h!==void 0){let x=Pe(h);if(x.conversationType!==d.conversationType||x.conversationId!==d.conversationId)return await m.done,false;await m.objectStore("messages").delete(g);}return await m.objectStore("decryptRecoveries").delete(nt(d,g)),C!==void 0&&await m.objectStore("sessions").put(gn(C)),await m.done,h!==void 0},async deleteConversationMessages(d){let g=ud(d),C=typeof d=="string"?"by_conv_sort":"by_conversation_key_sort",m=typeof d=="string"?d:ya$1(d),h=IDBKeyRange.bound([m,""],[m,be]),x=a().transaction(["messages","decryptRecoveries"],"readwrite"),R=x.objectStore("messages"),b=x.objectStore("decryptRecoveries"),w=[];if(typeof d=="string"){let l=(await R.index("by_conv_sort").getAll(h)).map(Pe);w=(await b.getAll()).filter(I=>I.conversation.conversationId===d),Ye(g,[...l,...w.map(I=>({conversationType:I.conversation.conversationType}))]);}let A=await R.index(C).openCursor(h);for(;A!==null;)await A.delete(),A=await A.continue();if(typeof d=="string")for(let l of w)await b.delete(l.key);else {let l=await b.index("by_conversation").openCursor(IDBKeyRange.only(ya$1(d)));for(;l!==null;)await l.delete(),l=await l.continue();}await x.done;},async clearConversationHistory(d,g,C){let m=ya$1(d),h=IDBKeyRange.bound([m,""],[m,be]),x=a().transaction(["messages","sessions","readStates","decryptRecoveries"],"readwrite"),R=await x.objectStore("messages").index("by_conversation_key_sort").openCursor(h);for(;R!==null;)await R.delete(),R=await R.continue();let b=await x.objectStore("decryptRecoveries").index("by_conversation").openCursor(IDBKeyRange.only(m));for(;b!==null;)await b.delete(),b=await b.continue();g!==void 0&&await x.objectStore("sessions").put(gn(g)),C!==void 0&&(await x.objectStore("readStates").put(rt(C)),await x.objectStore("readStates").delete(C.conversationId)),await x.done;},async getReadStates(){return (await a().getAll("readStates")).map(_o)},async saveReadState(d){let g=a().transaction("readStates","readwrite");await g.store.put(rt(d)),d.conversationType!==void 0&&await g.store.delete(d.conversationId),await g.done;},async getDrafts(){return (await a().getAll("drafts")).map(dd)},async saveDraft(d){await a().put("drafts",cd(d));},async deleteDraft(d){await a().delete("drafts",ya$1(d));},async getConversationBackground(d){return (await a().get("conversationBackgrounds",We(d)))?.background??null},async saveConversationBackground(d,g){let C=We(d);await a().put("conversationBackgrounds",{key:C,background:g});},async deleteConversationBackground(d){await a().delete("conversationBackgrounds",We(d));},async getDefaultConversationBackground(){return (await a().get("conversationBackgrounds",et))?.background??null},async saveDefaultConversationBackground(d){await a().put("conversationBackgrounds",{key:et,background:d});},async deleteDefaultConversationBackground(){await a().delete("conversationBackgrounds",et);},async getOutbox(){return a().getAll("outbox")},async saveOutboxMessage(d){await a().put("outbox",d);},async removeOutboxMessage(d){await a().delete("outbox",d);},async getPinnedMessages(){return (await a().getAll("pinnedMessages")).map(ot)},async savePinnedMessage(d){let g=a().transaction("pinnedMessages","readwrite");await g.store.put(xo(d)),await g.store.delete(d.conversationId),await g.done;},async removePinnedMessage(d){if(typeof d!="string"){await a().delete("pinnedMessages",ya$1(d));return}let g=(await a().getAll("pinnedMessages")).map(ot).filter(C=>C.conversationId===d);Ye(d,g),g[0]!==void 0&&await a().delete("pinnedMessages",ya$1(xa$1(g[0]))),await a().delete("pinnedMessages",d);},async getMeta(d){let g=await a().get("meta",d);return g===void 0?null:g.value},async setMeta(d,g){await a().put("meta",{key:d,value:g});},async getUserProfile(d){return await a().get("userProfiles",d)??null},async saveUserProfile(d){await a().put("userProfiles",d);},async getGroupMembers(d){return await a().get("groupMembers",d)??null},async saveGroupMembers(d){await a().put("groupMembers",d);},async getGroupProfile(d){return await a().get("groupProfiles",d)??null},async saveGroupProfile(d){await a().put("groupProfiles",d);},async getChannelProfile(d){return await a().get("channelProfiles",d)??null},async getChannelProfiles(){return a().getAll("channelProfiles")},async saveChannelProfiles(d){if(d.length===0)return;let g=a().transaction("channelProfiles","readwrite");await Promise.all([...d.map(C=>g.store.put(C)),g.done]);},async getChannelListVersion(){let d=await a().get("meta",Zn);return typeof d?.value=="string"&&/^\d+$/.test(d.value)?d.value:"0"},async saveChannelListVersion(d){if(!/^\d+$/.test(d))throw new Error(`CHANNEL list version \u975E\u6CD5\uFF1A${d}`);await a().put("meta",{key:Zn,value:d});},async getChannelMembers(d,g){if(g.length===0)return [];let C=a().transaction("channelMembers"),m=await Promise.all(g.map(h=>C.store.get([d,h])));return await C.done,m.filter(h=>h!==void 0)},async saveChannelMembers(d){if(d.length===0)return;let g=a().transaction("channelMembers","readwrite");for(let C of d){let m=await g.store.get([C.channelId,C.userId]);m!==void 0&&id(C.updateVersion,m.updateVersion)<0||await g.store.put(C);}await g.done;},async deleteChannelMembers(d){let g=IDBKeyRange.bound([d,""],[d,be]),C=a().transaction("channelMembers","readwrite"),m=await C.store.openCursor(g);for(;m!==null;)await m.delete(),m=await m.continue();await C.done;},async getChannelMemberSnapshot(d){return await a().get("channelMemberSnapshots",d)??null},async saveChannelMemberSnapshot(d){await a().put("channelMemberSnapshots",d);},async deleteChannelMemberSnapshot(d){await a().delete("channelMemberSnapshots",d);},async getChannelMentionCandidateSnapshot(d){return await a().get("channelMentionCandidateSnapshots",d)??null},async saveChannelMentionCandidateSnapshot(d){await a().put("channelMentionCandidateSnapshots",d);},async deleteChannelMentionCandidateSnapshot(d){await a().delete("channelMentionCandidateSnapshots",d);}}}function md(e={}){let n=e.createSocket??(u=>new globalThis.WebSocket(u)),t=e.connectTimeoutMs??1e4,r={open:new Set,message:new Set,close:new Set,error:new Set},o,i,s="idle",c;function a(u,P){for(let v of [...r[u]])v(P);}function p(){c!==void 0&&(clearTimeout(c),c=void 0);}function y(u,P){P!==void 0&&(u.removeEventListener("open",P.onOpen),u.removeEventListener("message",P.onMessage),u.removeEventListener("error",P.onError),u.removeEventListener("close",P.onClose));}function S(){if(p(),o!==void 0){y(o,i);try{o.close(1e3);}catch{}o=void 0;}i=void 0;}function f(u,P,v){let M={onOpen:()=>{u===o&&(p(),s="open",a("open",{endpoint:P}));},onMessage:d=>{if(u!==o)return;let g=d?.data;if(g instanceof ArrayBuffer){a("message",{data:g});return}a("error",{error:new Error(`WsTransport\uFF1A\u6536\u5230\u975E ArrayBuffer \u6D88\u606F\uFF08${typeof g}\uFF09\uFF0C\u5DF2\u5FFD\u7565`)});},onError:d=>{u===o&&a("error",{error:new Error(`WsTransport\uFF1AWebSocket error \u4E8B\u4EF6\uFF08${d instanceof Event?d.type:typeof d}\uFF09`)});},onClose:d=>{u===o&&(p(),y(u,M),o=void 0,i=void 0,s="closed",a("close",{code:d?.code??1006,reason:d?.reason??"",wasClean:d?.wasClean??false}));}};if(i=M,u.addEventListener("open",M.onOpen),u.addEventListener("message",M.onMessage),u.addEventListener("error",M.onError),u.addEventListener("close",M.onClose),v>0){let d=setTimeout(()=>{if(!(u!==o||s!=="connecting")){a("error",{error:new Error(`WsTransport\uFF1A\u8FDE\u63A5\u8D85\u65F6\uFF08${v}ms \u672A open\uFF09`)});try{u.close();}catch{}}},v);d.unref?.(),c=d;}}return {get state(){return s},async connect(u,P){let v=u[0];if(v===void 0)throw new Error("WsTransport.connect\uFF1Aendpoints \u4E3A\u7A7A\uFF08P0 single \u7B56\u7565\u9700\u81F3\u5C11\u4E00\u4E2A\u7AEF\u70B9\uFF09");S(),s="connecting";let M;try{M=n(v.url);}catch(d){throw s="closed",d}M.binaryType="arraybuffer",o=M,f(M,v,P?.connectTimeoutMs??t);},async send(u){if(o===void 0||s!=="open")throw new Error(`WsTransport.send\uFF1A\u8FDE\u63A5\u672A\u5C31\u7EEA\uFF08state=${s}\uFF09\uFF0C\u62D2\u7EDD\u53D1\u9001`);o.send(u);},async close(u=1e3,P){p(),o!==void 0&&(s==="connecting"||s==="open")&&(s="closing",o.close(u,P));},on(u,P){return r[u].add(P),()=>{r[u].delete(P);}}}}
7
+ export{Is as $,zo as $a,Eo as A,ec as Aa,Va as B,nc as Ba,qa as C,tc as Ca,za as D,rc as Da,Wa as E,oc as Ea,Ya as F,ic as Fa,Qa as G,cc as Ga,Xa as H,dc as Ha,Za as I,uc as Ia,es as J,lc as Ja,ns as K,pc as Ka,ts as L,fc as La,rs as M,pn as Ma,os as N,fe as Na,is as O,kc as Oa,as as P,zn as Pa,cs as Q,Uc as Qa,us as R,j as Ra,un as S,To as Sa,ln as T,Dt as Ta,ls as U,qc as Ua,ms as V,Qc as Va,gs as W,pd as Wa,ys as X,fd as Xa,hs as Y,md as Ya,bs as Z,No as Za,Ps as _,Xe as _a,ai as a,Ss as aa,ii as ab,Be as b,vs as ba,q as c,_s as ca,Ci as d,As as da,Pi as e,ks as ea,Oe as f,Es as fa,wi as g,Ts as ga,Di as h,Rs as ha,Se as i,Ds as ia,W as j,Bs as ja,Fi as k,je as ka,Ji as l,Ns as la,Le as m,Ks as ma,ie as n,Gs as na,na as o,Ls as oa,He as p,Hs as pa,Q as q,$s as qa,ya as r,Fs as ra,Sa as s,Js as sa,Aa as t,Vs as ta,xa as u,zs as ua,Da as v,Ws as va,Me as w,Ys as wa,H as x,Qs as xa,ye as y,ro as ya,La as z,oo as za};
@@ -1,2 +1,2 @@
1
- import {p as p$1}from'./chunk-GBIHVXZP.js';import {e,a as a$1}from'./chunk-VYHK4LIZ.js';import {j,h}from'./chunk-C6HKXQPW.js';import {ca}from'./chunk-KTWXKQ4J.js';import {a}from'./chunk-WOT6VMZA.js';var N=p$1();function H(e$1,n){let t=n.suppressDraft===true?null:e$1.draft,i=t?.text.trim()??"",r,a="",s="";return t!==null?r=i===""?[]:G(e$1,i,n.locale):$(e$1)?r=y(K(e$1,n)):e$1.lastMessageSummary?.kind==="channel-moderation-deleted"||e$1.lastMessageDeletedForEveryone!==void 0?r=y(x(e$1,e$1.lastMessageSummary?.kind==="channel-moderation-deleted"?e$1.lastMessageSummary:{kind:"channel-moderation-deleted",by:e$1.lastMessageDeletedForEveryone?.by??""},n)):e$1.lastMessageSummary?.kind==="recalled"||e$1.lastMessageRecalled!==void 0?r=y(x(e$1,e$1.lastMessageSummary?.kind==="recalled"?e$1.lastMessageSummary:{kind:"recalled",by:e$1.lastMessageRecalled?.by??""},n)):(a=z(e$1,n),s=e$1.mentionUnreadCount>0?n.labels.mentionBadge:"",r=W(e$1,n)),{preview:`${s}${a}${r.map(l=>l.text).join("")}`||(t===null?n.labels.emptyPreview:""),previewSegments:r,senderPrefix:a,mentionBadge:s,time:e(a$1(t?.updatedAt,e$1.timestamp),{locale:n.locale,...n.now===void 0?{}:{now:n.now}}),hasDraft:t!==null}}function y(e){return [{kind:"text",text:e}]}function O(e){return e.map(n=>n.kind==="emoji"?{kind:"emoji",text:n.text,code:n.code}:{kind:n.kind,text:n.text})}function G(e,n,t){let i=e.draft?.mentions??[],r=[],a={},s=false;for(let l of i){if(l.userId==="0"){s=true;continue}r.includes(l.userId)||r.push(l.userId),l.displayName.trim()!==""&&(a[l.userId]=l.displayName);}let o=s||r.length>0?{atAll:s,atUserIds:r,...Object.keys(a).length===0?{}:{atUsersName:a}}:void 0;return O(ca(n,{mention:o,resolveName:l=>a[l]??l,atAllDisplay:j(t),matchers:[N]}))}function W(e,n){let t=e.lastMessageSummary;if(t!==void 0&&t.kind!=="text")return y(x(e,t,n));let i=(t?.kind==="text"?t.text:e.lastMessagePreview).trim();if(i==="")return y(n.labels.emptyPreview);let r=e.lastMessageMention?.atUsersName;return O(ca(i,{mention:e.lastMessageMention===void 0?void 0:{...e.lastMessageMention,atUserIds:[...e.lastMessageMention.atUserIds]},resolveName:a=>n.resolveName(e.ref,a,r?.[a]),selfId:n.accountId,atAllDisplay:j(n.locale),matchers:[N]}))}function x(e,n,t){return h(Q(n),{locale:t.locale,selfId:t.accountId,resolveName:i=>t.resolveName(e.ref,i)})}function $(e){return e.lastMessageSummary?.kind==="system"||e.lastMessageSenderId==="system"||e.lastMessageSystemEvent!==void 0}function K(e,n){return e.lastMessageSummary?.kind==="system"?x(e,e.lastMessageSummary,n):e.lastMessageSystemEvent===void 0?e.lastMessagePreview.trim()||n.labels.emptyPreview:x(e,{kind:"system",system:{eventType:e.lastMessageSystemEvent,...e.lastMessageSystemTargetsSelf===true?{targetUserIds:[n.accountId]}:{},...e.lastMessagePreview.trim()===""?{}:{fallbackText:e.lastMessagePreview.trim()}}},n)}function z(e,n){let t=e.lastMessageSenderId;return e.ref.conversationType!=="group"&&e.ref.conversationType!=="channel"||t===void 0||t===""||t==="system"?"":`${t===n.accountId?n.labels.selfSender:n.resolveName(e.ref,t)}: `}function Q(e){return e.kind!=="system"?e:{kind:"system",system:{eventType:e.system.eventType,...e.system.operatorId===void 0?{}:{operatorId:e.system.operatorId},...e.system.targetUserIds===void 0?{}:{targetUserIds:[...e.system.targetUserIds]},...e.system.fallbackText===void 0?{}:{fallbackText:e.system.fallbackText}}}}var q=160,J=220;function Y(e){let n=Math.max(0,e.showDelayMs??160),t=Math.max(0,e.minimumVisibleMs??220),i=e.now??Date.now,r=e.setTimer??((d,M)=>setTimeout(d,M)),a=e.clearTimer??(d=>clearTimeout(d)),s="",o=false,l=false,v=0,c,u,f=false;function g(){c!==void 0&&a(c),c=void 0;}function m(){u!==void 0&&a(u),u=void 0;}function h(d){l!==d&&(l=d,v=d?i():0,e.onVisibleChange(d));}function I(d){g(),c=r(()=>{c=void 0,!(f||!o||s!==d)&&h(true);},n);}function j(){if(g(),!l)return;let d=t-Math.max(0,i()-v);if(d<=0){h(false);return}m(),u=r(()=>{u=void 0,!(f||o)&&h(false);},d);}return {update(d,M){if(f)return;if(s!==M){s=M,o=d,g(),m(),h(false),d&&I(M);return}if(o=d,d){m(),!l&&c===void 0&&I(M);return}j();},dispose(){f||(f=true,o=false,g(),m(),h(false));}}}var S={placeholder:0,thumbnail:1,local:2,original:3};function X(e){let n;for(let t of e)t.value!==void 0&&(n===void 0||S[t.quality]>S[n.quality])&&(n=t);return n}function Z(e,n){return S[n]>=S[e]}function ee(e){let n=e.getGeneration();return Object.freeze({isCurrent:()=>e.getGeneration()===n})}function T(e){let n=e.getClient();if(n===null)return null;let t=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===t&&e.getClient()===n})}var _={};a(_,{acquireMediaBlob:()=>te,detectImageMime:()=>D,detectVideoMime:()=>F,loadCachedImageObjectUrl:()=>ae,loadCachedVideoObjectUrl:()=>ie,loadFileObjectUrl:()=>se,loadImageObjectUrl:()=>oe,loadVideoObjectUrl:()=>re,loadVoiceBytes:()=>ne});function A(e){if(e.conversationType!=="supergroup")return {conversation:{conversationType:e.conversationType,conversationId:e.conversationId},messageId:e.id}}async function C(e,n,t){let i=e.getClient(),r=A(n);if(i===null||r===void 0)throw new Error("media download unavailable");let a=t===void 0?void 0:i.media.subscribe(s=>{let o=s.find(l=>l.direction==="download"&&l.messageId===r.messageId&&l.ref.conversationType===r.conversation.conversationType&&l.ref.conversationId===r.conversation.conversationId);o!==void 0&&t(o.percent);});try{return await i.media.download(r)}finally{a?.();}}function D(e){return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?"image/jpeg":e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"image/png":e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?"image/gif":e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"image/webp":null}async function U(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),t=D(n);return t===null?null:URL.createObjectURL(e.type===t?e:e.slice(0,e.size,t))}function F(e){return e.length>=4&&e[0]===26&&e[1]===69&&e[2]===223&&e[3]===163?"video/webm":(e.length>=8&&e[4]===102&&e[5]===116&&e[6]===121&&e[7]===112,"video/mp4")}function te(e,n){return e.acquireMediaBlob({conversationType:n.conversationType,conversationId:n.conversationId,messageId:n.id})}async function ne(e,n,t){let i=e.getClient(),r=n.body.voice;if(i===null||r===void 0)return null;let a=e.getSelfVoiceBytes(n.id);if(a!==void 0)return a;let s=e.getGeneration();try{let o=new Uint8Array(await(await C(e,n)).arrayBuffer());return o.length===0?(e.getGeneration()===s&&t.setNote(t.t("media.voiceLoadEmpty")),null):o}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.voiceLoadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}async function re(e,n,t,i){let r=e.getClient(),a=n.body.video;if(r===null||a===void 0)return null;let s=e.getGeneration();try{let o=await C(e,n,i);if(o.size===0)return e.getGeneration()===s&&t.setNote(t.t("media.videoOpenEmpty")),null;let l=URL.createObjectURL(o);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.videoLoadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}async function ie(e,n){let t=e.getClient(),i=A(n);if(t===null||i===void 0||n.body.video===void 0)return null;let r=e.getGeneration();try{let a=await t.media.getCached(i);if(a===null||a.size===0||e.getGeneration()!==r)return null;let s=new Uint8Array(await a.slice(0,12).arrayBuffer()),o=a.type||F(s);return e.getGeneration()!==r?null:URL.createObjectURL(a.type===o?a:a.slice(0,a.size,o))}catch{return null}}async function oe(e,n,t){let i=e.getClient(),r=n.body.image;if(i===null||r===void 0)return null;let a=e.getGeneration();try{let s=await C(e,n),o=await U(s);return o===null?(e.getGeneration()===a&&t.setNote(t.t("media.imageInvalid",{size:s.size})),null):e.getGeneration()!==a?(URL.revokeObjectURL(o),null):o}catch(s){return e.getGeneration()===a&&t.setNote(t.t("media.imageLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function ae(e,n){let t=e.getClient(),i=A(n);if(t===null||i===void 0||n.body.image===void 0)return null;let r=e.getGeneration();try{let a=await t.media.getCached(i);if(a===null||a.size===0||e.getGeneration()!==r)return null;let s=await U(a);return s===null?null:e.getGeneration()!==r?(URL.revokeObjectURL(s),null):s}catch{return null}}async function se(e,n,t,i){let r=e.getClient(),a=n.body.file;if(r===null||a===void 0)return null;let s=e.getGeneration();try{let o=await C(e,n,i);if(o.size===0)return e.getGeneration()===s&&t.setNote(t.t("media.fileDownloadEmpty")),null;let l=URL.createObjectURL(o);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.fileDownloadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}var B={};a(B,{markReadUpTo:()=>le});function le(e,n,t,i){let r=T(e);if(r===null||n.conversationId===""||t==="")return;let a=r.client.conversations.list().find(o=>o.id===n.conversationId&&o.type===n.conversationType);if(a?.manuallyUnread===true&&a.unreadCount<=0){r.client.conversations.markConversationRead(n).catch(o=>{r.isCurrent()&&e.getDiagnostics().record("warn","chat-kit","conversation","clear-manual-unread-skipped",()=>({conversation:n,error:{message:"\u6E05\u9664\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u5931\u8D25",data:o}}));});return}if(a?.type==="group"&&a.unreadCount<=0)return;let s=i.getConversationHandle();s===void 0||s.ref.conversationId!==n.conversationId||s.ref.conversationType!==n.conversationType||s.markRead(t).catch(o=>{r.isCurrent()&&i.getConversationHandle()===s&&e.getDiagnostics().record("warn","chat-kit","message","mark-read-skipped",()=>({conversation:n,data:{messageId:t},error:{message:"markRead \u8DF3\u8FC7",data:o}}));});}function de(e){return e.deletedForEveryone!==void 0?"hidden":e.recalled!==void 0?"recalled":"content"}function ce(e,n){if(n.length===0)return [{text:e,hit:false}];let t=[],i=0;for(let[r,a]of n)r>i&&t.push({text:e.slice(i,r),hit:false}),t.push({text:e.slice(r,a),hit:true}),i=a;return i<e.length&&t.push({text:e.slice(i),hit:false}),t}var me=/\b(?:https?:\/\/|www\.)[^\s<>"')】]+/gi,ue=/\b(?:https?:\/\/|www\.)/i,fe=/[),.!?;:,。!?;:、)】]+$/u;function V(e){let n=/^www\./i.test(e)?`https://${e}`:e;try{let t=new URL(n);return t.protocol==="http:"||t.protocol==="https:"?t.href:void 0}catch{return}}function pe(e){return ue.test(e)}function ge(){return e=>{let n=[];for(let t of e.matchAll(me)){if(t.index===void 0)continue;let i=t[0].replace(fe,"");if(i==="")continue;let r=V(i);r!==void 0&&n.push({start:t.index,end:t.index+i.length-1,segment:{kind:"link",text:i,href:r}});}return n}}function p(e,n){if(!Number.isFinite(e)||e<=0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${n} \u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6709\u9650\u6570`)}function he(e){if(p(e.fallbackAspectRatio,"fallbackAspectRatio"),!Array.isArray(e.rules)||e.rules.length===0)throw new Error("\u5A92\u4F53\u5C55\u793A\u7B56\u7565 rules \u4E0D\u80FD\u4E3A\u7A7A");let n=new Set;e.rules.forEach((t,i)=>{let r=`rules[${i}]`;if(t.id.trim()==="")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.id \u4E0D\u80FD\u4E3A\u7A7A`);if(n.has(t.id))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u89C4\u5219 id \u91CD\u590D\uFF1A${t.id}`);if(n.add(t.id),t.minAspectRatio!==void 0&&(!Number.isFinite(t.minAspectRatio)||t.minAspectRatio<0))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minAspectRatio \u5FC5\u987B\u662F\u5927\u4E8E\u7B49\u4E8E 0 \u7684\u6709\u9650\u6570`);if(t.maxAspectRatio!==void 0&&p(t.maxAspectRatio,`${r}.maxAspectRatio`),t.minAspectRatio!==void 0&&t.maxAspectRatio!==void 0&&t.minAspectRatio>=t.maxAspectRatio)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r} \u7684\u5BBD\u9AD8\u6BD4\u4E0B\u754C\u5FC5\u987B\u5C0F\u4E8E\u4E0A\u754C`);if(p(t.preferredWidth,`${r}.preferredWidth`),p(t.minWidth,`${r}.minWidth`),p(t.maxWidth,`${r}.maxWidth`),p(t.minHeight,`${r}.minHeight`),p(t.maxHeight,`${r}.maxHeight`),t.minWidth>t.preferredWidth||t.preferredWidth>t.maxWidth)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.preferredWidth \u5FC5\u987B\u4F4D\u4E8E minWidth \u548C maxWidth \u4E4B\u95F4`);if(t.minHeight>t.maxHeight)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minHeight \u4E0D\u80FD\u5927\u4E8E maxHeight`);if(typeof t.allowUpscale!="boolean")throw new TypeError(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.allowUpscale \u5FC5\u987B\u662F boolean`);if(t.fit!=="cover"&&t.fit!=="contain")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.fit \u53EA\u652F\u6301 cover \u6216 contain`)});}function ve(e){let{intrinsicWidth:n,intrinsicHeight:t,availableWidth:i,policy:r}=e;p(i,"availableWidth"),he(r);let a=Number.isFinite(n)&&Number.isFinite(t)&&n>0&&t>0,s=a?n/t:r.fallbackAspectRatio,o=r.rules.find(m=>{let h=m.minAspectRatio===void 0||s>=m.minAspectRatio,I=m.maxAspectRatio===void 0||s<m.maxAspectRatio;return h&&I});if(o===void 0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u6CA1\u6709\u5339\u914D\u5BBD\u9AD8\u6BD4 ${s}`);let l=!o.allowUpscale&&a?Math.min(o.preferredWidth,n):o.preferredWidth,v=Math.min(i,o.maxWidth,Math.max(o.minWidth,l)),c=Math.max(1,Math.round(v)),u=c/s,f=Math.min(o.maxHeight,Math.max(o.minHeight,u)),g=Math.max(1,Math.round(f));return {width:c,height:g,aspectRatio:c/g,sourceAspectRatio:s,ruleId:o.id,fit:o.fit,aspectClamped:f!==u}}function Me(e,n,t,i){if(!Number.isFinite(e)||!Number.isFinite(n)||e<=0||n<=0)return null;let r=Math.min(t/e,i/n,1);return {width:`${Math.max(1,Math.round(e*r))}px`,aspectRatio:`${e} / ${n}`}}function ye(e){if(!Number.isFinite(e)||e<=0)return "0:00";let n=Math.floor(e),t=Math.floor(n/3600),i=Math.floor(n%3600/60),r=n%60,a=s=>s.toString().padStart(2,"0");return t>0?`${t}:${a(i)}:${a(r)}`:`${i}:${a(r)}`}function xe(e){if(!Number.isFinite(e)||e<=0)return "0 B";let n=["B","KB","MB","GB","TB"],t=Math.min(n.length-1,Math.floor(Math.log(e)/Math.log(1024))),i=e/1024**t;return `${t===0?i:Math.round(i*10)/10} ${n[t]}`}function Ie(e){let n=e.lastIndexOf(".");return n>-1&&n<e.length-1?e.slice(n+1).toLowerCase():""}var Se=4;function Ce(e){let n=Math.min(Math.max(e/1e3,0)/10,1);return Math.round(22+24*n)}function be(e,n){if(e.length===0)return Array.from({length:n},()=>0);let t=[],i=(e.length-1)/Math.max(1,n-1);for(let r=0;r<n;r+=1){let a=r*i,s=Math.round(a),o=e[Math.max(0,s-1)]??0,l=e[Math.min(e.length-1,s)]??0,v=e[Math.min(e.length-1,s+1)]??0;t.push((o+l+v)/3);}return t}function we(e,n){let t=2166136261;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,16777619);let i=[];for(let r=0;r<n;r+=1)t=Math.imul(t^t>>>15,2246822519)>>>0,i.push(90+t%111);return i}
1
+ import {p as p$1}from'./chunk-LCNFKUGH.js';import {e,a as a$1}from'./chunk-IXEEIWDI.js';import {j,h}from'./chunk-G7IJFU6R.js';import {ca}from'./chunk-RKZTPXBQ.js';import {a}from'./chunk-WOT6VMZA.js';var N=p$1();function H(e$1,n){let t=n.suppressDraft===true?null:e$1.draft,i=t?.text.trim()??"",r,a="",s="";return t!==null?r=i===""?[]:G(e$1,i,n.locale):$(e$1)?r=y(K(e$1,n)):e$1.lastMessageSummary?.kind==="channel-moderation-deleted"||e$1.lastMessageDeletedForEveryone!==void 0?r=y(x(e$1,e$1.lastMessageSummary?.kind==="channel-moderation-deleted"?e$1.lastMessageSummary:{kind:"channel-moderation-deleted",by:e$1.lastMessageDeletedForEveryone?.by??""},n)):e$1.lastMessageSummary?.kind==="recalled"||e$1.lastMessageRecalled!==void 0?r=y(x(e$1,e$1.lastMessageSummary?.kind==="recalled"?e$1.lastMessageSummary:{kind:"recalled",by:e$1.lastMessageRecalled?.by??""},n)):(a=z(e$1,n),s=e$1.mentionUnreadCount>0?n.labels.mentionBadge:"",r=W(e$1,n)),{preview:`${s}${a}${r.map(l=>l.text).join("")}`||(t===null?n.labels.emptyPreview:""),previewSegments:r,senderPrefix:a,mentionBadge:s,time:e(a$1(t?.updatedAt,e$1.timestamp),{locale:n.locale,...n.now===void 0?{}:{now:n.now}}),hasDraft:t!==null}}function y(e){return [{kind:"text",text:e}]}function O(e){return e.map(n=>n.kind==="emoji"?{kind:"emoji",text:n.text,code:n.code}:{kind:n.kind,text:n.text})}function G(e,n,t){let i=e.draft?.mentions??[],r=[],a={},s=false;for(let l of i){if(l.userId==="0"){s=true;continue}r.includes(l.userId)||r.push(l.userId),l.displayName.trim()!==""&&(a[l.userId]=l.displayName);}let o=s||r.length>0?{atAll:s,atUserIds:r,...Object.keys(a).length===0?{}:{atUsersName:a}}:void 0;return O(ca(n,{mention:o,resolveName:l=>a[l]??l,atAllDisplay:j(t),matchers:[N]}))}function W(e,n){let t=e.lastMessageSummary;if(t!==void 0&&t.kind!=="text")return y(x(e,t,n));let i=(t?.kind==="text"?t.text:e.lastMessagePreview).trim();if(i==="")return y(n.labels.emptyPreview);let r=e.lastMessageMention?.atUsersName;return O(ca(i,{mention:e.lastMessageMention===void 0?void 0:{...e.lastMessageMention,atUserIds:[...e.lastMessageMention.atUserIds]},resolveName:a=>n.resolveName(e.ref,a,r?.[a]),selfId:n.accountId,atAllDisplay:j(n.locale),matchers:[N]}))}function x(e,n,t){return h(Q(n),{locale:t.locale,selfId:t.accountId,resolveName:i=>t.resolveName(e.ref,i)})}function $(e){return e.lastMessageSummary?.kind==="system"||e.lastMessageSenderId==="system"||e.lastMessageSystemEvent!==void 0}function K(e,n){return e.lastMessageSummary?.kind==="system"?x(e,e.lastMessageSummary,n):e.lastMessageSystemEvent===void 0?e.lastMessagePreview.trim()||n.labels.emptyPreview:x(e,{kind:"system",system:{eventType:e.lastMessageSystemEvent,...e.lastMessageSystemTargetsSelf===true?{targetUserIds:[n.accountId]}:{},...e.lastMessagePreview.trim()===""?{}:{fallbackText:e.lastMessagePreview.trim()}}},n)}function z(e,n){let t=e.lastMessageSenderId;return e.ref.conversationType!=="group"&&e.ref.conversationType!=="channel"||t===void 0||t===""||t==="system"?"":`${t===n.accountId?n.labels.selfSender:n.resolveName(e.ref,t)}: `}function Q(e){return e.kind!=="system"?e:{kind:"system",system:{eventType:e.system.eventType,...e.system.operatorId===void 0?{}:{operatorId:e.system.operatorId},...e.system.targetUserIds===void 0?{}:{targetUserIds:[...e.system.targetUserIds]},...e.system.fallbackText===void 0?{}:{fallbackText:e.system.fallbackText}}}}var q=160,J=220;function Y(e){let n=Math.max(0,e.showDelayMs??160),t=Math.max(0,e.minimumVisibleMs??220),i=e.now??Date.now,r=e.setTimer??((d,M)=>setTimeout(d,M)),a=e.clearTimer??(d=>clearTimeout(d)),s="",o=false,l=false,v=0,c,u,f=false;function g(){c!==void 0&&a(c),c=void 0;}function m(){u!==void 0&&a(u),u=void 0;}function h(d){l!==d&&(l=d,v=d?i():0,e.onVisibleChange(d));}function I(d){g(),c=r(()=>{c=void 0,!(f||!o||s!==d)&&h(true);},n);}function j(){if(g(),!l)return;let d=t-Math.max(0,i()-v);if(d<=0){h(false);return}m(),u=r(()=>{u=void 0,!(f||o)&&h(false);},d);}return {update(d,M){if(f)return;if(s!==M){s=M,o=d,g(),m(),h(false),d&&I(M);return}if(o=d,d){m(),!l&&c===void 0&&I(M);return}j();},dispose(){f||(f=true,o=false,g(),m(),h(false));}}}var S={placeholder:0,thumbnail:1,local:2,original:3};function X(e){let n;for(let t of e)t.value!==void 0&&(n===void 0||S[t.quality]>S[n.quality])&&(n=t);return n}function Z(e,n){return S[n]>=S[e]}function ee(e){let n=e.getGeneration();return Object.freeze({isCurrent:()=>e.getGeneration()===n})}function T(e){let n=e.getClient();if(n===null)return null;let t=e.getGeneration();return Object.freeze({client:n,isCurrent:()=>e.getGeneration()===t&&e.getClient()===n})}var _={};a(_,{acquireMediaBlob:()=>te,detectImageMime:()=>D,detectVideoMime:()=>F,loadCachedImageObjectUrl:()=>ae,loadCachedVideoObjectUrl:()=>ie,loadFileObjectUrl:()=>se,loadImageObjectUrl:()=>oe,loadVideoObjectUrl:()=>re,loadVoiceBytes:()=>ne});function A(e){if(e.conversationType!=="supergroup")return {conversation:{conversationType:e.conversationType,conversationId:e.conversationId},messageId:e.id}}async function C(e,n,t){let i=e.getClient(),r=A(n);if(i===null||r===void 0)throw new Error("media download unavailable");let a=t===void 0?void 0:i.media.subscribe(s=>{let o=s.find(l=>l.direction==="download"&&l.messageId===r.messageId&&l.ref.conversationType===r.conversation.conversationType&&l.ref.conversationId===r.conversation.conversationId);o!==void 0&&t(o.percent);});try{return await i.media.download(r)}finally{a?.();}}function D(e){return e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?"image/jpeg":e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?"image/png":e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?"image/gif":e.length>=12&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?"image/webp":null}async function U(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),t=D(n);return t===null?null:URL.createObjectURL(e.type===t?e:e.slice(0,e.size,t))}function F(e){return e.length>=4&&e[0]===26&&e[1]===69&&e[2]===223&&e[3]===163?"video/webm":(e.length>=8&&e[4]===102&&e[5]===116&&e[6]===121&&e[7]===112,"video/mp4")}function te(e,n){return e.acquireMediaBlob({conversationType:n.conversationType,conversationId:n.conversationId,messageId:n.id})}async function ne(e,n,t){let i=e.getClient(),r=n.body.voice;if(i===null||r===void 0)return null;let a=e.getSelfVoiceBytes(n.id);if(a!==void 0)return a;let s=e.getGeneration();try{let o=new Uint8Array(await(await C(e,n)).arrayBuffer());return o.length===0?(e.getGeneration()===s&&t.setNote(t.t("media.voiceLoadEmpty")),null):o}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.voiceLoadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}async function re(e,n,t,i){let r=e.getClient(),a=n.body.video;if(r===null||a===void 0)return null;let s=e.getGeneration();try{let o=await C(e,n,i);if(o.size===0)return e.getGeneration()===s&&t.setNote(t.t("media.videoOpenEmpty")),null;let l=URL.createObjectURL(o);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.videoLoadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}async function ie(e,n){let t=e.getClient(),i=A(n);if(t===null||i===void 0||n.body.video===void 0)return null;let r=e.getGeneration();try{let a=await t.media.getCached(i);if(a===null||a.size===0||e.getGeneration()!==r)return null;let s=new Uint8Array(await a.slice(0,12).arrayBuffer()),o=a.type||F(s);return e.getGeneration()!==r?null:URL.createObjectURL(a.type===o?a:a.slice(0,a.size,o))}catch{return null}}async function oe(e,n,t){let i=e.getClient(),r=n.body.image;if(i===null||r===void 0)return null;let a=e.getGeneration();try{let s=await C(e,n),o=await U(s);return o===null?(e.getGeneration()===a&&t.setNote(t.t("media.imageInvalid",{size:s.size})),null):e.getGeneration()!==a?(URL.revokeObjectURL(o),null):o}catch(s){return e.getGeneration()===a&&t.setNote(t.t("media.imageLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function ae(e,n){let t=e.getClient(),i=A(n);if(t===null||i===void 0||n.body.image===void 0)return null;let r=e.getGeneration();try{let a=await t.media.getCached(i);if(a===null||a.size===0||e.getGeneration()!==r)return null;let s=await U(a);return s===null?null:e.getGeneration()!==r?(URL.revokeObjectURL(s),null):s}catch{return null}}async function se(e,n,t,i){let r=e.getClient(),a=n.body.file;if(r===null||a===void 0)return null;let s=e.getGeneration();try{let o=await C(e,n,i);if(o.size===0)return e.getGeneration()===s&&t.setNote(t.t("media.fileDownloadEmpty")),null;let l=URL.createObjectURL(o);return e.getGeneration()!==s?(URL.revokeObjectURL(l),null):l}catch(o){return e.getGeneration()===s&&t.setNote(t.t("media.fileDownloadFailed",{reason:o instanceof Error?o.message:String(o)})),null}}var B={};a(B,{markReadUpTo:()=>le});function le(e,n,t,i){let r=T(e);if(r===null||n.conversationId===""||t==="")return;let a=r.client.conversations.list().find(o=>o.id===n.conversationId&&o.type===n.conversationType);if(a?.manuallyUnread===true&&a.unreadCount<=0){r.client.conversations.markConversationRead(n).catch(o=>{r.isCurrent()&&e.getDiagnostics().record("warn","chat-kit","conversation","clear-manual-unread-skipped",()=>({conversation:n,error:{message:"\u6E05\u9664\u624B\u5DE5\u672A\u8BFB\u63D0\u9192\u5931\u8D25",data:o}}));});return}if(a?.type==="group"&&a.unreadCount<=0)return;let s=i.getConversationHandle();s===void 0||s.ref.conversationId!==n.conversationId||s.ref.conversationType!==n.conversationType||s.markRead(t).catch(o=>{r.isCurrent()&&i.getConversationHandle()===s&&e.getDiagnostics().record("warn","chat-kit","message","mark-read-skipped",()=>({conversation:n,data:{messageId:t},error:{message:"markRead \u8DF3\u8FC7",data:o}}));});}function de(e){return e.deletedForEveryone!==void 0?"hidden":e.recalled!==void 0?"recalled":"content"}function ce(e,n){if(n.length===0)return [{text:e,hit:false}];let t=[],i=0;for(let[r,a]of n)r>i&&t.push({text:e.slice(i,r),hit:false}),t.push({text:e.slice(r,a),hit:true}),i=a;return i<e.length&&t.push({text:e.slice(i),hit:false}),t}var me=/\b(?:https?:\/\/|www\.)[^\s<>"')】]+/gi,ue=/\b(?:https?:\/\/|www\.)/i,fe=/[),.!?;:,。!?;:、)】]+$/u;function V(e){let n=/^www\./i.test(e)?`https://${e}`:e;try{let t=new URL(n);return t.protocol==="http:"||t.protocol==="https:"?t.href:void 0}catch{return}}function pe(e){return ue.test(e)}function ge(){return e=>{let n=[];for(let t of e.matchAll(me)){if(t.index===void 0)continue;let i=t[0].replace(fe,"");if(i==="")continue;let r=V(i);r!==void 0&&n.push({start:t.index,end:t.index+i.length-1,segment:{kind:"link",text:i,href:r}});}return n}}function p(e,n){if(!Number.isFinite(e)||e<=0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${n} \u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6709\u9650\u6570`)}function he(e){if(p(e.fallbackAspectRatio,"fallbackAspectRatio"),!Array.isArray(e.rules)||e.rules.length===0)throw new Error("\u5A92\u4F53\u5C55\u793A\u7B56\u7565 rules \u4E0D\u80FD\u4E3A\u7A7A");let n=new Set;e.rules.forEach((t,i)=>{let r=`rules[${i}]`;if(t.id.trim()==="")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.id \u4E0D\u80FD\u4E3A\u7A7A`);if(n.has(t.id))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u89C4\u5219 id \u91CD\u590D\uFF1A${t.id}`);if(n.add(t.id),t.minAspectRatio!==void 0&&(!Number.isFinite(t.minAspectRatio)||t.minAspectRatio<0))throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minAspectRatio \u5FC5\u987B\u662F\u5927\u4E8E\u7B49\u4E8E 0 \u7684\u6709\u9650\u6570`);if(t.maxAspectRatio!==void 0&&p(t.maxAspectRatio,`${r}.maxAspectRatio`),t.minAspectRatio!==void 0&&t.maxAspectRatio!==void 0&&t.minAspectRatio>=t.maxAspectRatio)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r} \u7684\u5BBD\u9AD8\u6BD4\u4E0B\u754C\u5FC5\u987B\u5C0F\u4E8E\u4E0A\u754C`);if(p(t.preferredWidth,`${r}.preferredWidth`),p(t.minWidth,`${r}.minWidth`),p(t.maxWidth,`${r}.maxWidth`),p(t.minHeight,`${r}.minHeight`),p(t.maxHeight,`${r}.maxHeight`),t.minWidth>t.preferredWidth||t.preferredWidth>t.maxWidth)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.preferredWidth \u5FC5\u987B\u4F4D\u4E8E minWidth \u548C maxWidth \u4E4B\u95F4`);if(t.minHeight>t.maxHeight)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.minHeight \u4E0D\u80FD\u5927\u4E8E maxHeight`);if(typeof t.allowUpscale!="boolean")throw new TypeError(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.allowUpscale \u5FC5\u987B\u662F boolean`);if(t.fit!=="cover"&&t.fit!=="contain")throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565 ${r}.fit \u53EA\u652F\u6301 cover \u6216 contain`)});}function ve(e){let{intrinsicWidth:n,intrinsicHeight:t,availableWidth:i,policy:r}=e;p(i,"availableWidth"),he(r);let a=Number.isFinite(n)&&Number.isFinite(t)&&n>0&&t>0,s=a?n/t:r.fallbackAspectRatio,o=r.rules.find(m=>{let h=m.minAspectRatio===void 0||s>=m.minAspectRatio,I=m.maxAspectRatio===void 0||s<m.maxAspectRatio;return h&&I});if(o===void 0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u6CA1\u6709\u5339\u914D\u5BBD\u9AD8\u6BD4 ${s}`);let l=!o.allowUpscale&&a?Math.min(o.preferredWidth,n):o.preferredWidth,v=Math.min(i,o.maxWidth,Math.max(o.minWidth,l)),c=Math.max(1,Math.round(v)),u=c/s,f=Math.min(o.maxHeight,Math.max(o.minHeight,u)),g=Math.max(1,Math.round(f));return {width:c,height:g,aspectRatio:c/g,sourceAspectRatio:s,ruleId:o.id,fit:o.fit,aspectClamped:f!==u}}function Me(e,n,t,i){if(!Number.isFinite(e)||!Number.isFinite(n)||e<=0||n<=0)return null;let r=Math.min(t/e,i/n,1);return {width:`${Math.max(1,Math.round(e*r))}px`,aspectRatio:`${e} / ${n}`}}function ye(e){if(!Number.isFinite(e)||e<=0)return "0:00";let n=Math.floor(e),t=Math.floor(n/3600),i=Math.floor(n%3600/60),r=n%60,a=s=>s.toString().padStart(2,"0");return t>0?`${t}:${a(i)}:${a(r)}`:`${i}:${a(r)}`}function xe(e){if(!Number.isFinite(e)||e<=0)return "0 B";let n=["B","KB","MB","GB","TB"],t=Math.min(n.length-1,Math.floor(Math.log(e)/Math.log(1024))),i=e/1024**t;return `${t===0?i:Math.round(i*10)/10} ${n[t]}`}function Ie(e){let n=e.lastIndexOf(".");return n>-1&&n<e.length-1?e.slice(n+1).toLowerCase():""}var Se=4;function Ce(e){let n=Math.min(Math.max(e/1e3,0)/10,1);return Math.round(22+24*n)}function be(e,n){if(e.length===0)return Array.from({length:n},()=>0);let t=[],i=(e.length-1)/Math.max(1,n-1);for(let r=0;r<n;r+=1){let a=r*i,s=Math.round(a),o=e[Math.max(0,s-1)]??0,l=e[Math.min(e.length-1,s)]??0,v=e[Math.min(e.length-1,s+1)]??0;t.push((o+l+v)/3);}return t}function we(e,n){let t=2166136261;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,16777619);let i=[];for(let r=0;r<n;r+=1)t=Math.imul(t^t>>>15,2246822519)>>>0,i.push(90+t%111);return i}
2
2
  export{H as a,q as b,J as c,Y as d,X as e,Z as f,ee as g,T as h,_ as i,B as j,de as k,ce as l,V as m,pe as n,ge as o,ve as p,Me as q,ye as r,xe as s,Ie as t,Se as u,Ce as v,be as w,we as x};