k2-im 0.1.38 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +131 -81
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +4 -2
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +200 -142
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-2EB5ZELD.js +1 -0
- package/dist/chunk-54HSPG2Z.js +2 -0
- package/dist/chunk-5KHSKIN3.js +2 -0
- package/dist/{chunk-GHFHAGJ7.js → chunk-A5WA7S7J.js} +1 -1
- package/dist/{chunk-HWA7NOXG.js → chunk-I7RLO6MT.js} +1 -1
- package/dist/{chunk-ZERTVCH2.js → chunk-SRMSBFOP.js} +1 -1
- package/dist/chunk-WISC6Q2S.js +2 -0
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +185 -142
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +27 -3
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ST5E6YS.js +0 -1
- package/dist/chunk-4I23ADH2.js +0 -2
- package/dist/chunk-ITOAFWZU.js +0 -2
- package/dist/chunk-LMP34HNC.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import {c as c$1}from'./chunk-
|
|
1
|
+
import {c as c$1}from'./chunk-A5WA7S7J.js';import {u as u$1}from'./chunk-54HSPG2Z.js';var w=864e5,P=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];function u(e){return e!=null&&Number.isFinite(e)&&e>0&&!Number.isNaN(new Date(e).getTime())}function v(e,r){if(u(e))return e;if(u(r))return r}function y(e,r){return v(r,e)}function m(e){if(!u(e))return "";let r=new Date(e);return `${r.getFullYear()}-${r.getMonth()+1}-${r.getDate()}`}function h(e,r){return u(e)?u(r)?m(e)!==m(r):true:false}function F(e,r){return T(e,r,"conversation")}function L(e,r){return T(e,r,"separator")}function T(e,r,t){if(!u(e))return "";let n=r.now??new Date;if(Number.isNaN(n.getTime()))return "";let o=new Date(e),a=b(n)-b(o),i=c$1(r.locale);return o.getFullYear()!==n.getFullYear()?A(o):a===0?t==="conversation"?k(o):i.today:a===1?i.yesterday:a>=2&&a<=6?x(o,i):D(o)}function b(e){return Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/w}function x(e,r){return r.weekdays[P[e.getDay()]]}function k(e){return `${c(e.getHours())}:${c(e.getMinutes())}`}function A(e){return `${e.getFullYear()}/${c(e.getMonth()+1)}/${c(e.getDate())}`}function D(e){return `${c(e.getMonth()+1)}/${c(e.getDate())}`}function c(e){return String(e).padStart(2,"0")}function O(e){if(e.markers.length===0)return null;let r=e.viewportTop+e.overlayTop;if(e.markers[0].top>r+1)return null;let t=0;for(let d=0;d<e.markers.length&&!(e.markers[d].top>r+1);d+=1)t=d;let n=e.markers[t],o=r+e.overlayHeight,a=e.markers.filter(d=>d.top<o+1&&d.top+d.height>r-1).at(-1),i=a===void 0?0:Math.max(0,Math.min(a.top+a.height,o)-Math.max(a.top,r)),s=a===void 0?1:Math.max(1,Math.min(a.height,e.overlayHeight)),l=Math.min(1,i/s);return {key:n.key,label:n.label,inlineOpacity:1-l,...a===void 0?{}:{inlineDateKey:a.key}}}var C={text:"text",image:"image",video:"video",voice:"voice",file:"file",filesAlbum:"filesAlbum",sticker:"sticker",contact:"contact",miniProgram:"miniProgram",robot:"robot",game:"game",transfer:"transfer",gift:"gift",redPacket:"redPacket",call:"call",mediaAlbum:"mediaAlbum",system:"system",unknown:"unknown"};function S(e){switch(e.contentType){case "text":return typeof e.body.text=="string";case "image":return e.body.image!==void 0&&typeof e.body.image.url=="string";case "video":return e.body.video!==void 0&&typeof e.body.video.url=="string";case "voice":return e.body.voice!==void 0;case "filesAlbum":return (e.body.filesAlbum?.items.length??0)>0;case "file":return e.body.file!==void 0;case "sticker":return e.body.sticker!==void 0;case "contact":return e.body.contact!==void 0;case "miniProgram":return e.body.miniProgram!==void 0&&typeof e.body.miniProgram.appId=="string";case "robot":return e.body.robot!==void 0&&Array.isArray(e.body.robot.modules)&&Array.isArray(e.body.robot.commands);case "transfer":return e.body.transfer!==void 0&&typeof e.body.transfer.serialNumber=="string";case "gift":{let r=e.body.gift;return r!==void 0&&typeof r.serialNumber=="string"&&typeof r.giftName=="string"&&(r.giftType===0||r.giftType===1||r.giftType===2)}case "redPacket":{let r=e.body.redPacket;return r!==void 0&&r.packetId.trim()!==""&&(r.packetType===1||r.packetType===2||r.packetType===3||r.packetType===4)}case "call":return e.body.call!==void 0&&(e.body.call.callKind==="audio"||e.body.call.callKind==="video")&&typeof e.body.call.durationMs=="number";case "game":{let r=e.body.game;return r?.gameType==="dice"?Number.isInteger(r.value)&&r.value>=1&&r.value<=6:r?.gameType==="rock-paper-scissors"&&Number.isInteger(r.value)&&r.value>=1&&r.value<=3}case "mediaAlbum":{let r=e.body.mediaAlbum;return r!==void 0&&r.items.length>0&&r.items.every(t=>typeof t.url=="string"&&t.url!=="")}case "system":return e.body.system!==void 0;case "unknown":return e.body.unknown!==void 0}}function I(e){return e.encryption.decryptFailed===true?"decrypt-failed":S(e)?e.contentType==="sticker"?u$1(e.body.sticker.imageType):C[e.contentType]:"unknown"}function _(e){let r=[...e.leadingItems??[]],t=e.entryUnread.state==="located"?e.entryUnread:null,n,o=null,a=false;for(let i of e.messages){let s=y(i.createdAt,i.serverTime),l=s!==void 0&&h(s,n);s!==void 0&&l&&r.push({kind:"date-separator",key:`date-${m(s)}-${i.id}`,label:e.formatDate(s)}),n=s,!a&&t!==null&&i.id===t.firstMessageId&&(r.push({kind:"entry-unread",key:`entry-unread-${i.id}`,...t.count===void 0?{}:{count:t.count}}),a=true);let d=e.beforeMessageItems?.(i)??[];if(r.push(...d),I(i)==="system"){r.push({kind:"system",key:i.id,message:i}),o=null;continue}r.push({kind:"message",key:`message-${i.id}`,message:i,firstOfRun:l||i.senderId!==o}),o=i.senderId;}return r}function U(e){let r=e.targetTop-e.viewportTop,t=e.currentScrollTop+r-(e.viewportHeight-e.targetHeight)/2,n=Math.max(0,e.scrollHeight-e.viewportHeight);return Math.min(n,Math.max(0,t))}function j(e){return e!==null&&e.clientWidth>0&&e.clientHeight>0}function G(e){return e.locatedAt<=0||e.duration<0||e.now<e.locatedAt?false:e.now-e.locatedAt<=e.duration}function q(e){return !Number.isFinite(e.topThreshold)||e.topThreshold<0?false:e.currentScrollTop<e.previousScrollTop&&e.currentScrollTop<=e.topThreshold}function H(e,r){return e.find(t=>t.bottom>r.top&&t.top<r.bottom)??e[0]}function f(e){return e.anchorTop??e.top}function B(e,r){let t=H(e,r);return t===void 0?void 0:{id:t.id,offset:f(t)-r.top}}function J(e,r,t){if(e===void 0)return;let n=r.find(o=>o.id===e.id);return n!==void 0&&n.bottom>t.top&&n.top<t.bottom?{id:e.id,offset:f(n)-t.top}:B(r,t)??e}function V(e,r,t){if(e===void 0)return;let n=r.find(o=>o.id===e.id);return n===void 0?void 0:f(n)-t.top-e.offset}function Q(e,r,t=3){return !Number.isFinite(t)||t<=0?[]:e.filter(n=>n.bottom>r.top&&n.top<r.bottom).slice(0,Math.floor(t)).map(n=>({id:n.id,offset:f(n)-r.top}))}function X(e,r,t){for(let n of e){let o=V(n,r,t);if(o!==void 0)return o}}function Z(e){return e.sameConversation&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&e.userKeptLatestIntent}function ee(e){return e.isPageVisible&&!e.isHistoryWindow&&!e.isLocating&&!e.isLocateProtected&&(e.isOwnMessage||e.isAtBottom)}function re(e){return e.isLoadingOlder&&e.previousTailId!==void 0&&e.previousTailId!==e.currentTailId&&e.previousMessageIds.includes(e.currentTailId)}function te(e,r){return e!==void 0&&!r.has(e)}async function ne(e,r){let t=0;for(;e()&&!(await r()<=0);)t+=1;return t}function oe(e){return e.hasMoreHistory&&Number.isFinite(e.scrollHeight)&&Number.isFinite(e.clientHeight)&&e.scrollHeight>0&&e.clientHeight>0&&e.scrollHeight<=e.clientHeight}function ie(e){return e.isHistoryWindow&&!e.isPageSettling&&e.isAtBottom&&(e.currentScrollTop>e.previousScrollTop||e.allowStationaryBoundary===true)}function M(e){return !e.isPageVisible||!e.isAtBottom||e.isHistoryWindow}function ae(e){let r=Math.max(0,e.margin);return e.messageTop<e.viewportBottom-r&&e.messageBottom>e.viewportTop+r}function le(e){let r=new Set;function t(s){return s===r.size?false:(e?.(r.size),true)}function n(s){let l=r.size;for(let d of s)d!==""&&r.add(d);return t(l)}function o(s,l){return M(l)&&n(s)}function a(s){let l=r.size;for(let d of s)r.delete(d);return t(l)}function i(){let s=r.size;return r.clear(),t(s)}return {get count(){return r.size},add:n,trackRemote:o,acknowledgeVisible:a,clear:i}}export{M as A,ae as B,le as C,v as a,y as b,m as c,h as d,F as e,L as f,O as g,I as h,_ as i,U as j,j as k,G as l,q as m,H as n,B as o,J as p,V as q,Q as r,X as s,Z as t,ee as u,re as v,te as w,ne as x,oe as y,ie as z};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {wa as wa$1,G,J as J$1,f,g,i,Y as Y$1,Z as Z$1,aa as aa$1,ba as ba$1,W,X as X$1,L,M,F as F$1,I,K as K$1,m,e,H as H$1,N,P,R,Q as Q$1,S,T,U as U$1,V as V$1,ia as ia$1,ja as ja$1,zb,Ha as Ha$1,Ga as Ga$1,Fa as Fa$1,ga as ga$1,ka as ka$1,ea as ea$1,Ea as Ea$1,_,$,l,s,Ca as Ca$1,Ba as Ba$1,Ia as Ia$1,ca as ca$1,da as da$1}from'./chunk-4I23ADH2.js';import*as Q from'node-forge';import Q__default from'node-forge';import {deleteDB,openDB}from'idb';import {createSHA256}from'hash-wasm';function Hi(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-YLMJKRLM.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)}function ot(){return typeof navigator<"u"&&typeof ClipboardItem=="function"&&typeof navigator.clipboard?.write=="function"}function ne(e){if(!e.isCurrent())throw new DOMException("Image copy is no longer active","AbortError")}async function rt(e,n){if(ne(n),e.size===0)throw new Error("Empty clipboard image");let t=URL.createObjectURL(e),r=new Image,o;try{if(await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Clipboard image decode failed")),r.src=t;}),ne(n),r.naturalWidth<=0||r.naturalHeight<=0)throw new Error("Invalid clipboard image dimensions");if(e.type==="image/png")return e;if(r.naturalWidth*r.naturalHeight>16777216)throw new Error("Clipboard image exceeds canvas pixel limit");o=document.createElement("canvas"),o.width=r.naturalWidth,o.height=r.naturalHeight;let i=o.getContext("2d");if(i===null)throw new Error("Clipboard canvas unavailable");i.drawImage(r,0,0);let a=await new Promise((s,d)=>{o.toBlob(c=>c===null?d(new Error("Clipboard PNG encoding failed")):s(c),"image/png");});return ne(n),a}finally{r.onload=null,r.onerror=null,r.src="",URL.revokeObjectURL(t),o!==void 0&&(o.width=o.height=0);}}async function Fi(e,n){if(n!==void 0&&n!==""){ne(e);let s=false,d={...e,isCurrent:()=>!s&&e.isCurrent()};try{if(!ot())throw new Error("Image Clipboard API unavailable");let c=(async()=>rt(await e.loadOriginal(),d))();return c.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":c,"text/plain":new Blob([n],{type:"text/plain"})})]),ne(e),"original"}catch{return s=true,ne(e),await navigator.clipboard.writeText(n),ne(e),"text"}finally{s=true;}}if(!ot())throw new Error("Image Clipboard API unavailable");ne(e);let t=false,r={...e,isCurrent:()=>!t&&e.isCurrent()},o={quality:"original"},i=async()=>(ne(r),o.quality="thumbnail",rt(await e.loadThumbnail(),r)),a=(async()=>{try{return await rt(await e.loadOriginal(),r)}catch(s){ne(r);try{return await i()}catch(d){throw ne(r),new AggregateError([s,d],"Original and thumbnail copy failed")}}})();a.catch(()=>{});try{try{await navigator.clipboard.write([new ClipboardItem({"image/png":a})]);}catch(s){if(ne(r),typeof s=="object"&&s!==null&&"name"in s&&(s.name==="NotAllowedError"||s.name==="SecurityError")||(await a,ne(r),o.quality==="thumbnail"))throw s;let d=i();d.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":d})]);}return ne(r),o.quality}finally{t=true;}}var K=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function ji(e){return e instanceof K?e.code:void 0}function Te(e){if(e instanceof K)return e.code==="upload-timeout"?"timeout":e.code!=="multipart-upload-failed"?void 0:Te(e.cause);if(!(e instanceof Error))return;let n=e;if(["ExpiredToken","ExpiredTokenException","RequestExpired","TokenRefreshRequired"].includes(n.Code??n.name))return "credentials-expired";let t=n.$metadata?.httpStatusCode;if(t===429||t!==void 0&&t>=500&&t<=599||n.message.startsWith("XHR_HTTP_HANDLER_ERROR:")||n.name==="NetworkError")return "network"}var $i=3600*1e3,qi=300*1e3;function be(...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 Ji(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Vi(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Dr(e){if(e===null||typeof e!="object")throw new K("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=be(n.access_key_id,n.accessKeyId),r=be(n.secret_key,n.secretKey,n.secretAccessKey),o=be(n.session_token,n.sessionToken).replace(/\s+/g,""),i=be(n.bucket),a=be(n.region),s=Vi(be(n.dns_point,n.dnsPoint)),d=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",s===""?"dns_point":""].filter(y=>y!=="");if(d.length>0)throw new K("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${d.join("\u3001")}`);let c=Ji(n.expiration??n.expiresAtSeconds),g=be(n.key_prefix,n.keyPrefix),P=be(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:s,...c===void 0?{}:{expiresAtSeconds:c},...g===""?{}:{keyPrefix:g},...P===""?{}:{identityId:P}}}function zi(e,n){if(n-e.fetchedAtMs>=$i)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-qi>n}function Ur(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(d){let c=d instanceof Error?d.message:String(d);throw new K("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${c}`,{cause:d})}let s=Dr(a);return n.set(o,{credential:s,fetchedAtMs:Date.now()}),s}return {resolve(o,i){if(e===void 0)return Promise.reject(new K("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,s=a?void 0:n.get(o);if(s!==void 0&&zi(s,Date.now()))return Promise.resolve(s.credential);n.delete(o);let d=t.get(o);if(d!==void 0)return d;let c=r(o,a).finally(()=>{t.get(o)===c&&t.delete(o);});return t.set(o,c),c}}}function Wi(){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 F=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function In(e){return e instanceof F?e.code:void 0}function Or(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new F("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new F("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new F("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new F("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var se=16e3,Yi=new URL("./speex-runtime.txt",import.meta.url).href,it=null,Qi=15e3;async function Xi(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),Qi),t;try{t=await fetch(Yi,{signal:e.signal});}finally{clearTimeout(n);}if(!t.ok)throw new Error(`Speex runtime fetch failed: ${t.status}`);let r=await t.text();if(r.trimStart().startsWith("<"))throw new Error("Speex runtime fetch returned HTML instead of script");let o=document.createElement("script");o.dataset.speexRuntime="true",o.text=r,document.head.appendChild(o);}async function at(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(it??=(async()=>{if(e===void 0||typeof document>"u")throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await Xi(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw it=null,n instanceof F?n:new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),it)}function Br(){at().catch(()=>{});}function we(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Zi(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let s=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,s<0?s*32768:s*32767,true),i+=2;}return r}function st(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 ea=40,ct=120,na=40,dt=80;function ta(e,n){let t=Math.min(Math.floor(n*ea/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 lt(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*ct/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*na/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let s=a/i;o[a]=(o[a]??0)*s;let d=o.length-1-a;o[d]=(o[d]??0)*s;}return o}function vn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function ra(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 oa(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 Nr(e,n){let t=await at(),r=Math.floor(n*dt/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=Zi(o,n);try{return ra(t.encodeFile(i))}catch(a){throw new F("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function Kr(e){let n=await at();try{let[t,r]=n.decodeFile(oa(e));if(t.length===0)throw new Error("decoded empty pcm");let o=ta(st(t),r.rate>0?r.rate:se),i=r.rate>0?r.rate:se;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof F?t:new F("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Gr(e){let n=await Kr(e);return {wavData:vn(n.samples,n.sampleRate),durationMs:n.durationMs}}var ia=.5,aa=2;function Lr(e){if(typeof e!="number"||!Number.isFinite(e))throw new F("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,ia),aa)}function sa(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:Lr(e.playbackRate)},r=new Set;function o(){for(let l of r)l(t);}let i=null,a=new Map,s=0,d=false,c=false;function g(l){let b=a.get(l);return b!==void 0&&(a.delete(l),a.set(l,b)),b}function P(l,b){if(d)return URL.revokeObjectURL(b.url),b;let S=a.get(l);if(S!==void 0)return URL.revokeObjectURL(b.url),a.delete(l),a.set(l,S),S;for(a.set(l,b);a.size>n;){let A;for(let v of a.keys())if(v!==t.activeId){A=v;break}if(A===void 0)break;let x=a.get(A);a.delete(A),x!==void 0&&URL.revokeObjectURL(x.url);}return b}function y(l){l.paused||l.pause(),l.removeAttribute("src");try{l.load();}catch{}}function p(l,b){return !d&&l===s&&t.activeId===b}function w(l){l.defaultPlaybackRate=t.playbackRate,l.playbackRate=t.playbackRate;}function C(){if(i!==null)return i;let l=new Audio;return l.preload="auto",w(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(),y(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 _(){s+=1,c=false,t.loadingId="",M(),i!==null&&y(i),o();}function D(l){t.errorIds=new Set([...t.errorIds,l]);}function R(l){if(!t.errorIds.has(l))return;let b=new Set(t.errorIds);b.delete(l),t.errorIds=b;}async function I(l,b){let S=g(l);if(S!==void 0)return {entry:S};let A;try{A=await b();}catch(x){return {entry:null,error:{code:In(x),cause:x}}}if(A===null)return {entry:null};try{let{wavData:x,durationMs:v}=await Gr(A),E={url:URL.createObjectURL(new Blob([x],{type:"audio/wav"})),durationMs:v};return {entry:P(l,E)}}catch(x){return {entry:null,error:{code:In(x),cause:x}}}}async function T(l,b){if(d)return;let S=C();if(R(l),t.activeId===l){if(t.isPlaying){S.pause();return}let v=++s;try{await S.play();}catch{if(!p(v,l))return;D(l),o();return}if(!p(v,l))return;t.isPlaying=true,o(),b.onPlayStart?.();return}if(t.loadingId===l)return;_();let A=++s;t.loadingId=l,o();let x=await I(l,b.load);if(A===s){if(t.loadingId="",x.entry===null){D(l),o(),x.error!==void 0&&b.onDecodeError?.(x.error.code,x.error.cause);return}S.src=x.entry.url,w(S),t.activeId=l,t.progress=0,t.currentTimeMs=0,o();try{await S.play();}catch(v){if(!p(A,l))return;M(),y(S),D(l),o(),b.onDecodeError?.(void 0,v);return}p(A,l)&&(t.isPlaying=true,o(),b.onPlayStart?.());}}function O(l,b){i===null||t.activeId!==l||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(b,0),.999)*i.duration);}function u(l){i===null||t.activeId!==l||t.isPlaying&&(c=true,i.pause());}function f(l){if(i===null||t.activeId!==l||!c)return;c=false;let b=++s;i.play().then(()=>{p(b,l)&&(t.isPlaying=true,o());}).catch(()=>{p(b,l)&&(D(l),o());});}function m(l){let b=Lr(l);b!==t.playbackRate&&(t.playbackRate=b,i!==null&&w(i),o());}function h(){if(!d){d=true,_();for(let l of a.values())URL.revokeObjectURL(l.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:l=>(r.add(l),()=>r.delete(l)),toggle:T,seek:O,beginScrub:u,endScrub:f,setPlaybackRate:m,stop:_,dispose:h}}function ca(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 da(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let s=a*r,d=.2;s<200?d=.15:s<300?d=.4:s<=3400?d=1:s<=6e3&&(d=.45),o+=(e[a]??0)/255*d,i+=d;}return i>0?o/i:0}function Hr(e){let n=ca(e.timeDomain),t=da(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var Sn=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}};var la=5e3,ut=15e3,ua=25e3,pa=25e3;function We(e,n,t){return new Promise((r,o)=>{let i=setTimeout(()=>o(new Error(t)),n);e.then(a=>{clearTimeout(i),r(a);},a=>{clearTimeout(i),o(a);});})}async function fa(){if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new F("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");let e=navigator.mediaDevices.getUserMedia({audio:ma()});try{return await We(e,pa,"\u9EA6\u514B\u98CE\u6388\u6743\u8BF7\u6C42\u8D85\u65F6")}catch(n){throw e.then(t=>t.getTracks().forEach(r=>r.stop())).catch(()=>{}),Or(n)}}function ma(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var ga=50,ya=.12,ha=2.6,ba=.06,wa=256;function Ca(){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 Pa(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 F("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await We(i.resume(),ut,"audioContext.resume timeout").catch(()=>{});let s=await We(i.decodeAudioData(await e.arrayBuffer()),ut,"decodeAudioData timeout"),d=Math.max(1,Math.ceil(s.duration*n)),c=new o(1,d,n),g=c.createBufferSource();return g.buffer=s,g.connect(c.destination),g.start(0),(await We(c.startRendering(),ut,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(s){throw s instanceof F?s:new F("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:s})}finally{a&&i.close().catch(()=>{});}}function Fr(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 Ia(e={}){if(typeof MediaRecorder>"u")throw new F("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;e.stream!==void 0?n=e.stream:n=await fa(),Br();let t=Ca(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,s=[],d=null,c=null,g=null,P=[],y=0,p=false;function w(){try{let l;try{l=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{l=new MediaRecorder(n);}return P=[],l.ondataavailable=b=>{b.data.size>0&&P.push(b.data);},l.start(250),y=Date.now(),l}catch(l){throw l instanceof F?l:new F("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:l})}}let C=e.amplitude?.intervalMs??ga,M=e.amplitude?.boost??ha,_=e.amplitude?.smoothing??ya,D=e.amplitude?.minVolume??ba;function R(){let l=Math.floor(r/1e3*se),b=0;for(let A of i)b+=A.length;if(b>l){let A=l,x=[];for(let v of i){if(A<=0)break;v.length<=A?(x.push(v),A-=v.length):(x.push(v.slice(0,A)),A=0);}i.length=0,i.push(...x);}a=Math.min(a,r);let S=Math.max(0,Math.ceil(r/C));s.length>S&&(s.length=S);}async function I(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let l=h().then(()=>R());g=l;try{await l;}catch(b){console.warn("[im-browser] pauseAtMaxDuration settle failed",b);}}let T=setInterval(()=>{!p&&o==="recording"&&f()>=r&&(p=true,I());},250),O=null,u=null;try{let l=window.AudioContext??window.webkitAudioContext;if(l!==void 0){O=new l,O.state==="suspended"&&O.resume().catch(()=>{});let b=O.createMediaStreamSource(n),S=O.createAnalyser();S.fftSize=wa,S.smoothingTimeConstant=_,b.connect(S);let A=new Uint8Array(S.frequencyBinCount),x=new Uint8Array(S.fftSize),v=new Sn;u=setInterval(()=>{if(o!=="recording"||d===null)return;S.getByteFrequencyData(A),S.getByteTimeDomainData(x);let E=Hr({timeDomain:x,frequency:A,sampleRate:O.sampleRate,fftSize:S.fftSize,boost:M}),k=v.next(E),B=k<D?0:k;s.push(Math.round(B*255)),e.onAmplitude?.(B);},C);}}catch(l){console.warn("[im-browser] amplitude analyser setup failed",l);}function f(){let l=o==="recording"&&d!==null?Date.now()-y:0;return a+l}function m(){T!==null&&(clearInterval(T),T=null),u!==null&&(clearInterval(u),u=null),O?.close().catch(()=>{}),O=null;for(let l of n.getTracks())l.stop();}function h(){if(c!==null)return c;let l=d;return l===null?Promise.resolve():(d=null,c=(async()=>{await new Promise(A=>{if(l.state==="inactive"){A();return}let x=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),A();},la);l.onstop=()=>{clearTimeout(x),A();},l.stop();});let b=new Blob(P,{type:l.mimeType||t||"audio/webm"});if(P=[],b.size===0)return;let S=await Pa(b,se,O);S.length!==0&&(i.push(S),a+=S.length/se*1e3);})().finally(()=>{c=null;}),c)}try{d=w();}catch(l){throw o="closed",m(),l}return {getState:()=>o,recordedMs:f,async pause(){o==="recording"&&(o="paused",await h(),(p||a>=r)&&R());},async resume(){o!=="paused"||p||(d=w(),o="recording");},async finish(){if(o==="closed")throw new F("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let l=async()=>{try{g!==null?await g:await h(),R();}finally{m();}let b=Fr(i);if(b.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let S=lt(b,se);if(S.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let A=Math.min(s.length,Math.ceil(ct/C));return {data:await Nr(S,se),durationMs:Math.round(S.length/se*1e3)+dt,waveform:s.slice(A),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await We(l(),ua,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(b){throw m(),b instanceof F?b:new F("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:b})}},cancel(){o="closed";let l=d;if(d=null,l!==null&&(l.ondataavailable=null,l.onstop=null,l.state!=="inactive"))try{l.stop();}catch{}i.length=0,m();},async previewWav(){g!==null?await g:c!==null&&await c,R();let l=Fr(i),b=lt(l,se);if(b.length===0)throw new F("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:vn(st(b),se),durationMs:Math.round(b.length/se*1e3)}}}}function De(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 jr(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var ce=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function $r(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 ce("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(c){throw new ce("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:c})}let a=Uint8Array.from(i,c=>c.charCodeAt(0)&255);if(a.length===0)throw new ce("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let s=new Uint8Array(16);s.set(a.subarray(0,s.length));let d=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,c=>c.charCodeAt(0)):void 0;return {canonical:s,...d===void 0?{}:{legacyAscii:d},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:d!==void 0}}}function va(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=De(jr);function a(I){return {canonical:I.canonical.slice(),...I.legacyAscii===void 0?{}:{legacyAscii:I.legacyAscii.slice()},metadata:{...I.metadata}}}function s(I){return [{strategy:"canonical-base64-pad",key:I.canonical.slice()},...I.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:I.legacyAscii.slice()}]]}function d(I){n.delete(I),t.delete(I),r.delete(I),o.set(I,(o.get(I)??0)+1);}function c(I){let T=o.get(I)??0,O=(async()=>{try{let u=await e.loadSecretKey(I);if(u===null||u.trim()==="")throw new ce(`channel secret_key \u7F3A\u5931\uFF08channelId=${I}\uFF09`);let f=$r(u);return (o.get(I)??0)===T&&n.set(I,a(f)),f}catch(u){let f=u instanceof ce?u:new ce(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${I}\uFF09`,{cause:u});throw e.onError?.(f.message,u),f}})().finally(()=>{t.get(I)===O&&t.delete(I);});return t.set(I,O),O}function g(I,T){let O=t.get(I);if(O!==void 0)return O;i.shouldRenegotiate(I,T.staleKey,n.get(I)?.canonical)&&d(I);}function P(I,T){let O=I.trim();if(O===""){let f=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(f.message),Promise.reject(f)}if(T!==void 0){let f=g(O,T);if(f!==void 0)return f.then(a)}let u=n.get(O);return u!==void 0?Promise.resolve(a(u)):t.get(O)??c(O)}function y(I,T){let O=I.trim();if(O===""){let h=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(h.message),Promise.reject(h)}if(T!==void 0){let h=g(O,T);if(h!==void 0)return h.then(l=>l.canonical.slice())}let u=n.get(O);if(u!==void 0)return Promise.resolve(u.canonical.slice());let f=r.get(O);if(f!==void 0)return f;let m=(t.get(O)??c(O)).then(h=>h.canonical.slice()).finally(()=>{r.get(O)===m&&r.delete(O);});return r.set(O,m),m}function p(I){return n.get(I.trim())?.canonical.slice()??null}async function w(I,T){let O=await P(I,T);return s(O)}function C(I){let T=n.get(I.trim());return T===void 0?[]:s(T)}function M(I){let T=n.get(I.trim());return T===void 0?null:{...T.metadata}}function _(I,T){let O=I.trim();if(O==="")throw new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");let u=$r(T);d(O),i.reset(O),n.set(O,a(u));}function D(I){let T=I.trim();T!==""&&(d(T),i.reset(T));}function R(){let I=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let T of I)o.set(T,(o.get(T)??0)+1),i.reset(T);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:p,getChannelKeyCandidates:w,getCachedChannelKeyCandidates:C,getCachedChannelKeyMetadata:M,primeChannelKey:_,clearChannelKey:D,clearAll:R}}function pt(){let e=globalThis.scheduler;return typeof e?.yield=="function"?e.yield():new Promise(n=>setTimeout(n,0))}var gt=2654435769,qr=16,Ue=8,ft=16,Jr=32;function Vr(e){if(e.length<ft)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 ${ft} \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,ft);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function yt([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=Math.imul(gt,16)>>>0;for(let c=0;c<qr;c++)s=s-(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0,a=a-(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,d=d-gt>>>0;return [a,s]}function ht([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=0;for(let c=0;c<qr;c++)d=d+gt>>>0,a=a+(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,s=s+(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0;return [a,s]}function Ye(e,n,t,r){let o=Vr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/Ue),s=r===void 0?a:Math.min(a,Math.floor(r/Ue)),d=new DataView(e.buffer,e.byteOffset,e.byteLength),c=new DataView(i.buffer);for(let P=0;P<s;P++){let y=P*Ue,[p,w]=t([d.getUint32(y,true),d.getUint32(y+4,true)],o);c.setUint32(y,p,true),c.setUint32(y+4,w,true);}let g=s*Ue;return g<e.length&&i.set(e.subarray(g),g),i}function Qe(e,n){return Ye(n,e,yt)}function Xe(e,n){return Ye(n,e,ht)}function zr(e,n){return Ye(n,e,ht,Jr)}function Wr(e,n){return Ye(n,e,yt,Jr)}var Sa=1024*1024;function Aa(){return pt()}function mt(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function bt(e,n,t,r=Sa,o={}){if(!Number.isInteger(r)||r<=0||r%Ue!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F ${Ue} \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);Vr(e);let i=t==="encrypt"?ht:yt,a=o.yieldToMain??Aa,s=n.size,d=[],c=0;for(;c<s;){mt(o.signal);let g=Math.min(c+r,s),P=new Uint8Array(await n.slice(c,g).arrayBuffer());mt(o.signal),d.push(new Blob([Ye(P,e,i)])),c=g,o.onProgress?.(c,s),c<s&&await a();}return mt(o.signal),new Blob(d)}var Yr=8,An=16;function Ma(e){let n=Q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function Xr(e){return new TextEncoder().encode(e)}function _a(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function xa(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 Ra(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Ea(e){let n=Math.ceil(e.length/Yr)*Yr;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function Zr(e,n=Ma){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<An)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=Xr(r.slice(0,An).toUpperCase());if(o.length<An)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,An)}function eo(e,n,t){return Ra(Xe(Zr(n,t),Ea(Xr(e))))}function ka(e,n,t){return _a(Qe(Zr(n,t),xa(e)))}function Ta(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function wt(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return Ta(JSON.parse(n))}catch{return null}}function Da(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function no(e,n,t){let r=wt(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=ka(e,n,t);return wt(o)??wt(Da(o))}catch{return null}}var Ua="core";var Ze=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";}},Y=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 U(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ua,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Ze(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Ze(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function to(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 U(e,"/user/encrypt_info/info",t,r)}function Oa(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 Ba(e){let n=e.clientType,t=new Map,r=new Map,o=De((y,p)=>y===p),i=null,a=null;function s(y,p){e.onError?.(y,p);}function d(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(p=>(i=p,p)).finally(()=>{a===y&&(a=null);});return a=y,y}async function c(y){let p;try{p=await d();}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,_),null}let w;try{w=await to(e.client,{publicKey:p.publicKeyBase64,clientType:n});}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,_),null}if(w.data===null)return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${w.code}\uFF09`),null;let C=w.data.prv_key??w.data.prvKey??"",M=String(w.data.version??"").trim();if(C==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let _=e.crypto.rsaDecryptPkcs1({data:Oa(C),privateKey:p.privateKey}),D=new TextDecoder().decode(_).trim();if(D==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let R={privateKey:D,version:M};return t.set(y,R),R}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,_),null}}function g(y,p){let w=y.trim();if(w==="")return Promise.resolve(null);if(p!==void 0){let D=r.get(w);if(D!==void 0)return D;o.shouldRenegotiate(w,p.staleKey,t.get(w)?.privateKey)&&t.delete(w);}let C=t.get(w);if(C!==void 0)return Promise.resolve(C);let M=r.get(w);if(M!==void 0)return M;let _=c(w).finally(()=>{r.get(w)===_&&r.delete(w);});return r.set(w,_),_}function P(y){return t.get(y.trim())??null}return {getUserPrivateKey:g,getCachedPrivateKey:P}}function ro(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 U(e,"/user_group/encrypt_info",t,r)}function Na(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 Ka(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=De((p,w)=>p===w),a=null,s=null;function d(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let p=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(w=>(a=w,w)).finally(()=>{s===p&&(s=null);});return s=p,p}async function c(p){let w=o.get(p)??0,C;try{C=await d();}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}let M;try{M=await ro(e.client,{groupId:p,publicKey:C.publicKeyBase64,clientType:n});}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${p}\uFF09`,T),null}if(M.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${p}\uFF0Ccode=${M.code}\uFF09`),null;let _=M.data,D=String(_.prv_key??_.prvKey??_.private_key??"").trim(),R=String(_.pub_key??_.pubKey??_.public_key??"").trim(),I=String(_.version??"").trim();if(D==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${p}\uFF09`),null;try{let T=e.crypto.rsaDecryptPkcs1({data:Na(D),privateKey:C.privateKey}),O=new TextDecoder().decode(T).trim();if(O==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${p}\uFF09`),null;let u={privateKey:O,publicKey:R,version:I};return (o.get(p)??0)===w&&t.set(p,u),u}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}}function g(p,w){let C=p.trim();if(C==="")return Promise.resolve(null);if(w!==void 0){let R=r.get(C);if(R!==void 0)return R;i.shouldRenegotiate(C,w.staleKey,t.get(C)?.privateKey)&&t.delete(C);}let M=t.get(C);if(M!==void 0)return Promise.resolve(M);let _=r.get(C);if(_!==void 0)return _;let D=c(C).finally(()=>{r.get(C)===D&&r.delete(C);});return r.set(C,D),D}function P(p){return t.get(p.trim())??null}function y(p){let w=p.trim();t.delete(w),r.delete(w),o.set(w,(o.get(w)??0)+1),i.reset(w);}return {getGroupKeys:g,getCachedGroupKeys:P,getCachedGroupKeyVersion:p=>t.get(p.trim())?.version??null,clearGroupKeys:y}}async function en(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 U(e,"/user/info/other",t,r)).data}function Ga(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let d=((await en(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return d===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,d),d)}catch(s){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,s),null}}function i(a,s){let d=a.trim();if(d==="")return Promise.resolve(null);s?.force===true&&t.delete(d);let c=t.get(d);if(c!==void 0)return Promise.resolve(c);let g=r.get(d);if(g!==void 0)return g;let P=o(d).finally(()=>{r.get(d)===P&&r.delete(d);});return r.set(d,P),P}return {getPeerPublicKey:i}}var Se=16;function oo(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function io(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function ao(e){return e.replace(/(.{64})/g,`$1
|
|
1
|
+
import {wa as wa$1,G,J as J$1,f,g,i,Y as Y$1,Z as Z$1,aa as aa$1,ba as ba$1,W,X as X$1,L,M,F as F$1,I,K as K$1,m,e,H as H$1,N,P,R,Q as Q$1,S,T,U as U$1,V as V$1,ia as ia$1,ja as ja$1,zb,Ha as Ha$1,Ga as Ga$1,Fa as Fa$1,ga as ga$1,ka as ka$1,ea as ea$1,Ea as Ea$1,_,$,l,s,Ca as Ca$1,Ba as Ba$1,Ia as Ia$1,ca as ca$1,da as da$1}from'./chunk-54HSPG2Z.js';import*as Q from'node-forge';import Q__default from'node-forge';import {deleteDB,openDB}from'idb';import {createSHA256}from'hash-wasm';function Hi(e,n=async t=>{let{createBrowserApiProtocolClient:r}=await import('./browser-YLMJKRLM.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)}function ot(){return typeof navigator<"u"&&typeof ClipboardItem=="function"&&typeof navigator.clipboard?.write=="function"}function ne(e){if(!e.isCurrent())throw new DOMException("Image copy is no longer active","AbortError")}async function rt(e,n){if(ne(n),e.size===0)throw new Error("Empty clipboard image");let t=URL.createObjectURL(e),r=new Image,o;try{if(await new Promise((s,d)=>{r.onload=()=>s(),r.onerror=()=>d(new Error("Clipboard image decode failed")),r.src=t;}),ne(n),r.naturalWidth<=0||r.naturalHeight<=0)throw new Error("Invalid clipboard image dimensions");if(e.type==="image/png")return e;if(r.naturalWidth*r.naturalHeight>16777216)throw new Error("Clipboard image exceeds canvas pixel limit");o=document.createElement("canvas"),o.width=r.naturalWidth,o.height=r.naturalHeight;let i=o.getContext("2d");if(i===null)throw new Error("Clipboard canvas unavailable");i.drawImage(r,0,0);let a=await new Promise((s,d)=>{o.toBlob(c=>c===null?d(new Error("Clipboard PNG encoding failed")):s(c),"image/png");});return ne(n),a}finally{r.onload=null,r.onerror=null,r.src="",URL.revokeObjectURL(t),o!==void 0&&(o.width=o.height=0);}}async function Fi(e,n){if(n!==void 0&&n!==""){ne(e);let s=false,d={...e,isCurrent:()=>!s&&e.isCurrent()};try{if(!ot())throw new Error("Image Clipboard API unavailable");let c=(async()=>rt(await e.loadOriginal(),d))();return c.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":c,"text/plain":new Blob([n],{type:"text/plain"})})]),ne(e),"original"}catch{return s=true,ne(e),await navigator.clipboard.writeText(n),ne(e),"text"}finally{s=true;}}if(!ot())throw new Error("Image Clipboard API unavailable");ne(e);let t=false,r={...e,isCurrent:()=>!t&&e.isCurrent()},o={quality:"original"},i=async()=>(ne(r),o.quality="thumbnail",rt(await e.loadThumbnail(),r)),a=(async()=>{try{return await rt(await e.loadOriginal(),r)}catch(s){ne(r);try{return await i()}catch(d){throw ne(r),new AggregateError([s,d],"Original and thumbnail copy failed")}}})();a.catch(()=>{});try{try{await navigator.clipboard.write([new ClipboardItem({"image/png":a})]);}catch(s){if(ne(r),typeof s=="object"&&s!==null&&"name"in s&&(s.name==="NotAllowedError"||s.name==="SecurityError")||(await a,ne(r),o.quality==="thumbnail"))throw s;let d=i();d.catch(()=>{}),await navigator.clipboard.write([new ClipboardItem({"image/png":d})]);}return ne(r),o.quality}finally{t=true;}}var K=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="MediaTransferError",this.code=n;}};function ji(e){return e instanceof K?e.code:void 0}function Te(e){if(e instanceof K)return e.code==="upload-timeout"?"timeout":e.code!=="multipart-upload-failed"?void 0:Te(e.cause);if(!(e instanceof Error))return;let n=e;if(["ExpiredToken","ExpiredTokenException","RequestExpired","TokenRefreshRequired"].includes(n.Code??n.name))return "credentials-expired";let t=n.$metadata?.httpStatusCode;if(t===429||t!==void 0&&t>=500&&t<=599||n.message.startsWith("XHR_HTTP_HANDLER_ERROR:")||n.name==="NetworkError")return "network"}var $i=3600*1e3,qi=300*1e3;function be(...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 Ji(e){let n=Number(e);if(!(!Number.isFinite(n)||n<=0))return n>1e12?n/1e3:n}function Vi(e){let n=e.replace(/\/+$/,"");return n===""?"":/^https?:\/\//i.test(n)?n:`https://${n}`}function Dr(e){if(e===null||typeof e!="object")throw new K("credentials-invalid","S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u56DE\u5305\u4E0D\u662F\u5BF9\u8C61");let n=e,t=be(n.access_key_id,n.accessKeyId),r=be(n.secret_key,n.secretKey,n.secretAccessKey),o=be(n.session_token,n.sessionToken).replace(/\s+/g,""),i=be(n.bucket),a=be(n.region),s=Vi(be(n.dns_point,n.dnsPoint)),d=[t===""?"access_key_id":"",r===""?"secret_key":"",o===""?"session_token":"",i===""?"bucket":"",a===""?"region":"",s===""?"dns_point":""].filter(y=>y!=="");if(d.length>0)throw new K("credentials-invalid",`S3 \u4E0A\u4F20\u51ED\u8BC1\u683C\u5F0F\u65E0\u6548\uFF1A\u7F3A\u5C11 ${d.join("\u3001")}`);let c=Ji(n.expiration??n.expiresAtSeconds),g=be(n.key_prefix,n.keyPrefix),P=be(n.identity_id,n.identityId);return {accessKeyId:t,secretAccessKey:r,sessionToken:o,bucket:i,region:a,dnsPoint:s,...c===void 0?{}:{expiresAtSeconds:c},...g===""?{}:{keyPrefix:g},...P===""?{}:{identityId:P}}}function zi(e,n){if(n-e.fetchedAtMs>=$i)return false;let{expiresAtSeconds:t}=e.credential;return t===void 0?true:t*1e3-qi>n}function Ur(e){let n=new Map,t=new Map;async function r(o,i){let a;try{a=await e({bucket:o,forceRefresh:i});}catch(d){let c=d instanceof Error?d.message:String(d);throw new K("credentials-request-failed",`S3 \u4E0A\u4F20\u51ED\u8BC1\u83B7\u53D6\u5931\u8D25\uFF1Abucket=${o}\uFF1B\u539F\u56E0\uFF1A${c}`,{cause:d})}let s=Dr(a);return n.set(o,{credential:s,fetchedAtMs:Date.now()}),s}return {resolve(o,i){if(e===void 0)return Promise.reject(new K("credentials-provider-missing","media upload: \u5BBF\u4E3B\u672A\u6CE8\u5165 getUploadCredentials\uFF0C\u65E0\u6CD5\u7533\u8BF7 S3 \u4E34\u65F6\u51ED\u8BC1"));let a=i?.forceRefresh===true,s=a?void 0:n.get(o);if(s!==void 0&&zi(s,Date.now()))return Promise.resolve(s.credential);n.delete(o);let d=t.get(o);if(d!==void 0)return d;let c=r(o,a).finally(()=>{t.get(o)===c&&t.delete(o);});return t.set(o,c),c}}}function Wi(){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 F=class extends Error{code;constructor(n,t,r){super(t??n,r),this.name="VoiceError",this.code=n;}};function In(e){return e instanceof F?e.code:void 0}function Or(e){switch(e instanceof DOMException||e instanceof Error?e.name:""){case "NotAllowedError":case "SecurityError":case "PermissionDeniedError":return new F("permission-denied","\u9EA6\u514B\u98CE\u6743\u9650\u88AB\u62D2\u7EDD",{cause:e});case "NotFoundError":case "DevicesNotFoundError":return new F("device-not-found","\u672A\u627E\u5230\u53EF\u7528\u9EA6\u514B\u98CE",{cause:e});case "NotReadableError":case "TrackStartError":case "AbortError":return new F("device-busy","\u9EA6\u514B\u98CE\u88AB\u5360\u7528\u6216\u542F\u52A8\u5931\u8D25",{cause:e});default:return new F("device-busy",e instanceof Error?e.message:"\u9EA6\u514B\u98CE\u542F\u52A8\u5931\u8D25",{cause:e})}}var se=16e3,Yi=new URL("./speex-runtime.txt",import.meta.url).href,it=null,Qi=15e3;async function Xi(){document.querySelector('script[data-speex-runtime="true"]')?.remove();let e=new AbortController,n=setTimeout(()=>e.abort(new Error("Speex runtime fetch timeout")),Qi),t;try{t=await fetch(Yi,{signal:e.signal});}finally{clearTimeout(n);}if(!t.ok)throw new Error(`Speex runtime fetch failed: ${t.status}`);let r=await t.text();if(r.trimStart().startsWith("<"))throw new Error("Speex runtime fetch returned HTML instead of script");let o=document.createElement("script");o.dataset.speexRuntime="true",o.text=r,document.head.appendChild(o);}async function at(){let e=typeof window>"u"?void 0:window;return e?.__speexInH5!==void 0?e.__speexInH5:(it??=(async()=>{if(e===void 0||typeof document>"u")throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u4EC5\u53EF\u5728\u6D4F\u89C8\u5668\u73AF\u5883\u52A0\u8F7D");if(await Xi(),e.__speexInH5===void 0&&e.initAudio?.(),e.__speexInH5===void 0)throw new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return e.__speexInH5})().catch(n=>{throw it=null,n instanceof F?n:new F("codec-unavailable","Speex \u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25",{cause:n})}),it)}function Br(){at().catch(()=>{});}function we(e,n,t){for(let r=0;r<t.length;r+=1)e.setUint8(n+r,t.charCodeAt(r));}function Zi(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true);let i=44;for(let a=0;a<e.length;a+=1){let s=Math.max(-1,Math.min(1,e[a]??0));o.setInt16(i,s<0?s*32768:s*32767,true),i+=2;}return r}function st(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 ea=40,ct=120,na=40,dt=80;function ta(e,n){let t=Math.min(Math.floor(n*ea/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 lt(e,n){if(e.length===0)return e;let t=Math.min(Math.floor(n*ct/1e3),Math.max(0,e.length-1)),r=t>0?e.subarray(t):e,o=new Float32Array(r),i=Math.min(Math.floor(n*na/1e3),Math.floor(o.length/2));for(let a=0;a<i;a+=1){let s=a/i;o[a]=(o[a]??0)*s;let d=o.length-1-a;o[d]=(o[d]??0)*s;}return o}function vn(e,n){let r=new ArrayBuffer(44+e.length*2),o=new DataView(r);return we(o,0,"RIFF"),o.setUint32(4,36+e.length*2,true),we(o,8,"WAVE"),we(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),we(o,36,"data"),o.setUint32(40,e.length*2,true),new Int16Array(r,44).set(e),new Uint8Array(r)}function ra(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 oa(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 Nr(e,n){let t=await at(),r=Math.floor(n*dt/1e3),o=new Float32Array(r+e.length);o.set(e,r);let i=Zi(o,n);try{return ra(t.encodeFile(i))}catch(a){throw new F("encode-failed","\u8BED\u97F3\u7F16\u7801\u5931\u8D25",{cause:a})}}async function Kr(e){let n=await at();try{let[t,r]=n.decodeFile(oa(e));if(t.length===0)throw new Error("decoded empty pcm");let o=ta(st(t),r.rate>0?r.rate:se),i=r.rate>0?r.rate:se;return {samples:o,sampleRate:i,durationMs:Math.round(o.length/i*1e3)}}catch(t){throw t instanceof F?t:new F("decode-failed","\u8BED\u97F3\u89E3\u7801\u5931\u8D25",{cause:t})}}async function Gr(e){let n=await Kr(e);return {wavData:vn(n.samples,n.sampleRate),durationMs:n.durationMs}}var ia=.5,aa=2;function Lr(e){if(typeof e!="number"||!Number.isFinite(e))throw new F("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,ia),aa)}function sa(e={}){let n=e.cacheMax??8,t={activeId:"",isPlaying:false,loadingId:"",progress:0,currentTimeMs:0,errorIds:new Set,playbackRate:e.playbackRate===void 0?1:Lr(e.playbackRate)},r=new Set;function o(){for(let l of r)l(t);}let i=null,a=new Map,s=0,d=false,c=false;function g(l){let b=a.get(l);return b!==void 0&&(a.delete(l),a.set(l,b)),b}function P(l,b){if(d)return URL.revokeObjectURL(b.url),b;let S=a.get(l);if(S!==void 0)return URL.revokeObjectURL(b.url),a.delete(l),a.set(l,S),S;for(a.set(l,b);a.size>n;){let A;for(let v of a.keys())if(v!==t.activeId){A=v;break}if(A===void 0)break;let x=a.get(A);a.delete(A),x!==void 0&&URL.revokeObjectURL(x.url);}return b}function y(l){l.paused||l.pause(),l.removeAttribute("src");try{l.load();}catch{}}function p(l,b){return !d&&l===s&&t.activeId===b}function w(l){l.defaultPlaybackRate=t.playbackRate,l.playbackRate=t.playbackRate;}function C(){if(i!==null)return i;let l=new Audio;return l.preload="auto",w(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(),y(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 _(){s+=1,c=false,t.loadingId="",M(),i!==null&&y(i),o();}function D(l){t.errorIds=new Set([...t.errorIds,l]);}function R(l){if(!t.errorIds.has(l))return;let b=new Set(t.errorIds);b.delete(l),t.errorIds=b;}async function I(l,b){let S=g(l);if(S!==void 0)return {entry:S};let A;try{A=await b();}catch(x){return {entry:null,error:{code:In(x),cause:x}}}if(A===null)return {entry:null};try{let{wavData:x,durationMs:v}=await Gr(A),E={url:URL.createObjectURL(new Blob([x],{type:"audio/wav"})),durationMs:v};return {entry:P(l,E)}}catch(x){return {entry:null,error:{code:In(x),cause:x}}}}async function T(l,b){if(d)return;let S=C();if(R(l),t.activeId===l){if(t.isPlaying){S.pause();return}let v=++s;try{await S.play();}catch{if(!p(v,l))return;D(l),o();return}if(!p(v,l))return;t.isPlaying=true,o(),b.onPlayStart?.();return}if(t.loadingId===l)return;_();let A=++s;t.loadingId=l,o();let x=await I(l,b.load);if(A===s){if(t.loadingId="",x.entry===null){D(l),o(),x.error!==void 0&&b.onDecodeError?.(x.error.code,x.error.cause);return}S.src=x.entry.url,w(S),t.activeId=l,t.progress=0,t.currentTimeMs=0,o();try{await S.play();}catch(v){if(!p(A,l))return;M(),y(S),D(l),o(),b.onDecodeError?.(void 0,v);return}p(A,l)&&(t.isPlaying=true,o(),b.onPlayStart?.());}}function O(l,b){i===null||t.activeId!==l||!Number.isFinite(i.duration)||i.duration<=0||(i.currentTime=Math.min(Math.max(b,0),.999)*i.duration);}function u(l){i===null||t.activeId!==l||t.isPlaying&&(c=true,i.pause());}function f(l){if(i===null||t.activeId!==l||!c)return;c=false;let b=++s;i.play().then(()=>{p(b,l)&&(t.isPlaying=true,o());}).catch(()=>{p(b,l)&&(D(l),o());});}function m(l){let b=Lr(l);b!==t.playbackRate&&(t.playbackRate=b,i!==null&&w(i),o());}function h(){if(!d){d=true,_();for(let l of a.values())URL.revokeObjectURL(l.url);a.clear(),r.clear(),i=null;}}return {getState:()=>t,subscribe:l=>(r.add(l),()=>r.delete(l)),toggle:T,seek:O,beginScrub:u,endScrub:f,setPlaybackRate:m,stop:_,dispose:h}}function ca(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 da(e,n,t){if(e.length===0||n<=0||t<=0)return 0;let r=n/t,o=0,i=0;for(let a=0;a<e.length;a+=1){let s=a*r,d=.2;s<200?d=.15:s<300?d=.4:s<=3400?d=1:s<=6e3&&(d=.45),o+=(e[a]??0)/255*d,i+=d;}return i>0?o/i:0}function Hr(e){let n=ca(e.timeDomain),t=da(e.frequency,e.sampleRate,e.fftSize),r=n*.55+t*.45;return Math.min(1,r*e.boost)**.72}var Sn=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}};var la=5e3,ut=15e3,ua=25e3,pa=25e3;function We(e,n,t){return new Promise((r,o)=>{let i=setTimeout(()=>o(new Error(t)),n);e.then(a=>{clearTimeout(i),r(a);},a=>{clearTimeout(i),o(a);});})}async function fa(){if(typeof navigator>"u"||navigator.mediaDevices?.getUserMedia===void 0)throw new F("no-media-devices","\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u9EA6\u514B\u98CE\u91C7\u96C6");let e=navigator.mediaDevices.getUserMedia({audio:ma()});try{return await We(e,pa,"\u9EA6\u514B\u98CE\u6388\u6743\u8BF7\u6C42\u8D85\u65F6")}catch(n){throw e.then(t=>t.getTracks().forEach(r=>r.stop())).catch(()=>{}),Or(n)}}function ma(){return {channelCount:1,echoCancellation:true,noiseSuppression:true,autoGainControl:true}}var ga=50,ya=.12,ha=2.6,ba=.06,wa=256;function Ca(){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 Pa(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 F("audio-context-blocked","AudioContext \u4E0D\u53EF\u7528");let i=t??new r,a=t==null;try{i.state==="suspended"&&await We(i.resume(),ut,"audioContext.resume timeout").catch(()=>{});let s=await We(i.decodeAudioData(await e.arrayBuffer()),ut,"decodeAudioData timeout"),d=Math.max(1,Math.ceil(s.duration*n)),c=new o(1,d,n),g=c.createBufferSource();return g.buffer=s,g.connect(c.destination),g.start(0),(await We(c.startRendering(),ut,"offlineAudioContext.startRendering timeout")).getChannelData(0).slice()}catch(s){throw s instanceof F?s:new F("decode-failed","\u5F55\u97F3\u6BB5\u89E3\u7801\u5931\u8D25",{cause:s})}finally{a&&i.close().catch(()=>{});}}function Fr(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 Ia(e={}){if(typeof MediaRecorder>"u")throw new F("no-media-recorder","\u5F53\u524D\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u5F55\u97F3");let n;e.stream!==void 0?n=e.stream:n=await fa(),Br();let t=Ca(),r=e.maxDurationMs??6e4,o="recording",i=[],a=0,s=[],d=null,c=null,g=null,P=[],y=0,p=false;function w(){try{let l;try{l=t!==""?new MediaRecorder(n,{mimeType:t}):new MediaRecorder(n);}catch{l=new MediaRecorder(n);}return P=[],l.ondataavailable=b=>{b.data.size>0&&P.push(b.data);},l.start(250),y=Date.now(),l}catch(l){throw l instanceof F?l:new F("device-busy","\u5F55\u97F3\u5668\u542F\u52A8\u5931\u8D25",{cause:l})}}let C=e.amplitude?.intervalMs??ga,M=e.amplitude?.boost??ha,_=e.amplitude?.smoothing??ya,D=e.amplitude?.minVolume??ba;function R(){let l=Math.floor(r/1e3*se),b=0;for(let A of i)b+=A.length;if(b>l){let A=l,x=[];for(let v of i){if(A<=0)break;v.length<=A?(x.push(v),A-=v.length):(x.push(v.slice(0,A)),A=0);}i.length=0,i.push(...x);}a=Math.min(a,r);let S=Math.max(0,Math.ceil(r/C));s.length>S&&(s.length=S);}async function I(){if(o!=="recording"){e.onMaxDuration?.();return}e.onMaxDuration?.(),o="paused";let l=h().then(()=>R());g=l;try{await l;}catch(b){console.warn("[im-browser] pauseAtMaxDuration settle failed",b);}}let T=setInterval(()=>{!p&&o==="recording"&&f()>=r&&(p=true,I());},250),O=null,u=null;try{let l=window.AudioContext??window.webkitAudioContext;if(l!==void 0){O=new l,O.state==="suspended"&&O.resume().catch(()=>{});let b=O.createMediaStreamSource(n),S=O.createAnalyser();S.fftSize=wa,S.smoothingTimeConstant=_,b.connect(S);let A=new Uint8Array(S.frequencyBinCount),x=new Uint8Array(S.fftSize),v=new Sn;u=setInterval(()=>{if(o!=="recording"||d===null)return;S.getByteFrequencyData(A),S.getByteTimeDomainData(x);let E=Hr({timeDomain:x,frequency:A,sampleRate:O.sampleRate,fftSize:S.fftSize,boost:M}),k=v.next(E),B=k<D?0:k;s.push(Math.round(B*255)),e.onAmplitude?.(B);},C);}}catch(l){console.warn("[im-browser] amplitude analyser setup failed",l);}function f(){let l=o==="recording"&&d!==null?Date.now()-y:0;return a+l}function m(){T!==null&&(clearInterval(T),T=null),u!==null&&(clearInterval(u),u=null),O?.close().catch(()=>{}),O=null;for(let l of n.getTracks())l.stop();}function h(){if(c!==null)return c;let l=d;return l===null?Promise.resolve():(d=null,c=(async()=>{await new Promise(A=>{if(l.state==="inactive"){A();return}let x=setTimeout(()=>{console.warn("[im-browser] recorder onstop timed out, settling with received chunks"),A();},la);l.onstop=()=>{clearTimeout(x),A();},l.stop();});let b=new Blob(P,{type:l.mimeType||t||"audio/webm"});if(P=[],b.size===0)return;let S=await Pa(b,se,O);S.length!==0&&(i.push(S),a+=S.length/se*1e3);})().finally(()=>{c=null;}),c)}try{d=w();}catch(l){throw o="closed",m(),l}return {getState:()=>o,recordedMs:f,async pause(){o==="recording"&&(o="paused",await h(),(p||a>=r)&&R());},async resume(){o!=="paused"||p||(d=w(),o="recording");},async finish(){if(o==="closed")throw new F("empty-recording","\u5F55\u97F3\u4F1A\u8BDD\u5DF2\u7ED3\u675F");o="closed";let l=async()=>{try{g!==null?await g:await h(),R();}finally{m();}let b=Fr(i);if(b.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let S=lt(b,se);if(S.length===0)throw new F("empty-recording","\u5F55\u97F3\u5185\u5BB9\u4E3A\u7A7A");let A=Math.min(s.length,Math.ceil(ct/C));return {data:await Nr(S,se),durationMs:Math.round(S.length/se*1e3)+dt,waveform:s.slice(A),filename:`AUDIO_${Date.now()}.ogg`,mimeType:"audio/ogg"}};try{return await We(l(),ua,"\u5F55\u97F3\u5B9A\u7A3F\u8D85\u65F6")}catch(b){throw m(),b instanceof F?b:new F("encode-failed","\u5F55\u97F3\u5B9A\u7A3F\u5931\u8D25",{cause:b})}},cancel(){o="closed";let l=d;if(d=null,l!==null&&(l.ondataavailable=null,l.onstop=null,l.state!=="inactive"))try{l.stop();}catch{}i.length=0,m();},async previewWav(){g!==null?await g:c!==null&&await c,R();let l=Fr(i),b=lt(l,se);if(b.length===0)throw new F("empty-recording","\u6682\u65E0\u53EF\u8BD5\u542C\u7684\u5F55\u97F3\u5185\u5BB9");return {wavData:vn(st(b),se),durationMs:Math.round(b.length/se*1e3)}}}}function De(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 jr(e,n){return e.length===n.length&&e.every((t,r)=>t===n[r])}var ce=class extends Error{constructor(n,t){super(n,t),this.name="ChannelKeyError";}};function $r(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 ce("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(c){throw new ce("channel secret_key Base64 \u89E3\u7801\u5931\u8D25",{cause:c})}let a=Uint8Array.from(i,c=>c.charCodeAt(0)&255);if(a.length===0)throw new ce("channel secret_key Base64 \u89E3\u7801\u7ED3\u679C\u4E3A\u7A7A");let s=new Uint8Array(16);s.set(a.subarray(0,s.length));let d=n.length===16&&/^[\x20-\x7E]+$/.test(n)?Uint8Array.from(n,c=>c.charCodeAt(0)):void 0;return {canonical:s,...d===void 0?{}:{legacyAscii:d},metadata:{channelKeyCharLength:n.length,decodedByteLength:a.length,padByteCount:Math.max(0,16-a.length),legacyAsciiCandidate:d!==void 0}}}function va(e){let n=new Map,t=new Map,r=new Map,o=new Map,i=De(jr);function a(I){return {canonical:I.canonical.slice(),...I.legacyAscii===void 0?{}:{legacyAscii:I.legacyAscii.slice()},metadata:{...I.metadata}}}function s(I){return [{strategy:"canonical-base64-pad",key:I.canonical.slice()},...I.legacyAscii===void 0?[]:[{strategy:"legacy-ascii16",key:I.legacyAscii.slice()}]]}function d(I){n.delete(I),t.delete(I),r.delete(I),o.set(I,(o.get(I)??0)+1);}function c(I){let T=o.get(I)??0,O=(async()=>{try{let u=await e.loadSecretKey(I);if(u===null||u.trim()==="")throw new ce(`channel secret_key \u7F3A\u5931\uFF08channelId=${I}\uFF09`);let f=$r(u);return (o.get(I)??0)===T&&n.set(I,a(f)),f}catch(u){let f=u instanceof ce?u:new ce(`channel secret_key \u52A0\u8F7D\u5931\u8D25\uFF08channelId=${I}\uFF09`,{cause:u});throw e.onError?.(f.message,u),f}})().finally(()=>{t.get(I)===O&&t.delete(I);});return t.set(I,O),O}function g(I,T){let O=t.get(I);if(O!==void 0)return O;i.shouldRenegotiate(I,T.staleKey,n.get(I)?.canonical)&&d(I);}function P(I,T){let O=I.trim();if(O===""){let f=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(f.message),Promise.reject(f)}if(T!==void 0){let f=g(O,T);if(f!==void 0)return f.then(a)}let u=n.get(O);return u!==void 0?Promise.resolve(a(u)):t.get(O)??c(O)}function y(I,T){let O=I.trim();if(O===""){let h=new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");return e.onError?.(h.message),Promise.reject(h)}if(T!==void 0){let h=g(O,T);if(h!==void 0)return h.then(l=>l.canonical.slice())}let u=n.get(O);if(u!==void 0)return Promise.resolve(u.canonical.slice());let f=r.get(O);if(f!==void 0)return f;let m=(t.get(O)??c(O)).then(h=>h.canonical.slice()).finally(()=>{r.get(O)===m&&r.delete(O);});return r.set(O,m),m}function p(I){return n.get(I.trim())?.canonical.slice()??null}async function w(I,T){let O=await P(I,T);return s(O)}function C(I){let T=n.get(I.trim());return T===void 0?[]:s(T)}function M(I){let T=n.get(I.trim());return T===void 0?null:{...T.metadata}}function _(I,T){let O=I.trim();if(O==="")throw new ce("channel id \u4E0D\u80FD\u4E3A\u7A7A");let u=$r(T);d(O),i.reset(O),n.set(O,a(u));}function D(I){let T=I.trim();T!==""&&(d(T),i.reset(T));}function R(){let I=new Set([...n.keys(),...t.keys(),...r.keys(),...o.keys()]);for(let T of I)o.set(T,(o.get(T)??0)+1),i.reset(T);n.clear(),t.clear(),r.clear();}return {getChannelKey:y,getCachedChannelKey:p,getChannelKeyCandidates:w,getCachedChannelKeyCandidates:C,getCachedChannelKeyMetadata:M,primeChannelKey:_,clearChannelKey:D,clearAll:R}}function pt(){let e=globalThis.scheduler;return typeof e?.yield=="function"?e.yield():new Promise(n=>setTimeout(n,0))}var gt=2654435769,qr=16,Ue=8,ft=16,Jr=32;function Vr(e){if(e.length<ft)throw new Error(`TEA key \u957F\u5EA6\u4E0D\u8DB3\uFF1A${e.length}\uFF0C\u9700 \u2265 ${ft} \u5B57\u8282`);let n=new DataView(e.buffer,e.byteOffset,ft);return [n.getUint32(0,true),n.getUint32(4,true),n.getUint32(8,true),n.getUint32(12,true)]}function yt([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=Math.imul(gt,16)>>>0;for(let c=0;c<qr;c++)s=s-(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0,a=a-(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,d=d-gt>>>0;return [a,s]}function ht([e,n],[t,r,o,i]){let a=e>>>0,s=n>>>0,d=0;for(let c=0;c<qr;c++)d=d+gt>>>0,a=a+(Math.imul(s,16)+t^s+d^(s>>>5)+r)>>>0,s=s+(Math.imul(a,16)+o^a+d^(a>>>5)+i)>>>0;return [a,s]}function Ye(e,n,t,r){let o=Vr(n),i=new Uint8Array(e.length),a=Math.floor(e.length/Ue),s=r===void 0?a:Math.min(a,Math.floor(r/Ue)),d=new DataView(e.buffer,e.byteOffset,e.byteLength),c=new DataView(i.buffer);for(let P=0;P<s;P++){let y=P*Ue,[p,w]=t([d.getUint32(y,true),d.getUint32(y+4,true)],o);c.setUint32(y,p,true),c.setUint32(y+4,w,true);}let g=s*Ue;return g<e.length&&i.set(e.subarray(g),g),i}function Qe(e,n){return Ye(n,e,yt)}function Xe(e,n){return Ye(n,e,ht)}function zr(e,n){return Ye(n,e,ht,Jr)}function Wr(e,n){return Ye(n,e,yt,Jr)}var Sa=1024*1024;function Aa(){return pt()}function mt(e){if(e?.aborted)throw new DOMException("TEA \u5206\u5757\u5904\u7406\u5DF2\u53D6\u6D88","AbortError")}async function bt(e,n,t,r=Sa,o={}){if(!Number.isInteger(r)||r<=0||r%Ue!==0)throw new RangeError(`TEA \u5206\u5757\u5927\u5C0F\u5FC5\u987B\u662F ${Ue} \u7684\u6B63\u6574\u6570\u500D\uFF1A${r}`);Vr(e);let i=t==="encrypt"?ht:yt,a=o.yieldToMain??Aa,s=n.size,d=[],c=0;for(;c<s;){mt(o.signal);let g=Math.min(c+r,s),P=new Uint8Array(await n.slice(c,g).arrayBuffer());mt(o.signal),d.push(new Blob([Ye(P,e,i)])),c=g,o.onProgress?.(c,s),c<s&&await a();}return mt(o.signal),new Blob(d)}var Yr=8,An=16;function Ma(e){let n=Q.md.md5.create();return n.update(e,"utf8"),n.digest().toHex()}function Xr(e){return new TextEncoder().encode(e)}function _a(e){let n=e.length;for(;n>0&&e[n-1]===0;)n-=1;return new TextDecoder().decode(e.subarray(0,n))}function xa(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 Ra(e){let n="";for(let t of e)n+=String.fromCharCode(t);return btoa(n)}function Ea(e){let n=Math.ceil(e.length/Yr)*Yr;if(n===e.length)return e;let t=new Uint8Array(n);return t.set(e),t}function Zr(e,n=Ma){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<An)throw new Error("collect TEA key: MD5 \u957F\u5EA6\u4E0D\u8DB3");let o=Xr(r.slice(0,An).toUpperCase());if(o.length<An)throw new Error("collect TEA key: \u6D3E\u751F\u7ED3\u679C\u4E0D\u8DB3 16 \u5B57\u8282");return o.subarray(0,An)}function eo(e,n,t){return Ra(Xe(Zr(n,t),Ea(Xr(e))))}function ka(e,n,t){return _a(Qe(Zr(n,t),xa(e)))}function Ta(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}function wt(e){let n=e.trim();if(n===""||!n.startsWith("{"))return null;try{return Ta(JSON.parse(n))}catch{return null}}function Da(e){let n=e.trim(),t=n.indexOf("}");return t>=0?n.slice(0,t+1):n}function no(e,n,t){let r=wt(e);if(r!==null)return r;if(e.trim()===""||n.trim()==="")return null;try{let o=ka(e,n,t);return wt(o)??wt(Da(o))}catch{return null}}var Ua="core";var Ze=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";}},Y=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 U(e,n,t,r){let o=r!==void 0&&"responseMode"in r&&r.responseMode==="strict",i;try{i=await e(n,{target:Ua,data:t,...r?.method===void 0?{}:{method:r.method},...r?.headers===void 0?{}:{headers:r.headers},...r?.prefix===void 0?{}:{prefix:r.prefix}});}catch(a){throw o?new Ze(a instanceof Error?a.message:String(a),a):a}if(o){let a=typeof i.msg=="string"?i.msg:"";if(i.code===502)throw new Ze(a);return i.code!==200?{ok:false,code:i.code,message:a,data:i.data}:{ok:true,code:200,message:a,data:i.data}}return {code:i.code,data:i.code===200&&i.data!=null?i.data:null}}function to(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 U(e,"/user/encrypt_info/info",t,r)}function Oa(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 Ba(e){let n=e.clientType,t=new Map,r=new Map,o=De((y,p)=>y===p),i=null,a=null;function s(y,p){e.onError?.(y,p);}function d(){if(i!==null)return Promise.resolve(i);if(a!==null)return a;let y=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(p=>(i=p,p)).finally(()=>{a===y&&(a=null);});return a=y,y}async function c(y){let p;try{p=await d();}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08userId=${y}\uFF09`,_),null}let w;try{w=await to(e.client,{publicKey:p.publicKeyBase64,clientType:n});}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${y}\uFF09`,_),null}if(w.data===null)return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08userId=${y}\uFF0Ccode=${w.code}\uFF09`),null;let C=w.data.prv_key??w.data.prvKey??"",M=String(w.data.version??"").trim();if(C==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08userId=${y}\uFF09`),null;try{let _=e.crypto.rsaDecryptPkcs1({data:Oa(C),privateKey:p.privateKey}),D=new TextDecoder().decode(_).trim();if(D==="")return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u79C1\u94A5\u4E3A\u7A7A\uFF08userId=${y}\uFF09`),null;let R={privateKey:D,version:M};return t.set(y,R),R}catch(_){return s(`\u7528\u6237\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08userId=${y}\uFF09`,_),null}}function g(y,p){let w=y.trim();if(w==="")return Promise.resolve(null);if(p!==void 0){let D=r.get(w);if(D!==void 0)return D;o.shouldRenegotiate(w,p.staleKey,t.get(w)?.privateKey)&&t.delete(w);}let C=t.get(w);if(C!==void 0)return Promise.resolve(C);let M=r.get(w);if(M!==void 0)return M;let _=c(w).finally(()=>{r.get(w)===_&&r.delete(w);});return r.set(w,_),_}function P(y){return t.get(y.trim())??null}return {getUserPrivateKey:g,getCachedPrivateKey:P}}function ro(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 U(e,"/user_group/encrypt_info",t,r)}function Na(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 Ka(e){let n=e.clientType,t=new Map,r=new Map,o=new Map,i=De((p,w)=>p===w),a=null,s=null;function d(){if(a!==null)return Promise.resolve(a);if(s!==null)return s;let p=Promise.resolve().then(()=>e.crypto.generateTempKeyPair()).then(w=>(a=w,w)).finally(()=>{s===p&&(s=null);});return s=p,p}async function c(p){let w=o.get(p)??0,C;try{C=await d();}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u751F\u6210\u4E34\u65F6 RSA \u5BC6\u94A5\u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}let M;try{M=await ro(e.client,{groupId:p,publicKey:C.publicKeyBase64,clientType:n});}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u8BF7\u6C42\u5F02\u5E38\uFF08groupId=${p}\uFF09`,T),null}if(M.data===null)return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u4E1A\u52A1\u5931\u8D25\uFF08groupId=${p}\uFF0Ccode=${M.code}\uFF09`),null;let _=M.data,D=String(_.prv_key??_.prvKey??_.private_key??"").trim(),R=String(_.pub_key??_.pubKey??_.public_key??"").trim(),I=String(_.version??"").trim();if(D==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\u54CD\u5E94\u7F3A\u5C11 prv_key\uFF08groupId=${p}\uFF09`),null;try{let T=e.crypto.rsaDecryptPkcs1({data:Na(D),privateKey:C.privateKey}),O=new TextDecoder().decode(T).trim();if(O==="")return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u89E3\u51FA\u7684\u7FA4\u79C1\u94A5\u4E3A\u7A7A\uFF08groupId=${p}\uFF09`),null;let u={privateKey:O,publicKey:R,version:I};return (o.get(p)??0)===w&&t.set(p,u),u}catch(T){return e.onError?.(`\u7FA4\u5BC6\u94A5\u534F\u5546\uFF1A\u4E34\u65F6\u79C1\u94A5\u89E3 prv_key \u5931\u8D25\uFF08groupId=${p}\uFF09`,T),null}}function g(p,w){let C=p.trim();if(C==="")return Promise.resolve(null);if(w!==void 0){let R=r.get(C);if(R!==void 0)return R;i.shouldRenegotiate(C,w.staleKey,t.get(C)?.privateKey)&&t.delete(C);}let M=t.get(C);if(M!==void 0)return Promise.resolve(M);let _=r.get(C);if(_!==void 0)return _;let D=c(C).finally(()=>{r.get(C)===D&&r.delete(C);});return r.set(C,D),D}function P(p){return t.get(p.trim())??null}function y(p){let w=p.trim();t.delete(w),r.delete(w),o.set(w,(o.get(w)??0)+1),i.reset(w);}return {getGroupKeys:g,getCachedGroupKeys:P,getCachedGroupKeyVersion:p=>t.get(p.trim())?.version??null,clearGroupKeys:y}}async function en(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 U(e,"/user/info/other",t,r)).data}function Ga(e){let n=e.clientType,t=new Map,r=new Map;async function o(a){try{let d=((await en(e.client,{userId:a,clientType:n}))?.public_key??"").trim();return d===""?(e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\uFF1A/user/info/other \u65E0 public_key\uFF08userId=${a}\uFF09`),null):(t.set(a,d),d)}catch(s){return e.onError?.(`\u53D6\u5BF9\u7AEF\u516C\u94A5\u8BF7\u6C42\u5F02\u5E38\uFF08userId=${a}\uFF09`,s),null}}function i(a,s){let d=a.trim();if(d==="")return Promise.resolve(null);s?.force===true&&t.delete(d);let c=t.get(d);if(c!==void 0)return Promise.resolve(c);let g=r.get(d);if(g!==void 0)return g;let P=o(d).finally(()=>{r.get(d)===P&&r.delete(d);});return r.set(d,P),P}return {getPeerPublicKey:i}}var Se=16;function oo(e){let n="";for(let t of e)n+=String.fromCharCode(t);return n}function io(e){let n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t)&255;return n}function ao(e){return e.replace(/(.{64})/g,`$1
|
|
2
2
|
`).trim()}function La(e){return e.replace(/-----BEGIN[^-]+-----/g,"").replace(/-----END[^-]+-----/g,"").replace(/\s+/g,"")}function Ha(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u79C1\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return Q.pki.privateKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return Q.pki.privateKeyFromAsn1(Q.asn1.fromDer(Q.util.decode64(t)))}catch(i){r.push(i);}let o=ao(t);for(let i of ["PRIVATE KEY","RSA PRIVATE KEY"])try{return Q.pki.privateKeyFromPem(`-----BEGIN ${i}-----
|
|
3
3
|
${o}
|
|
4
4
|
-----END ${i}-----`)}catch(a){r.push(a);}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 so(e){let n=Ha(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 d=0;d<r.length;d+=t){let c=Math.min(d+t,r.length);try{let g=n.decrypt(oo(r.subarray(d,c)),"RSAES-PKCS1-V1_5");o.push(io(g));}catch(g){let P=g instanceof Error?g.message:String(g);throw new Error(`RSA-PKCS1 \u89E3\u5BC6\u5931\u8D25\uFF08\u5BC6\u6587 ${r.length}B\uFF0C\u5757 ${d}..${c}\uFF0CkeySize ${t}B\uFF0C\u79C1\u94A5 ${n.n.bitLength()}bit\uFF09\uFF1A${P}`)}}let i=o.reduce((d,c)=>d+c.length,0),a=new Uint8Array(i),s=0;for(let d of o)a.set(d,s),s+=d.length;return a}function Fa(e){let n=so({data:e.secretKey,privateKey:e.privateKey});if(n.length<Se)throw new Error(`\u7AEF\u5230\u7AEF\u89E3\u5BC6\u5931\u8D25\uFF1ARSA \u89E3\u51FA\u7684 teaKey \u957F\u5EA6 ${n.length} < ${Se}`);return Qe(n,e.cipherData)}function ja(e){let n=(e??"").trim();if(n==="")throw new Error("RSA \u516C\u94A5\u4E3A\u7A7A");if(n.includes("-----BEGIN"))return Q.pki.publicKeyFromPem(n);let t=n.replace(/\s+/g,""),r=[];try{return Q.pki.publicKeyFromAsn1(Q.asn1.fromDer(Q.util.decode64(t)))}catch(i){r.push(i);}let o=ao(t);for(let i of ["PUBLIC KEY","RSA PUBLIC KEY"])try{return Q.pki.publicKeyFromPem(`-----BEGIN ${i}-----
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {p}from'./chunk-2EB5ZELD.js';import {e,a as a$1}from'./chunk-I7RLO6MT.js';import {j as j$1,h}from'./chunk-A5WA7S7J.js';import {la}from'./chunk-54HSPG2Z.js';import {a}from'./chunk-WOT6VMZA.js';function ae(e){return e==="default"||e==="board-game-link"||e==="game-preview"}function se(e){return (e??"").trim().replace(/^[?&]+/,"").trim()}function le(e,n){let t=se(n);return e===""||t===""?e:e+(e.includes("?")?"&":"?")+t}function F(e){return e===""||e.startsWith("/")||e.startsWith("?")||e.startsWith("&")?false:e.includes(".")}function de(e){return e===""?"":/^https?:\/\//i.test(e)?e:`https://${e}`}function C(e){return le(ce(e),e.gamePath)}function ce(e){let n=e.domain?.trim()??"",t=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";if(n!==""){if(t==="")return n;if(t.startsWith("/"))return n.replace(/\/$/,"")+t;let r=t.replace(/^&/,""),o=n.includes("?")?"&":t.includes("?")?"":"?";return n+o+r}return /^https?:\/\//i.test(t)?t:F(t)?`https://${t}`:i}function R(e){let n=e.domain?.trim()??"",t=e.suffixAddress?.trim()??"",i=e.h5Url?.trim()??"";return /^https?:\/\//i.test(t)?t:F(t)?`https://${t}`:n!==""?de(C({domain:n,suffixAddress:t,h5Url:i})):/^https?:\/\//i.test(i)?i:F(i)?`https://${i}`:""}function me(e,n){return {id:e.appId??n,name:n,cover:"",...e.appId===void 0?{}:{appId:e.appId},...e.developerId===void 0?{}:{developerId:e.developerId},...e.domain===void 0?{}:{domain:e.domain},...e.suffixAddress===void 0?{}:{suffixAddress:e.suffixAddress},...e.h5Url===void 0?{}:{h5Url:e.h5Url},...e.isDynamic===void 0?{}:{isDynamic:e.isDynamic},...e.productId===void 0?{}:{productId:e.productId}}}function ue(e,n){if(e.configType==="float-link"){let r=R({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return r===""?{kind:"refuse"}:{kind:"open-link",url:r}}if(e.configType!=="pinned-game"&&e.configType!=="float-game")return {kind:"refuse"};let t=e.appId?.trim()??"",i=C({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url});return t===""||i===""?{kind:"refuse"}:{kind:"open-game",game:me(e,n.name),currencyType:n.currentCurrencyType??""}}var V={"zh-CN":1,"zh-TW":2,"en-US":3,"vi-VN":4,"th-TH":5};function G(e,n){let t=String(n).trim();return t===""||t==="0"?false:(e??"").split(",").map(i=>i.trim()).filter(i=>i!=="").includes(t)}function z(e){return e in V?e:"en-US"}function Q(e,n){let i={"zh-CN":e.nameZhHans,"zh-TW":e.nameZhHant,"en-US":e.nameEn,"vi-VN":e.nameVi,"th-TH":e.nameTh}[z(n)]?.trim()??"";return i!==""?i:[e.nameEn,e.nameZhHans,e.nameZhHant,e.nameVi,e.nameTh].map(r=>r?.trim()??"").find(r=>r!=="")??""}function fe(e){return e.icon?.trim()||e.iconSmall?.trim()||e.iconMedium?.trim()||e.iconLarge?.trim()||""}function q(e){return C({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})}function J(e){return (e.appId?.trim()??"")!==""}function pe(e){return e.configType==="float-game"?J(e)&&q(e)!=="":e.configType==="float-link"?R({domain:e.domain,suffixAddress:e.suffixAddress,h5Url:e.h5Url})!=="":false}function ge(e){return e.configType==="float-game"?"half":"page"}function he(e){let n=Q(e.rel,e.locale);return {title:e.channelDescription?.trim()??"",tag:n,name:n}}function Y(e){return [...e].sort((n,t)=>n.configType===t.configType?0:n.configType==="float-game"?1:t.configType==="float-game"?-1:0)}function Me(e,n){if(e===void 0)return {pinnedGame:null,floatingItems:[]};let t=V[z(n.locale)],i=e.filter(r=>r.configType!=="unknown"&&G(r.langTypes,t)&&G(r.currencyTypes,n.currencyType??""));return {pinnedGame:i.find(r=>r.configType==="pinned-game"&&J(r))??null,floatingItems:Y(i.filter(r=>(r.configType==="float-link"||r.configType==="float-game")&&pe(r)))}}function ve(e,n){return [e,n.configType,n.appId??"",n.suffixAddress??n.h5Url??""].join("|")}var H=p();function ye(e$1,n){let t=n.suppressDraft===true?null:e$1.draft,i=t?.text.trim()??"",r,o="",a="";return t!==null?r=i===""?[]:Ce(e$1,i,n.locale):be(e$1)?r=w(Re(e$1,n)):e$1.lastMessageSummary?.kind==="channel-moderation-deleted"||e$1.lastMessageDeletedForEveryone!==void 0?r=w(S(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=w(S(e$1,e$1.lastMessageSummary?.kind==="recalled"?e$1.lastMessageSummary:{kind:"recalled",by:e$1.lastMessageRecalled?.by??""},n)):(o=we(e$1,n),a=e$1.mentionUnreadCount>0?n.labels.mentionBadge:"",r=xe(e$1,n)),{preview:`${a}${o}${r.map(l=>l.text).join("")}`||(t===null?n.labels.emptyPreview:""),previewSegments:r,...Ie(e$1,t!==null),...Pe(e$1,t!==null,n.accountId),senderPrefix:o,mentionBadge:a,time:e(a$1(t?.updatedAt,e$1.timestamp),{locale:n.locale,...n.now===void 0?{}:{now:n.now}}),hasDraft:t!==null}}function w(e){return [{kind:"text",text:e}]}function Ie(e,n){let t=e.lastMessageSummary;if(n||e.lastMessageDeletedForEveryone!==void 0||e.lastMessageRecalled!==void 0||e.lastMessageSystemEvent!==void 0||t===void 0)return {};if(t.kind==="mediaAlbum"){let{imageCount:i,videoCount:r,caption:o,firstItemKind:a}=t;return i<=0&&r<=0?{}:o!==void 0&&o!==""&&a!==void 0?{previewMediaKind:a}:i>0&&r>0?{previewMediaKind:"mediaAlbum"}:{previewMediaKind:r>0?"video":"image"}}return t.kind==="image"||t.kind==="video"||t.kind==="gif"||t.kind==="sticker"||t.kind==="voice"?{previewMediaKind:t.kind}:{}}function Pe(e,n,t){return n||e.ref.conversationType!=="direct"||e.lastMessageSenderId!==t||e.lastMessageSendState!==void 0||e.lastMessageDeletedForEveryone!==void 0||e.lastMessageRecalled!==void 0||e.lastMessageSystemEvent!==void 0||e.lastMessageSummary?.kind==="system"||e.lastMessageSummary?.kind==="recalled"||e.lastMessageSummary?.kind==="channel-moderation-deleted"||e.lastMessageReceipt===void 0?{}:{previewReceipt:e.lastMessageReceipt}}function B(e){return e.map(n=>n.kind==="emoji"?{kind:"emoji",text:n.text,code:n.code}:{kind:n.kind,text:n.text})}function Ce(e,n,t){let i=e.draft?.mentions??[],r=[],o={},a=false;for(let l of i){if(l.userId==="0"){a=true;continue}r.includes(l.userId)||r.push(l.userId),l.displayName.trim()!==""&&(o[l.userId]=l.displayName);}let s=a||r.length>0?{atAll:a,atUserIds:r,...Object.keys(o).length===0?{}:{atUsersName:o}}:void 0;return B(la(n,{mention:s,resolveName:l=>o[l]??l,atAllDisplay:j$1(t),matchers:[H]}))}function xe(e,n){let t=e.lastMessageSummary;if(t!==void 0&&t.kind!=="text"){let o=S(e,t,n);return (t.kind==="mediaAlbum"||t.kind==="filesAlbum")&&t.caption?B(la(o,{resolveName:a=>n.resolveName(e.ref,a),matchers:[H]})):w(o)}let i=(t?.kind==="text"?t.text:e.lastMessagePreview).trim();if(i==="")return w(n.labels.emptyPreview);let r=e.lastMessageMention?.atUsersName;return B(la(i,{mention:e.lastMessageMention===void 0?void 0:{...e.lastMessageMention,atUserIds:[...e.lastMessageMention.atUserIds]},resolveName:o=>n.resolveName(e.ref,o,r?.[o]),selfId:n.accountId,atAllDisplay:j$1(n.locale),matchers:[H]}))}function S(e,n,t){return h(Se(n),{locale:t.locale,selfId:t.accountId,resolveName:i=>t.resolveName(e.ref,i)})}function be(e){return e.lastMessageSummary?.kind==="system"||e.lastMessageSenderId==="system"||e.lastMessageSystemEvent!==void 0}function Re(e,n){return e.lastMessageSummary?.kind==="system"?S(e,e.lastMessageSummary,n):e.lastMessageSystemEvent===void 0?e.lastMessagePreview.trim()||n.labels.emptyPreview:S(e,{kind:"system",system:{eventType:e.lastMessageSystemEvent,...e.lastMessageSystemTargetsSelf===true?{targetUserIds:[n.accountId]}:{},...e.lastMessagePreview.trim()===""?{}:{fallbackText:e.lastMessagePreview.trim()}}},n)}function we(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 Se(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 Te=160,Ae=220;function Le(e){let n=Math.max(0,e.showDelayMs??160),t=Math.max(0,e.minimumVisibleMs??220),i=e.now??Date.now,r=e.setTimer??((m,v)=>setTimeout(m,v)),o=e.clearTimer??(m=>clearTimeout(m)),a="",s=false,l=false,d=0,u,y,c=false;function f(){u!==void 0&&o(u),u=void 0;}function g(){y!==void 0&&o(y),y=void 0;}function M(m){l!==m&&(l=m,d=m?i():0,e.onVisibleChange(m));}function h(m){f(),u=r(()=>{u=void 0,!(c||!s||a!==m)&&M(true);},n);}function p(){if(f(),!l)return;let m=t-Math.max(0,i()-d);if(m<=0){M(false);return}g(),y=r(()=>{y=void 0,!(c||s)&&M(false);},m);}return {update(m,v){if(c)return;if(a!==v){a=v,s=m,f(),g(),M(false),m&&h(v);return}if(s=m,m){g(),!l&&u===void 0&&h(v);return}p();},dispose(){c||(c=true,s=false,f(),g(),M(false));}}}var E={placeholder:0,thumbnail:1,local:2,original:3};function ke(e){let n;for(let t of e)t.value!==void 0&&(n===void 0||E[t.quality]>E[n.quality])&&(n=t);return n}function Ee(e,n){return E[n]>=E[e]}function j(e,n){if(n.length===0)return [{text:e,hit:false}];let t=[],i=0;for(let[r,o]of n)r>i&&t.push({text:e.slice(i,r),hit:false}),t.push({text:e.slice(r,o),hit:true}),i=o;return i<e.length&&t.push({text:e.slice(i),hit:false}),t}var Ue=p();function Oe(e,n){let t=e.preview===""?[{kind:"text",text:n.emptyText}]:e.previewParts.flatMap(a=>a.kind==="plain"?[{kind:"text",text:a.text}]:la(a.text,{mention:a.mention,resolveName:s=>n.resolveName(s,a.mention?.atUsersName?.[s]),atAllDisplay:j$1(n.locale),matchers:[Ue]})),i=t.map(a=>a.text).join(""),r=n.matcher?.match(i)?.ranges??[],o=0;return t.flatMap(a=>{let s=o;o+=a.text.length;let l=r.filter(d=>d.start<o&&d.end>s).map(d=>[Math.max(0,d.start-s),Math.min(a.text.length,d.end-s)]);return a.kind==="emoji"||a.kind==="legacy-emoji-placeholder"?[{...a,hit:l.length>0}]:j(a.text,l).map(d=>({...a,...d}))})}var Ne=280,_e=180;function De(e){return /^data:image\//i.test(e)?true:/\.(?:png|jpe?g|gif|webp|bmp|avif|heic|heif|svg)(?:[?#]|$)/i.test(e)}function X(e,n){return typeof e=="number"&&Number.isFinite(e)&&e>0?e:n}function Fe(e){let n=e.gamePreviewUrl?.trim()??"";return n===""?{url:"",sourceWidth:280,sourceHeight:180,render:"empty"}:{url:n,sourceWidth:X(e.gamePreviewWidth,280),sourceHeight:X(e.gamePreviewHeight,180),render:e.imageLoadFailed===true||!De(n)?"document":"image"}}function U(e){return `${e.conversationType}:${e.conversationId}`}function Ge(e,n){let t=n===null?null:U(n),i=new Set;return e.filter(r=>{let o=U(r.ref);return r.ref.conversationType!=="group"&&r.ref.conversationType!=="channel"||o===t||i.has(o)?false:(i.add(o),true)}).map((r,o)=>({item:r,index:o})).sort((r,o)=>Number(o.item.pinned)-Number(r.item.pinned)||+(o.item.unreadCount>0)-+(r.item.unreadCount>0)||r.index-o.index).slice(0,20).map(({item:r})=>({conversationType:r.ref.conversationType,conversationId:r.ref.conversationId}))}function Ve(e){let n=false,t=null,i,r=false,o=0,a=false,s,l=new Set,d;function u(h,p,m){let v=`${h}:${p??""}`;v!==s&&(s=v,e.diagnostics?.record("debug","chat-kit","history","conversation-prefetch-state",()=>({conversation:m,data:{phase:h,reason:p,attemptedCount:l.size}})));}function y(){o+=1,r=false,i?.(),i=void 0;}function c(){y(),d?.controller.abort(),d=void 0,a=false,l.clear(),t=null,s=void 0;}function f(){return Ge(e.getCandidates(),e.getActiveRef()).filter(h=>!l.has(U(h)))}async function g(){if(r=false,i=void 0,n)return;if(!e.getRunnable()){u("paused","host-not-ready");return}let h=e.getClient();if(h!==t||h===null){M();return}let p=f()[0];if(d!==void 0)return;if(p===void 0){u("exhausted","no-candidates");return}let m={controller:new AbortController,key:U(p)};d=m,a=false,l.add(m.key),u("running",void 0,p);let v=false;try{let k=await h.conversations.prefetchRecent([p],{signal:m.controller.signal});if(d!==m)return;v=k.some(oe=>oe.status==="cancelled"),v&&l.delete(m.key);}catch(k){d===m&&!m.controller.signal.aborted&&e.onError(k);}finally{d===m&&(m.controller.signal.aborted&&l.delete(m.key),d=void 0,a||!v&&!m.controller.signal.aborted?M():u("paused",m.controller.signal.aborted?"host-cancelled":"sdk-cancelled"));}}function M(){if(n)return;let h=e.getClient();if(h!==t&&(c(),t=h),!e.getRunnable()||t===null){y(),d?.controller.abort(),u("paused",t===null?"client-unavailable":"host-not-ready");return}if(d!==void 0){a=true;return}if(r)return;if(f().length===0){u("exhausted","no-candidates");return}r=true,u("scheduled");let p=++o,m=e.scheduleIdle(()=>{r&&p===o&&g();});r&&(i=m);}return {refresh:M,reset:c,dispose(){n=true,c();}}}function He(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})}function W(e,n){if(n===void 0){if(e.contentType==="image")return e.body.image;let i=e.body.mediaAlbum;if(e.contentType!=="mediaAlbum"||i?.items.length!==1||!i.caption?.trim())return;n=0;}let t=e.contentType==="mediaAlbum"?e.body.mediaAlbum?.items[n]:void 0;return t?.kind==="image"?t:void 0}function Be(e){return e?.contentType==="mediaAlbum"?e.body.mediaAlbum?.caption??"":e?.contentType==="filesAlbum"?e.body.filesAlbum?.caption??"":e?.body.text??""}function je(e,n){return e===void 0?void 0:W(e,n)?.url}function Z(e,n){return e!==void 0&&e.status==="sent"&&e.conversationType!=="supergroup"&&e.recalled===void 0&&e.deletedForEveryone===void 0&&W(e,n)!==void 0}function We(e,n,t,i){let r=T(e),o=W(n,i),a=i??(n.contentType==="mediaAlbum"?0:void 0),s={conversationType:n.conversationType,conversationId:n.conversationId},l=()=>r===null||!r.isCurrent()||!t()?false:Z(n,i),d=()=>{if(!l())throw new DOMException("Image copy is no longer active","AbortError")};return {isCurrent:l,async loadOriginal(){if(d(),s.conversationType==="supergroup")throw new Error("Unsupported image copy conversation");let u=await r.client.media.download({conversation:{...s,conversationType:s.conversationType},messageId:n.id,...a===void 0?{}:{itemIndex:a}});return d(),u},async loadThumbnail(){d();let u=o?.thumbData;if(u===void 0||u.length===0)throw new Error("Image thumbnail unavailable");return new Blob([new Uint8Array(u)])}}}var te={};a(te,{acquireMediaBlob:()=>ze,detectImageMime:()=>ee,detectVideoMime:()=>ne,loadCachedImageObjectUrl:()=>en,loadCachedMediaAlbumItemObjectUrl:()=>Xe,loadCachedVideoObjectUrl:()=>Je,loadFileObjectUrl:()=>nn,loadImageObjectUrl:()=>Ze,loadMediaAlbumItemObjectUrl:()=>Ye,loadVideoObjectUrl:()=>qe,loadVoiceBytes:()=>Qe,prepareLocalMediaPreview:()=>$e,prioritizeMediaDownload:()=>Ke});function A(e,n){if(e.conversationType!=="supergroup")return {conversation:{conversationType:e.conversationType,conversationId:e.conversationId},messageId:e.id,...n===void 0?{}:{itemIndex:n}}}function Ke(e,n,t){let i=e.getClient(),r=A(n,t);if(i===null||r===void 0)throw new Error("media download unavailable");i.media.prioritizeDownload(r);}async function L(e,n,t,i){let r=e.getClient(),o=A(n,i);if(r===null||o===void 0)throw new Error("media download unavailable");let a=t===void 0?void 0:r.media.subscribe(s=>{let l=s.find(d=>d.direction==="download"&&d.messageId===o.messageId&&d.itemIndex===i&&d.ref.conversationType===o.conversation.conversationType&&d.ref.conversationId===o.conversation.conversationId);l!==void 0&&t(l.percent);});try{return await r.media.download(o)}finally{a?.();}}function O(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="IM_SDK_MEDIA_DOWNLOAD_CANCELED"}async function $e(e,n){let t=e.getClient();if(t===null)return null;let i=e.getGeneration(),r=await t.media.prepareLocalPreview(n);return r===null||e.getGeneration()!==i?null:r}function ee(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 N(e){let n=new Uint8Array(await e.slice(0,12).arrayBuffer()),t=ee(n);return t===null?null:URL.createObjectURL(e.type===t?e:e.slice(0,e.size,t))}function ne(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 ze(e,n,t){return e.acquireMediaBlob({conversationType:n.conversationType,conversationId:n.conversationId,messageId:n.id,...t===void 0?{}:{itemIndex:t}})}async function Qe(e,n,t){let i=e.getClient(),r=n.body.voice;if(i===null||r===void 0)return null;let o=e.getSelfVoiceBytes(n.id);if(o!==void 0)return o;let a=e.getGeneration();try{let s=new Uint8Array(await(await L(e,n)).arrayBuffer());return s.length===0?(e.getGeneration()===a&&t.setNote(t.t("media.voiceLoadEmpty")),null):s}catch(s){return e.getGeneration()===a&&t.setNote(t.t("media.voiceLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function qe(e,n,t,i){let r=e.getClient(),o=n.body.video;if(r===null||o===void 0)return null;let a=e.getGeneration();try{let s=await L(e,n,i);if(s.size===0)return e.getGeneration()===a&&t.setNote(t.t("media.videoOpenEmpty")),null;let l=URL.createObjectURL(s);return e.getGeneration()!==a?(URL.revokeObjectURL(l),null):l}catch(s){return e.getGeneration()===a&&!O(s)&&t.setNote(t.t("media.videoLoadFailed",{reason:s instanceof Error?s.message:String(s)})),null}}async function Je(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 o=await t.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let a=new Uint8Array(await o.slice(0,12).arrayBuffer()),s=o.type||ne(a);return e.getGeneration()!==r?null:URL.createObjectURL(o.type===s?o:o.slice(0,o.size,s))}catch{return null}}async function Ye(e,n,t,i,r){let o=e.getClient(),a=n.body.mediaAlbum?.items[t];if(o===null||a===void 0)return null;let s=a.kind==="video",l=e.getGeneration();try{let d=await L(e,n,r,t);if(s&&d.size===0)return e.getGeneration()===l&&i.setNote(i.t("media.videoOpenEmpty")),null;let u=s?URL.createObjectURL(d):await N(d);return u===null?(e.getGeneration()===l&&i.setNote(i.t("media.imageInvalid",{size:d.size})),null):e.getGeneration()!==l?(URL.revokeObjectURL(u),null):u}catch(d){return e.getGeneration()===l&&!O(d)&&i.setNote(i.t(s?"media.videoLoadFailed":"media.imageLoadFailed",{reason:d instanceof Error?d.message:String(d)})),null}}async function Xe(e,n,t){let i=e.getClient(),r=n.body.mediaAlbum?.items[t],o=A(n,t);if(i===null||o===void 0||r===void 0||!/^https?:\/\//i.test(r.url))return null;let a=e.getGeneration();try{let s=await i.media.getCached(o);if(s===null||s.size===0||e.getGeneration()!==a)return null;let l=r.kind==="video"?URL.createObjectURL(s):await N(s);return l===null?null:e.getGeneration()!==a?(URL.revokeObjectURL(l),null):l}catch{return null}}async function Ze(e,n,t){let i=e.getClient(),r=n.body.image;if(i===null||r===void 0)return null;let o=e.getGeneration();try{let a=await L(e,n),s=await N(a);return s===null?(e.getGeneration()===o&&t.setNote(t.t("media.imageInvalid",{size:a.size})),null):e.getGeneration()!==o?(URL.revokeObjectURL(s),null):s}catch(a){return e.getGeneration()===o&&!O(a)&&t.setNote(t.t("media.imageLoadFailed",{reason:a instanceof Error?a.message:String(a)})),null}}async function en(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 o=await t.media.getCached(i);if(o===null||o.size===0||e.getGeneration()!==r)return null;let a=await N(o);return a===null?null:e.getGeneration()!==r?(URL.revokeObjectURL(a),null):a}catch{return null}}async function nn(e,n,t,i,r){let o=e.getClient(),a=r===void 0?n.body.file:n.body.filesAlbum?.items[r];if(o===null||a===void 0)return null;let s=e.getGeneration();try{let l=await L(e,n,i,r);if(l.size===0)return e.getGeneration()===s&&t.setNote(t.t("media.fileDownloadEmpty")),null;let d=URL.createObjectURL(l);return e.getGeneration()!==s?(URL.revokeObjectURL(d),null):d}catch(l){return e.getGeneration()===s&&!O(l)&&t.setNote(t.t("media.fileDownloadFailed",{reason:l instanceof Error?l.message:String(l)})),null}}var re={};a(re,{markReadUpTo:()=>tn});function tn(e,n,t,i){let r=T(e);if(r===null||n.conversationId===""||t==="")return;let o=r.client.conversations.list().find(s=>s.id===n.conversationId&&s.type===n.conversationType);if(o?.manuallyUnread===true&&o.unreadCount<=0){r.client.conversations.markConversationRead(n).catch(s=>{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:s}}));});return}if(o?.type==="group"&&o.unreadCount<=0)return;let a=i.getConversationHandle();a===void 0||a.ref.conversationId!==n.conversationId||a.ref.conversationType!==n.conversationType||a.markRead(t).catch(s=>{r.isCurrent()&&i.getConversationHandle()===a&&e.getDiagnostics().record("warn","chat-kit","message","mark-read-skipped",()=>({conversation:n,data:{messageId:t},error:{message:"markRead \u8DF3\u8FC7",data:s}}));});}function rn(e){return e.deletedForEveryone!==void 0?"hidden":e.recalled!==void 0?"recalled":"content"}var on=/\b(?:https?:\/\/|www\.)[^\s<>"')】]+/gi,an=/\b(?:https?:\/\/|www\.)/i,sn=/[),.!?;:,。!?;:、)】]+$/u;function ie(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 ln(e){return an.test(e)}function dn(){return e=>{let n=[];for(let t of e.matchAll(on)){if(t.index===void 0)continue;let i=t[0].replace(sn,"");if(i==="")continue;let r=ie(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 I(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 cn(e){if(I(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&&I(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(I(t.preferredWidth,`${r}.preferredWidth`),I(t.minWidth,`${r}.minWidth`),I(t.maxWidth,`${r}.maxWidth`),I(t.minHeight,`${r}.minHeight`),I(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 mn(e){let{intrinsicWidth:n,intrinsicHeight:t,availableWidth:i,policy:r}=e;I(i,"availableWidth"),cn(r);let o=Number.isFinite(n)&&Number.isFinite(t)&&n>0&&t>0,a=o?n/t:r.fallbackAspectRatio,s=r.rules.find(g=>{let M=g.minAspectRatio===void 0||a>=g.minAspectRatio,h=g.maxAspectRatio===void 0||a<g.maxAspectRatio;return M&&h});if(s===void 0)throw new Error(`\u5A92\u4F53\u5C55\u793A\u7B56\u7565\u6CA1\u6709\u5339\u914D\u5BBD\u9AD8\u6BD4 ${a}`);let l=!s.allowUpscale&&o?Math.min(s.preferredWidth,n):s.preferredWidth,d=Math.min(i,s.maxWidth,Math.max(s.minWidth,l)),u=Math.max(1,Math.round(d)),y=u/a,c=Math.min(s.maxHeight,Math.max(s.minHeight,y)),f=Math.max(1,Math.round(c));return {width:u,height:f,aspectRatio:u/f,sourceAspectRatio:a,ruleId:s.id,fit:s.fit,aspectClamped:c!==y}}function un(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 fn(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,o=a=>a.toString().padStart(2,"0");return t>0?`${t}:${o(i)}:${o(r)}`:`${i}:${o(r)}`}function pn(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 gn(e){let n=e.lastIndexOf(".");return n>-1&&n<e.length-1?e.slice(n+1).toLowerCase():""}function hn(e){let{message:n}=e,t=c=>c.messageId===n.id&&c.ref.conversationId===n.conversationId&&c.ref.conversationType===n.conversationType,i=e.uploadTask!==void 0&&t(e.uploadTask)?e.uploadTask:void 0,r=n.status==="uploading"||n.status==="failed"&&(n.failure?.displayCode?.startsWith("media.")===true||i!==void 0&&i.state!=="completed"),o=r?"upload":"download",a=n.body.mediaAlbum?.items??n.body.filesAlbum?.items,s=e.aggregateFrom===void 0?[e.itemIndex]:(a??[]).map((c,f)=>f).slice(e.aggregateFrom),l=s.map(c=>{let f=c===void 0?n.body.image??n.body.video??n.body.file:a?.[c];if(r){let p=c===void 0?void 0:i?.items?.find(v=>v.itemIndex===c);return {state:p?.state==="completed"?"completed":n.status==="failed"?"failed":i?.state==="paused"?"paused":(p?.state??i?.state)==="running"?"running":"waiting",percent:p?.percent??(c===void 0?i?.percent:void 0),size:p?.bytesTotal??f?.size}}let g=e.downloadTasks.find(p=>t(p)&&p.itemIndex===c&&p.direction==="download"),M=g?.state==="failed"?"failed":g?.state==="running"||g?.state==="queued"?"running":g?.state==="completed"&&!e.unavailableItemIndices?.includes(c)||f?.url.startsWith("blob:")||e.availableItemIndices?.includes(c)?"completed":"waiting",h=M==="completed"?100:M==="waiting"&&g?.state==="completed"?0:g?.percent??0;return {state:M,percent:h,size:g?.bytesTotal??f?.size}}),d=l.some(c=>c.state==="failed")?"failed":l.some(c=>c.state==="running")?"running":l.some(c=>c.state==="paused")?"paused":l.length>0&&l.every(c=>c.state==="completed")?"completed":"waiting",u=o==="download"&&d==="waiting"&&s.some(c=>e.pendingItemIndices?.includes(c))?{resolving:true}:{};if(l.length===1)return {direction:o,state:d,percent:l[0].percent,...u};if(l.length===0||l.some(c=>!Number.isFinite(c.size)||c.size<=0||c.percent===void 0))return {direction:o,state:d,...u};let y=l.reduce((c,f)=>c+f.size,0);return {direction:o,state:d,percent:Math.round(l.reduce((c,f)=>c+f.size*f.percent,0)/y),...u}}var Mn=4;function vn(e){let n=Math.min(Math.max(e/1e3,0)/10,1);return Math.round(22+24*n)}function yn(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 o=r*i,a=Math.round(o),s=e[Math.max(0,a-1)]??0,l=e[Math.min(e.length-1,a)]??0,d=e[Math.min(e.length-1,a+1)]??0;t.push((s+l+d)/3);}return t}function In(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
|
+
export{He as A,T as B,Be as C,je as D,Z as E,We as F,te as G,re as H,rn as I,ie as J,ln as K,dn as L,mn as M,un as N,fn as O,pn as P,gn as Q,hn as R,Mn as S,vn as T,yn as U,In as V,ae as a,C as b,R as c,ue as d,V as e,G as f,Q as g,fe as h,q as i,ge as j,he as k,Y as l,Me as m,ve as n,ye as o,Te as p,Ae as q,Le as r,ke as s,Ee as t,j as u,Oe as v,Ne as w,_e as x,Fe as y,Ve as z};
|
package/dist/i18n.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import'./chunk-SXY56EVC.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-
|
|
1
|
+
import'./chunk-SXY56EVC.js';export{a as DEFAULT_LOCALE,k as createImI18n,f as formatFailure,h as formatLastMessageSummary,i as formatMediaPlaceholder,j as formatMentionAll,l as formatServiceText,g as formatSystemMessage,c as getImTimeCatalog,b as normalizeImLocale,d as registerImCatalogOverrides,e as resetImCatalogOverrides}from'./chunk-A5WA7S7J.js';import'./chunk-54HSPG2Z.js';import'./chunk-WOT6VMZA.js';
|