const __vite__fileDeps=["./prism-C4r0NVHH.js","./_commonjsHelpers-Cpj98o6Y.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); import{aa as nf,M as of,bc as $1,Z as f1,a as z,n as Xf,E as ge,aH as ye,aP as Ee,ao as c1,aG as ve,cm as ut,cn as we,ai as I1,as as P1,m as F1,ay as xf,A as mt,au as R1,az as ke,b as tf,co as bt,p as pt,aJ as N1,I as gt,aS as yt,aj as e1,j as _f,cp as Ce,_ as Le,cq as Ae,cr as J1,cs as Se,a9 as Et,ak as vt,a6 as X1,bt as wt,c2 as kt,aC as l1,cb as Ct,aE as Lt,a7 as At,k as Qf,ct as St,cu as xt,q as xe,e as Te,ab as Tt,cv as K1,aI as It,aX as Ie,y as Pe,aD as Pt,$ as Fe,cw as Ft,s as o1,bh as Re,i as h1,cx as Rt,cy as Y1,d as Nt,V as Dt,N as Mt}from"./index-CbCftUfG.js";import{i as u1,u as _t,g as Ne,a as Ot,f as m1,C as jt,w as Cf,s as De}from"./page-NWzulROZ.js";import{I as b1,s as yf}from"./button-DUmZNV0E.js";function Bt(s,f){for(let e=s.length,t=e-1;t>=0;--t)f(s[t],t,s)}function D1(s){try{const f=s.play();f instanceof Promise&&f.catch(nf)}catch(f){console.error(f)}}class Ut{constructor(){this.observer=new IntersectionObserver(f=>{for(const e of f){const t=e.target;for(const d in this.byGroups){if(this.intersectionLockedGroups[d])continue;const i=this.byGroups[d].find(a=>a.el===t);if(i){if(e.isIntersecting)this.visible.add(i),this.checkAnimation(i,!1);else{this.visible.delete(i),this.checkAnimation(i,!0);const a=i.animation;i.type==="lottie"&&a.clearCache()}break}}}}),this.visible=new Set,this.overrideIdleGroups=new Set,this.byGroups={},this.byPlayer=new Map,this.lockedGroups={},this.onlyOnePlayableGroup="",this.intersectionLockedGroups={},this.videosLocked=!1,$1.addEventListener("change",f=>{this.checkAnimations2(f)})}toggleMediaPause(f){f?this.videosLocked&&(this.videosLocked=!1,this.checkAnimations2()):(this.videosLocked=!0,this.checkAnimations2())}setOverrideIdleGroup(f,e){e?this.overrideIdleGroups.add(f):this.overrideIdleGroups.delete(f)}getAnimations(f){const e=[];for(const t in this.byGroups)for(const d of this.byGroups[t])d.el===f&&e.push(d);return e}removeAnimation(f){const{el:e,animation:t}=f;f.controlled!==!0&&f.type!=="video"&&t.remove();const d=this.byGroups[f.group];d&&(f1(d,f),d.length||delete this.byGroups[f.group]),this.observer.unobserve(e),this.visible.delete(f),this.byPlayer.delete(t)}removeAnimationByPlayer(f){const e=this.byPlayer.get(f);e&&this.removeAnimation(e)}addAnimation(f){var l;const{animation:e,group:t="",observeElement:d,controlled:i,liteModeKey:a,type:n,locked:o}=f;if(t==="none"||this.byPlayer.has(e))return;const h={el:d,animation:e,group:t,controlled:i,liteModeKey:a,type:n,locked:o};i&&typeof i!="boolean"&&i.onClean(()=>{this.removeAnimationByPlayer(e)}),h.type==="lottie"&&!z.settings.stickers.loop&&e.loop&&(e.loop=z.settings.stickers.loop),((l=this.byGroups)[t]??(l[t]=[])).push(h),this.observer.observe(h.el),this.byPlayer.set(e,h)}checkAnimations(f,e,t,d){if(e!==void 0&&!this.byGroups[e])return;const i=e!==void 0?[e]:Object.keys(this.byGroups);for(const a of i){if(d&&this.intersectionLockedGroups[a])continue;const n=this.byGroups[a];Bt(n,o=>{this.checkAnimation(o,f,t)})}}checkAnimations2(f){this.checkAnimations(f,void 0,void 0,!0)}checkAnimation(f,e,t){const{el:d,animation:i,group:a,locked:n}=f;if(!n){if(t||!this.lockedGroups[a]&&!u1(d)){(!f.controlled||t)&&this.removeAnimation(f);return}e||this.onlyOnePlayableGroup&&this.onlyOnePlayableGroup!==a||f.type==="video"&&this.videosLocked?i.paused||i.pause():i.paused&&this.visible.has(f)&&i.autoplay&&(!this.onlyOnePlayableGroup||this.onlyOnePlayableGroup===a)&&(!$1.isIdle||this.overrideIdleGroups.has(f.group))&&D1(i)}}getOnlyOnePlayableGroup(){return this.onlyOnePlayableGroup}setOnlyOnePlayableGroup(f=""){this.onlyOnePlayableGroup=f}lockGroup(f){this.lockedGroups[f]=!0}unlockGroup(f){delete this.lockedGroups[f],this.checkAnimations(void 0,f)}refreshGroup(f){const e=this.byGroups[f];e?.length&&(e.forEach(t=>{this.observer.unobserve(t.el)}),Xf(()=>{e.forEach(t=>{this.observer.observe(t.el)})}))}lockIntersectionGroup(f){this.intersectionLockedGroups[f]=!0}unlockIntersectionGroup(f){delete this.intersectionLockedGroups[f],this.refreshGroup(f)}toggleIntersectionGroup(f,e){e?this.lockIntersectionGroup(f):this.unlockIntersectionGroup(f)}setAutoplay(f,e){let t=!1;return this.byPlayer.forEach((d,i)=>{d.liteModeKey===e&&(t=!0,i.autoplay=f?i._autoplay:!1,i.loop=f?z.settings.stickers.loop&&i._loop:!1)}),t}setLoop(f){let e=!1;return this.byPlayer.forEach((t,d)=>{d._loop&&d.loop!==f&&(t.type==="lottie"||t.type==="video")&&(e=!0,d.loop=f,d.autoplay=d._autoplay)}),e}toggleItemLock(f,e){f.locked=e}}const sf=new Ut;of&&(of.animationIntersector=sf);const Z1=typeof ImageBitmap<"u";class t1{constructor(){this.cache=new Map}static createCache(){const f={frames:new Map,framesNew:new Map,framesURLs:new Map,clearCache:()=>{f.framesNew.forEach(e=>{e.close?.()}),f.frames.clear(),f.framesNew.clear(),f.framesURLs.clear()},counter:0};return f}getCache(f){let e=this.cache.get(f);return e||this.cache.set(f,e=t1.createCache()),++e.counter,e}releaseCache(f){const e=this.cache.get(f);e&&!--e.counter&&this.cache.delete(f)}getCacheCounter(f){return this.cache.get(f)?.counter}generateName(f,e,t,d,i){return[f,e,t,i||""].filter(Boolean).join("-")}}const M1=new t1;function Me(s,f,e){let t=P1(window.devicePixelRatio,1,2);return t>1&&!e&&(s>90&&f>90?!c1&&F1.isMobile&&(t=1):(s>60&&f>60||ye)&&(t=Math.max(1.5,t-1.5))),t}function _1(s,f,e,t,d,i){s.globalCompositeOperation="source-atop",s.fillStyle=typeof f=="string"?f:`rgb(${f[0]}, ${f[1]}, ${f[2]})`,s.fillRect(e,t,d,i),s.globalCompositeOperation="source-over"}const ef=class ef extends ge{constructor({el:f,worker:e,options:t}){super(!0),this.reqId=0,this.width=0,this.height=0,this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.group="",this.cachingDelta=0,this.playedTimes=0,this.reqId=++ef.reqId,this.el=f,this.worker=e;for(const a in t)this.hasOwnProperty(a)&&(this[a]=t[a]);this._loop=this.loop,this._autoplay=this.autoplay,this.initFrame=t.initFrame,this.color=t.color,this.textColor=t.textColor,this.name=t.name,this.skipFirstFrameRendering=t.skipFirstFrameRendering,this.toneIndex=t.toneIndex,this.raw=!1,this.liteModeKey=t.liteModeKey,this.name&&(this.cacheName=ef.CACHE.generateName(this.name,this.width,this.height,this.color,this.toneIndex));let d;t.skipRatio!==void 0?d=t.skipRatio:(ye||Ee||c1&&!ve&&!ut)&&this.width<100&&this.height<100&&!t.needUpscale&&(d=.5),this.skipDelta=d!==void 0?1/d|0:1;const i=Me(this.width,this.height,t.needUpscale);this.width=Math.round(this.width*i),this.height=Math.round(this.height*i),t.noCache||(c1&&this.width>100&&this.height>100?this.cachingDelta=2:this.width<100&&this.height<100?this.cachingDelta=1/0:this.cachingDelta=4),this.canvas||(this.canvas=this.el.map(()=>{const a=document.createElement("canvas");return a.classList.add("rlottie"),a.width=this.width,a.height=this.height,a.dpr=i,a})),this.contexts=this.canvas.map(a=>a.getContext("2d")),(!Z1||this.raw)&&(this.imageData=new ImageData(this.width,this.height),we&&(this.clamped=new Uint8ClampedArray(this.width*this.height*4))),this.name?this.cache=ef.CACHE.getCache(this.cacheName):this.cache=t1.createCache()}setSize(f,e){this.width=f,this.height=e,this.canvas.forEach(t=>{t.width=f,t.height=e})}clearCache(){this.cachingDelta!==1/0&&(this.cacheName&&this.cache.counter>1||this.cache.clearCache())}sendQuery(f,e){this.worker.sendQuery([f.shift(),this.reqId,...f],e)}loadFromData(f){this.sendQuery(["loadFromData",f,this.width,this.height,this.toneIndex,this.raw])}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(f=!0){this.paused||(this.paused=!0,f&&(clearTimeout(this.rafId),this.rafId=void 0))}resetCurrentFrame(){return this.curFrame=this.initFrame??(this.direction===1?this.minFrame:this.maxFrame)}stop(f=!0){this.pause();const e=this.resetCurrentFrame();f&&this.requestFrame(e)}restart(){this.stop(!1),this.play()}playOrRestart(){this.paused&&(this.curFrame===this.maxFrame?this.restart():this.play())}setSpeed(f){this.speed!==f&&(this.speed=f,this.paused||this.setMainLoop())}setDirection(f){this.direction!==f&&(this.direction=f,this.paused||this.setMainLoop())}remove(){this.pause(),this.sendQuery(["destroy"]),this.cacheName&&ef.CACHE.releaseCache(this.cacheName),this.dispatchEvent("destroy"),this.cleanup()}applyColor(f){_1(f,this.color||I1.getPropertyAsColor(this.textColor),0,0,this.width,this.height)}applyColorForAllContexts(){!this.color&&!this.textColor||this.contexts.forEach(f=>{this.applyColor(f)})}renderFrame2(f,e){try{f instanceof Uint8ClampedArray&&this.imageData.data.set(f),this.contexts.forEach((t,d)=>{let i=this.cache.framesNew.get(e);if(f instanceof Uint8ClampedArray?d>0&&(i=this.canvas[0]):i=f,!i){const a=document.createElement("canvas");a.width=t.canvas.width,a.height=t.canvas.height,a.getContext("2d").putImageData(this.imageData,0,0),this.cache.framesNew.set(e,a),i=a}this.overrideRender&&this.renderedFirstFrame?this.overrideRender(i||this.imageData):i?(t.clearRect(0,0,i.width,i.height),t.drawImage(i,0,0)):t.putImageData(this.imageData,0,0),(this.color||this.textColor)&&this.applyColor(t),this.renderedFirstFrame||(this.renderedFirstFrame=!0)}),this.dispatchEvent("enterFrame",e)}catch(t){console.error("RLottiePlayer renderFrame error:",t,this.width,this.height),this.autoplay=!1,this.pause()}}renderFrame(f,e){if(this.cachingDelta&&(e%this.cachingDelta||!e)&&(f instanceof Uint8ClampedArray&&!this.cache.frames.has(e)?this.cache.frames.set(e,new Uint8ClampedArray(f)):Z1&&f instanceof ImageBitmap&&!this.cache.framesNew.has(e)&&this.cache.framesNew.set(e,f)),this.frInterval){const d=Date.now(),i=d-this.frThen;if(i<0){const a=this.frInterval>-i?-i%this.frInterval:this.frInterval;this.rafId&&clearTimeout(this.rafId),this.rafId=window.setTimeout(()=>{this.renderFrame2(f,e)},a);return}}this.renderFrame2(f,e)}requestFrame(f){const e=this.cache.frames.get(f),t=this.cache.framesNew.get(f);t?this.renderFrame(t,f):e?this.renderFrame(e,f):(this.clamped&&!this.clamped.length&&(this.clamped=new Uint8ClampedArray(this.width*this.height*4)),this.sendQuery(["renderFrame",f],this.clamped?[this.clamped.buffer]:void 0))}onLap(){return++this.playedTimes,typeof this.loop=="number"&&this.playedTimes>=this.loop&&(this.loop=this.autoplay=this._loop=this._autoplay=!1),this.loop?!0:(this.clearCache(),this.pause(!1),!1)}mainLoopForwards(){const{skipDelta:f,maxFrame:e}=this,t=this.curFrame+f>e?this.curFrame=this.loop?this.minFrame:this.maxFrame:this.curFrame+=f;return this.requestFrame(t),t+f>e?this.onLap():!0}mainLoopBackwards(){const{skipDelta:f,minFrame:e}=this,t=this.curFrame-fe?1:-1,callback:d})}playToFrame(f){this.pause();const{frame:e,speed:t,callback:d,direction:i}=f;this.setDirection(i===void 0?this.curFrame>e?-1:1:i),t!==void 0&&this.setSpeed(t);const a=[this.curFrame,e];this.direction===-1&&a.reverse(),this.loop=!1,this.setMinMax(a[0],a[1]),this.playToFrameOnFrameCallback&&this.removeEventListener("enterFrame",this.playToFrameOnFrameCallback),d&&(this.playToFrameOnFrameCallback=n=>{n===e&&(this.removeEventListener("enterFrame",this.playToFrameOnFrameCallback),d())},this.addEventListener("enterFrame",this.playToFrameOnFrameCallback)),this.play()}setColor(f,e){typeof f=="string"?this.textColor=f:this.color=f,e&&this.paused&&this.applyColorForAllContexts()}setMinMax(f=0,e=this.frameCount-1){this.minFrame=f,this.maxFrame=e}async onLoad(f,e){this.frameCount=f,this.fps=e,this.setMinMax(),this.initFrame!==void 0&&(this.initFrame=P1(this.initFrame,this.minFrame,this.maxFrame));const t=this.resetCurrentFrame();if(this.fps<60&&this.skipDelta!==1){const d=60/e;this.skipDelta=this.skipDelta/d|0}this.frInterval=1e3/this.fps/this.speed*this.skipDelta,this.frThen=Date.now()-this.frInterval,!this.skipFirstFrameRendering&&this.requestFrame(t),this.dispatchEvent("ready"),this.addEventListener("enterFrame",()=>{this.dispatchEvent("firstFrame"),!this.canvas[0].parentNode&&this.el?.[0]&&!this.overrideRender&&this.el.forEach((d,i)=>d.append(this.canvas[i])),this.frameListener=()=>{if(this.paused||!this.currentMethod)return;const d=Date.now();this.frThen=d+this.frInterval,!this.currentMethod()&&!this.loop&&this.autoplay&&(this.autoplay=!1)},this.addEventListener("enterFrame",this.frameListener),this.group==="none"&&this.autoplay&&this.play()},{once:!0})}};ef.CACHE=M1,ef.reqId=0;let rf=ef;class qt extends ge{constructor(f){super(),this.worker=f,this.worker.onerror=e=>{try{this.dispatchEvent("workerError",e),this.cleanup(),this.terminate()}catch{}},this.worker.onmessage=e=>{this.dispatchEvent(e.data.queryMethodListener,...e.data.queryMethodArguments)}}postMessage(f){this.worker.postMessage(f)}terminate(){this.worker.terminate()}sendQuery(f,e){this.worker.postMessage({queryMethod:f.shift(),queryMethodArguments:f},we?e:void 0)}}const Vf=typeof WebAssembly<"u";class zt{constructor(){this.loadPromise=Vf?void 0:Promise.reject(xf("NO_WASM")),this.loaded=!1,this.workersLimit=mt.threads,this.players={},this.playersByCacheName={},this.workers=[],this.curWorkerNum=0,this.log=R1("LOTTIE",ke.Error),this.onPlayerLoaded=(f,e,t)=>{const d=this.players[f];if(!d){this.log.warn("onPlayerLoaded on destroyed player:",f,e);return}this.log.debug("onPlayerLoaded"),d.onLoad(e,t)},this.onFrame=(f,e,t)=>{const d=this.players[f];if(!d){this.log.warn("onFrame on destroyed player:",f,e);return}d.clamped!==void 0&&t instanceof Uint8ClampedArray&&(d.clamped=t),d.renderFrame(t,e)},this.onPlayerError=(f,e)=>{const t=this.players[f];if(!t)return;sf.getAnimations(t.el[0]).forEach(i=>{sf.removeAnimation(i)})},z.addEventListener("theme_changed",()=>{for(const f in this.players)this.players[f].applyColorForAllContexts()})}getAnimation(f){for(const e in this.players)if(this.players[e].el.includes(f))return this.players[e];return null}loadLottieWorkers(){return this.loadPromise?this.loadPromise:this.loadPromise=new Promise((f,e)=>{let t=this.workersLimit;for(let d=0;d{this.log("worker #"+d+" ready"),a.addEventListener("frame",this.onFrame),a.addEventListener("loaded",this.onPlayerLoaded),a.addEventListener("error",this.onPlayerError),--t,t||(this.log("workers ready"),f(),this.loaded=!0)},{once:!0}),a.addEventListener("workerError",n=>{e("rlottie load error: "+n.message),this.loaded=!1},{once:!0})}})}makeAssetUrl(f){return"assets/tgs/"+f+".json"}loadAnimationAsAsset(f,e){return this.loadAnimationFromURL(f,this.makeAssetUrl(e))}loadAnimationDataFromURL(f,e="blob"){return Vf?(this.loadLottieWorkers(),fetch(f).then(t=>!t.headers||t.headers.get("content-type")==="application/octet-stream"?t.arrayBuffer().then(d=>tf.invokeCrypto("gzipUncompress",d)).then(d=>bt(d,"")):t[e]())):this.loadPromise}loadAnimationFromURLManually(f){const e=this.makeAssetUrl(f);return this.loadAnimationDataFromURL(e).then(t=>d=>this.loadAnimationFromURLNext(t,d,e))}loadAnimationFromURL(f,e){return this.loadAnimationDataFromURL(e).then(t=>this.loadAnimationFromURLNext(t,f,e))}loadAnimationFromURLNext(f,e,t){const d=Object.assign(e,{animationData:f,needUpscale:!0});return d.name||(d.name=t),this.loadAnimationWorker(d)}waitForFirstFrame(f){return Promise.race([new Promise(e=>{f.addEventListener("firstFrame",e,{once:!0})}),pt(2500)]).then(()=>f)}async loadAnimationWorker(f){if(!Vf)return this.loadPromise;this.loaded||await this.loadLottieWorkers();const{middleware:e,group:t=""}=f;if(e&&!e())throw xf("MIDDLEWARE");if(f.sync){const a=rf.CACHE.generateName(f.name,f.width,f.height,f.color,f.toneIndex),n=this.playersByCacheName[a];if(n?.size)return Promise.resolve(n.entries().next().value[0])}const d=N1(f.container);if((!f.width||!f.height)&&(f.width=parseInt(d[0].style.width),f.height=parseInt(d[0].style.height)),!f.width||!f.height)throw new Error("No size for sticker!");f.group=t;const i=this.initPlayer(d,f);return sf.addAnimation({animation:i,group:t,observeElement:i.el[0],controlled:e,liteModeKey:f.liteModeKey,type:"lottie"}),f.sync||e?.onClean(()=>{i.remove()}),i}onDestroy(f){delete this.players[f]}destroyWorkers(){Vf&&(this.workers.forEach((f,e)=>{f.terminate(),this.log("worker #"+e+" terminated")}),this.log("workers destroyed"),this.workers.length=0,this.curWorkerNum=0,this.loaded=!1,this.loadPromise=void 0)}initPlayer(f,e){var n;const t=new rf({el:f,worker:this.workers[this.curWorkerNum++],options:e}),{reqId:d,cacheName:i}=t;this.players[d]=t;const a=i?(n=this.playersByCacheName)[i]??(n[i]=new Set):void 0;return i&&a.add(t),this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),t.addEventListener("destroy",()=>{this.onDestroy(d),a.delete(t)&&!a.size&&delete this.playersByCacheName[i]}),t.loadFromData(e.animationData),t}}const p1=new zt;of.lottieLoader=p1;function _e(s,f){if(typeof f=="string"){s.textContent=f;return}const e=s.firstChild;e?s.lastChild===e?e.replaceWith(f):(s.textContent="",s.append(f)):s.append(f)}function Vt(s,f){return s=N1(s),f?s.forEach(e=>e.setAttribute("disabled","true")):s.forEach(e=>e.removeAttribute("disabled")),()=>Vt(s,!f)}function Oe(s,f=!1,e=!0){if(!(gt&&(!f||document.activeElement.tagName!=="INPUT"&&!document.activeElement.isContentEditable)))if(e&&s.focus(),s instanceof HTMLInputElement){const t=s.value.length;s.selectionStart=t,s.selectionEnd=t}else{const t=document.createRange();t.selectNodeContents(s),t.collapse(!1);const d=window.getSelection();d.removeAllRanges(),d.addRange(t)}}window.placeCaretAtEnd=Oe;class Ht{constructor(f,e){this.items=new Map,this.locked=!1,this.observer=new IntersectionObserver(t=>{if(this.locked)return;const d=[];t.forEach((i,a)=>{const n=i.target;if(this.items.get(n)===i.isIntersecting)return;this.items.set(n,i.isIntersecting);const o={target:n,visible:i.isIntersecting,entry:i,index:a};d.push(o)}),d.forEach(i=>{f(i)})},e)}getVisible(){const f=[];return this.items.forEach((e,t)=>{e&&f.push(t)}),f}clearVisible(){const f=this.getVisible();for(const e of f)this.items.set(e,!1)}isVisible(f){return!!this.items.get(f)}disconnect(){this.observer.disconnect(),this.items.clear()}refresh(){this.observer.disconnect();const f=[...this.items.keys()];for(const e of f)this.observer.observe(e)}refreshVisible(){const f=this.getVisible();for(const e of f)this.observer.unobserve(e);for(const e of f)this.observer.observe(e)}observe(f){this.items.set(f,!1),this.observer.observe(f)}unobserve(f){this.observer.unobserve(f),this.items.delete(f)}unlock(){this.locked=!1}unlockAndRefresh(){this.unlock(),this.refresh()}lock(){this.locked=!0}}function je(s,f){const e=[];let t=-1;for(;(t=s.findIndex(f))!==-1;)e.push(s.splice(t,1)[0]);return e}function Gt(s,f){const e=s.findIndex(f);return e!==-1?s.splice(e,1)[0]:void 0}const Wt=8,Qt=new Set(["NO_ENTRY_FOUND","STORAGE_OFFLINE","MIDDLEWARE","NO_AUTO_DOWNLOAD"]);class $t{constructor(f=Wt){this.parallelLimit=f,this.queueId=0,this.queue=[],this.inProcess=new Set,this.lockPromise=null,this.unlockResolve=null,this.log=R1("LL",ke.Error),this.processQueue=yt(()=>this._processQueue(),8,!1)}clear(){this.inProcess.clear(),this.queue.length=0}lock(){this.lockPromise||(this.lockPromise=new Promise((f,e)=>{this.unlockResolve=f}))}unlock(){this.unlockResolve&&(this.unlockResolve(),this.unlockResolve=this.lockPromise=null,this.processQueue())}async processItem(f){if(!this.lockPromise){this.inProcess.add(f);try{await this.loadItem(f)}catch(e){Qt.has(e?.type)||this.log.error("loadMediaQueue error:",e)}this.inProcess.delete(f),this.processQueue()}}loadItem(f){return f.load()}getItem(){return this.queue.shift()}addElement(f,e){this.queue[f](e),this.processQueue()}_processQueue(f){if(!(!this.queue.length||this.lockPromise||this.parallelLimit>0&&this.inProcess.size>=this.parallelLimit))do{if(f?f1(this.queue,f):f=this.getItem(),f)this.processItem(f);else break;f=null}while(this.inProcess.sized.div===e.div&&d.load===e.load))return!1;for(const d of this.inProcess)if(d.div===e.div&&d.load===e.load)return!1;return this.queue[f](e),!0}setProcessQueueTimeout(){this.intersectorTimeout??(this.intersectorTimeout=window.setTimeout(()=>{this.intersectorTimeout=void 0,this.processQueue()},0))}push(f){super.push(f)}unshift(f){super.unshift(f)}delete(f){je(this.queue,e=>e.div===f.div),this.unobserve(f)}observe(f){this.intersector.observe(f.div)}unobserve(f){this.intersector.unobserve(f.div)}}class Xt extends Jt{constructor(f,e){super(f),this.onVisibilityChange=({target:t,visible:d})=>{je(this.queue,i=>i.div===t).forEach(i=>{d&&(i.wasSeen=!0),i.visible=d;const a=this.queue.findIndex(n=>!n.visible);this.queue.splice(Math.max(0,a),0,i)}),this.setProcessQueueTimeout()},this.intersector=new Ht(this.onVisibilityChange),!e&&_t(()=>{this.lock()},()=>{this.unlockAndRefresh()})}getItem(){return Gt(this.queue,f=>f.wasSeen)}async processItem(f){await super.processItem(f),this.intersector.unobserve(f.div)}addElement(f,e){return super.addElement(f,e)?(this.observe(e),e.wasSeen??(e.wasSeen=!1),!0):!1}setAllSeen(){this.queue.forEach(f=>{f.wasSeen=!0}),this.setProcessQueueTimeout()}}function Kt(s){const f="AACAAAAHAAALMAAAQASTAVAAAZaacaaaahaaalmaaaqastava.az0123456789-,";let e="M";for(let t=0,d=s.length;t=192?e+=f[i-128-64]:(i>=128?e+=",":i>=64&&(e+="-"),e+=""+(i&63))}return e+="z",e}let Ef,Ff;function Yt(s){Ef||(Ef=document.createElement("canvas"),Ff=Ef.getContext("2d"));const f=s.getContext("2d"),e=20*(s.dpr??1),t=e,d=e,i=(s.width-t)/2,n=s.height-d-0,o=f.getImageData(i,n,t,d).data;let h=0,l=0,b=0,p=0;for(let u=0;u{await Ne(),e.src="",e.load()});let t=e.src;return Object.defineProperty(e,"src",{get:()=>t,set:d=>{fe(t,!1),fe(d,!0),t=d,e.setAttribute("src",d)}}),e}const f0="DECODER_ERROR_NOT_SUPPORTED: Audio configuration specified 2 channels, but FFmpeg thinks the file contains 1 channels";function e0(s){return s.code===4&&s.message===f0}function t0(s){try{const f=s.target,e=f.error;if(!e||e.message.includes("URL safety check"))return console.warn("will ignore video error",s),!0;const t=e0(e);if(t&&!f.triedFixingChromeBug){let d;const i=f.src;return i.includes("stream/")?d=i+"?_crbug1250841":d=z.managers.appDocsManager.fixChromiumMp4(i),e1(d,a=>{f.triedFixingChromeBug=!0,f.src!==a&&(f.src=a,f.load())}),!0}else t&&console.error("chrome video error",s)}catch{}return!1}function Be(s,f=s.HAVE_METADATA,e){return new Promise((t,d)=>{if(s.readyState>=f){t();return}const i=Ee&&!e?"loadeddata":"canplay",a="error",n=()=>{s.removeEventListener(a,o),t()},o=h=>{t0(h)||(s.removeEventListener(i,n),s.removeEventListener(a,o),d(s.error))};s.addEventListener(i,n,{once:!0}),s.addEventListener(a,o)})}const ee={},te=(s,f)=>{s instanceof HTMLImageElement||s instanceof HTMLVideoElement?s.src=f:s instanceof SVGImageElement?s.setAttributeNS(null,"href",f):s.style.backgroundImage="url("+f+")"};function $f(s,f,e,t,d){if(d&&(t=!1),t??(t=d===void 0),!f){console.error("renderImageFromUrl: no url?",s,f),e?.();return}const i=s instanceof HTMLVideoElement;if(ee[f]&&t||i){if(s&&te(s,f),e){if(i)return Be(s).then(e);e?.()}}else{const a=s instanceof HTMLImageElement,n=a?s:new Image,o=()=>{!a&&s&&te(s,f),ee[f]=!0,d?.(n),e?.()},h=l=>{l.message.includes("cannot be decoded")||console.error("Render image from url failed:",l,f,n,l.message,n.naturalWidth),e?.()};return n.decoding="async",n.src=f,n.decode().then(o,h)}}function Ue(s,f,e,t){return new Promise(d=>{$f(s,f,d,e,t)})}function qe(s){const f=s.length,e=new Uint8Array(Math.ceil(f/2));let t=0;f%2&&(e[t++]=parseInt(s.charAt(0),16));for(let d=t;dd.charCodeAt(0));return new Uint8Array(t)}function r0(s,f=!1){let e;!f&&s[0]===1?(e=new Uint8Array(a0.concat(Array.from(s.slice(3)),n0)),e[164]=s[1],e[166]=s[2]):e=d0(s);let t;return f?t=ve?"image/png":"image/webp":t="image/jpeg",s0(e,t)}function ze(s,f,e=!1){return r0(f.bytes,e)}const g1=[];let se=!1;function o0(s,f="push"){if(!s.items.length)return Promise.resolve([]);const e=s.promise=_f();return g1[f](s),Ve(),e}function Ve(){if(!se){const s=g1.shift();c0(s).finally(()=>{se=!1,g1.length&&Ve()})}}function c0(s){if(!s.items.length)return s.promise.resolve([]),Promise.resolve([]);const f=s.items.slice(),e=[];return new Promise((t,d)=>{const i=async()=>{const a=performance.now();do{await Ne();const n=s.process.apply(s.context,f.shift());let o;if(n instanceof Promise)try{o=await n}catch(h){d(h);return}else o=n;e.push(o)}while(f.length>0&&performance.now()-a<6);f.length>0?Xf(i):t(e)};Xf(i)}).then(s.promise.resolve.bind(s.promise),s.promise.reject.bind(s.promise))}const l0=2,h0=2;let y1,He;Ce?y1=Promise.resolve():y1=Le(()=>import("./fastBlur-Co-79rP4.js"),[],import.meta.url).then(s=>{He=s.default});function u0(s,f,e,t=document.createElement("canvas")){t.width=s.width,t.height=s.height;const d=t.getContext("2d",{alpha:!1});return Ce?(d.filter=`blur(${f}px)`,d.drawImage(s,-f*2,-f*2,t.width+f*4,t.height+f*4)):(d.drawImage(s,0,0),He(d,0,0,t.width,t.height,f,e)),t}const Hf=new Map,m0=150;function b0(s,f=l0,e=h0){if(!s)throw"no dataUri for blur: "+s;Hf.size>m0&&Hf.clear();const t=document.createElement("canvas");t.className="canvas-thumbnail";let d=Hf.get(s);if(d)t.width=d.canvas.width,t.height=d.canvas.height,d.promise.then(()=>{t.getContext("2d").drawImage(d.canvas,0,0,t.width,t.height)});else{const i=new Promise(a=>{y1.then(()=>{const n=new Image;n.onload=()=>{o0({items:[[n,f,e,t]],context:null,process:u0},"unshift").then(()=>{a()})},n.src=s})});Hf.set(s,d={canvas:t,promise:i})}return{...d,canvas:t}}function p0(s,f,e,t=ze(s,f,!1)){let d,i;if(!e)d=new Image,i=Ue(d,t);else{const a=b0(t,typeof e=="number"?e:void 0);d=a.canvas,i=a.promise}return d.classList.add("thumbnail"),{image:d,loadPromise:i}}const Sf={};function Ge(s,f,e,t){const d=Ae(s.id,f),i=Sf[d];return i&&i.width>=e&&i.height>=t}let Lf,E1;const g0=()=>{z.addEventListener("theme_changed",()=>{z.managers.thumbsStorage.clearColoredStickerThumbs();for(const s in Sf){const[,f]=s.split("-");f&&isNaN(+f)&&delete Sf[s]}}),Lf=document.createElement("canvas"),E1=Lf.getContext("2d")};async function de(s,f,e){const t=Ae(s.id,e),{width:d,height:i}=f;if(Ge(s,e,d,i))return;const a=Sf[t]={width:d,height:i},n=await z.managers.thumbsStorage.getStickerCachedThumb(s.id,e);if(Sf[t]!==a||n&&n.w>=d&&n.h>=i)return;typeof e=="string"&&(Lf||g0(),Lf.width=d,Lf.height=i,E1.drawImage(f,0,0,d,i),_1(E1,I1.getProperty(e),0,0,d,i),f=Lf);const h=await new Promise(l=>{f.toBlob(b=>l(b))});if(Sf[t]===a){if(!h){console.error("trying to save sticker preview with no blob",arguments);debugger;return}z.managers.thumbsStorage.saveStickerPreview(s.id,h,d,i,e)}}let ie=0;function y0(s){let f;const e=s?.type;if(e){const t=`${J1}_${ie++}.${e.split("/")[1]}`;["image/jpeg","image/png","image/bmp"].indexOf(e)>=0?f="photo"+t:e.indexOf("audio/")===0||["video/ogg"].indexOf(e)>=0?f="audio"+t:e.indexOf("video/")===0?f="video"+t:f="document"+t}else f=`upload-${J1}_${ie++}`;return f}function E0(s,f){return{_:"inputDocumentFileLocation",id:s.id,access_hash:s.access_hash,file_reference:s.file_reference,thumb_size:f}}function We(s,f,e,t){const d=E0(s,f?.type);let i;return f?._==="photoSize"?i=s.sticker?"image/webp":s.mime_type.startsWith("image/")?s.mime_type:"image/jpeg":i=s.mime_type||"application/octet-stream",{dcId:s.dc_id,location:d,size:f?f.size:s.size,mimeType:i,fileName:s.file_name,queueId:e,onlyCache:t}}function Qe(s,f,e,t){const d=s._==="document";if(!f||f._==="photoSizeEmpty")throw new Error("photoSizeEmpty!");const i=!!((f._==="photoSize"||f._==="photoSizeProgressive")&&s.access_hash&&s.file_reference),a={_:d?"inputDocumentFileLocation":"inputPhotoFileLocation",id:s.id,access_hash:s.access_hash,file_reference:s.file_reference,thumb_size:f.type};return{dcId:s.dc_id,location:a,size:i?f.size:void 0,mimeType:"image/jpeg",queueId:e,onlyCache:t}}function $e(s){return{dcId:0,location:s,size:0,mimeType:"image/jpeg"}}function v0(s){const f=$e({_:"inputWebFileLocation",access_hash:s.access_hash,url:s.url});return f.size=s.size,f.mimeType=s.mime_type,f}function w0(s){return!!(s&&(s._==="webDocument"||s._==="webDocumentNoProxy"))}function Je(s){return Se(s.location,s)}function k0(s){const{media:f,thumb:e,queueId:t,onlyCache:d}=s;let i;return f._==="document"?i=We(f,e,t,d):f._==="photo"?i=Qe(f,e,t,d):w0(f)?i=v0(f):Et(f)&&(i=$e(f)),i.downloadId=s.downloadId,{fileName:Je(i),downloadOptions:i}}function C0(s,f,e){const t=document.createElement("a");t.href=s,t.download=f,t.target="_blank",t.style.position="absolute",t.style.top="1px",t.style.left="1px",document.body.append(t);try{const d=document.createEvent("MouseEvents");d.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),t.dispatchEvent(d)}catch(d){console.error("Download click error",d);try{t.click()}catch{window.open(s,"_blank")}}setTimeout(()=>{t.remove(),e&&e()},100)}class L0{constructor(){this.downloads={},this.progress={}}construct(f){this.managers=f,z.addEventListener("download_progress",e=>{const t=this.downloads[e.fileName];t?.main?.notifyAll&&(this.progress[e.fileName]=e,t.main.notifyAll(e))})}getNewDeferred(f,e){const t=_f();let d=this.downloads[f];if(!d)d=this.downloads[f]={main:t},t.cancel=()=>{const a=xf("DOWNLOAD_CANCELED");this.managers.apiFileManager.cancelDownload(f),t.reject(a),t.cancel=nf},t.catch(()=>{this.clearDownload(f,e)}).finally(()=>{delete this.progress[f]});else{const a=d.main;["cancel","addNotifyListener","notify","notifyAll"].forEach(n=>{a[n]&&(t[n]=a[n].bind(a))})}return e==="disc"&&t.catch(nf).finally(()=>{this.clearDownload(f,e)}),d[e]=t}getNewDeferredForUpload(f,e){const t=this.getNewDeferred(f);return e.then(t.resolve.bind(t),t.reject.bind(t)),t.finally(()=>{this.clearDownload(f)}),t}clearDownload(f,e){const t=this.downloads[f];if(!t)return;delete t[e];const d=Object.keys(t).length;(!d||t.main&&d===1)&&delete this.downloads[f]}getUpload(f){let e=this.getDownload(f);return e||(e=this.getNewDeferred(f),this.managers.appMessagesManager.getUploadPromise(f).then(e.resolve.bind(e),e.reject.bind(e)),e)}d(f,e,t){let d=this.getDownload(f,t);return d||(d=this.getNewDeferred(f,t),e().then(d.resolve.bind(d),d.reject.bind(d)),d)}download(f){const e=Je(f);return this.d(e,()=>this.managers.apiFileManager.download(f),"blob")}downloadMedia(f,e="blob",t){const{downloadOptions:d,fileName:i}=k0(f);return this.d(i,()=>{let a;return e==="url"?a=this.managers.apiFileManager.downloadMediaURL:e==="void"?a=this.managers.apiFileManager.downloadMediaVoid:a=this.managers.apiFileManager.downloadMedia,t?t.then(()=>a(f),()=>(delete f.downloadId,a(f))):a(f)},e)}downloadMediaURL(f){return this.downloadMedia(f,"url")}downloadMediaVoid(f){return this.downloadMedia(f,"void")}upload(f,e,t){return e||(e=y0(f)),t||(t=this.managers.apiFileManager.upload({file:f,fileName:e})),this.getNewDeferredForUpload(e,t)}getDownload(f,e){const t=this.downloads[f];return t&&t[e]}downloadToDisc(f,e){const t=f.media,d=t._==="document";!d&&!f.thumb&&(f.thumb=t.sizes.slice().pop());const i=!vt&&!!tf.serviceMessagePort,a=()=>{const r=d?We(t):Qe(t,f.thumb);return f.media.file_name||Se(r.location)};let n,o,h;if(i){const r=""+(Math.random()*2147483647|0);if(n=`d/${r}`,f.downloadId=r,o=tf.pingServiceWorkerWithIframe(),!e){const{iframe:u,onSuccess:k,onError:C}=this.createDownloadIframe(n);h=u,o=o.then(()=>{const E=_f(),y=c=>{clearTimeout(S),tf.serviceMessagePort.removeEventListener("downloadRequestReceived",I),c?E.resolve():E.reject()},I=c=>{c===r&&y(!0)};tf.serviceMessagePort.addEventListener("downloadRequestReceived",I);const S=window.setTimeout(()=>{y(!1)},1500);return k(),E},E=>{throw C(),E})}}const l=this.downloadMedia(f,"disc",o);if(e)return l;let b,p=!1;const m=()=>{p||(p=!0,b=h,f1(l.listeners,m))};return l.addNotifyListener(m),l.then(r=>{if(!r)return;const u=URL.createObjectURL(r);C0(u,a(),()=>{URL.revokeObjectURL(u)})}).catch(nf).finally(()=>{p||m(),setTimeout(()=>{b?.remove()},1e3)}),l}createDownloadIframe(f){const e=document.createElement("iframe");return e.hidden=!0,{iframe:e,onSuccess:()=>{e.src=f,document.body.append(e)},onError:()=>{console.error("falling back to normal download")}}}}const Rf=new L0;of&&(of.appDownloadManager=Rf);function ae(s,f=0,e=0,t=!1,d=!1){window.devicePixelRatio>1&&(f*=2,e*=2);let i=s.sizes||s.thumbs,a={_:"photoSizeEmpty",type:X1};if(d&&i&&s._!=="photo"&&(i=i.concat({_:"photoSize",w:s.w,h:s.h,size:s.size,type:X1})),i?.length){for(let n=0,o=i.length;n=f||l.height>=e)break}t&&a._==="photoSizeEmpty"&&i[0]._==="photoStrippedSize"&&(a=i[0])}return a}function Xe(s){return s.video_thumbs?.[0]}function A0(s){return I0(T0(s)).join("-")}const S0=/\uFE0F/g,x0="‍",T0=s=>s.indexOf(x0)<0?s.replace(S0,""):s;function I0(s){const f=[];let e=0,t=0,d=0;for(;d55296&&e<=56319?t=e:f.push(e.toString(16));return f.length&&f[0].length===2&&(f[0]="00"+f[0]),f}function P0(s){const f=s.match(/[\uDFFB-\uDFFF]/);return f?5-(57343-f[0].charCodeAt(0)):0}const F0=new Map([["FT","🏴‍☠"]]);function Ns(s){return F0.get(s)??String.fromCharCode(55356,56741+s.charCodeAt(0),55356,56741+s.charCodeAt(1))}function Ds(s){return s.split("-").reduce((f,e)=>f+String.fromCodePoint(parseInt(e,16)),"")}const ne=()=>({cleaned:!1,inner:[],onCleanCallbacks:[]}),R0=xf("MIDDLEWARE");class N0{constructor(){this.details=ne(),this.onDestroyCallbacks=[],this.onDestroy=f=>{if(this.destroyed)return f();this.onDestroyCallbacks.push(f)}}clean(){const f=this.details;f.cleaned=!0,f.inner.splice(0,f.inner.length).forEach(e=>e.destroy()),f.onCleanCallbacks.splice(0,f.onCleanCallbacks.length).forEach(e=>e()),f.middleware=void 0,this.details=ne()}destroy(){this.destroyed=!0,this.clean(),this.onDestroyCallbacks.splice(0,this.onDestroyCallbacks.length).forEach(f=>f()),this.parent&&(f1(this.parent.details.inner,this),this.parent=void 0)}createMiddlewareForDetails(f,e){const t=()=>!f.cleaned&&(!e||e());return t.create=()=>{if(!t())throw R0;const d=O1();return d.parent=this,f.inner.push(d),d},t.onClean=d=>{if(!t())return d();f.onCleanCallbacks.push(d)},t.onDestroy=this.onDestroy,t}get(f){const e=this.details;return e.cleaned?this.createMiddlewareForDetails(e):f?this.createMiddlewareForDetails(e,f):e.middleware??(e.middleware=this.createMiddlewareForDetails(e))}}function O1(){return new N0}function D0(s,f){let e=!1,t;return(...d)=>{t=d,e||(e=!0,s(()=>{e=!1,f(...t)}))}}function M0(s){return D0(Xf,s)}const Ke=document.createElement("div");Ke.classList.add("emoji-animation-container");function _0({size:s,stickerSize:f,doc:e,middleware:t,target:d,side:i,skipRatio:a,play:n,managers:o,fullThumb:h,withRandomOffset:l,relativeEffect:b,loopEffect:p,onUnmount:m,scrollable:r,textColor:u,addOffsetX:k=0,addOffsetY:C=0}){const E=document.createElement("div");E.classList.add("emoji-animation"),E.style.width=s+"px",E.style.height=s+"px";let y;const I=()=>{S.destroy();const w=y;y=void 0,w?.remove(),E.remove(),v&&r.container.removeEventListener("scroll",v),w&&m?.()},S=t?.create()??O1();t=S.get();const c=U1({div:E,doc:e,middleware:t,withThumb:!1,needFadeIn:!1,loop:!!p,width:f||s,height:f||s,play:n,group:"none",skipRatio:a,managers:o,fullThumb:h,isEffect:!0,textColor:u}).then(({render:w})=>w).then(w=>{if(!t())throw w.remove(),xf("MIDDLEWARE");return y=w,y.addEventListener("enterFrame",A=>{(!p&&A===y.maxFrame||!u1(d))&&I()}),y.addEventListener("destroy",I),kt&&y.addEventListener("firstFrame",()=>{navigator.vibrate(100)},{once:!0}),y.addEventListener("firstFrame",()=>{g()},{once:!0}),y}),B=w=>{const A=Math.random()*w*2;return A>w?-A%w:A},D=l?B(16):0,N=l?B(4):0,g=()=>{if(!u1(d)){I();return}const w=d.getBoundingClientRect(),A=w.width/200,x=i==="center"?0:16*(i==="right"?1:-1)*A,W=i==="center"?0:0*A,H=i==="right"?w.right:w.left,$=w.top,J=(i==="center"?(w.width-s)/2:i==="right"?-s:0)+x+D+k*(i==="right"?1:-1),M=(w.height-s)/2+W+N+C,X=H+J,K=$+M;if(K<=-s||K>=l1.height){I();return}b?(i!=="center"?E.style[i]=Math.abs(x)*-1+"px":E.style.left=J+"px",E.style.top=M+"px"):(E.style.top=K+"px",E.style.left=X+"px")};let v;return r&&(v=M0(g),r.container.addEventListener("scroll",v)),b?(E.classList.add("is-relative"),d.parentElement.append(E)):Ke.append(E),{animationDiv:E,stickerPromise:c}}function O0(s,f){s.isSeeking=!0,s.currentTime=f}const j1=Ct,j0=j1;async function B1(s){const f=s.firstElementChild;if(!f)throw s.src="",s.load(),new Error("leak");const e=s.paused;if(f.remove(),s.load(),!s.childElementCount&&!s.src)throw new Error("leak");return e?O0(s,1e-4):D1(s),U0(s,Be(s))}async function B0(s,f=!s.getVideoPlaybackQuality().totalVideoFrames){if(f)return B1(s)}async function U0(s,f){if(!j1)return f;const e=i=>{i.then(d.resolve.bind(d),d.reject.bind(d))},t=()=>e(B0(s)),d=_f();try{await f}catch{t();return}if(s.getVideoPlaybackQuality().totalVideoFrames||s.readyState>s.HAVE_METADATA){d.resolve();return}return s.addEventListener("timeupdate",t,{once:!0}),d}const Nf=["seeked","canplay","canplaythrough","seeking"],q0=Nf.length,re=new WeakMap,v1=new WeakMap;function oe(s){const{type:f,target:e}=s;if(!(e instanceof HTMLVideoElement)||e.readyState>e.HAVE_METADATA||e.isSeeking||e.ignoreLeak)return;let t=re.get(e);if(t||re.set(e,t={events:new Set}),!t.events.has(f)&&(t.events.add(f),t.events.size===q0)){const d=Array.from(t.events),i=Nf.indexOf(d[0]),a=Nf.slice(i).concat(Nf.slice(0,i));if(!Lt(d,a))return;const n=v1.get(e);n?(n(),v1.delete(e)):B1(e).catch(nf)}}function z0(s,f){return s.addEventListener(f,oe,!0),()=>s.removeEventListener(f,oe,!0)}function Ye(s){if(!j1)return;const f=Nf.map(e=>z0(s,e));return()=>{f.forEach(e=>e())}}Ye(document);const V0=1+.245*2,Gf={},Jf={},ce=(s,f,e)=>{const t=()=>{s.removeEventListener("animationend",t),f(),clearTimeout(d)};s.addEventListener("animationend",t);const d=setTimeout(t,e)},vf=s=>{const f=s.childElementCount;return f?s.firstElementChild.classList.contains("premium-sticker-lock")&&f===1:!0},le=s=>{let f=s.firstElementChild;return f&&f.classList.contains("premium-sticker-lock")&&(f=f.nextElementSibling),f};async function U1({doc:s,div:f,middleware:e,loadStickerMiddleware:t,lazyLoadQueue:d,exportLoad:i,group:a,play:n,onlyThumb:o,emoji:h,width:l,height:b,withThumb:p,loop:m,loadPromises:r,needFadeIn:u,needUpscale:k,skipRatio:C,static:E,managers:y=z.managers,fullThumb:I,isOut:S,noPremium:c,withLock:B,relativeEffect:D,loopEffect:N,isCustomEmoji:g,syncedVideo:v,liteModeKey:w,isEffect:A,textColor:x,scrollable:W,showPremiumInfo:H,useCache:$}){const J=arguments[0];f=N1(f),w??(w="stickers_panel"),g&&(h=s.stickerEmojiRaw);const M=s.sticker;if((M===1||M===3&&!xe)&&(E=!0),!l&&!b){const L=F1.active,O=h?L.emojiSticker:s.animated?L.animatedSticker:L.staticSticker,_=At(s.w,s.h).aspectFitted(O);l=_.width,b=_.height}M===2&&p1.loadLottieWorkers(),m=!!(!h||g)&&m,f.forEach(L=>{L.dataset.docId=""+s.id,h&&(L.dataset.stickerEmoji=h),L.classList.add("media-sticker-wrapper")}),n&&w&&!Qf.isAvailable(w)&&!g&&!A&&(n=!1,m=!1);let X;const K=(L=X?.type)=>X=tf.getCacheContext(s,L),cf=!E&&(M===2||M===3),i1=Xe(s);S!==void 0&&i1&&!S&&f.forEach(L=>L.classList.add("reflect-x"));const a1=i1&&B;if(a1){const L=Gf[s.id];f.forEach(O=>{O.classList.add("is-premium-sticker"),O.append(b1("premium_lock","premium-sticker-lock")),L&&O.style.setProperty("--lock-url",`url(${L})`)})}if(E&&M!==1){const L=ae(s,l,b,!1);K(L.type)}else K(I?.type);const H1=s.attributes.find(L=>L._==="documentAttributeCustomEmoji");!H1||!H1.pFlags.text_color?x=void 0:x||(x="primary-text-color");const Z=h&&!g?P0(h):-1,G1=Z===-1?x??Z:Z,lf=X.downloaded&&!u,lt=cf,W1=M===2||M===3?tf.getStickerCachedThumb(s.id,G1):void 0,hf={render:void 0,load:void 0,width:l,height:b,downloaded:lf};let Q=_f(),uf=!1;if((s.thumbs?.length||W1)&&vf(f[0])&&(!lf||lt||o)&&p!==!1){let L=W1||s.thumbs[0];const O=(_,U)=>{vf(_)?yf.mutateElement(_,()=>{vf(_)&&(U.classList.add("media-sticker","thumbnail"),_.append(U)),Q.resolve()}):Q.resolve()};if("url"in L)uf=!0,f.forEach(_=>{const U=new Image;$f(U,L.url,()=>O(_,U))});else if("bytes"in L){if(L._==="photoPathSize"){L.bytes.length||(L=s.thumbs.find(F=>F.bytes?.length)||L);const _=Kt(L.bytes),U="http://www.w3.org/2000/svg",R=document.createElementNS(U,"svg");R.classList.add("rlottie-vector","media-sticker","thumbnail"),R.setAttributeNS(null,"viewBox",`0 0 ${s.w||512} ${s.h||512}`);const T=document.createElementNS(U,"path");T.setAttributeNS(null,"d",_),R.append(T),f.forEach((F,q)=>F.append(q>0?R.cloneNode(!0):R)),uf=!0,Q.resolve()}else if(Z<=0){const _=()=>{f.forEach(U=>{const R=new Image,T=ze(s,L,!0);$f(R,T,()=>O(U,R),$)})};St||s.pFlags.stickerThumbConverted||X.url?(uf=!0,_()):(uf=!0,xt.convert("main-"+s.id,L.bytes).then(U=>{if(y.appDocsManager.saveWebPConvertedStrippedThumb(s.id,U),L.bytes=U,s.pFlags.stickerThumbConverted=!0,e&&!e()||!vf(f[0])){Q.resolve();return}_()}).catch(()=>Q.resolve()))}}else if((M===2&&Z<=0||M===3)&&(p||o)){const _=async()=>{if(!vf(f[0])||e&&!e()){Q.resolve();return}const U=(R,T,F)=>{if(!vf(R)||e&&!e()){Q.resolve();return}F?$f(T,F,()=>O(R,T),$):O(R,T)};K(),f.forEach(R=>{if(X.url)U(R,new Image,X.url);else if("bytes"in L){const T=p0(s,L,!0);T.loadPromise.then(()=>U(R,T.image,""))}else Rf.downloadMediaURL({media:s,thumb:L}).then(async T=>U(R,new Image,T))})};if(d&&o)return d.push({div:f[0],load:_}),Q.resolve(),hf;_(),L.url&&(uf=!0)}}if(r&&uf&&r.push(Q),o)return hf;const jf=xf("MIDDLEWARE"),n1=async()=>{if(e&&!e())throw jf;if(M===2&&!E){const L=await Rf.downloadMedia({media:s,queueId:d?.queueId,thumb:I});if(e&&!e())throw jf;const O=await p1.loadAnimationWorker({container:f[0],loop:m,autoplay:n,animationData:L,width:l,height:b,name:"doc"+s.id,needUpscale:k,skipRatio:C,toneIndex:Z,sync:g,middleware:t??e,group:a,liteModeKey:w||void 0,textColor:g?void 0:x}),_=a1?()=>{var T;const R=Gf[T=s.id]??(Gf[T]=Yt(O.canvas[0]));f.forEach(F=>F.style.setProperty("--lock-url",`url(${R})`))}:void 0,U=(R,T)=>{let F=le(R);F=F!==T&&F,u!==!1&&(u=(u||!F||F.tagName==="svg")&&Qf.isAvailable("animations"));const q=()=>{F&&F!==T&&F.tagName!=="DIV"&&F.remove()};u?yf.mutate(()=>{T&&T.classList.add("fade-in"),F&&F.classList.add("fade-out"),ce(T||F,()=>{yf.mutate(()=>{T&&T.classList.remove("fade-in"),q()})},400)}):F&&yf.mutate(q)};return O.addEventListener("firstFrame",()=>{const R=O.canvas[0];(p!==!1||g)&&de(s,R,G1),a1&&_(),g||f.forEach((T,F)=>{U(T,O.canvas[F])})},{once:!0}),h&&y.appStickersManager.preloadAnimatedEmojiStickerAnimation(h),O}else if(E||M===3){const L=cf&&v,O=L?M1.generateName(""+s.id,0,0,void 0,void 0):void 0,_=Jf[O];if(_)return _;const R=(L?f.slice(0,1):f).map(()=>{let q;if(E)q=new Image;else{const V=q=Zt({middleware:e});if(V.muted=!0,n&&(V.autoplay=!0),m&&(V.loop=!0),V._autoplay=n||!1,V._loop=m||!1,m&&typeof m=="number"){let Y=function(){ff>this.currentTime&&++mf===m&&(this.autoplay=!1,this.loop=!1,this.pause(),V.removeEventListener("timeupdate",Y)),this.timeUpdatedTimes=(this.timeUpdatedTimes||0)+1,ff=this.currentTime},ff=0,mf=0;V.addEventListener("timeupdate",Y),e.onClean(()=>{V.removeEventListener("timeupdate",Y)})}}return q.classList.add("media-sticker"),q}),T=f.map((q,V)=>{const Y=le(q);return Y!==R[V]&&Y});u!==!1&&(u=(u||!lf||(E?T[0]:!T[0]||T[0].tagName==="svg"))&&Qf.isAvailable("animations")),u&&R.forEach(q=>q.classList.add("fade-in"));const F=new Promise(async(q,V)=>{const Y=async()=>{if(e&&!e()){V(jf);return}const ff=R.length,mf=[],ht=(bf,j,G)=>{yf.mutateElement(bf,()=>{if(e&&!e()){V(jf);return}if(!j){(!L||!cf)&&G?.remove();return}const Bf=j instanceof HTMLVideoElement;if(Bf){const{videoWidth:pf,videoHeight:Uf}=j,Pf=pf/Uf;let qf=l*window.devicePixelRatio,zf=b*window.devicePixelRatio;if(Pf<1?qf=zf*Pf:zf=qf/Pf,!Ge(s,Z,qf,zf)){const gf=document.createElement("canvas");gf.width=qf,gf.height=zf,gf.getContext("2d").drawImage(j,0,0,gf.width,gf.height),de(s,gf,Z)}}if(L){q(j);return}if(Bf&&j0&&(v1.set(j,()=>{const pf=()=>{B1(j).catch(nf)};if(!G||!(G instanceof HTMLImageElement)){const Uf=document.createElement("div");U1({...J,div:Uf,static:!0,exportLoad:void 0,needFadeIn:!1,lazyLoadQueue:void 0}).then(({render:Pf})=>Pf).finally(()=>{yf.mutateElement(j,()=>{e()&&bf.append(...Array.from(Uf.children)),j.remove(),pf()})})}else j.replaceWith(G),pf()}),j.duration<1||j.getVideoPlaybackQuality().totalVideoFrames<10)){const pf=Ye(j);e.onClean(pf)}bf.append(j),u?(G&&G.classList.add("fade-out"),ce(j,()=>{j.classList.remove("fade-in"),G?.remove()},400)):G?.remove(),cf&&sf.addAnimation({animation:j,observeElement:bf,group:a,controlled:e,liteModeKey:w||void 0,type:"video"}),mf.push(j)===ff&&q(mf)})};K();let Q1;f.forEach((bf,j)=>{const G=R[j],Bf=()=>ht(bf,G,T[j]);G&&(Q1=Ue(G,X.url,$)),Q1.then(Bf)})};if(K(),X.url)Y();else{let ff;if(M!==1&&E){const mf=ae(s,l,b,!1);ff=Rf.downloadMediaURL({media:s,thumb:mf,queueId:d?.queueId})}else ff=Rf.downloadMediaURL({media:s,queueId:d?.queueId});ff.then(Y,V)}});return O&&(Jf[O]=F,t&&F.finally(()=>{t()||delete Jf[O]})),F}};if(i&&(i===1&&(!lf||cf)||i===2))return hf.load=n1,hf;const r1=d&&(!lf||cf)?(d.push({div:f[0],load:n1}),Promise.resolve()):n1();return lf&&E&&(Q=r1,r?.push(Q)),M===2&&i1&&S!==void 0&&!c&&G0({container:f[0],doc:s,managers:y,middleware:e,isOut:S,width:l,loadPromise:r1,relativeEffect:D,loopEffect:N,scrollable:W,showPremiumInfo:H}),hf.render=r1,hf}async function H0({e:s,container:f,doc:e,managers:t,middleware:d,isOut:i,width:a,loadPromise:n,relativeEffect:o,loopEffect:h,scrollable:l,showPremiumInfo:b}){const p=Qf.isAvailable("effects_premiumstickers")||o;if(Te(s),!s.isTrusted&&!p)return;if(f.dataset.playing||!p){b?.();return}f.dataset.playing="1",await n;const{animationDiv:m,stickerPromise:r}=_0({doc:e,middleware:d,side:i?"right":"left",size:a*V0,target:f,play:!0,fullThumb:Xe(e),relativeEffect:o,loopEffect:h,scrollable:l});i!==void 0&&!i&&m.classList.add("reflect-x"),r.then(u=>{u.addEventListener("destroy",()=>{delete f.dataset.playing})})}function G0(s){s.managers.appStickersManager.preloadSticker(s.doc.id,!0);const f=Ot(s.container,e=>{H0({...s,e})});s.middleware.onDestroy(f)}function Ze(s,f,e,t=s.getBoundingClientRect(),d=f.getBoundingClientRect()){let{top:i,right:a,bottom:n,left:o}=d;if(e){const p=f.querySelector(".sticky");p&&(i=p.getBoundingClientRect().bottom)}if(t.top>=n||t.bottom<=i||t.right<=o||t.left>=a)return null;const h={top:!1,right:!1,bottom:!1,left:!1,vertical:0,horizontal:0},l=l1.width,b=l1.height;return{rect:{top:t.topa&&a!==l?(h.right=!0,++h.horizontal,a):t.right,bottom:t.bottom>n&&n!==b?(h.bottom=!0,++h.vertical,n):t.bottom,left:t.left{for(const f of s)q1.get(f.target)(f)});function et(s,f){return q1.set(s,f),ft.observe(s),()=>{tt(s)}}function tt(s){q1.delete(s),ft.unobserve(s)}const Wf=new Xt,Zf=class Zf extends HTMLElement{constructor(){super(),this.onResizeEntry=f=>{this.setDimensionsFromRect(f.contentRect)},this.onElementCleanup=(f,e,t)=>{if(f.clear(),e.middlewares.delete(t),!e.middlewares.size){if(e.player){const d=wf.get(e.player);if(d&&(d.close?.(),wf.delete(e.player)),wf.delete(e.player),e.player instanceof rf)e.player.overrideRender=nf,e.player.remove();else if(e.player instanceof HTMLVideoElement){const i=M1.generateName(""+f.docId,0,0,void 0,void 0);delete Jf[i]}e.player=void 0}kf.get(e.key)===e&&kf.delete(e.key)&&!kf.size&&K0()}},this.classList.add("custom-emoji-renderer"),this.canvas=document.createElement("canvas"),this.canvas.classList.add("custom-emoji-canvas"),this.context=this.canvas.getContext("2d"),this.append(this.canvas),this.playersSynced=new Map,this.textColored=new Set,this.clearedElements=new WeakSet,this.customEmojis=new Map,this.animationGroup="EMOJI",this.isCanvasClean=!1}connectedCallback(){if(Mf.has(this))return;const f=this.observeResizeElement??this.canvas;f&&et(f,this.onResizeEntry),Mf.add(this),this.connectedCallback=void 0}disconnectedCallback(){this.isConnected||!this.auto||(this.destroy?.(),this.disconnectedCallback=void 0)}destroy(){const f=this.observeResizeElement??this.canvas;f&&tt(f),this.customEmojis.forEach(e=>{e.forEach(t=>{t.clear()})}),Mf.delete(this),this.playersSynced.clear(),this.middlewareHelper?.clean(),this.customEmojis.clear(),this.textColored.clear(),this.destroy=this.lastPausedVideo=void 0}getOffsets(f=new Map){if(!this.playersSynced.size)return f;const e=Tt(this,"scrollable")||this.offsetParent;if(!e)return f;const t=e.getBoundingClientRect(),d=this.getBoundingClientRect();for(const i of this.playersSynced.keys()){const a=Array.from(i),n=this.isSelectable?a.map(l=>l.placeholder):a,{visible:o}=W0({overflowElement:e,overflowRect:t,elements:n,extraSize:this.size.height*2.5}),h=o.map(({rect:l})=>{const b=l.top-d.top,p=l.left-d.left;return{top:b,left:p,width:l.width}});h.length&&f.set(i,h)}return f}clearCanvas(){if(this.isCanvasClean)return;const{context:f,canvas:e}=this;f.clearRect(0,0,e.width,e.height),this.isCanvasClean=!0}render(f){const{context:e,canvas:t,isDimensionsSet:d}=this;d||this.setDimensionsFromRect(void 0,!1),this.isCanvasClean=!1;const{width:i,height:a,dpr:n}=t;for(const[o,h]of f){const l=this.playersSynced.get(o),b=wf.get(l)||(l instanceof HTMLVideoElement?l:void 0);if(!b)continue;const p=b instanceof ImageData;let m,r;l instanceof HTMLVideoElement?(m=this.size.width*n,r=this.size.height*n):(m=b.width,r=b.height);const u=Math.round(h[0].width*n);u!==m&&(m=u,r=u);const k=i-m,C=this.textColored.has(o)?I1.getProperty(this.textColor):void 0;!this.clearedElements.has(o)&&!this.isSelectable&&(this.isSelectable?o.forEach(E=>{E.lastChildWas??(E.lastChildWas=E.lastChild),_e(E,E.firstChild)}):o.forEach(E=>{E.replaceChildren()}),this.clearedElements.add(o)),h.forEach(({top:E,left:y})=>{E=Math.round(E*n),y=Math.round(y*n),!(y<0||y>k)&&(p?e.putImageData(b,y,E):e.drawImage(b,y,E,m,r),C&&_1(e,C,y,E,m,r))})}}checkForAnyFrame(){for(const f of this.playersSynced.values())if(wf.has(f)||f instanceof HTMLVideoElement)return!0;return!1}remove(){super.remove()}setDimensionsFromRect(f=this.lastRect,e=!0){const{canvas:t}=this,{dpr:d}=t;if(this.lastRect!==f&&(this.lastRect=f),!f||!d||this.ignoreSettingDimensions)return;const{width:i,height:a}=f,n=Math.floor(Math.round(i*d)),o=Math.floor(Math.round(a*d));t.width===n&&t.height===o||(t.width=n,t.height=o,this.isDimensionsSet=!0,this.isCanvasClean=!0,(this.observeResizeElement||this.observeResizeElement===!1)&&(this.canvas.style.setProperty("width",i+"px","important"),this.canvas.style.setProperty("height",a+"px","important")),(this.forceRenderAfterSize||this.isSelectable&&e)&&(this.forceRenderAfterSize=void 0,this.forceRender()))}forceRender(){this.isDimensionsSet&&(w1(new Set([this]))||this.clearCanvas())}wrap({doc:f,addCustomEmojis:e,usingOwnQueue:t,lazyLoadQueue:d,onlyThumb:i,withThumb:a,loadPromises:n}){const o=this,h=this.size,l=z.managers,b=this.middlewareHelper.get(),p=f.id,m=e.get(p),r=o.customEmojis.get(p),u=Array.from(m),k=f.sticker===2,C=u[0].static||f.mime_type==="video/webm"&&!xe,E=(k||f.sticker===3&&this.isSelectable)&&!i&&!C,y=f.attributes.find(v=>v._==="documentAttributeCustomEmoji");y&&y.pFlags.text_color&&o.textColored.add(r);const I=E?b.create().get(()=>!!N.middlewares.size):void 0,S=[],c=U1({div:u,doc:f,width:h.width,height:h.height,loop:!0,play:Q0,managers:l,isCustomEmoji:!0,group:"none",loadPromises:S,middleware:b,exportLoad:t||d===!1?2:1,needFadeIn:!1,loadStickerMiddleware:I,static:C,onlyThumb:i,withThumb:a??(o.clearedElements.has(r)?!1:void 0),syncedVideo:this.isSelectable,textColor:o.textColor});n&&c.then(()=>n.push(...S));const B={elements:m},D=u[0].readyPromise;if(D&&c.then(({render:v})=>{if(!v){D.resolve();return}v.then(()=>D.resolve(),D.reject.bind(D))}),f.sticker===1||i||C)return this.isSelectable&&(B.onRender=()=>Promise.all(S).then(()=>{b()&&u.forEach(v=>{const{placeholder:w}=v;w.src=v.firstElementChild.src})})),c.then(v=>({...v,...B}));B.onRender=v=>Promise.all(S).then(()=>{if(!b()||!f.animated)return;const w=Array.isArray(v)?v:[v],A=Array.isArray(w)?w[0]:w;if(u.forEach((x,W)=>{const H=w[W]||w[0];x.player=H,N&&(x.syncedPlayer=N,x.paused?x.syncedPlayer.pausedElements.add(x):H.paused&&H.play()),(x.isConnected||b())&&sf.addAnimation({animation:x,group:x.renderer.animationGroup,observeElement:x.placeholder??x,controlled:!0,type:"emoji"})}),(A instanceof rf||A instanceof HTMLVideoElement&&this.isSelectable)&&(N.player=A,o.playersSynced.set(r,A)),A instanceof rf&&(A.group=o.animationGroup,A.overrideRender??(A.overrideRender=x=>{wf.set(A,x)})),E){const x=Me(this.size.width,this.size.height);o.canvas.dpr=x,X0()}});let N;const g=[p,h.width,h.height].join("-");if(E){N=kf.get(g),N||(N={player:void 0,middlewares:new Set,pausedElements:new Set,key:g},kf.set(g,N));for(const v of m){const w=v.middlewareHelper.get();N.middlewares.add(w),w.onClean(this.onElementCleanup.bind(this,v,N,w))}}return c.then(v=>({...v,...B}))}add({addCustomEmojis:f,lazyLoadQueue:e,onlyThumb:t,withThumb:d}){const i=this,a=this.middlewareHelper.get();if(f.forEach((b,p)=>{let m=this.customEmojis.get(p);m?this.clearedElements.delete(m):this.customEmojis.set(p,m=new Set);for(const r of b)m.has(r)?b.delete(r):(r.clean=!1,r.renderer=i,r.elements=m,r.middlewareHelper=a.create(),m.add(r),r.lastChildWas&&!r.lastChildWas.parentNode&&r.append(r.lastChildWas));b.size||f.delete(p)}),!f.size)return;const n=!!(!e&&e!==!1&&Wf),o=Array.from(f.keys()),h=z.managers;return h.appEmojiManager.getCachedCustomEmojiDocuments(o).then(b=>{if(!a())return;const p={addCustomEmojis:f,usingOwnQueue:n,lazyLoadQueue:e,onlyThumb:t,withThumb:d},m=[],r=[],u=b.map((y,I)=>{if(!y){r.push(o[I]);return}return this.wrap({...p,doc:y,loadPromises:m})}).filter(Boolean),k=r.length?h.appEmojiManager.getCustomEmojiDocuments(r).then(y=>a()?y.filter(Boolean).map(I=>this.wrap({...p,doc:I})):[]):Promise.resolve([]),C=async y=>{const S=(await Promise.all(y)).map(({load:c,onRender:B,elements:D})=>{if(!c)return;const N=()=>c().then(B);if(!n)return N();D.forEach(g=>{Wf.push({div:g,load:()=>(D.forEach(v=>{Wf.delete({div:v})}),N())})})});return Promise.all(S.filter(Boolean))},E=()=>{if(!a())return;const y=C(u),I=k.then(S=>C(S));return Promise.all([y,I])};return e?e.push({div:i.canvas,load:E}):E(),Promise.all(u).then(()=>Promise.all(m)).then(()=>{})})}setTextColor(f){this.textColor=f}static create(f){const e=new Zf;e.animationGroup=f.animationGroup,e.size=f.customEmojiSize||F1.active.customEmoji,e.isSelectable=f.isSelectable,e.textColor=f.textColor,e.observeResizeElement=f.observeResizeElement,f.wrappingDraft&&(e.contentEditable="false",e.style.height="inherit");const t=f.middleware;return t?(e.middlewareHelper=t.create(),e.middlewareHelper.get().onDestroy(()=>{e.destroy?.()})):(e.auto=!0,e.middlewareHelper=O1()),e}};Zf.globalLazyLoadQueue=Wf;let Tf=Zf;const Q0=!0;let Df;const Mf=new Set,kf=new Map,wf=new Map,w1=(s=Mf)=>{const e=Array.from(s).filter(d=>d.isConnected&&d.checkForAnyFrame()&&!d.ignoreSettingDimensions);if(!e.length)return!1;const t=e.map(d=>{const i=[...d.playersSynced.values()].reduce((n,o)=>n+ +!!o.paused,0);if(d.playersSynced.size===i)return;const a=d.getOffsets();if(a.size)return[d,a]}).filter(Boolean);for(const[d]of t)d.clearCanvas();for(const[d,i]of t)d.render(i);return!0},$0=60,J0=1e3/$0,X0=()=>{Df||(Df=window.setInterval(w1,J0),w1())},K0=()=>{Df&&(clearInterval(Df),Df=void 0)};window.syncedPlayers=kf;window.emojiRenderers=Mf;customElements.define("custom-emoji-renderer-element",Tf);function k1(s){return s.replace(/&/g,"&").replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,f=>{const e=f.charCodeAt(0),t=f.charCodeAt(1);return"&#"+((e-55296)*1024+(t-56320)+65536)+";"}).replace(/([^\#-~| |!])/g,f=>"&#"+f.charCodeAt(0)+";").replace(//g,">")}function Y0(s){return Array.from(s.childNodes).map(f=>f.nodeType===f.TEXT_NODE?k1(f.textContent):f.outerHTML).join("")}function Z0(s,f){return s.closest(`[${f}]`)}function fs(s,f){return s.closest(f)}function st(s,f){const e=document.getSelection(),t=e.focusNode,d=e.focusOffset;return!m1(t,s)&&t!==s?{selection:e}:{...es(s,t,d),selection:e}}function es(s,f,e){if(f===s){const t=s.childNodes,d=t.length;d&&e>=d?(f=t[d-1],e=(f.textContent||f.alt||"").length):(f=t[e],e=0)}return{node:f,offset:e}}const ts=new Set(["messageEntityBold","messageEntityItalic","messageEntityCode","messageEntityPre","messageEntityUnderline","messageEntityStrike","messageEntityBlockquote","messageEntitySpoiler"]);function ss(s){for(let f=0;fts.has(d._)&&i!==f&&d._===e._&&d.offset-e.length===e.offset),t!==-1){const d=s[t];e.length+=d.length,s.splice(t,1)}while(t!==-1)}}function dt(s){s.sort((f,e)=>f.offset-e.offset||e.length-f.length)}const P="\uFEFF",C1={bold:{match:'[style*="bold"], [style*="font-weight: 700"], [style*="font-weight: 600"], [style*="font-weight:700"], [style*="font-weight:600"], b, strong',entityName:"messageEntityBold"},underline:{match:'[style*="underline"], u, ins',entityName:"messageEntityUnderline"},italic:{match:'[style*="italic"], i, em',entityName:"messageEntityItalic"},monospace:{match:'[style*="monospace"], [face*="monospace"], pre',entityName:"messageEntityCode"},strikethrough:{match:'[style*="line-through"], [style*="strikethrough"], strike, del, s',entityName:"messageEntityStrike"},link:{match:"A:not(.follow)",entityName:"messageEntityTextUrl"},mentionName:{match:"A.follow",entityName:"messageEntityMentionName"},spoiler:{match:'[style*="spoiler"]',entityName:"messageEntitySpoiler"},quote:{match:'[style*="quote"], .quote',entityName:"messageEntityBlockquote"}},ds='[style*="table-cell"], th, td',is=new Set(["DIV","P","BR","LI","SECTION","H6","H5","H4","H3","H2","H1","TR","OL","UL","BLOCKQUOTE"]),as=new RegExp(P,"g"),af="";function he(s,f,e,t){const d=s.parentElement;for(const i in C1){const a=C1[i],n=d.closest(a.match+', [contenteditable="true"]');if(n?.getAttribute("contenteditable")!==null)continue;let o;a.entityName==="messageEntityCode"&&(o=d.closest("[data-language]"))?e.push({_:"messageEntityPre",language:o.dataset.language||"",offset:t.offset,length:f.length}):a.entityName==="messageEntityTextUrl"?e.push({_:a.entityName,url:n.href,offset:t.offset,length:f.length}):a.entityName==="messageEntityMentionName"?e.push({_:a.entityName,offset:t.offset,length:f.length,user_id:n.dataset.follow.toUserId()}):a.entityName==="messageEntityBlockquote"?e.push({_:a.entityName,pFlags:{collapsed:!!n.dataset.collapsed||void 0},offset:t.offset,length:f.length}):e.push({_:a.entityName,offset:t.offset,length:f.length})}}function ue(s){const{length:f}=s;return!f||s[f-1]===af&&f===af.length}function L1(s,f,e,t,d,i,a={offset:0}){if(s.nodeType===s.TEXT_NODE){let u=s.nodeValue;u=u.replace(as,""),u?t===s?e.push(u.substr(0,d)+af+u.substr(d)):e.push(u):t===s&&e.push(af),i&&u.length&&s.parentNode&&he(s,u,i,a),a.offset+=u.length;return}if(s.nodeType!==s.ELEMENT_NODE)return;const n=()=>{f.push(e.join("")),e.length=0,++a.offset},o=t===s,h=s.matches(C1.quote.match),l=is.has(s.tagName)||h;if(l&&(e.length&&e[e.length-1].slice(-1)!==` `||s.tagName==="BR"))n();else{const u=s.dataset.stickerEmoji||s.alt,k=s.dataset.stickerEmoji;u&&i&&he(s,u,i,a),k&&i&&i.push({_:"messageEntityCustomEmoji",document_id:s.dataset.docId,offset:a.offset,length:u.length}),u&&(e.push(u),a.offset+=u.length)}o&&!d&&e.push(af);const b=s.matches(ds),p=i?.length;let m=!0;h&&(a.isInQuote=!0);let r=s.firstChild;for(;r;)L1(r,f,e,t,d,i,a),r=r.nextSibling,ue(e)||(m=!1);if(h){const u=e[e.length-1];u?.endsWith(` `)&&(e[e.length-1]=u.slice(0,-1),a.offset-=1),a.isInQuote=!1}if(m&&s.textContent?.replace(/[\r\n]/g,"")&&(m=!1),o&&d&&e.push(af),b&&s.nextSibling&&!ue(e)&&(e.push(" "),++a.offset,p!==void 0))for(let u=p,k=i.length;ue&&s.charAt(f-1)===")";)s=s.substr(0,f-1),t--,f--;return e>t&&(s=s.replace(/\)+$/,"")),s}function us(s){const f=A0(s).replace(/-?fe0f/g,"");if(at.hasOwnProperty(f))return f}function Yf(s){let f,e=s;const t=[];let d,i=0;for(K1.lastIndex=0;f=e.match(K1);){if(d=i+f.index,f[3])t.push({_:"messageEntityMention",offset:d+f[1].length,length:f[2].length+f[3].length});else if(f[4])if(It.test(f[4]))t.push({_:"messageEntityEmail",offset:d,length:f[4].length});else{let a,n=f[5];const o=f[6];if(o){if(!n&&(o.substr(0,4)==="xn--"||ls.indexOf(o.toLowerCase())!==-1)&&(n="http://"),n){const h=hs(f[4]);h.length!==f[4].length&&(f[4]=h),a=(f[5]?"":n)+f[4]}}else a=(f[5]?"":"http://")+f[4];a&&t.push({_:"messageEntityUrl",offset:d,length:f[4].length})}else if(f[7])t.push({_:"messageEntityLinebreak",offset:d,length:1});else if(f[8]){const a=us(f[8]);a&&t.push({_:"messageEntityEmoji",offset:d,length:f[8].length,unicode:a})}else if(f[11])t.push({_:"messageEntityHashtag",offset:d+(f[10]?f[10].length:0),length:f[11].length});else if(f[13])t.push({_:"messageEntityBotCommand",offset:d+(f[11]?f[11].length:0)+(f[12]?f[12].length:0),length:1+f[13].length+(f[14]?1+f[14].length:0),unsafe:!0});else if(f[16]){const a=f[16],n=a.split(":"),o=n.length,h=o===3?+n[0]:0,l=+n[o===3?1:0],b=+n[o-1];t.push({_:"messageEntityTimestamp",offset:d+(/\D/.test(f[0][0])?1:0),length:a.length,raw:a,time:h*3600+l*60+b})}e=e.substr(f.index+f[0].length),i+=f.index+f[0].length}return t}const A1={};function ms(s){const e=document.createElement("span");e.classList.add("emoji"),document.body.appendChild(e),e.innerText=s;const t=e.offsetWidth;e.innerText="❤️";const d=e.offsetWidth;return document.body.removeChild(e),Math.abs(t-d)<5}Ie&&(A1[""]=!0,[["14","🫱🏻"]].forEach(([f,e])=>{A1[f]=ms(e)}));function bs(s){const{url:f,onclick:e}=Pe(s),t=document.createElement("a");return t.href=f,e&&t.setAttribute("onclick",`${e}(this)`),t}class s1 extends HTMLElement{constructor(){super(),this.paused=!0,this.classList.add("custom-emoji")}get docId(){return this.dataset.docId}set docId(f){this.dataset.docId=""+f}static create(f){const e=new s1;return f&&(e.docId=f),e}get isConnected(){return this.placeholder?.isConnected??super.isConnected}connectedCallback(){this.player&&sf.addAnimation({animation:this,group:this.renderer.animationGroup,observeElement:this.placeholder??this,controlled:!0,type:"emoji"})}disconnectedCallback(){this.isConnected||!this.renderer?.isSelectable||this.clear()}destroy(){this.clear()}clear(f=!0){if(this.clean)return;this.clean=!0,this.pause();const{syncedPlayer:e}=this;if(e&&e.pausedElements.delete(this),this.middlewareHelper?.clean(),this.readyPromise?.reject(),this.renderer){const t=this.renderer.customEmojis.get(this.docId);t?.delete(this)&&!t.size&&(this.renderer.customEmojis.delete(this.docId),this.renderer.textColored.delete(t),this.renderer.playersSynced.delete(t)),f&&(this.renderer.isSelectable?this.replaceChildren(d1(!0)):this.replaceChildren())}this.player&&sf.removeAnimationByPlayer(this),Tf.globalLazyLoadQueue?.delete({div:this}),this.elements=this.renderer=this.player=this.syncedPlayer=void 0}pause(){this.paused||(this.paused=!0,this.player instanceof HTMLVideoElement&&!this.syncedPlayer&&(this.renderer.lastPausedVideo=this.player,this.player.pause()),this.syncedPlayer&&!this.syncedPlayer.pausedElements.has(this)&&(this.syncedPlayer.pausedElements.add(this),this.syncedPlayer.player&&this.syncedPlayer.pausedElements.size===this.syncedPlayer.middlewares.size&&this.syncedPlayer.player.pause()))}play(){this.paused&&(this.paused=!1,this.player instanceof HTMLVideoElement&&(this.player.currentTime=this.renderer.lastPausedVideo?.currentTime??this.player.currentTime,D1(this.player)),this.syncedPlayer&&this.syncedPlayer.pausedElements.has(this)&&(this.syncedPlayer.pausedElements.delete(this),this.syncedPlayer.pausedElements.size!==this.syncedPlayer.middlewares.size&&this.player.play()))}remove(){super.remove(),this.clear()}get autoplay(){return!0}get loop(){return!0}}customElements.define("custom-emoji-element",s1);const S1={Markup:["markup","html","xml","svg","mathml","ssml","atom","rss"],CSS:["css"],"C-like":["clike"],Regex:["regex"],JavaScript:["javascript","js"],ABAP:["abap"],ABNF:["abnf"],ActionScript:["actionscript"],Ada:["ada"],Agda:["agda"],AL:["al"],ANTLR4:["antlr4","g4"],"Apache Configuration":["apacheconf"],SQL:["sql"],Apex:["apex"],APL:["apl"],AppleScript:["applescript"],AQL:["aql"],C:["c"],"C++":["cpp"],Arduino:["arduino","ino"],ARFF:["arff"],"ARM Assembly":["armasm","arm-asm"],Bash:["bash","sh","shell"],YAML:["yaml","yml"],Markdown:["markdown","md"],Arturo:["arturo","art"],AsciiDoc:["asciidoc","adoc"],"C#":["csharp","cs","dotnet"],"ASP.NET (C#)":["aspnet"],"6502 Assembly":["asm6502"],"Atmel AVR Assembly":["asmatmel"],AutoHotkey:["autohotkey"],AutoIt:["autoit"],AviSynth:["avisynth","avs"],"Avro IDL":["avro-idl","avdl"],AWK:["awk","gawk"],BASIC:["basic"],Batch:["batch"],BBcode:["bbcode","shortcode"],BBj:["bbj"],Bicep:["bicep"],Birb:["birb"],Bison:["bison"],BNF:["bnf","rbnf"],BQN:["bqn"],Brainfuck:["brainfuck"],BrightScript:["brightscript"],Bro:["bro"],CFScript:["cfscript","cfc"],ChaiScript:["chaiscript"],CIL:["cil"],"Cilk/C":["cilkc","cilk-c"],"Cilk/C++":["cilkcpp","cilk-cpp","cilk"],Clojure:["clojure"],CMake:["cmake"],COBOL:["cobol"],CoffeeScript:["coffeescript","coffee"],Concurnas:["concurnas","conc"],"Content-Security-Policy":["csp"],Cooklang:["cooklang"],Ruby:["ruby","rb"],Crystal:["crystal"],CSV:["csv"],CUE:["cue"],Cypher:["cypher"],D:["d"],Dart:["dart"],DataWeave:["dataweave"],DAX:["dax"],Dhall:["dhall"],Diff:["diff"],"Markup templating":["markup-templating"],"Django/Jinja2":["django","jinja2"],"DNS zone file":["dns-zone-file","dns-zone"],Docker:["docker","dockerfile"],"DOT (Graphviz)":["dot","gv"],EBNF:["ebnf"],EditorConfig:["editorconfig"],Eiffel:["eiffel"],EJS:["ejs","eta"],Elixir:["elixir"],Elm:["elm"],Lua:["lua"],"Embedded Lua templating":["etlua"],ERB:["erb"],Erlang:["erlang"],"Excel Formula":["excel-formula","xlsx","xls"],"F#":["fsharp"],Factor:["factor"],False:["false"],"Firestore security rules":["firestore-security-rules"],Flow:["flow"],Fortran:["fortran"],"FreeMarker Template Language":["ftl"],"GameMaker Language":["gml","gamemakerlanguage"],"GAP (CAS)":["gap"],"G-code":["gcode"],GDScript:["gdscript"],GEDCOM:["gedcom"],gettext:["gettext","po"],Git:["git"],GLSL:["glsl"],GN:["gn","gni"],"GNU Linker Script":["linker-script","ld"],Go:["go"],"Go module":["go-module","go-mod"],Gradle:["gradle"],GraphQL:["graphql"],Groovy:["groovy"],Less:["less"],"Sass (SCSS)":["scss"],Textile:["textile"],Haml:["haml"],Handlebars:["handlebars","hbs","mustache"],Haskell:["haskell","hs"],Haxe:["haxe"],HCL:["hcl"],HLSL:["hlsl"],Hoon:["hoon"],"HTTP Public-Key-Pins":["hpkp"],"HTTP Strict-Transport-Security":["hsts"],JSON:["json","webmanifest"],URI:["uri","url"],HTTP:["http"],IchigoJam:["ichigojam"],Icon:["icon"],"ICU Message Format":["icu-message-format"],Idris:["idris","idr"],".ignore":["ignore","gitignore","hgignore","npmignore"],"Inform 7":["inform7"],Ini:["ini"],Io:["io"],J:["j"],Java:["java"],Scala:["scala"],PHP:["php"],"JavaDoc-like":["javadoclike"],JavaDoc:["javadoc"],"Java stack trace":["javastacktrace"],Jolie:["jolie"],JQ:["jq"],TypeScript:["typescript","ts"],JSDoc:["jsdoc"],N4JS:["n4js","n4jsd"],JSON5:["json5"],JSONP:["jsonp"],"JS stack trace":["jsstacktrace"],Julia:["julia"],"Keepalived Configure":["keepalived"],Keyman:["keyman"],Kotlin:["kotlin","kt","kts"],Kusto:["kusto"],LaTeX:["latex","tex","context"],Latte:["latte"],Scheme:["scheme"],LilyPond:["lilypond","ly"],Liquid:["liquid"],Lisp:["lisp","emacs","elisp","emacs-lisp"],LiveScript:["livescript"],"LLVM IR":["llvm"],"Log file":["log"],LOLCODE:["lolcode"],"Magma (CAS)":["magma"],Makefile:["makefile"],Mata:["mata"],MATLAB:["matlab"],MAXScript:["maxscript"],MEL:["mel"],Mermaid:["mermaid"],METAFONT:["metafont"],Mizar:["mizar"],MongoDB:["mongodb"],Monkey:["monkey"],MoonScript:["moonscript","moon"],N1QL:["n1ql"],"Nand To Tetris HDL":["nand2tetris-hdl"],"Naninovel Script":["naniscript","nani"],NASM:["nasm"],NEON:["neon"],Nevod:["nevod"],nginx:["nginx"],Nim:["nim"],Nix:["nix"],NSIS:["nsis"],"Objective-C":["objectivec","objc"],OCaml:["ocaml"],Odin:["odin"],OpenCL:["opencl"],OpenQasm:["openqasm","qasm"],Oz:["oz"],"PARI/GP":["parigp"],Parser:["parser"],Pascal:["pascal","objectpascal"],Pascaligo:["pascaligo"],"PATROL Scripting Language":["psl"],"PC-Axis":["pcaxis","px"],PeopleCode:["peoplecode","pcode"],Perl:["perl"],PHPDoc:["phpdoc"],PlantUML:["plant-uml","plantuml"],"PL/SQL":["plsql"],PowerQuery:["powerquery","pq","mscript"],PowerShell:["powershell"],Processing:["processing"],Prolog:["prolog"],PromQL:["promql"],".properties":["properties"],"Protocol Buffers":["protobuf"],Stylus:["stylus"],Twig:["twig"],Pug:["pug"],Puppet:["puppet"],PureBasic:["purebasic","pbfasm"],Python:["python","py"],"Q#":["qsharp","qs"],"Q (kdb+ database)":["q"],QML:["qml"],Qore:["qore"],R:["r"],Racket:["racket","rkt"],"Razor C#":["cshtml","razor"],"React JSX":["jsx"],"React TSX":["tsx"],Reason:["reason"],Rego:["rego"],"Ren'py":["renpy","rpy"],ReScript:["rescript","res"],"reST (reStructuredText)":["rest"],Rip:["rip"],Roboconf:["roboconf"],"Robot Framework":["robotframework","robot"],Rust:["rust"],SAS:["sas"],"Sass (Sass)":["sass"],"Shell session":["shell-session","sh-session","shellsession"],Smali:["smali"],Smalltalk:["smalltalk"],Smarty:["smarty"],SML:["sml","smlnj"],"Solidity (Ethereum)":["solidity","sol"],"Solution file":["solution-file","sln"],"Soy (Closure Template)":["soy"],"Splunk SPL":["splunk-spl"],"SQF: Status Quo Function (Arma 3)":["sqf"],Squirrel:["squirrel"],Stan:["stan"],"Stata Ado":["stata"],"Structured Text (IEC 61131-3)":["iecst"],SuperCollider:["supercollider","sclang"],Swift:["swift"],"Systemd configuration file":["systemd"],"T4 templating":["t4-templating"],"T4 Text Templates (C#)":["t4-cs","t4"],"VB.Net":["vbnet"],"T4 Text Templates (VB)":["t4-vb"],TAP:["tap"],Tcl:["tcl"],"Template Toolkit 2":["tt2"],TOML:["toml"],Tremor:["tremor","trickle","troy"],TypoScript:["typoscript","tsconfig"],UnrealScript:["unrealscript","uscript","uc"],"UO Razor Script":["uorazor"],V:["v"],Vala:["vala"],Velocity:["velocity"],Verilog:["verilog"],VHDL:["vhdl"],vim:["vim"],"Visual Basic":["visual-basic","vb","vba"],WarpScript:["warpscript"],WebAssembly:["wasm"],"Web IDL":["web-idl","webidl"],WGSL:["wgsl"],"Wiki markup":["wiki"],"Wolfram language":["wolfram","mathematica","nb","wl"],Wren:["wren"],Xeora:["xeora","xeoracube"],"Xojo (REALbasic)":["xojo"],XQuery:["xquery"],YANG:["yang"],Zig:["zig"]},z1={};for(const s in S1){const f=S1[s];f.unshift(s.toLowerCase());for(let e=0,t=f.length;eme(s));const f=!!window.Prism;return f||(window.Prism=window.Prism||{},window.Prism.manual=!0),Af=Le(()=>import("./prism-C4r0NVHH.js"),__vite__mapDeps([0,1]),import.meta.url).then(e=>{const t=e.default;return f||t.hooks.add("wrap",d=>{d.classes.forEach((i,a,n)=>{n[a]="prism-"+i})}),Af=t,me(s)})}function gs(s,f){return e1(ps(f),e=>{if(!e){console.error(`Language "${f}" is not supported`,s);return}const{prism:t,language:d}=e;return t.highlight(s,t.languages[d],d)})}function ys(s,f,e=0){for(let t=s.length;e{const k=document.createElement("span");return f.wrappingDraft&&(k.contentEditable="false"),k.classList.add("input-something"),k.append(r),(m||e).append(k),r.classList.add("input-selectable"),!u&&r.append(d1(!0)),a.add(k),k};f.isSelectable||(f.isSelectable=f.wrappingDraft);const i=f.customEmojis??(f.customEmojis=new Map),a=f.customWraps??(f.customWraps=new Set),n=f.entities??(f.entities=Yf(t.text)),o=f.passEntities??(f.passEntities={}),h=f.contextSite??(f.contextSite="Telegram"),l=h!=="Telegram",b=t.text.length,p=n.length;let m;for(;t.i=b){if(r._!=="messageEntityCaret")continue}else r.offset+r.length>b&&(r=Pt(r),r.length=b-r.offset);r.length&&(t.lastEntity=r);let u=n[t.i+1];const k=r.offset,C=k+r.length,E=Math.min(C,u?.offset??65535),y=t.text.slice(k,C);let S=t.text.slice(k,E);t.usedLength{M&&(c.innerHTML=M)}),D=!0,(!$||$ instanceof Promise)&&(c.textContent=y);let J=ys(n,M=>M.offset>=C,t.i+1);J===-1?J=n.length-1:J-=1,t.i=J,t.usedLength=C,t.lastEntity=n[J],u=void 0,N=!0}else f.noTextFormat||(c=document.createElement("code"),c.classList.add("monospace-text"));break}case"messageEntityHighlight":{c=document.createElement("i"),c.className="text-highlight";break}case"messageEntityBotCommand":{if(!f.noLinks&&o[r._]){let g=y.slice(1),v,w;(w=g.indexOf("@"))!==-1?(v=g.slice(w+1),g=g.slice(0,w)):v=f.fromBot,c=document.createElement("a"),c.href=k1("tg://bot_command?command="+encodeURIComponent(g)+(v?"&bot="+encodeURIComponent(v):"")),l||c.setAttribute("onclick","execBotCommand(this)")}break}case"messageEntityCustomEmoji":{for(;u?._==="messageEntityEmoji"&&u.offset"u"?g:`javascript:electronHelpers.openExternal('${g}');`;c=document.createElement("a"),c.className="anchor-url",c.href=W,x||typeof electronHelpers<"u"||o1(c),w&&c.setAttribute("onclick",w+"(this)")}break}case"messageEntityEmail":{f.noLinks||(c=document.createElement("a"),c.href=k1("mailto:"+y),o1(c));break}case"messageEntityHashtag":{const g=!f.noLinks&&Ft[h];if(g){const v=y.slice(1);c=document.createElement("a"),c.className="anchor-hashtag",c.href=g.replace("{1}",encodeURIComponent(v)),l?o1(c):c.setAttribute("onclick","searchByHashtag(this)")}break}case"messageEntityMentionName":{f.noLinks&&!o[r._]||(c=document.createElement("a"),c.href=rs(""+r.user_id),c.className="follow",c.dataset.follow=""+r.user_id);break}case"messageEntityMention":{if(!f.noLinks){const g=y.slice(1);c=bs("t.me/"+g),c.className="mention"}break}case"messageEntitySpoiler":{if(f.noTextFormat){const g=cs(t.text,r);t.text=g.text,S=g.entityText,E!==C&&(t.usedLength+=C-E);let v;for(;v=n[t.i+1],v&&v.offsetf.maxMediaTimestamp)break;c=document.createElement("a"),c.classList.add("timestamp"),c.dataset.timestamp=""+r.time,c.href="#",c.setAttribute("onclick","setMediaTimestamp(this)"),f.maxMediaTimestamp===1/0&&c.classList.add("is-disabled");break}case"messageEntityBlockquote":{if(f.noTextFormat)break;if(f.wrappingDraft)c=df("quote"),r.pFlags?.collapsed&&(c.dataset.collapsed="1");else if(c=document.createElement("blockquote"),c.classList.add("quote"),r.pFlags?.collapsed){const g=vs(c);f.middleware.onClean(g)}c.classList.add("quote-like","quote-like-border","quote-like-icon"),Fe(c),N=!0;break}}if(N){let g=-1;for(let v=t.i;v=C){g=v;break}}if(g!==-1&&t.text.slice(C,n[g].offset).trim()&&(g=-1),!f.wrappingDraft&&C=C)break;A._==="messageEntityLinebreak"&&(v=w)}v!==-1&&(f.ignoreNextIndex=v)}else g!==-1&&(f.ignoreNextIndex=g)}f.wrappingDraft&&g!==-1&&(f.ignoreNextIndex=g)}for(!D&&S&&(c?B?c[B]=S:c.append(S):(c||e).append(S)),c&&!c.parentNode&&(m||e).append(c);u&&u.offsetS.length&&c?m=c:m=e,f.voodoo)return e}if(t.lastEntity&&(t.usedLength=t.lastEntity.offset+t.lastEntity.length),t.usedLength{const f=document.createElement("span");return f.classList.add(s?"input-filler2":"input-filler"),f.textContent=P,f};function nt(s){if(s?.textContent!==P||s?.getAttribute?.("contenteditable")==="false"){if(!s||s.textContent!==P||s.firstElementChild)return 2;if(s.nodeType===s.ELEMENT_NODE)return 1}return 0}function rt(s){const f=(e,t,d)=>{const i=nt(t);i===2?e[d](d1()):i===1&&t.appendChild(document.createTextNode(P))};for(const e of s){const{previousSibling:t,nextSibling:d}=e;f(e,t,"before"),f(e,d,"after")}}window.wrapRichText=If;class ws{constructor(){this.listeners=new Set}add(f){return(e,t,d)=>{const i={element:f,event:e,callback:t,options:d};return this.addManual(i),i}}addManual(f){f.element.addEventListener(f.event,f.callback,f.options),f.options?.once&&(f.onceCallback=()=>{this.remove(f),f.onceFired=!0},f.element.addEventListener(f.event,f.onceCallback,f.options)),this.listeners.add(f)}remove(f){f.onceFired||(f.element.removeEventListener(f.event,f.callback,f.options),f.onceCallback&&f.element.removeEventListener(f.event,f.onceCallback,f.options)),this.listeners.delete(f)}removeManual(f,e,t,d){let i;for(const a of this.listeners)if(a.element===f&&a.event===e&&a.callback===t&&a.options===d){i=a;break}i&&this.remove(i)}removeAll(){this.listeners.forEach(f=>{this.remove(f)})}}function x1(s,f,e,t){let d;if(s===e)d=f-t;else if(s.parentElement===e.parentElement)d=Cf(s,!0)-Cf(e,!0);else{const i=[];let a=s.parentElement;do i.push(a);while(a=a.parentElement);a=e.parentElement;do if(i.includes(a))break;while(a=a.parentElement);const n=a;s=m1(s,n),e=m1(e,n),d=Cf(s,!0)-Cf(e,!0)}return P1(d,-1,1)}window.compareNodes=x1;const be=new RegExp(`[^${P}]`);class V1{constructor(){this.saveSelectionOnChange=f=>{const e=document.activeElement;this.saveRangeForElement(e)},this.onFocusOut=f=>{this.lastNode=this.lastOffset=void 0},this.onSelectionChange=f=>{const{input:e}=this;if(!e){this.setSelectionClassName(document.getSelection());return}let t=this.getCaretPosN();do{const{node:d,offset:i,selection:a,move:n}=t;if(d?.nodeValue!==P||!this.lastNode)break;const h=x1(d,i,this.lastNode,this.lastOffset)<0;h!==void 0&&(a.isCollapsed?this.superMove(e,t,h,!0):a.modify(a.isCollapsed?"move":"extend",h?"backward":"forward","character")),this.log("selectionchange",d,i,this.lastNode,this.lastOffset,d===this.lastNode,Cf(this.getFiller(d)),Cf(this.getFiller(this.lastNode)),h,a,document.getSelection(),document.getSelection().getRangeAt(0),d?.parentNode,this.lastNode?.parentNode),t=this.getCaretPosN(),this.lastNode=d,this.lastOffset=i;break}while(!0);this.lastNode=this.lastOffset=void 0,this.setSelectionClassName(t.selection,e)},this.onBeforeInput=f=>{const{input:e,log:t}=this;if(!e)return;const d=this.addInputCallback.bind(this,e),i=this.getCaretPosN();let{node:a,offset:n,selection:o,move:h}=i;if(t("beforeinput",f,a,n,o,i),this.lastNode=this.lastOffset=void 0,f.inputType.startsWith("delete")){if(d(()=>{this.processEmptiedFillers(e),this.removeExtraBOMs(e),this.fixInsertedLineBreaks(e)}),a?.nodeValue===P&&o.isCollapsed&&f.inputType.includes("deleteContent")){const l=f.inputType.includes("Backward"),b=n===P.length&&l||!n&&!l;this.superMove(e,i,l,b)}}else if(f.inputType.startsWith("insert")){if(a?.classList?.contains("input-something")){a=a.previousSibling.firstChild;const l=o.getRangeAt(0);l.setStart(a,0),l.setEnd(a,0),l.collapse(!0);const b=this.getCaretPosN();a=b.node,o=b.selection,n=b.offset}if(a&&a.textContent===P&&n===P.length){o.modify("move","backward","character");const l=this.getCaretPosN();a=l.node,o=l.selection,n=l.offset}f.inputType;{a&&a.nodeType===a.ELEMENT_NODE&&(a=a.firstChild,t.warn("fixing focus on span"));const l=a?.nodeValue===P;if(t("inserting line break",l,a,`"${a?.nodeValue}"`,a?.parentElement?Array.from(a.parentElement.childNodes).slice():[]),l){const b=a.parentElement;b.classList.replace("input-filler","input-filler-text"),b.childNodes.length,d(()=>{b.childNodes.length>1?(t("inserting line break, remove"),a=Array.from(b.childNodes).find(m=>m.nodeValue===P),b.t=a):a.nodeValue!==P&&(t("inserting line break, deleteData"),a.deleteData(a.nodeValue.indexOf(P),P.length)),this.fixInsertedLineBreaks(e)})}else f.inputType==="insertLineBreak"&&d(()=>{this.fixInsertedLineBreaks(e)})}return}else f.inputType==="historyUndo"?d(()=>{this.processFilledFillers(e),this.processEmptiedFillers(e),this.removeExtraBOMs(e),this.removeEmptyTextNodes(e),this.fixBuggedCaret()}):f.inputType==="historyRedo"&&d(()=>{this.processFilledFillers(e),this.processEmptiedFillers(e),e.querySelectorAll(".input-something:not([contenteditable])").forEach(l=>{l.contentEditable="false"}),this.removeExtraBOMs(e),this.fixBuggedCaret()})},this.onKeyDown=f=>{const e=f.key;if(e==="ArrowDown"||e==="ArrowUp")this.lastNode=this.lastOffset=void 0;else{const{node:t,offset:d}=this.getCaretPosN();this.lastNode=t,this.lastOffset=d,this.lastNode===this.input&&(this.lastNode=this.lastOffset=void 0)}this.log("keydown",this.lastNode,this.lastNode?.parentNode,this.lastOffset,this.getCaretPosN(),f)},this.log=R1("RICH-INPUT"),this.listenerSetter=new ws,this.savedRanges=new WeakMap,this.listenerSetter.add(document)("selectionchange",this.saveSelectionOnChange)}get input(){const f=document.getSelection(),{anchorNode:e}=f;if(e)return(e.closest?e:e.parentElement).closest('[contenteditable="true"]')}saveRangeForElement(f){f&&(f.isContentEditable||f.tagName==="INPUT")&&document.getSelection().rangeCount&&this.savedRanges.set(f,document.getSelection().getRangeAt(0))}findPreviousSmthIndex(f,e,t){const d=Array.from(t??f.querySelectorAll(".input-something")),i=d.findIndex(a=>x1(a,0,e,0)>=0);return i===-1?d.length-1:Math.max(0,i-1)}superMove(f,e,t,d){const{node:i,offset:a,move:n}=e,o=f.querySelectorAll(".input-something"),h=this.findPreviousSmthIndex(f,i,o),l=document.createRange();l[t?"setEnd":"setStart"](i,a),d&&n(t);const b=this.getCaretPosN();if(b.node?.nodeValue===P&&(!d||i===this.lastNode)){const p=this.findPreviousSmthIndex(f,b.node,o);let m=!d;do{const r=this.getCaretPosN(),u=this.findPreviousSmthIndex(f,r.node,o);l[t?"setStart":"setEnd"](r.node,r.offset);const k=l.toString(),C=!be.test(k);if(this.log("test cursor",k,C,p,u),C&&r.node?.nodeValue===P&&u===p&&(u||r.offset)&&(u{e.classList.add("br-not-br")})}fixBuggedCaret(){const f=document.getSelection(),e=f.getRangeAt(0);f.removeAllRanges(),f.addRange(e)}addInputCallback(f,e,t=!0){const d=()=>{this.log("input modify callback"),e()};t&&Re?this.inputCaptureCallbacks.push(d):this.listenerSetter.add(f)("input",d,{once:!0,capture:t})}removeExtraBOMs(f){const e=t=>t?.classList?.contains("input-something");f.querySelectorAll(".input-filler").forEach(t=>{const{previousSibling:d,nextSibling:i}=t;let a=!1;!i?.classList?.contains("input-filler")&&nt(i)&&(a=e(d)||e(i)),a||(this.log.warn("removing empty bom node",t),t.remove())})}getFiller(f){return f&&f.nodeType===f.TEXT_NODE&&f.parentElement!==this.input?f.parentElement:f}getCaretPosN(){const f=st(this.input);return{...f,move:this.move.bind(this,f.selection)}}removeEmptyTextNodes(f){const{log:e}=this,t=document.createTreeWalker(f,NodeFilter.SHOW_TEXT,{acceptNode:i=>i.parentElement===f&&!i.nodeValue?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT});let d;for(;d=t.nextNode();)e.warn("removing empty text node",d),d.remove()}removePossibleBOMSiblings(f,e){[f,e].forEach(t=>{t?.classList?.contains("input-filler")&&t.remove()})}removePossibleBOMSiblingsByNode(f){const{previousSibling:e,nextSibling:t}=f;this.removePossibleBOMSiblings(e,t)}processEmptiedFillers(f){f.querySelectorAll(".input-filler-text").forEach(e=>{this.removeExtraBOMs(e);let t=!0;if(e.textContent)!be.test(e.textContent)&&!e.querySelector(".input-something")?e.classList.replace("input-filler-text","input-filler"):t=!1;else{e.classList.replace("input-filler-text","input-filler");const d=Array.from(e.childNodes).find(i=>i.nodeType===i.TEXT_NODE);d?d.insertData(0,P):e.t?.nodeValue?e.append(e.t):e.append(document.createTextNode(P))}t&&this.removePossibleBOMSiblingsByNode(e)})}processFilledFillers(f){f.querySelectorAll(".input-filler").forEach(e=>{if(e.textContent!==P){e.classList.replace("input-filler","input-filler-text");const t=e.t,d=Array.from(e.childNodes).find(i=>i.nodeType===i.TEXT_NODE&&i.nodeValue.includes(P));if(d&&!t?.nodeValue){const i=d.nodeValue.indexOf(P);i!==-1&&d.deleteData(i,P.length)}}})}setSelectionClassName(f,e){if(f.rangeCount){const t=f.getRangeAt(0);e?Array.from(e.querySelectorAll(".input-selectable")).forEach(d=>{d.classList.toggle("selection",!t.collapsed&&t.intersectsNode(d))}):Array.from(document.querySelectorAll(".input-selectable.selection")).forEach(d=>d.classList.remove("selection"))}}move(f,e){const{focusNode:t,focusOffset:d}=f;f.modify("extend",e?"backward":"forward","character"),e?f.collapseToStart():f.collapseToEnd();const{focusNode:i,focusOffset:a}=f;this.log("moving cursor",e,t,t.nodeType===t.ELEMENT_NODE?t:t.parentElement,d,i,i.nodeType===i.ELEMENT_NODE?i:i.parentElement,a)}prepareApplyingMarkdown(){const{input:f}=this,e=f.querySelectorAll(".input-filler"),t=f.querySelectorAll(".input-something");return t.forEach(d=>{d.contentEditable="inherit"}),()=>{e.forEach(d=>{d.contentEditable="inherit"}),t.forEach(d=>{d.contentEditable="false"}),this.removeExtraBOMs(f)}}static getInstance(){return this.INSTANCE??(this.INSTANCE=new V1)}}function ks(s){const f=document.createRange();f.selectNodeContents(s);const e=window.getSelection();e.removeAllRanges(),e.addRange(f)}const Cs=new Set(["messageEntityPre","messageEntityCode"]);function Ls(s,f){let e=-1,t=-1;return s.find(d=>{const{offset:i,length:a}=d;return Cs.has(d._)&&(e=i,t=e+a),e!==-1&&f.offset>=e&&f.offset=i&&f.length+f.offset<=a+i:!1})}function As(s,f){s=s.slice();const e=f.filter(t=>!Ls(s,t));s.push(...e),dt(s);for(let t=0;td._!=="messageEntityCustomEmoji")),If(s,{...f,entities:e,noLinks:!0,wrappingDraft:!0,passEntities:{messageEntityTextUrl:!0,messageEntityMentionName:!0}})}async function Ss(s,f,e,t){const d=[],a=e?.some(p=>p._==="messageEntityCustomEmoji")?ct():void 0,n=ot(f,{entities:e,wrappingForPeerId:t,loadPromises:d,customEmojiRenderer:a});n.querySelectorAll('[contenteditable="false"]').forEach(p=>{p.contentEditable="inherit",p.classList.add("pc")}),d.length&&await Promise.all(d),n.querySelectorAll(".input-selectable").forEach(p=>{p.prepend(d1(!0))});const h=Array.from(n.querySelectorAll(".custom-emoji-placeholder")).map(p=>(p.dataset.ces="1",p.customEmojiElement)),l=Y0(n);a?.destroy();const b=st(s);if(!b.node){const p=document.createRange();let m=s.lastChild;m||s.append(m=document.createTextNode("")),p.setStartAfter(m),p.collapse(!0),b.selection.removeAllRanges(),b.selection.addRange(p)}s.addEventListener("input",Te,{capture:!0,once:!0,passive:!1}),window.document.execCommand("insertHTML",!1,l),Array.from(s.querySelectorAll("[data-ces]")).forEach((p,m)=>{delete p.dataset.ces;const r=h[m];p.customEmojiElement=r,r.placeholder=p}),s.querySelectorAll(".pc").forEach(p=>{p.contentEditable="false"}),De(s,"input")}let T1=()=>{document.addEventListener("paste",s=>{const f=Z0(s.target,'contenteditable="true"');if(!f)return;const e=!!f.dataset.noLinebreaks;s.preventDefault();let t,d,i=(s.originalEvent||s).clipboardData.getData("text/plain"),a=!0,n=(s.originalEvent||s).clipboardData.getData("text/html")||i;const o=l=>l._==="messageEntityEmoji"||l._==="messageEntityLinebreak"&&!e;if(e){const l=/[\r\n]/g;i=i.replace(l,""),n=n.replace(l,"")}const h=(f.dataset.peerId||Mt).toPeerId();if(n.trim()){n=n.replace(//,""),n=n.replace(//,""),n=n.replace('
',"");const l=n.match(/([\s\S]*)<\/body>/);l&&(n=l[1].trim());const m=new DOMParser().parseFromString(n,"text/html").body||document.createElement("body");let r=m.firstChild;for(;r;){const y=r.nextSibling;r.nodeType===r.TEXT_NODE&&(r.nodeValue.trim()||r.remove()),r=y}const u=Kf(m,!0,!1);!!h||(u.entities=u.entities.filter(y=>y._!=="messageEntityCustomEmoji"));{const y=u.value.split(` `);let I=0;for(let c=0;c{g.offset>=D&&(g.offset-=1)}),I+=N.length}I+=1}const S=y.join(` `);u.value=S}const C=u.value.replace(/\s/g,"").length,E=i.replace(/\s/g,"").length;if(C===E||u.entities.find(y=>y._==="messageEntityCustomEmoji")){t=u.value,d=u.entities,a=!1;let y=Yf(t);y=y.filter(o),d=As(d,y)}}a&&(t=i,d=Yf(t),d=d.filter(o)),Ss(f,t,d,h)}),T1=null};var xs=(s=>(s[s.Neutral=0]="Neutral",s[s.Valid=1]="Valid",s[s.Error=2]="Error",s))(xs||{});function ct(s,f){return Tf.create({wrappingDraft:!0,isSelectable:!0,textColor:s||"primary-text-color",animationGroup:f})}function pe(s){const f=Array.from(s.querySelectorAll(".custom-emoji, .custom-emoji-placeholder"));let e=s.querySelector(".custom-emoji-renderer");if(!e&&f.length)e=ct(s.dataset.textColor,s.dataset.animationGroup),s.prepend(e);else if(e&&!f.length){e.remove();return}if(!e)return;const t=new Map;f.forEach(d=>{const i=d.loop!==void 0?d:d.customEmojiElement,{docId:a}=i;let n=t.get(a);n||t.set(a,n=new Set),n.add(i)});for(const[d,i]of t){let a=e.customEmojis.get(d);if(a)for(const n of a)i.has(n)||n.destroy();else a=new Set;for(const n of i)a.has(n)||n.connectedCallback()}e.add({addCustomEmojis:t,lazyLoadQueue:!1}),e.forceRender()}class Ms{constructor(f={}){this.options=f,this.setEmpty=(k=this.isEmpty())=>{[this.input,this.placeholder].filter(Boolean).forEach(C=>{C.classList.toggle("is-empty",k)})},this.container=document.createElement("div"),this.container.classList.add("input-field"),this.required=f.required,this.validate=f.validate,f.maxLength!==void 0&&f.showLengthOn===void 0&&(f.showLengthOn=Math.min(40,Math.round(f.maxLength/3)));const{placeholder:e,maxLength:t,showLengthOn:d,name:i,plainText:a,canBeEdited:n=!0,autocomplete:o,withBorder:h,allowStartingSpace:l,canHaveFormatting:b}=f,p=f.label||f.labelText;this.allowStartingSpace=l;const m=[];let r;if(a?(this.container.innerHTML=` `,r=this.container.firstElementChild,m.push(()=>{const k=this.isEmpty();k&&(r.value=""),this.setEmpty(k)})):(T1&&T1(),this.container.innerHTML='
',r=this.container.firstElementChild,r.contentEditable=""+!!n,V1.getInstance(),r.addEventListener("mousedown",k=>{const C=document.getSelection();if(!C.isCollapsed)return;const E=fs(k.target,"IMG");if(!E)return;const y=E.getBoundingClientRect(),I=y.left+y.width/2,S=k.clientX>=I,c=document.createRange();c.setStartAfter(S?E:E.previousSibling??E),C.removeAllRanges(),C.addRange(c)}),b&&r.setAttribute("can-format",b.join(",")),m.push(()=>{const k=this.isEmpty();k&&r.replaceChildren(),this.setEmpty(k),rt(Array.from(r.querySelectorAll(".input-something"))),pe(r)})),Fe(r),f.inputMode&&(r.inputMode=f.inputMode),e&&(this.placeholder=document.createElement("span"),this.placeholder.classList.add("input-field-placeholder"),this.container.append(this.placeholder),Nt(this.placeholder,e,void 0)),h!==!1&&h||p||e){const k=document.createElement("div");k.classList.add("input-field-border"),this.container.append(k)}if(p&&(this.label=document.createElement("label"),this.setLabel(),this.container.append(this.label)),t){const k=this.container.lastElementChild;let C=!1;const E=()=>{const y=r.classList.contains("error"),I=a?r.value.length:[...Kf(r,!1,!1).value].length,S=t-I,c=S<0;r.classList.toggle("error",c),c||S<=d?(this.setLabel(),k.append(` (${t-I})`),C||(C=!0)):(y&&!c||C)&&(this.setLabel(),C=!1)};m.push(E)}!f.withLinebreaks&&!a&&(r.dataset.noLinebreaks="1",r.addEventListener("keypress",k=>{if(k.key==="Enter")return k.preventDefault(),!1})),f.onRawInput&&m.push(()=>{f.onRawInput(this.value)}),m.length&&r.addEventListener("input",()=>{m.forEach(k=>k())}),this.input=r,this.setEmpty(!0)}select(){this.value&&(this.options.plainText?this.input.select():ks(this.input))}setLabel(){this.label.textContent="",this.options.labelText?Dt(this.label,this.options.labelText):this.label.append(h1(this.options.label,this.options.labelOptions))}get value(){return this.options.plainText?this.input.value:Kf(this.input,!1,!1).value}set value(f){this.setValueSilently(f,!0),this.simulateInputEvent()}simulateInputEvent(){De(this.input,"input")}setValueSilently(f,e){this.options.plainText?this.input.value=f:(_e(this.input,f),pe(this.input)),this.setEmpty()}isEmpty(){return ns(this.input,this.allowStartingSpace)}isChanged(){return this.value!==this.originalValue}isValid(){return!this.input.classList.contains("error")&&(!this.validate||this.validate())&&(!this.required||!this.isEmpty())}isValidToChange(){return this.isValid()&&this.isChanged()}setDraftValue(f="",e){let t=f;this.options.plainText||(t=ot(f)),e?this.setValueSilently(t,!1):this.value=t}setOriginalValue(f="",e){this.originalValue=f,this.setDraftValue(f,e)}setState(f,e){e?(this.label.textContent="",this.label.append(h1(e,this.options.labelOptions))):this.setLabel(),this.input.classList.toggle("error",!!(f&2)),this.input.classList.toggle("valid",!!(f&1))}setError(f){this.setState(2,f)}}function _s(s,f=!1,e){return s?(e??(e=Yf(s).filter(t=>t._==="messageEntityEmoji")),If(s,{entities:e,wrappingDraft:f})):If("")}export{bs as $,fs as A,Ze as B,O0 as C,sf as D,Be as E,D1 as F,M0 as G,t0 as H,Ms as I,U0 as J,Xe as K,ws as L,s1 as M,Xt as N,Jt as O,Ds as P,Tf as Q,rf as R,V0 as S,at as T,je as U,Ht as V,V1 as W,es as X,_1 as Y,_0 as Z,k0 as _,U1 as a,Ns as a0,Yt as a1,W0 as a2,Z1 as a3,P0 as a4,de as a5,Kf as a6,ot as a7,Y0 as a8,ns as a9,Rs as aa,ss as ab,Ls as ac,C1 as ad,Ss as ae,$t as af,d0 as ag,Ke as ah,I0 as b,If as c,Yf as d,cs as e,Ue as f,O1 as g,p0 as h,w0 as i,ae as j,Zt as k,p1 as l,As as m,Rf as n,b0 as o,Oe as p,r0 as q,_e as r,dt as s,Vt as t,$f as u,Bt as v,_s as w,xs as x,Z0 as y,Gt as z}; //# sourceMappingURL=wrapEmojiText-CZyOyt8f.js.map